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

turbologa2.htm