Ed
há 2 anos
Você precisa criar um algoritmo no Visualg que atenda a todos os requisitos mencionados. Vou te dar uma ideia de como estruturar esse algoritmo, mas não posso fornecer o código completo. 1. Inicialização de variáveis: Crie variáveis para contar números positivos, negativos, somar os positivos para calcular a média, e contadores para múltiplos de 3 e 5. 2. Entrada de dados: Utilize um loop para solicitar números inteiros ao usuário até que ele insira o zero (que será o finalizador). 3. Processamento: - Para cada número inserido, verifique se é positivo ou negativo e atualize os contadores correspondentes. - Se o número for positivo, some-o para calcular a média e verifique se é múltiplo de 3 ou 5. - Mantenha um contador total para calcular percentuais. 4. Saída de dados: Após o loop, calcule e exiba: - A quantidade e percentual de números positivos e negativos. - A média aritmética dos números positivos. - A quantidade de números positivos que são múltiplos de 3 e 5. Aqui está um esboço de como você pode estruturar isso no Visualg: ```pascal algoritmo "Contagem de Números" var numero, contPos, contNeg, somaPos, contTotal, contMult3, contMult5: inteiro percentualPos, percentualNeg, mediaPos: real inicio contPos := 0 contNeg := 0 somaPos := 0 contTotal := 0 contMult3 := 0 contMult5 := 0 escreva("Digite um número (0 para finalizar): ") leia(numero) enquanto numero <> 0 faca contTotal := contTotal + 1 se numero > 0 entao contPos := contPos + 1 somaPos := somaPos + numero se numero % 3 = 0 entao contMult3 := contMult3 + 1 fimse se numero % 5 = 0 entao contMult5 := contMult5 + 1 fimse senao contNeg := contNeg + 1 fimse escreva("Digite um número (0 para finalizar): ") leia(numero) fimenquanto // Cálculos de percentuais e média se contTotal > 0 entao percentualPos := (contPos / contTotal) * 100 percentualNeg := (contNeg / contTotal) * 100 fimse se contPos > 0 entao mediaPos := somaPos / contPos fimse // Exibição dos resultados escreva("Números positivos: ", contPos, " (", percentualPos:0:2, "%)") escreva("Números negativos: ", contNeg, " (", percentualNeg:0:2, "%)") escreva("Média dos positivos: ", mediaPos:0:2) escreva("Múltiplos de 3: ", contMult3) escreva("Múltiplos de 5: ", contMult5) fimalgoritmo ``` Explicação das estruturas: - Variáveis: Armazenam contadores e somas. - Loop `enquanto`: Permite a entrada contínua de números até o zero. - Condicionais `se`: Verificam se o número é positivo ou negativo e se é múltiplo de 3 ou 5. - Cálculos: Percentuais e média são calculados após o loop. Espero que isso te ajude a desenvolver seu algoritmo!
Cadastre-se ou realize login
Ed
há 2 anos
Segue abaixo o algoritmo em Visualg que atende aos requisitos da questão: ``` algoritmo "Lista de números inteiros" var num, soma_pos, soma_neg, cont_pos, cont_neg, cont_mult3, cont_mult5: inteiro media_pos: real inicio soma_pos <- 0 soma_neg <- 0 cont_pos <- 0 cont_neg <- 0 cont_mult3 <- 0 cont_mult5 <- 0 escreva("Digite uma lista de números inteiros (digite 0 para finalizar): ") leia(num) enquanto num <> 0 faca se num > 0 entao soma_pos <- soma_pos + num cont_pos <- cont_pos + 1 se num mod 3 = 0 entao cont_mult3 <- cont_mult3 + 1 fimse se num mod 5 = 0 entao cont_mult5 <- cont_mult5 + 1 fimse senao soma_neg <- soma_neg + num cont_neg <- cont_neg + 1 fimse leia(num) fim_enquanto se cont_pos > 0 entao media_pos <- soma_pos / cont_pos escreva("A) Quantidade de números positivos: ", cont_pos, " (", (cont_pos * 100) / (cont_pos + cont_neg), "%)\n") escreva("C) Média aritmética dos números positivos: ", media_pos, "\n") escreva("D) Quantidade de números positivos múltiplos de 3: ", cont_mult3, "\n") escreva("E) Quantidade de números positivos múltiplos de 5: ", cont_mult5, "\n") senao escreva("Não foram digitados números positivos.\n") fimse se cont_neg > 0 entao escreva("B) Quantidade de números negativos: ", cont_neg, " (", (cont_neg * 100) / (cont_pos + cont_neg), "%)\n") senao escreva("Não foram digitados números negativos.\n") fimse fimalgoritmo ``` O algoritmo começa inicializando as variáveis que serão utilizadas para armazenar as informações solicitadas. Em seguida, é solicitado ao usuário que digite uma lista de números inteiros, que será lida e processada dentro de um laço enquanto. Dentro do laço enquanto, cada número digitado é verificado se é positivo ou negativo. Se for positivo, é somado ao total de números positivos e verificado se é múltiplo de 3 ou 5. Se for negativo, é somado ao total de números negativos. O laço continua até que o número digitado seja igual a zero, que é o elemento finalizador. Após o laço, são verificadas as quantidades de números positivos e negativos. Se houver números positivos, é calculada a média aritmética dos números positivos e a quantidade de números positivos múltiplos de 3 e 5. Se houver números negativos, é informada a quantidade de números negativos. Caso não haja números positivos ou negativos, é informado que não foram digitados números correspondentes. O algoritmo atende aos requisitos da questão e foi desenvolvido somente em Visualg, como solicitado.