Você está aqui: Portugol ::: Desafios e Lista de Exercícios Resolvidos ::: Métodos, Procedimentos e Funções |
Uma função Portugol que recebe um valor inteiro e informa se o mesmo é um número primo - Desafio de Programação Resolvido em PortugolQuantidade de visualizações: 246 vezes |
Pergunta/Tarefa: Um inteiro é um número primo se ele for divisível somente por 1 e por ele mesmo. Assim, 2, 3, 5 e 7 são primos, enquanto 4, 6, 8 e 9 não são. Escreva uma função Portugol que recebe um valor inteiro e informe se o mesmo é um número primo. Você deverá usar a seguinte assinatura para a função: funcao primo(inteiro valor) { // implementação aqui } Informe um valor inteiro: 7 O numero informado é primo Veja a resolução comentada deste exercício em Portugol Studio: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- // Uma função Portugol para informar se um número é primo programa { // função que retorna verdadeiro se o número fornecido // como argumento for primo funcao primo(inteiro valor) { logico numero_primo = verdadeiro // se o valor fornecido for 7, a variável i do laço contará // de 2 até 7 / 2 (divisão inteira), ou seja, 3. Se o // módulo de 7 por qualquer um dos valores neste intervalo // for igual a 0, então o número não é primo para (inteiro i = 2; i <= inteiro(valor / 2); i++) { se (valor % i == 0) { numero_primo = falso // não é primo interrompa } } retorne numero_primo } funcao inicio() { // variáveis usadas na resolução do problema inteiro numero // vamos pedir para o usuário informar um número inteiro escreva("Informe um valor inteiro: ") leia(numero) // vamos verificar se o valor informado é um número primo se (primo(numero) == verdadeiro) { escreva("O numero informado é primo.") } senao { escreva("O numero informado NÃO é primo.") } } } |
Link para compartilhar na Internet ou com seus amigos: |
Portugol ::: Desafios e Lista de Exercícios Resolvidos ::: Laços |
Exercícios Resolvidos de Portugol - A concessionária de veículos "CARANGO VELHO" está vendendo os seus veículos com descontos. Faça um algoritmo PortugolQuantidade de visualizações: 676 vezes |
Pergunta/Tarefa: A concessionária de veículos "CARANGO VELHO" está vendendo os seus veículos com descontos. Faça um algoritmo Portugol que calcule e exiba o valor do desconto e o valor a ser pago pelo cliente de vários carros. O desconto deverá ser calculado de acordo com o ano do veículo. Até o ano 2000 o desconto é 12%, e acima de 2000 o desconto é de 7%. Seu código deverá solicitar o valor do carro e o seu ano e aplicar o desconto correspondente. Além disso o sistema deverá perguntar se deseja continuar calculando descontos até que a resposta seja: "(N) Não". Informar o total de carros com ano até 2000 e o total geral a ser pago pelo cliente. Sua saída deve ser parecida com: Informe o valor do carro sem desconto: 25000 Informe o ano do carro: 2010 Desconto concedido: 1750 Valor do carro com desconto: 23250 Deseja adicionar mais carros? [S, N]: S Informe o valor do carro sem desconto: 30500 Informe o ano do carro: 1985 Desconto concedido: 3660 Valor do carro com desconto: 26840 Deseja adicionar mais carros? [S, N]: S Informe o valor do carro sem desconto: 16800 Informe o ano do carro: 1990 Desconto concedido: 2016 Valor do carro com desconto: 14784 Deseja adicionar mais carros? [S, N]: N Total de carros com ano até 2000: 2 Total geral a pagar: 64874 Veja a resolução comentada deste exercício usando Portugol Webstudio: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- programa { funcao inicio() { // variáveis usadas na resolução do problema real valor_carro, valor_desconto, valor_carro_desconto real total_geral inteiro ano inteiro total_carros_ano_2000 caracter resposta // vamos inicializar os valores de algumas variáveis total_geral = 0 total_carros_ano_2000 = 0 // repete até que o usuário informe o valor "N" faca { // vamos ler o valor do carro sem desconto escreva("\nInforme o valor do carro sem desconto: ") leia(valor_carro) // vamos ler o ano do carro escreva("Informe o ano do carro: ") leia(ano) // o ano é menor ou igual a 2000 se (ano <= 2000) { valor_desconto = valor_carro * (12.0 / 100.0) // vamos somar mais este carro total_carros_ano_2000 = total_carros_ano_2000 + 1 } senao { valor_desconto = valor_carro * (7.0 / 100.0) } // calculamos o valor do carro com o desconto valor_carro_desconto = valor_carro - valor_desconto escreva("Desconto concedido: ", valor_desconto) escreva("\nValor do carro com desconto: ", valor_carro_desconto) // somamos mais este valor ao total geral total_geral = total_geral + valor_carro_desconto // perguntamos se o usuário deseja adicionar mais carros escreva("\nDeseja adicionar mais carros? [S, N]: ") leia(resposta) } enquanto((resposta != 'N') e (resposta != 'n')) // mostramos os resultados escreva("\nTotal de carros com ano até 2000: ", total_carros_ano_2000) escreva("\nTotal geral a pagar: ", total_geral) } } |
Portugol ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas |
Como calcular o coeficiente angular de uma reta em Portugol dados dois pontos no plano cartesianoQuantidade de visualizações: 432 vezes |
O Coeficiente Angular de uma reta é a variação, na vertical, ou seja, no eixo y, pela variação horizontal, no eixo x. Sim, isso mesmo. O coeficiente angular de uma reta tem tudo a ver com a derivada, que nada mais é que a taxa de variação de y em relação a x. Vamos começar analisando o seguinte gráfico, no qual temos dois pontos distintos no plano cartesiano: Veja que o segmento de reta AB passa pelos pontos A (x=3, y=6) e B (x=9, y=10). Dessa forma, a fórmula para obtenção do coeficiente angular m dessa reta é: \[\ \text{m} = \frac{y_2 - y_1}{x_2 - x_1} = \frac{\Delta y}{\Delta x} = tg \theta \] Note que __$\Delta y__$ e __$\Delta x__$ são as variações dos valores no eixo das abscissas e no eixo das ordenadas. No triângulo retângulo que desenhei acima, a variação __$\Delta y__$ se refere ao comprimento do cateto oposto e a variação __$\Delta y__$ se refere ao comprimento do cateto adjascente. Veja agora o trecho de código na linguagem Portugol que solicita as coordenadas x e y dos dois pontos, efetua o cálculo e mostra o coeficiente angular m da reta que passa pelos dois pontos: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- // Calcular o coeficiente angular de uma reta em Portugol programa { // vamos incluir a biblioteca Matematica inclua biblioteca Matematica --> mat funcao inicio() { // coordenadas dos dois pontos real x1, y1, x2, y2 // guarda o coeficiente angular real m // x e y do primeiro ponto escreva("Coordenada x do primeiro ponto: ") leia(x1) escreva("Coordenada y do primeiro ponto: ") leia(y1) // x e y do segundo ponto escreva("Coordenada x do segundo ponto: ") leia(x2) escreva("Coordenada y do segundo ponto: ") leia(y2) // vamos calcular o coeficiente angular m = (y2 - y1) / (x2 - x1) // mostramos o resultado escreva("O coeficiente angular é: ", m) } } Ao executar este código Portugol Webstudio nós teremos o seguinte resultado: Coordenada x do primeiro ponto: 3 Coordenada y do primeiro ponto: 6 Coordenada x do segundo ponto: 9 Coordenada y do segundo ponto: 10 O coeficiente angular é: 0.6666666666666666 No entanto, fique atento às propriedades do coeficiente angular da reta: 1) O coeficiente angular é positivo quando a reta for crescente, ou seja, m > 0; 2) O coeficiente angular é negativo quando a reta for decrescente, ou seja, m < 0; 3) Se a reta estiver na horizontal, ou seja, paralela ao eixo x, seu coeficiente angular é zero (0). 4) Se a reta estiver na vertical, ou seja, paralela ao eixo y, o coeficiente angular não existe. |
Portugol ::: Desafios e Lista de Exercícios Resolvidos ::: Portugol Básico |
Exercícios Resolvidos de Portugol - Escreva um programa Portugol para calcular e imprimir o número de lâmpadas necessáriasQuantidade de visualizações: 383 vezes |
Pergunta/Tarefa: Escreva um programa Portugol para calcular e imprimir o número de lâmpadas necessárias para iluminar um determinado cômodo de uma residência. Dados de entrada: a potência da lâmpada utilizada (em watts), as dimensões (largura e comprimento, em metros) do cômodo. Considere que a potência necessária é de 18 watts por metro quadrado. Sua saída deverá ser parecida com: Informe a potência da lâmpada (em watts): 100 Informe a largura do cômodo (em metros): 6 Informe o comprimento do cômodo (em metros): 4 Serão necessárias 4 lâmpadas. Veja a resolução completa para o exercício em Portugol, comentada linha a linha (na resolução eu usei o Portugol Webstudio): ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- programa { // vamos incluir a biblioteca Tipos inclua biblioteca Tipos --> tp funcao inicio() { // variáveis usadas na resolução do problema real potencia_lampada, largura_comodo, comprimento_comodo real area_comodo, potencia_total inteiro quant_lampadas // vamos ler a potência da lâmpada escreva("Informe a potência da lâmpada (em watts): ") leia(potencia_lampada) // vamos ler a largura do cômodo escreva("Informe a largura do cômodo (em metros): ") leia(largura_comodo) // agora vamos ler o comprimento do cômodo escreva("Informe o comprimento do cômodo (em metros): ") leia(comprimento_comodo) // agora vamos calcular a área do cômodo area_comodo = largura_comodo * comprimento_comodo // calculamos a potência total necessária para iluminar // todo o cômodo potencia_total = area_comodo * 18 // e finalmente calculamos a quantidade de lâmpadas necessárias quant_lampadas = tp.real_para_inteiro(potencia_total / potencia_lampada) // será necessário no mínimo uma lâmpada se (quant_lampadas == 0) { quant_lampadas = quant_lampadas + 1 } // e mostramos o resultado escreva("Serão necessárias ", quant_lampadas, " lâmpadas.") } } |
Vamos testar seus conhecimentos em Engenharia Civil - Estruturas de Aço e Madeira |
O aço no edifício A estrutura de estabilização da moldura estrutural da edificação da figura a seguir, que é formada por paredes rígidas, feitas de aço, concreto ou alvenaria de concreto armado, pode ser chamada de: A) Estrutura contraventada. B) Moldura amarrada excentricamente. C) Moldura resistente a momentos. D) Paredes de cisalhamento. E) Nenhuma das alternativas anteriores. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Fundações |
Sondagem à Percussão (SPT) e Rotativa (RQD) Um boletim de sondagem SPT está indicando uma camada de solo residual de granito de 4m com N variando de 3 a 8 golpes. Atingido os 4m, verificou-se que o solo é impenetrável à percussão. O engenheiro solicitou que fizesse outro ensaio ao lado daquele (2m) e o perfil obtido foi de uma camada de solo variando de 3 a 25 golpes até a profundidade de 8m. O que o engenheiro pretendeu comprovar, realizando outro ensaio logo ao lado do primeiro? A) A tentativa foi de comprovar que o solo era de péssima qualidade. B) A tentativa foi de comprovar que se tratava de um solo com uma camada de menor resistência logo abaixo. C) A tentativa foi de provar que se tratava de argilas de consistência mole. D) A tentativa foi de comprovar que no solo residual de granito podem ocorrer matacões. E) A tentativa foi de comprovar que o ensaio SPT não é eficiente para solos residuais. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em AutoCAD Civil 3D |
Alinhamentos no AutoCAD Civil 3D Qual dos objetos abaixo é constituido de uma série de linhas e curvas que representam mudanças na elevação ao longo de um alinhamento? A) Assembly (Montagem) B) Profile (Perfil) C) Corridor (Corredor) D) Surface (Superfície) Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Ética e Legislação Profissional |
Responsabilidade civil dos prepostos e preponentes De acordo com as definições de preposto gerente, assinale a alternativa correta. A) O gerente é autorizado a praticar todos os atos necessários ao exercício dos poderes que lhe foram outorgados, mesmo que a lei exija poderes especiais para tal. B) O gerente responde sozinho pelos atos praticados em seu nome e em nome do preponente. C) O preponente pode estar em juízo em nome do gerente, pelas obrigações resultantes do exercício da sua função. D) Considera-se gerente o preposto permanente no exercício da empresa, em sua sede, filial ou agência. E) Os gerentes são responsáveis pelos atos dos preponentes, praticados nos seus estabelecimentos e relativos à atividade da empresa, ainda que não autorizados por escrito. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Estruturas de Aço e Madeira |
Perfil em aço As conexões dos perfis de aço contribuem para a projetação das estruturas de uma edificação, sendo responsáveis pela ligação entre pilares e vigas ou entre outros elementos. Elas podem variar, dependendo do tipo de esforço que se pretende resistir com o elemento estrutural. Considerando a figura apresentada a seguir, assinale a alternativa que indica corretamente o tipo de conexão que está sendo utilizado para unir essas peças. A) Conexão de cisalhamento. B) Conexão de momento com pinos. C) Conexão de cisalhamento com solda. D) Conexão de momento com solda. E) Conexão de tensão com solda. Verificar Resposta Estudar Cards Todas as Questões |
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de Portugol |
Veja mais Dicas e truques de Portugol |
Dicas e truques de outras linguagens |
Códigos Fonte |
Software de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais |
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais |
Linguagens Mais Populares |
1º lugar: Java |