Problema:
Nos últimos anos, a empresa ABCDE LTDA mantém em um registro o seu consumo mensal de água.
Agora você, como o Técnico de Informática da empresa, irá elaborar um algoritmo para armazenar tudo que foi registrado em uma estrutura de dados e depois, acessá-la para determinar:
-
- Seu consumo médio anual.
- Mês no qual a empresa mais gastou com água ao longo dos anos.
- O mês e ano em que a empresa menos consumiu água.
Algoritmo:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 |
algoritmo "Cáclculo do Consumo de Água" // Variáveis do programa principal var consumo: vetor [2010..2022,1..12] de real mes_ano: vetor[1..2] de inteiro consumo_meses: vetor [1..12] de inteiro ano, mes, i, j, maior: inteiro consumo_ano, consumo_mes, consumo_menor: real // Função para retornar o nome do mês funcao nome_mes(m: inteiro): caractere var s: caractere inicio escolha m caso 1 s <- "Janeiro" caso 2 s <- "Fevereiro" caso 3 s <- "Março" caso 4 s <- "Abril" caso 5 s <- "Maio" caso 6 s <- "Junho" caso 7 s <- "Julho" caso 8 s <- "Agosto" caso 9 s <- "Setembro" caso 10 s <- "Outubro" caso 11 s <- "Novembro" caso 12 s <- "Dezembro" fimescolha retorne s fimfuncao // Programa Principal inicio // Gera números aleatórios com 2 casas decimais aleatorio 0,100,2 // Leitura dos dados de consumo de 2010 e 2022 para ano de 2010 ate 2022 faca para mes de 1 ate 12 faca leia(consumo[ano, mes]) fimpara fimpara limpatela // Consumo médio anual escreval("Consumo MÉDIO por ANO") escreval("---") consumo_menor <- 9999 para ano de 2010 ate 2022 faca consumo_ano <- 0 consumo_mes <- 0 i <- 0 para mes de 1 ate 12 faca consumo_ano <- consumo_ano + consumo[ano, mes] se (consumo[ano, mes] > consumo_mes) entao // Valor do mês de maior consumo consumo_mes <- consumo[ano, mes] // Mês de maior consumo i <- mes fimse se (consumo[ano, mes] < consumo_menor) entao consumo_menor <- consumo[ano, mes] mes_ano[1] <- mes mes_ano[2] <- ano fimse fimpara consumo_meses[i] <- consumo_meses[i] + 1 escreval("Ano: ", ano, " => ", (consumo_ano/12):5:2, " m³") fimpara maior <- -9999 para i de 1 ate 12 faca se (consumo_meses[i] > maior) entao maior <- consumo_meses[i] mes <- i fimse fimpara escreval("---") escreva("MÊS de MAIOR consumo: ") escreval(maiusc(nome_mes(mes))) escreva("MÊS/ANO de MENOR consumo: ") escreval(maiusc(nome_mes(mes_ano[1])), " de", mes_ano[2]) fimalgoritmo |
Saída:
—
Deixe suas dúvidas e sugestões logo abaixo.
*Atualizado em 12 de julho de 2023