CONST N = 10;
Var ra: array[1..N] of real;
    i: integer;
    changed: boolean;
    temp: real;
begin
   (* pedir 10 numeros: *)
  for i := 1 to N do
    begin
      WriteLn('Numero
',i,':');
      ReadLn(ra[i]);
    end;
  changed := TRUE;
   (* continue ate nao houve mais
mudancas: *)
  while changed do
    begin
      changed :=
FALSE;
      for i := 1
to N-1 do
         
(* se ra[i] maior que ra[i+1] troca os dois *)
         
(* e asinala que houve mudanca: *)
       
if ra[i]>ra[i+1] then
         
begin
           
temp := ra[i];
           
ra[i] := ra[i+1];
           
ra[i+1] := temp;
           
changed := TRUE;
         
end;
    end;
  for i := 1 to N do
    Writeln(i,'  ',ra[i]:0:1);
end.
type rec =
  record
    numero: integer;
    div3: boolean;
  end;
Var ra: array[1..100] of rec;
    i: integer;
    totdiv3: integer;
begin
  for i := 1 to 100 do
    ra[i].numero := Random(101)+14;
  for i := 1 to 100 do
    if ((ra[i].numero MOD
3) = 0) then
      ra[i].div3
:= TRUE
    else
      ra[i].div3
:= FALSE;
  totdiv3 := 0;
  for i := 1 to 100 do
    if (ra[i].div3=TRUE)
      then totdiv3
:= totdiv3+1;
  WriteLn(totdiv3);
end.
type rec =
  record
    nome: string;
    numero: longint;
  end;
Var ra: array[1..100] of rec;
    s: string;
    i: integer;
PROCEDURE Initialize;
begin
  ra[1].nome := 'Alex';
  ra[1].numero := 289123456;
  ra[2].nome := 'Sandra';
  ra[2].numero := 289234567;
  ra[3].nome := 'Joao';
  ra[3].numero := 289345678;
  ra[4].nome := 'Carla';
  ra[4].numero := 289456789;
  ra[5].nome := 'Hugo';
  ra[5].numero := 289567890;
end;
begin
  Initialize;
  Writeln('Diz um nome:');
  ReadLn(s);
  for i := 1 to 5 do
    if (ra[i].nome = s) then
      WriteLn('O
numero do ', s, ' e ', ra[i].numero);
end.
| 4a. PROGRAM Recs; Var w: word;
 begin
 output: ip: -1
 | 4b. PROGRAM Recs; Var w: word;
 begin
 output: ip: 1
 |