Var taxa: real;
    capital: real;
    i, ano1, ano2: integer;
begin
  Write('Capital : ');
  ReadLn(capital);
  Write('Taxa de juros: ');
  ReadLn(taxa);
  Write('ano comeco: ');
  ReadLn(ano1);
  Write('ano fim: ');
  ReadLn(ano2);
  WriteLn(i,'  ',capital:0:2);
  for i := ano1+1 to ano2 do
    begin
      capital :=
(1+taxa/100.0)*capital;
      WriteLn(i,' 
',capital:0:2);
    end;
end.
Var bins: array[1..10] of integer;
    i: integer;
    binnr: integer;
    aleat: real;
begin
   (* inicializar o array: *)
  for binnr := 1 to 10 do
    bins[binnr] := 0;
   (* gerar 1000 numeros: *)
  for i := 1 to 1000 do
    begin
       
(* gerar um numero: *)
      aleat := Random;
       
(* determinar o numero da caixa: *)
      binnr := Trunc(10*aleat)+1;
       
(* aumentar o conteudo da caixa: *)
      bins[binnr]
:= bins[binnr] + 1;
    end;
   (* mostrar o resultado: *)
  for binnr := 1 to 10 do
    begin
      write((binnr-1)/10.0:0:1,'..',binnr/10.0:0:1,'  
: ');
      writeln(bins[binnr]);
    end;
end.
possível output:
0.0..0.1   : 100
0.1..0.2   : 99
0.2..0.3   : 101
0.3..0.4   : 97
0.4..0.5   : 90
0.5..0.6   : 108
0.6..0.7   : 103
0.7..0.8   : 90
0.8..0.9   : 110
0.9..1.0   : 102
Var primos: array[1..100] of integer;
    numero: integer;
    nprimos: integer;
FUNCTION IsPrimo(n: integer): boolean;
 (* retorna TRUE se n e numero primo
*)
Var i: integer;
begin
  IsPrimo := TRUE;
  For i := 2 To n-1 Do
    if (n Mod i) = 0 then 
(* a Mod b = 0 significa a e divisivel pelo b *)
      IsPrimo :=
FALSE;
end;
begin
  (* Nao sabemos quantos vezes temos
de executar o ciclo *)
  (* no minimo uma vez: entao ciclo
repeat-until *)
  (* mas tambem facilmente possivel
com ciclo while-do *)
  (* Ao primeiro inicializar os parametros
de controlo: *)
  nprimos := 0;   (* ainda
nao temos nenhum primo *)
  numero := 1;    (*
vamos comecar com determinar se 1 e primo *)
  repeat
    If IsPrimo(numero) then
      begin
        
(* se numeor for primo, faz a administracao: *)
       
nprimos := nprimos + 1;
       
primos[nprimos] := numero;
      end;
    numero := numero + 1;
  until (nprimos=100);
    (* mostrar o resultado:
*)
  for nprimos := 1 to 100 do
    Write('primo',nprimos,'=',primos[nprimos],'
');
end.
output (recortado):
primo1=1 primo2=2 primo3=3 primo4=5 primo5=7
primo6=11 primo7=13 ...
primo100=523