turbo pascal 1.1 su mac

program trigox;
(* funzioni trigonometriche di angoli inseriti in gradi *)
(* risoluzione triangoli rettangoli *)
var tipo:integer;n:string;
    seno,coseno,tangente:real;
    lato1,lato2,ipotenusa,beta,gamma:real;
{$I pro1}
{$I pro2}
{$I pro3}
{$I pro4}
{$I pro5}
  
  FUNCTION radiante(x:real):real;
  begin
   radiante:=x*pi/180;
   end;
   
  FUNCTION tan(x:real):real;
  begin
   tan:=sin(x)/cos(x);
  end;
       
 
 procedure azione;
 begin
 clearscreen;
 writeln('1...nota ipotenusa e angolo acuto');
 writeln('2...nota ipotenusa e cateto');
 writeln('3...noto cateto e angolo adiacente');
 writeln('4...noto cateto e angolo opposto');
 writeln('5...noti i cateti');
 writeln('0...per finire');
 writeln('indica tipo rettangolo da risolvere:');
 readln(tipo);
 
 if tipo=1 then pro1;
 if tipo=2 then pro2;
 if tipo=3 then pro3;
 if tipo=4 then pro4; 
 if tipo=5 then pro5;
 
 write('per altra prova scrivi 1,per finire 2 ');readln(n);
 if n='1' then azione;
 
 end;
 
 
 begin
 clearscreen;azione;end.
 

program rubrica1;
{ eempio gestione database semplice  e gestione FONT}
uses memtypes,quickdraw;
var nome:array[1..5] of string[15];
       credito:array[1..5] of integer;
       debito:array[1..5] of integer;
       saldo:array[1..5] of integer;
       a,ctotale,dtotale,stotale:integer;
       
procedure clienti;
  begin
   nome[1]:='Rossi';nome[2]:='Bianchi';nome[3]:='Verdi';
   nome[4]:='Rossini';nome[5]:='Bianchini';       
  end;
  
 procedure crediti;
  begin
   credito[1]:=1000;credito[2]:=2000;credito[3]:=3000;
   credito[4]:=4000;credito[5]:=5000;       
  end;
  
  procedure debiti;
  begin
   debito[1]:=100;debito[2]:=200;debito[3]:=300;
   debito[4]:=400;debito[5]:=500;       
  end;
     
  BEGIN
   ctotale:=0;dtotale:=0;stotale:=0;
   for a:=1 to 5 do
    begin
     clienti;crediti;debiti;
     ctotale:=ctotale+credito[a];
     dtotale:=dtotale+debito[a];
    end;  
    textfont(0);
    textsize(12);
    textface([italic]); 
    writeln('nomi':20,'credito':15,'debito':15,'saldo':15);
    writeln('----------------------------------------------------');
    for a:=1 to 5 do
     begin
      saldo[a]:=credito[a]-debito[a];
      stotale:=stotale+saldo[a];
      writeln(nome[a]:20,credito[a]:15,debito[a]:15,saldo[a]:15); 
      writeln;
      end;
      writeln('---------------------------------------------------');
      textfont(4);
      textface([shadow]);
      writeln('relazione finale':30);
      writeln;
      textface([]);
      textfont(0);      
      writeln('totali':20,'credito':15,'debito':15,'saldo':15);
      writeln;
      writeln('          ':20,ctotale:15,dtotale:15,stotale:15);    
      textfont(4);
      textface([shadow]);
      textsize(18); 
      writeln;
     writeln('premi return');
     readln;
 end.     

program rubrica5;
{ esempio gestione database semplice  e gestione FONT}
{INSERIMENTO CONDIZIONE RICERCA con IF }
{ richiama archivio dati da disco con $I clienti }
{ la procedura clienti e' stata registrata a parte con SAVE AS }
uses memtypes,quickdraw;
const k=8;
{ variare valore di K per diverso numero record:aggiungere in CLIENTI}
var nome:array[1..k] of string;
       credito:array[1..k] of integer;
       debito:array[1..k] of integer;
       saldo:array[1..k] of integer;
       a,ctotale,dtotale,stotale:integer;
       
 {$I clienti}      
      
  BEGIN
   ctotale:=0;dtotale:=0;stotale:=0;
   for a:=1 to k do
    begin
     clienti;
     ctotale:=ctotale+credito[a];
     dtotale:=dtotale+debito[a];
    end;  
    textfont(0);
    textsize(12);
    textface([italic]); 
    writeln('nomi':20,'credito':15,'debito':15,'saldo':15);
    writeln('----------------------------------------------------');
    for a:=1 to k do
     begin
      saldo[a]:=credito[a]-debito[a];
      stotale:=stotale+saldo[a];
      { inserimento condizione ricerca }
      if (credito[a]>=3000) or (nome[a]= 'Pascoli' )then
      writeln(nome[a]:20,credito[a]:15,debito[a]:15,saldo[a]:15); 
      end;
      writeln('---------------------------------------------------');
      textfont(4);
      textface([shadow]);
      writeln('relazione finale':30);
      writeln;
      textface([]);
      textfont(0);      
      writeln('totali':20,'credito':15,'debito':15,'saldo':15);
      writeln;
      writeln('          ':20,ctotale:15,dtotale:15,stotale:15);    
      textfont(4);
      textface([shadow]);
      textsize(18); 
      writeln;
     writeln('premi return');
     readln;
 end.