turbo pascal 1.1 su mac

 

program geome1;
(* uso di procedure *)
var tratto:string;
procedure cancella;
begin
clearscreen;
end;
procedure pausa;
begin
 write('premi INVIO per proseguire');Readln;
 cancella;
end;
procedure quadrato;
var lato,diagonale,area,perimetro:real;
begin
 write('lato quadrato =');readln(lato);
 area:=sqr(lato);
 perimetro:=lato*4;
 diagonale:=sqrt(2*sqr(lato));
 writeln(tratto);
 writeln('area          =',area:10:3);
 writeln('perimetro     =',perimetro:10:3);
 writeln('diagonale     =',diagonale:10:3);
 writeln(tratto);
 pausa;
end;
procedure rettangolo;
var base,altezza,diagonale,area,perimetro:real;
begin
 write('base rettangolo   =');readln(base);
 write('altezza rettangolo=');readln(altezza);
 area:=base*altezza;
 perimetro:=2*(base+altezza);
 diagonale:=sqrt(sqr(base)+ sqr(altezza));
 writeln(tratto);
 writeln('area          =',area:10:3);
 writeln('perimetro     =',perimetro:10:3);
 writeln('diagonale     =',diagonale:10:3);
 writeln(tratto);
 pausa;
end;
procedure triangolo;
var base,altezza,area:real;
begin
 write('base triangolo   =');readln(base);
 write('altezza triangolo=');readln(altezza);
 area:=base*altezza/2;
 writeln(tratto);
 writeln('area          =',area:10:3);
 writeln(tratto);
 pausa;
end;
procedure trapezio;
var bminore,bmaggiore,altezza,area:real;
begin
 write('base minore trapezio   =');readln(bminore);
 write('base maggiore trapezio =');readln(bmaggiore);
 write('altezza trapezio       =');readln(altezza);
 area:=((bminore+bmaggiore)*altezza)/2;
 writeln(tratto);
 writeln('area          =',area:10:3);
 writeln(tratto);
 pausa;
end;
                        (* aggiungere altre procedure *)
procedure scelta;
var numero:integer;
    risposta:char;
begin
 cancella;
 writeln('seleziona opzione da esaminare');
 writeln('1=quadrato');
 writeln('2=rettangolo');
 writeln('3=triangolo');
 writeln('4=trapezio');
                         (* aggiungere altre opzioni *)
 writeln(tratto);  
 write('opzione scelta=');readln(numero);cancella;
 case numero of
  1:quadrato;
  2:rettangolo;
  3:triangolo;
  4:trapezio;
                         (* aggiungere altre chiamate a procedure *)
 end;
 writeln('per altra prova,scrivi S,per finire scrivi N');
 write('scelta S/N ? ');readln(risposta);
 if (risposta='S') or (risposta='s') then scelta;
 end;
  
  
begin
cancella;
tratto:='--------------------------------------------';
scelta;
pausa;
end.