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.