logaritmi con turbo pascal
turbologa.htm
programma che stampa logaritmo decimale di numeri inseriti da utente usando le funzioni: per logaritmo ln(n)/ln(10) per caratteristica int(logaritmo) per mantissa frac(logaritmo) --------------------------------------------------- program logaritmi; (* logaritmo, caratteristica, mantissa *) uses crt; var cifre,contatore:integer; var numero,logaritmo,caratteristica,mantissa:real; procedure pausa; var ch:char; begin writeln('premi return'); ch:=readkey; end; begin clrscr; writeln('numero prove = '); readln(cifre); writeln('------------------------------------'); for contatore :=1 to cifre do begin writeln('scrivi intero positivo'); readln(numero); logaritmo:=ln(numero)/ln(10); caratteristica:=int(logaritmo); mantissa:=frac(logaritmo); writeln('logaritmo = ',logaritmo:4:5); writeln('caratteristica = ',caratteristica :4:0); writeln('mantissa = ',mantissa:0:5); writeln('------------------------------------'); end; pausa; end.
caratteristica numero = numero cifre parte intera - 1
esempi con logaritmo positivo: caratteristica positiva , mantissa positiva
numeri con uguale cifra significativa presentano diversa caratteristica ma uguale mantissa
numeri positivi
minori di 1 :
caratteristica negativa pari a numero di zeri che precedono cifra
significativa
numeri positivi
minori di 1 :
caratteristica negativa pari a numero di zeri che precedono cifra
significativa
(nel formato misto ,
caratteristica negativa pari a numero zeri dopo la virgola,
mantissa positiva complemento a 9 delle cifre del logaritmo e a
10 per ultima cifra)
esempio: 0.00050
tutto negativo -3.30103 fornito da Turbo
formato misto sarebbe -4.60807
le tabelle
forniscono sempre mantisse positive