Você está aqui: Portugol ::: Desafios e Lista de Exercícios Resolvidos ::: Laços |
Um laço PARA que solicita ao usuário 10 números inteiros e mostra o menor e o maior valor informado - Exercícios Resolvidos de PortugolQuantidade de visualizações: 600 vezes |
Pergunta/Tarefa: Escreva um algoritmo Portugol ou VisuAlg que usa o laço PARA para solicitar ao usuário que informe 10 números inteiros. Em seguida mostre o maior e o menor valor lido. Não é permitido usar vetores ou matrizes. Sua saída deverá ser parecida com: Informe o 1º valor: 5 Informe o 2º valor: 10 Informe o 3º valor: 3 Informe o 4º valor: 7 Informe o 5º valor: 5 Informe o 6º valor: 3 Informe o 7º valor: 19 Informe o 8º valor: 4 Informe o 9º valor: 12 Informe o 10º valor: 1 O maior valor lido foi: 19 O menor valor lido foi: 1 Veja a solução comentada deste exercício em Portugol (escrito e testado no Portugol Webstudio): ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- // Ler 10 números inteiros e informar o maior e o menor valor lido programa { funcao inicio() { // variáveis usadas para resolver o problema inteiro valor // guarda o valor lido inteiro maior, menor // variáveis que guardarão o maior // e o menor valor lido // vamos pedir ao usuário que informe 10 valores inteiros para (inteiro i = 1; i <= 10; i++){ escreva("Informe o ", i, "º valor: ") leia(valor) // esta é a primeira iteração do laço? se for vamos assumir que o // maior e menor valor lido são o primeiro valor informado se (i == 1){ maior = valor menor = valor } senao{ // não é a primeira iteração // vamos verificar se é maior que o valor atual da variável maior se (valor > maior){ maior = valor } // vamos verificar se é menor que o valor atual da variável menor se (valor < menor){ menor = valor } } } // vamos exibir o maior e o menor valor lido escreva("\nO maior valor lido foi: ", maior) escreva("\nO menor valor lido foi: ", menor) } } |
Link para compartilhar na Internet ou com seus amigos: |
Portugol ::: Dicas & Truques ::: Matemática e Estatística |
Como resolver uma equação do segundo grau em Portugol - Como calcular Bhaskara em PortugolQuantidade de visualizações: 2208 vezes |
Como resolver uma equação do 2º grau usando Portugol Nesta dica mostrarei como encontrar as raízes de uma equação quadrática, ou seja, uma equação do 2º usando um algoritmo escrito na ferramenta Portugol Studio, uma das preferidas para o aprendizado de algoritmos e lógica de programação. Definimos como equação do 2º grau ou equações quadráticas qualquer equação do tipo ax² + bx + c = 0 em que a, b e c são números reais e a ≠ 0. Ela recebe esse nome porque, no primeiro membro da igualdade, há um polinômio de grau dois com uma única incógnita. Note que, dos coeficientes a, b e c, somente o a é diferente de zero, pois, caso ele fosse igual a zero, o termo ax² seria igual a zero, logo a equação se tornaria uma equação do primeiro grau: bx + c = 0. Independentemente da ordem da equação, o coeficiente a sempre acompanha o termo x², o coeficiente b sempre acompanha o termo x, e o coeficiente c é sempre o termo independente. Como resolver uma equação do 2º grau Conhecemos como soluções ou raízes da equação ax² + bx + c = 0 os valores de x que fazem com que essa equação seja verdadeira. Uma equação do 2º grau pode ter no máximo dois números reais que sejam raízes dela. Para resolver equações do 2º grau completas, existem dois métodos mais comuns: a) Fórmula de Bhaskara; b) Soma e produto. O primeiro método é bastante mecânico, o que faz com que muitos o prefiram. Já para utilizar o segundo, é necessário o conhecimento de múltiplos e divisores. Além disso, quando as soluções da equação são números quebrados, soma e produto não é uma alternativa boa. Como resolver uma equação do 2º grau usando Bhaskara Como nosso algoritmo Portugol vai resolver a equação quadrática usando a Fórmula de Bhaskara, o primeiro passo é encontrar o determinante. Veja: \[\Delta =b^2-4ac\] Nem sempre a equação possui solução real. O valor do determinante é que nos indica isso, existindo três possibilidades: a) Se determinante > 0, então a equação possui duas soluções reais. b) Se determinante = 0, então a equação possui uma única solução real. c) Se determinante < 0, então a equação não possui solução real. Encontrado o determinante, só precisamos substituir os valores, incluindo o determinante, na Fórmula de Bhaskara: \[x = \dfrac{- b\pm\sqrt{b^2- 4ac}}{2a}\] Vamos agora ao código Portugol (escrevi e testei no Portugol Webstudio). Nossa aplicação vai pedir para o usuário informar os valores dos três coeficientes a, b e c e, em seguida, vai apresentar as raizes da equação: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- // "Como resolver uma equação do 2º grau usando Portugol programa { // inclui a biblioteca Matematica inclua biblioteca Matematica --> mat // função principal do programa funcao inicio() { // variáveis usadas na resolução do problema // os coeficientes real a, b, c // as duas raizes, a imaginaria e o discriminante real raiz1, raiz2, imaginaria, discriminante // vamos pedir para o usuário informar os valores dos coeficientes escreva("Valor do coeficiente a: ") leia(a) escreva("Valor do coeficiente b: ") leia(b) escreva("Valor do coeficiente c: ") leia(c) // vamos calcular o discriminante discriminante = (b * b) - (4 * a * c) // a equação possui duas soluções reais? se (discriminante > 0) { raiz1 = ((b * -1) + mat.raiz(discriminante, 2.0)) / (2 * a) raiz2 = ((b * -1) - mat.raiz(discriminante, 2.0)) / (2 * a) escreva("Duas raizes: x1 = ", raiz1, " e x2 = ", raiz2) } // a equação possui uma única solução real? senao se (discriminante == 0){ raiz1 = (b * -1) / (2 * a) raiz2 = (b * -1) / (2 * a) escreva("Duas raizes iguais: x1 = ", raiz1, " e x2 = ", raiz2) } // a equação não possui solução real? senao{ raiz1 = (b * -1) / (2 * a) raiz2 = (b * -1) / (2 * a) imaginaria = mat.raiz((discriminante * -1), 2.0) / (2 * a) escreva("Existem duas raízes complexas: ") escreva("x1 = ", raiz1, " + " ,imaginaria, " e x2 = ", raiz2, " - ", imaginaria) } } } Ao executar este código Portugol nós teremos o seguinte resultado: Valor do coeficiente a: 1 Valor do coeficiente b: 2 Valor do coeficiente c: -3 Existem duas raizes: x1 = 1.0 e x2 = -3.0 |
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 ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Controle |
Exercício Resolvido de Portugol - Um programa que lê três números inteiros e mostra o maiorQuantidade de visualizações: 2952 vezes |
Pergunta/Tarefa: Faça um algoritmo em Portugol que solicita três números inteiros e mostra o maior deles. Exiba uma mensagem caso os três números não forem diferentes. Sua saída deverá ser parecida com: Informe o primeiro número: 5 Informe o segundo número: 8 Informe o terceiro número: 3 O segundo número é o maior 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) ---------------------------------------------------------------------- // Um programa que lê três números inteiros e mostra o maior programa { funcao inicio() { // variáveis usadas na resolução do problema inteiro num1, num2, num3 // vamos solicitar os três números inteiros escreva("Informe o primeiro número: ") leia(num1) escreva("Informe o segundo número: ") leia(num2) escreva("Informe o terceiro número: ") leia(num3) // o primeiro número é o maior? se (num1 > num2 e num1 > num3) { escreva("O primeiro número é o maior") } senao { // o segundo número é o maior? se (num2 > num1 e num2 > num3) { escreva("O segundo número é o maior") } senao{ // o terceiro número é o maior? se (num3 > num1 e num3 > num2) { escreva("O terceiro número é o maior") } // os número não são diferentes senao { escreva("Os três números não são diferentes") } } } } |
Vamos testar seus conhecimentos em Fundações |
Fundações profundas A grande vantagem das estacas moldadas in solo em relação às pré-moldadas é permitir que o comprimento estritamente necessário seja concretado. O tipo de fundação profunda constituída por concreto, moldada in loco e executada por meio de trado contínuo e injeção de concreto pela própria haste do trado, é a: A) estaca escavada mecanicamente. B) estaca injetada. C) estaca hélice contínua. D) estaca Franki. E) estaca-raiz. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Python |
Qual o resultado da execução do seguinte código Python?soma = 0 for i in range(0, 10): if i == 4 or i == 6: continue soma = soma + 3 print("A soma é: {0}".format(soma)) A) A soma é: 24 B) A soma é: 15 C) A soma é: 28 D) A soma é: 23 E) A soma é: 20 Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Ética e Legislação Profissional |
O exercício do direito à propriedade Os direitos de vizinhança, quando violados, abrem para o lesado a possibilidade de ingressar com a medidas judiciais assecuratórias do seu direito, como solicitar a suspensão da obra que está sendo realizada pelo vizinho, sua reformulação ou demolição. Sobre esse tema, assinale a alternativa correta e as possíveis alterações legislativas nesse procedimento: A) A ação de nunciação de obra nova é procedimento especial do Código de Processo Civil de 2015. B) A ação de nunciação de obra nova não deve sofrer, atualmente, mudança de terminologia e tramita pelo procedimento especial. C) O objetivo principal é reformular ou demolir a obra; a suspensão é mero pedido liminar no início da ação. D) A ação de nunciação de obra nova também pode ser ajuizada para a obra que já tiver sido finalizada. E) O prazo para ingressar com a nunciação é de até um ano e um dia a contar da conclusão da obra. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em JavaScript |
Qual é a forma correta de adicionar comentários de uma linha em JavaScript? A) <!-- Este é um comentário --> B) // Este é um comentário C) ' Este é um comentário D) # Este é um comentário Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Instalações Hidráulicas Prediais |
Dimensionamento de Redes de Distribuição de Água Qual o número de habitantes se deve atingir para que um bloco populacional que hoje é atendido pela tubulação de 150 mm de diâmetro, e cada habitante consome em média 300 L/dia, tendo uma vazão no sistema de 6,5 L/s, ao qual ainda consegue atender bem atualmente? Busque consultar a tabela da norma ABNT que indica a vazão máxima para cada diâmetro de tubulação. A) 5000 habitantes B) 5520 habitantes C) 3000 habitantes D) 652 habitantes E) 2256 habitantes 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 |
AutoLISP - Como retornar o nome da layer atual do AutoCAD usando AutoLISP e a variável de sistema CLAYER Delphi - Como calcular MDC em Delphi |
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 |