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.