sábado, 4 de junho de 2011

Exercicio 2 de Unidimensional

ExercProgram Pzim ;
{Elabore um algoritmo que leia um vetor A de 30 números inteiros e imprima o maior valor.

as variaveis criadas são :
a, que é o vetor
i, que é o contador do for
indice, que serve para indicar a posição do maior numero no vetor
maior, que recebe o valor do maior numero do vetor}
var
a:array[1..5] of integer;
i, indice, maior:integer;
{no exercicio pede 30 valores, mais por questão de agilidade fizemos com 5}
 Begin
   
     {inicio do programa}
    
     for i:=1 to 5 do
         begin
             writeln('Digite o ',i,'o. termo do vetor');
             readln(a[i]);
         end;
    {o  primeiro for é utilizado para entrado dos valores no vetor a, nas posições [i] de 1 até 5}
   
     for i:=1 to 1 do
         begin
            if (i=1) then
                begin
                    maior:=a[1];
                end;
         end;
    {o segundo for é utilizado, somente para atribuir o valor na posição [i]=1, no maior valor,
    para termos uma referencia, serve tanto para atribuir o valor de maior e se preciso o valor de menor}        
        
     for i:=1 to 5 do
         begin
             if(a[i]>maior) then
                 begin
                     maior:=a[i];
                     indice:=i;
                 end;
         end;
     {o terceiro for é utilizado junto com o if, para comparamos, todos os valores do vetor a, [i] de 1 a 5
     com o valor de maior, no for anterior, atribuimos a ele o valor da posição 1, e aqui testamos todas as posições
     de [i] de 1 ate 5, para ver se algum é maior que MAIOR, se houver ele substitui o valor de a[i] em MAIOR, e
     atribui a variavel INDICE o valor de [i] 'posição' que está o maior valor no vetor}
    
    writeln('O maior numero é o ',indice,'o.,  de valor : ', maior);
    {para finalizar escreve-se o resultado do maior numero e em que posição [i], do vetor ele se encontra}
 End.