Com base no problema apresentado a possível solução do
problema é o desenvolvimento de um programa de estatísticas de trânsito que
ajuda a entender melhor a relação entre o número de veículos e a frequência de
acidentes em várias cidades, com foco nas cidades menores e com menos de 2000
veículos.
Logica do programa:
Coleta de Dados
Inicialmente, o programa solicitará ao usuário que insira
dados para várias cidades. Estes dados incluirão o código da cidade, o número
de veículos de passeio, e o número de acidentes de trânsito com vítimas. A
coleta de dados terminará quando o usuário decidir não inserir mais dados.
Processamento de Dados
À medida que os dados são inseridos, o programa calculará:
A cidade com o maior e o menor número de acidentes, incluindo
seus códigos e o número de acidentes.
A soma total de veículos entre todas as cidades inseridas.
O número de cidades com menos de 2000 veículos e a soma de
acidentes nessas cidades.
Cálculo de Médias
Após a finalização da entrada de dados:
Calcula-se a média de veículos por cidade.
Calcula-se a média de acidentes nas cidades com menos de 2000
veículos.
Exibição dos Resultados
Finalmente, o programa exibirá as estatísticas calculadas.
Algoritmo do programa:
programa {
funcao inicio() {
inteiro
codigo_menor_cidade = 0
inteiro
codigo_maior_cidade = 0
inteiro indice_menor_cidade
= 0
inteiro
indice_maior_cidade = 0
inteiro
soma_acidentes_menor_2000 = 0
inteiro
numero_cidades_veiculos_menor_2000 = 0
inteiro
continuar_a_pedir_dados = 1
inteiro
soma_geral_de_veiculos = 0
inteiro numero_cidades = 0
inteiro
media_de_veiculos_cidades = 0
inteiro
media_de_acidentes_menor_2000 = 0
enquanto(continuar_a_pedir_dados == 1) {
escreva("Insira o Código da Cidade: ")
inteiro
codigo
leia(codigo)
escreva("Insira o número de veículos de passeio: ")
inteiro
veiculos
leia(veiculos)
escreva("Insira número de acidentes de trânsito com vítimas:
")
inteiro
acidentes
leia(acidentes)
soma_geral_de_veiculos += veiculos
numero_cidades += 1
se
(acidentes < indice_menor_cidade ou indice_menor_cidade == 0) {
codigo_menor_cidade = codigo
indice_menor_cidade
= acidentes
}
se
(acidentes > indice_maior_cidade ou indice_maior_cidade == 0) {
codigo_maior_cidade = codigo
indice_maior_cidade = acidentes
}
se
(veiculos < 2000) {
soma_acidentes_menor_2000 += acidentes
numero_cidades_veiculos_menor_2000 += 1
}
escreva("\nPara continuar digite 1, para finalizar o programa
digite qualquer outro valor: ")
leia(continuar_a_pedir_dados)
}
se(numero_cidades > 0) {
media_de_veiculos_cidades = soma_geral_de_veiculos / numero_cidades
}
se(numero_cidades_veiculos_menor_2000 > 0) {
media_de_acidentes_menor_2000 = soma_acidentes_menor_2000 /
numero_cidades_veiculos_menor_2000
}
escreva("\nMaior índice de acidentes: ", indice_maior_cidade)
escreva("\nCidade com mais acidentes: ", codigo_maior_cidade)
escreva("\nMenor índice de acidentes: ", indice_menor_cidade)
escreva("\nCidade com menos acidentes: ", codigo_menor_cidade)
escreva("\nMédia de veículos: ", media_de_veiculos_cidades)
escreva("\nMédia de acidentes em cidades com menos de 2000 veículos
de passeio: ", media_de_acidentes_menor_2000)
}
}
Comentários