Imagine que na sua cidade irá ocorrer um maratona. A maratona tem por definição uma distância de 42 km. Você como membro da comunidade se prontificou a criar um algoritmos para mostrar em horas o menor tempo percorrido. Para isso é preciso identificar a quantidade de maratonistas e logo após fazer a leitura em minutos do tempo gasto durante a prova. No final o algoritmo deve mostrar em horas o menor tempo feito. - Faça o algoritmo para ler uma serie de N tempos em minutos - O valor de N deve ser lido no algoritmo - Logo após identifique o menor valor e mostre na tela o valor em horas. O algoritmo deve ser escrito em pseudocódigo (portugol). Algoritmos sem endentação terão desconto em pontuação. Serão avaliadas a corretude semântica e sintática, bem como a eficiência do código.
Soluções para a tarefa
Resposta:
var primeiroTempo, segundoTempo, terceiroTempo, valor: real
inicio
escreval ("Digite o primeiro tempo em minutos")
leia (primeiroTempo)
Se primeiroTempo > valor entao
valor <- (primeiroTempo/60)
FimSe
escreval ("Digite o segundo tempo em minutos")
leia (segundoTempo)
Se segundoTempo > valor entao
valor <- (segundoTempo/60)
FimSe
escreval ("Digite o terceiro tempo minutos")
leia (terceiroTempo)
Se terceiroTempo > valor entao
valor <- terceiroTempo/60)
FimSe
escreval ("O melhor tempo foi ", valor:5:2, "h")
fimalgoritmo
Explicação:
Resposta:
VISUAL G:
Algoritmo "Maratona"
Var
minutos: vetor[0..9] de inteiro
vencedor : inteiro
hora : inteiro
minuto : inteiro
i : inteiro
Inicio
minutos[0] <- 150
minutos[1] <- 80
minutos[2] <- 86
minutos[3] <- 75
minutos[4] <- 111
minutos[5] <- 143
minutos[6] <- 120
minutos[7] <- 70
minutos[8] <- 90
minutos[9] <- 89
para i de 0 ate 9 passo 1 faca
se (vencedor = 0) ou (minutos[i] < vencedor) entao
vencedor <- minutos[i]
fimse
fimpara
hora <- Int(vencedor / 60)
minuto <- (vencedor - (60 * hora))
escreva(numpcarac(hora) + ":" + numpcarac(minuto))
Fimalgoritmo
Portugol Studio:
programa
{
funcao inicio()
{
inteiro minutos[10] = {150,80,86,75,111,143,120,70,90,89}
inteiro vencedor = 0
para(inteiro i = 0; i < 10; i++){
se(vencedor == 0 ou minutos[i] < vencedor){
vencedor = minutos[i]
}
}
inteiro hora = vencedor / 60
inteiro minuto = vencedor - (60 * hora)
escreva(hora + ":" + minuto)
}
}
Consulte a nossa assessoria pelo Número: 15.9.8.170*8.7.78
Entre em contato com a nossa equipe que vamos assessorar com esse trabalho
Mais de 10 anos no mercado acadêmico
============================================================