logaritmi con turbo pascal
turbologa.htm
note ed esempi a integrazione
si calcola il cologaritmo di un numero fornito da utente si confronta con il formato resto dal calcolo diretto con pascal
program complemento; (* trasformare da misto a normale *) (* calcolare cologaritmo con caratteristica logaritmo >0 *) (* confronto con valore diretto fornito da pascal *) uses crt; var numero,logaritmo,ma,x,ca,c1m,lfinale:real; var contatore, prove:integer; var cac:real; var cco,caco,maco,macoc:real; procedure pausa; var ch:char; begin writeln('premi return'); ch:=readkey; end; begin clrscr; writeln('esempio per caratteristica logaritmica > 0'); writeln('cologaritmo N = - logaritmo N '); writeln('aggiungo +1 a caratteristica del logaritmo e cambio segno'); writeln('per mantissa eseguo complemento cifre mantissa logaritmica'); writeln('il formato stampato da pascal va letto come misto <c>.mantissa'); writeln('.........................................................'); prove:=1; pausa;clrscr; for contatore:=1 to prove do begin write('scrivi numero ');readln(numero); logaritmo:=ln(numero)/ln(10); writeln('logaritmo : ',logaritmo:2:6); ca:=int(logaritmo); writeln('caratteristica del logaritmo ',ca:2:0); cac:=-(ca+1); writeln('caratteristica cologaritmo ',cac:2:0); ma:=abs(frac(logaritmo)); writeln('mantissa del logaritmo ',ma:2:6); c1m:=1-ma; writeln('mantissa del cologaritmo ',c1m:2:6); lfinale:=cac-c1m; writeln('cologaritmo : ',lfinale:2:6); writeln('formato sarebbe <1>.273273 '); writeln('.........................................'); writeln('confronto con formato valore fornito da pascal '); writeln('.........................................'); cco:=-logaritmo; writeln('valore fornito da pascal con colog:=-logaritmo '); writeln(cco:2:6); caco:=-(abs(int(cco))+1); writeln('aggiungo + 1 ad assoluto caratteristica e cambio segno'); writeln('caratteristica cologaritno :',caco:2:0); maco:=abs(frac(cco)); writeln('mantissa cologaritmo ',maco:2:6); writeln('eseguo complemento per mantissa '); macoc:=1-maco; writeln('mantissa cologaritmo ',macoc:2:6); writeln('formato misto <2>.129011'); pausa; end; end.