Você está aqui: Portugol ::: Desafios e Lista de Exercícios Resolvidos ::: Laços |
Ler a idade e o peso de 10 pessoas e mostrar a quantidade de pessoas com mais de 80 quilos e a média das idades - Desafio de Programação Resolvido em PortugolQuantidade de visualizações: 323 vezes |
Pergunta/Tarefa: Escreva um programa Portugol que receba a idade (como inteiro) e o peso (como real) de 10 pessoas. Em seguida calcule e mostre: 1) A quantidade de pessoas com mais de 80 quilos; 2) A média das idades das pessoas. Sua saída deve ser parecida com: Informe a idade da 1.a pessoa: 95 Informe o peso da 1.a pessoa: 83 Informe a idade da 2.a pessoa: 45 Informe o peso da 2.a pessoa: 115 Informe a idade da 3.a pessoa: 83 Informe o peso da 3.a pessoa: 76 Informe a idade da 4.a pessoa: 19 Informe o peso da 4.a pessoa: 79 Informe a idade da 5.a pessoa: 40 Informe o peso da 5.a pessoa: 93 Quantidade de pessoas com mais de 80 quilos: 3 Média das idades das pessoas: 56.4 Veja a resolução comentada deste exercício usando Portugol Web Studio: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- // Ler a idade e o peso de 10 pessoas em Portugol programa { funcao inicio() { // variáveis usadas na resolução do problema inteiro quant_acima_80_kg, soma_idades inteiro idade real peso quant_acima_80_kg = 0 // quantidade de pessoas acima de 80 quilos soma_idades = 0 // soma das idades para depois obter a média // vamos ler os dados das 5 pessoas para (inteiro i = 1; i <= 5; i++) { escreva("Informe a idade da ", i, ".a pessoa: ") leia(idade) escreva("Informe o peso da ", i, ".a pessoa: ") leia(peso) // vamos somar mais esta idade soma_idades = soma_idades + idade // esta pessoa possui mais de 80 quilos? se (peso > 80) { // aumenta o contador de pessoas acima de 80 quilos quant_acima_80_kg = quant_acima_80_kg + 1 } // adiciona uma quebra de linha escreva("\n") } // e agora mostramos o resultado escreva("Quantidade de pessoas com mais de 80 quilos: ", quant_acima_80_kg) escreva("\nMédia das idades das pessoas: ", (soma_idades / 5.0)) } } |
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 ::: Dicas & Truques ::: Cadeias e Caracteres |
Como acessar os caracteres individuais de uma palavra ou frase em Portugol usando a função obter_caracter() da biblioteca TextoQuantidade de visualizações: 211 vezes |
Em algumas situações nós precisamos acessar os caracteres individuais de uma palavra ou frase no Portugol Studio ou Portugol Web Studio. Para isso nós podemos usar a função obter_caracter() da biblioteca Texto. Esta função pede, como primeiro argumento, a palavra ou frase a partir da qual o caractere será extraído e, como segundo argumento, o índice do caractere (sempre começando em 0 para o primeiro caractere). Veja um programa Portugol completo no qual obtemos o primeiro caractere de uma palavra: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- programa { // vamos importar a biblioteca Texto inclua biblioteca Texto --> tx funcao inicio() { cadeia palavra = "PORTUGOL" caracter letra = tx.obter_caracter(palavra, 0) escreva("A letra retornada é: ", letra) } } Ao executar este código Portugol nós teremos o seguinte resultado: A letra retornada é: P Veja agora como podemos usar o laço PARA para percorrer e exibir todos os caracteres individuais da palavra ou frase: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- programa { // vamos importar a biblioteca Texto inclua biblioteca Texto --> tx funcao inicio() { cadeia palavra = "PORTUGOL" para (inteiro i = 0; i <= tx.numero_caracteres(palavra) - 1; i++) { caracter letra = tx.obter_caracter(palavra, i) escreva("A letra é: ", letra, "\n") } } } Ao executar o código novamente nós teremos o seguinte resultado: A letra é: P A letra é: O A letra é: R A letra é: T A letra é: U A letra é: G A letra é: O A letra é: L |
Portugol ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercícios Resolvidos de Portugol - Faça um algoritmo em Portugol que leia 9 números inteiros, guarde-os em uma matriz 3x3 e mostre os números paresQuantidade de visualizações: 869 vezes |
Pergunta/Tarefa: Faça um algoritmo em Portugol que leia 9 números inteiros e guarde-os em uma matriz 3x3. Imprima a matriz no formato tabular, usando a melhor formatação que você conseguir. Em seguida, percorra a matriz novamente e imprima somente os números que são pares, todos na mesma linha e separados por espaço. Sua saída deverá ser parecida com: Linha 1 e coluna 1: 8 Linha 1 e coluna 2: 1 Linha 1 e coluna 3: 5 Linha 2 e coluna 1: 3 Linha 2 e coluna 2: 9 Linha 2 e coluna 3: 30 Linha 3 e coluna 1: 7 Linha 3 e coluna 2: 23 Linha 3 e coluna 3: 10 Valores na matriz 8 1 5 3 9 30 7 23 10 Os valores pares são: 8 30 10 Veja a resolução completa para o exercício em Portugol, comentada linha a linha (fiz a resolução no Portugol Webstudio): ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- // Um algoritmo que lê uma matriz 3x3 programa { funcao inicio() { // variáveis usadas na resolução do problema inteiro matriz[3][3] inteiro i, j // vamos pedir para o usuário informar os valores // dos elementos da matriz, uma linha de cada vez para (inteiro i = 0; i < 3; i++) { para (inteiro j = 0; j < 3; j++) { escreva("Linha ", (i + 1), " e coluna ", (j + 1), ": ") leia(matriz[i][j]) } } // vamos mostrar a matriz da forma que ela foi informada escreva("\nValores na matriz:\n\n") para (inteiro i = 0; i < 3; i++) { para (inteiro j = 0; j < 3; j++) { escreva(matriz[i][j], " ") } // passa para a próxima linha da matriz escreva("\n") } // agora vamos percorrer a matriz novamente e mostrar // apenas os valores pares escreva("\nOs valores pares são: ") para (inteiro i = 0; i < 3; i++) { para (inteiro j = 0; j < 3; j++) { // é um número par? se (matriz[i][j] % 2 == 0) { escreva(matriz[i][j], " ") } } } } } |
Vamos testar seus conhecimentos em Ética e Legislação Profissional |
Princípios específicos do Direito do Consumidor (Exame de ordem 2013). Maria e Manoel, casados, pais dos gêmeos Gabriel e Thiago, que têm apenas três meses de vida, residem há seis meses no Condomínio Vila Feliz. O fornecimento do serviço de energia elétrica na cidade onde moram é prestado por uma única concessionária, a Companhia de Eletricidade Luz S.A. Há uma semana, o casal vem sofrendo com as contínuas e injustificadas interrupções na prestação do serviço pela concessionária, o que já acarretou a queima do aparelho de televisão e da geladeira, com a perda de todos os alimentos nela contidos. O casal pretende ser indenizado. Nesse caso, à luz do princípio da vulnerabilidade previsto no Código de Proteção e Defesa do Consumidor, assinale a afirmativa que esteja de acordo. A) Prevalece o entendimento jurisprudencial no sentido de que a vulnerabilidade no Código do Consumidor é sempre presumida, tanto para o consumidor pessoa física, Maria e Manoel, quanto para a pessoa jurídica, no caso, o Condomínio Vila Feliz, tendo ambos direitos básicos à indenização e à inversão judicial automática do ônus da prova. B) A doutrina consumerista dominante considera a vulnerabilidade um conceito jurídico indeterminado, plurissignificativo, sendo correto afirmar que, no caso em questão, está configurada a vulnerabilidade fática do casal diante da concessionária, havendo direito básico à indenização pela interrupção imotivada do serviço público essencial. C) É dominante o entendimento no sentido de que a vulnerabilidade nas relações de consumo é sinônimo exato de hipossuficiência econômica do consumidor. Logo, basta ao casal Maria e Manoel demonstrá-la para receber a integral proteção das normas consumeristas e o consequente direito básico à inversão automática do ônus da prova e à ampla indenização pelos danos sofridos. D) A vulnerabilidade nas relações de consumo se divide em apenas duas espécies: a jurídica ou a científica e a técnica. Aquela representa a falta de conhecimentos jurídicos ou outros pertinentes à contabilidade e à economia, e esta, à ausência de conhecimentos específicos sobre o serviço oferecido, sendo que sua verificação é requisito legal para inversão do ônus da prova a favor do casal e do consequente direito à indenização. E) No sistema das relações de consumo reguladas pelo Código de Defesa do Consumidor, a identificação de que existe um elo mais fraco na relação traduz o reconhecimento da transparência. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica |
Equação de Manning A equação de Manning é uma expressão empírica que se aplica ao fluxo uniforme em canais abertos, relacionando a velocidade do fluido, a área da seção e a inclinação do canal. Sobre a fórmula de Manning, selecione a alternativa correta. A) O valor do coeficiente de rugosidade n representa a perda de carga localizada, uma vez que se refere à interferência do atrito nas paredes das tubulações e canais de condução de fluidos. B) A fórmula de Manning só apresenta resultados precisos para canais naturais, sendo os artificiais complexos, pois o coeficiente de rugosidade n varia na produção do material. C) O valor do coeficiente de rugosidade n representa a perda de carga distribuída atribuída ao atrito e é sempre calculado em campo para que erros associados a ele sejam minimizados. D) Em canais artificiais, o valor do coeficiente de Manning n representa a perda de carga causada apenas pelas paredes, se fazendo necessário aplicar uma correção para o fundo do canal. E) A fórmula de Manning fornece resultados confiáveis para os canais naturais ou artificiais e o coeficiente de rugosidade n representa a perda de carga distribuída relacionada ao atrito. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Instalações Hidráulicas Prediais |
Instalações prediais de águas pluviais Um professor de engenharia que gostava de fazer os alunos pensarem ativamente e questionarem a base das tabelas e ábacos fez uma pergunta em classe a partir dos ábacos da NBR 10844 de instalações prediais de águas pluviais: por que os ábacos com saída do tipo aresta viva fornecem maiores diâmetros que as do tipo funil? Cinco principais explicações foram fornecidas pelas classes, mas apenas uma estava correta. Marque a opção que explica corretamente o fenômeno. A) As saídas do tipo aresta viva fornecem maior capacidade de escoamento por permitir maior lâmina de água imediatamente sobre a entrada. B) As saídas do tipo funil geram aumento da perda de carga, ocasionando uma redução da capacidade hidráulica, que é, então, expressa no ábaco. C) As saídas em aresta viva geram uma incorporação de ar indesejada ao escoamento, ocasionando um efeito de sucção que reduz a capacidade hidráulica. D) As saídas do tipo funil necessitam de maior altura até chegar ao diâmetro da tubulação e isso é compensado em relação ao parâmetro L do ábaco. E) As saídas em arestas vivas têm menor perda de carga, o que implica a incorporação de ar com consequente redução da capacidade hidráulica. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Ética e Legislação Profissional |
Ética, Legislação e Entidades que regulamentam a profissão Pensando no papel dos códigos de conduta ética desenvolvidos pelas empresas, qual afirmativa a seguir é incorreta? A) Podem ser apresentados através das políticas e objetivos da empresa, bem como pode ser repassado de modo informal através da cultura da empresa. B) Em geral, os códigos abordam temas relativos à qualidade dos serviços e produtos, assuntos sigilosos, tratamento de clientes e fornecedores, entre outros. C) O código de ética é a referência suprema para conduta dos funcionários, sendo, inclusive, mais relevante que as leis e códigos das entidades de classe em uma situação de impasse. D) Você deve sempre procurar seguir o código de conduta ética de sua empresa, o que lhe orientará na qualidade do trabalho e relacionamento com colegas, clientes e fornecedores. E) É correto, em uma entrevista de trabalho, abordar o código de ética da organização, solicitando-o e perguntando sobre alguma temática. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica |
Turbomáquinas Uma turbomáquina é um dispositivo no qual a energia é transferida para ou de um fluido em movimento contínuo. A linha da lâmina gira e altera a pressão do fluido, realizando trabalhos no fluido (bomba hidráulica) ou realizando o trabalho na linha da lâmina pelo fluido (turbina). Qual classe de máquinas hidráulicas é especialmente excluída quando é considerada essa definição apresentada? A) Essa definição exclui a classe de turbinas eólicas, pois, apesar de referenciar o termo genérico "turbina", não engloba os dispositivos cujos fluidos não são a água e cuja a vazão do fluido pode ser variável. B) Essa definição exclui as máquinas hidráulicas que contêm um eixo de rotação. Nesse caso, foram excluídos, especialmente, os motores hidráulicos, um grupo amplo e com muitos dispositivos com vazão alta. C) Essa definição exclui a classe de dispositivos chamados máquinas de deslocamento positivo. Nesses dispositivos, há limites móveis que forçam o fluido a se mover ou são forçados a se mover pelo fluido. D) Essa definição exclui a classe de dispositivos chamados motores elétricos. Tais máquinas hidráulicas são responsáveis por receber a energia mecânica produzida por dispositivos, como as turbinas eólicas. E) Essa definição exclui a classe de dispositivos chamados máquinas de deslocamento negativo. Nesses dispositivos, há limites móveis que forçam o fluido a se mover ou são forçados a se mover pelo fluido. 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 |