Algoritmos de Computação
Curso de Tecnologia em Sistemas de Computação
Disciplina: Projeto e Desenvolvimento de Algoritmos
AD2 1° semestre de 2013.
Nome –
Assinatura –
1a questão (valor 5.0)
As linhas em vermelho são comentários destinados apenas a explicar trechos do algoritmo e não fazem parte da solução início # O tempo maximo e 1000000 menor ← 1000000 + 1 leia atletas, corridas para i ← 1 até atletas faça soma ← 0.0 para j ← 1 até corridas faça leia tempo soma ← soma + tempo próximo j se (soma < menor) então menor ← soma vencedor ← i fim se próximo i imprima vencedor fim 2a questão (valor 5.0)
As linhas em vermelho são comentários destinados apenas a explicar trechos do algoritmo e não fazem parte da solução. início NUM_LANCAMENTOS ← 20
NUM_FACES ← 6 tamMaximaSequencia ← 0 tamSequenciaAtual ← 0
# No início, não há um lançamento anterior válido ultimoLancamento ← -1 para i ← 1 até NUM_LANCAMENTOS faça lancamento ← randint(1, NUM_FACES) imprima "lançamento: ", lancamento
# O lançamento anterior continua a sequencia? se lancamento = (ultimoLancamento + 1) então tamSequenciaAtual ← tamSequenciaAtual + 1 senão # inicia uma nova sequencia tamSequenciaAtual ← 1 fim se
# verifica se a sequencia atual é maior do que
# a maior sequencia até agora se tamSequenciaAtual > tamMaximaSequencia então tamMaximaSequencia ← tamSequenciaAtual fim se
# mantém o registro do último lançamento ultimoLancamento ← lancamento próximo i
# se nenhuma sequencia foi encontrada, a maior sequencia tem tamanho 1 se tamMaximaSequencia = 1 então imprima "Não foram encontradas sequencias" senão imprima "Maior sequencia: ", tamMaximaSequencia fim se
fim