ISCTE, IGE, PROGRAMAÇÃO I


Ano lectivo de 1996/97 - Resolução da Segunda Série de Problemas - 14 de Novembro de 1996


Problema 1

DoisMaiores
inicio
    inteiro i, valores[10], maior, segundoMaior;

    escrever linha, "Introduza 10 numeros: ";

    (* Ler os valores e procurar o maior: *)
    ler para valores[0];
    maior <- valores[0];
    para i <- 1, 9:
        ler para valores[i];
        se valores[i] > maior:
            maior <- valores[i];
    
    (* Procurar o segundo maior: *)
    segundoMaior <- maior; 
    para i <- 0, 9:
	se valores[i]  maior e (segundoMaior = maior ou 
                                  valores[i] > segundoMaior):
	    segundoMaior <- valores[i];

    (* Escrita do resultado: *)
    se segundoMaior = maior:
        escrever "Os valores sao todos: ", maior, linha;
    senao:
        escrever "Maior = ", maior, linha;
        escrever "Segundo maior = ", segundoMaior, linha;
fim.

Note-se que a solução apresentada prevê o caso de não existirem dois valores distintos na sequência, isto é, o caso de os 10 valores serem iguais.

Note-se ainda que o problema pode ser resolvido de muitas outras maneiras, porventura melhores. Por exemplo, haverá soluções para o problema usando apenas um ciclo? Como?


Problema 2

Ver resolução do exercício 2.a) da aula prática 3.


Página concebida e mantida por Eng. Manuel Menezes de Sequeira (última actualização 2006/07/07)
Copyright © 1996-2001 ISCTE