Tem-se uma estrada ligando várias cidades. Cada cidade tem seu marco quilométrico. Fazer um algoritmo que:
- Leia vários pares de dados, contendo cada par os valores dos marcos quilométricos, em ordem crescente, de duas cidades. O último par contém estes dois valores iguais;
- Calcule os tempos decorridos para percorrer a distância entre estas duas cidades, com as seguintes velocidades:
e
hora, sabendo-se que:
- Escreva os marcos quilométricos, a velocidade e o tempo decorrido entre as duas cidades, apenas quando este tempo for superior a 2 horas.
Passo 1
Resumindo: precisamos ler pares de marcos quilométricos
e
(com
), até encontrar um par com valores iguais (que encerra a leitura). Para cada par, calcular o espaço percorrido
e, para cada velocidade em
, determinar o tempo
e exibir o par
, a velocidade
e o tempo
somente se
horas.
Passo 2
Definir um vetor de velocidades para iterar facilmente:
velocidades ← [20, 30, 40, 50, 60, 70, 80]
velocidades ← [20, 30, 40, 50, 60, 70, 80]
Passo 3
Iniciar um loop de leitura indefinida:
Enquanto verdadeiro faça
Leia ,
Enquanto verdadeiro faça
Leia
Passo 4
Verificar condição de parada:
Se então
Pare o loop
FimSe
Se
Pare o loop
FimSe
Passo 5
Calcular o espaço percorrido:
Passo 6
Para cada velocidade
em velocidades faça
Calcular o tempo
Calcular o tempo
Se
então
Escreva “marcos:”, ,
, “velocidade:”,
, “tempo (h):”,
FimSe
FimPara
Escreva “marcos:”,
FimSe
FimPara
Passo 7
Retornar ao passo 3 até encontrar o par de iguais; em seguida, encerre o algoritmo.
Resposta
Algoritmo DistanciaTempos
Início
velocidades ← [20, 30, 40, 50, 60, 70, 80]
Enquanto verdadeiro faça
Leia m1, m2
Se m m2 então
Pare
FimSe
e ← m2 − m1
Para cada v em velocidades faça
t ← e / v
Se t > 2 então
Escreva “marcos:”, m1, m2, “velocidade:”, v, “tempo (h):”, t
FimSe
FimPara
FimEnquanto
Fim
Início
velocidades ← [20, 30, 40, 50, 60, 70, 80]
Enquanto verdadeiro faça
Leia m1, m2
Se m
Pare
FimSe
e ← m2 − m1
Para cada v em velocidades faça
t ← e / v
Se t > 2 então
Escreva “marcos:”, m1, m2, “velocidade:”, v, “tempo (h):”, t
FimSe
FimPara
FimEnquanto
Fim