Pular para o conteúdo principal

Ordenamento

Program Pzim ;
{2. Escrever um programa que lê um conjunto de 4 valores i, a, b, c, onde i é um
valor inteiro e positivo (faça a validação) e a, b, c, são quaisquer valores reais e
os escreva.
A seguir:
a) Se i=1 escrever os três valores a, b, c em ordem crescente.
b) Se i=2 escrever os três valores a, b, c em ordem decrescente.
c) Se i=3 escrever os três valores a, b, c de forma que o maior entre a, b, c fique
entre os outros dois.}
var
i:integer;
n1, n2, n3, a, b, c:real;

 Begin
 writeln('Digite o código do ordenamento (1, 2 ou 3) : ');
 writeln(' 1 - para ordem CRESCENTE');
 writeln(' 2 - para ordem DECRESCENTE');
 writeln(' 3 - para ordem MAIOR NO MEIO');

   read(i);
   if ((i>0) and (i<4)) then               {condição pra fazer entre 1 e 3}
    begin                            {se atender a condição ...}
    write('digite o 1o. número : ');
    read(a);
    write('digite o 2o. número : ');
    read(b);
    write('digite o 3o. número : ');
    read(c);                            {recebe os tres numeros, a, b, c}
    if ((a > b) and (b > c)) then
  begin                              
  n1:=a;
  n2:=b;
  n3:=c;
  end
  else
  if ((a > c) and (c >b)) then
  begin
  n1:=a;
  n2:=c;
  n3:=b;
  end
  else
  if ((b > a) and (a > c)) then
  begin
  n1:=b;
  n2:=a;
  n3:=c;
  end
  else
  if ((b > c) and (c > a)) then
  begin
  n1:=b;
  n2:=c;
  n3:=a;
  end
  else
  if ((c > a) and (a > b)) then
  begin
n1:=c;
  n2:=a;
  n3:=b;
      end
      else
  if ((c > b) and (b > a)) then
  begin
  n1:=c;
  n2:=b;
  n3:=a;
  end;                                {ordena os tres numeros}
 
      if (i=1) then                             {condição de exibição de acordo com o 'i'}
      writeln('Sequencia escolhida - CRESCENTE : ', n3:1:2, ' - ', n2:1:2, ' - ', n1:1:2)
      else
      if (i=2) then
      writeln('Sequencia escolhida - DECRESCENTE : ', n1:1:2, ' - ', n2:1:2, ' - ', n3:1:2)
      else
      if (i=3) then
      writeln('Sequencia escolhida - MAIOR NO MEIO : ', n2:1:2, ' - ', n1:1:2, ' - ', n3:1:2)
      end                         {o :1:2, é pra formatar a quant de decimal de um numero real}
     else
      writeln('Digite um número entre " 1 e 3 "'); {se não atender a condição de 'i', entre 1 e 3, mostra a mensagem}
 
 End.

Postagens mais visitadas deste blog

Vetor ordem crescente

Program Pzim ; {recebe 10 numeros inteiros e ordena de forma crescente} var vet:array[1..10] of integer; aux,i,j:integer;  Begin  aux:=0;   for i:=1 to 10 do   begin   writeln('Preencha o vetor de 10 posições : ');   read(vet[i]);   end;       for i := 10 downto 2 do              {faz o for com i de 10 até 2, decrementando, isto é 10, 9, 8, ...}   begin   for j := 1 to i-1 do         {faz o for com j de 1 até a posição atual do i menos 1}   begin   if vet[j] > vet[j+1] then {se vet, na posição j, for maior que vet na posição j+1, faça}   begin   aux := vet[j]; {a var aux, recebe o valor de vet na posição j}   vet[j] := vet[j+1]; {vet na posição j, recebe o valor de vet na posição seguinte, que seria j + 1}   vet[j+1] := aux; {e vet na posição j mais 1, recebe o v...

3 notas com media ponderada

Program Pzim ; {4- Escreva um programa que leia o código de um aluno e suas três notas. Calcule a média ponderada do aluno, considerando que o peso para a maior nota seja 4 e para as duas restantes, 3. Mostre o código do aluno, suas três notas, a média calculada e uma mensagem "APROVADO" se a média for maior ou igual a 5 e "REPROVADO" se a média for menor que 5. } var cod:integer; n1, n2, n3, nm1, nm2, nm3, media:real; Begin media:=0; writeln('Digite o código do aluno : '); read(cod); write('digite a 1o. nota : '); read(n1); write('digite a 2o. nota : '); read(n2); write('digite a 3o. nota : '); read(n3); {aproveitando a mesma estrutura para ordenar a maior nota, as outras duas não tem importançia na ordem, pois tem o mesmo peso} if ((n1 > n2) and (n1 > n3)) then begin nm1:=n1; nm2:=n2; nm3:=n3; end else if ((n2 > n1) and (n2 > n3)) then begin nm1:=n2; nm2:=n1; nm3:=n3; end else if ((n3 ...

Exercicio 2 com matriz

Program Pzim ; {2. Faça um algoritmo em que o usuario informe os valores para uma matriz 4x4  e em seguida efetive a soma dos valores que estão abaixo da diagonal secundária. O algoritmo deve mostrar os valores que estão abaixo da diagonal secundária e sua soma. Ex.: 1-5-2-2 7-5-3-2 8-4-6-1 5-4-3-1 Valores a serem usados, mostrados e somados: - - - - - - -2 - -6-1 -4-3-1 } var m:array[1..4,1..4] of integer; i,j, soma:integer;  Begin  for i:=1 to 4 do   begin   for j:=1 to 4 do   begin writeln('Digite a matriz : ');          //recebe os elementos da matriz readln(m[i,j]);   end;   end; for i:=1 to 4 do   begin   for j:=1 to 4 do   begin   if ((i+j)>= 6) then                 // se i+j >= 6, = condição para o elemento pertencer   begin               ...