logaritmi con turbo pascal
turbologa.htm

note ed esempi a integrazione

descrizione per usare la tabella logaritmica che fornisce le mantisse (positive)
in corrispondenza di una serie parziale di numeri interi consecutivi
inserendo un logaritmo con caratteristica < 0 si viene guidati al numero corrispondente

 

program logaritmica;
(* tabella logaritmica com mantisse positive *)

uses crt;
var n1,n2,n3,l1,l2,l3,ma1,ma2,ma3:real;
var base,k,esponente,nx,lx,max,cx,cifrex:real;
var contatore,prove:integer;

procedure pausa;
var ch:char;
begin
ch:=readkey;
end;

function potenza(base,esponente:real):real;
begin
potenza:=exp(ln(base)*esponente);
end;

begin
clrscr;
writeln('viene visualizzata tabella parziale con mantisse e numeri ');
writeln('viene rischiesto inserimento logaritmo con caratteristica < 0 ');
writeln('si descrive come risalire al numero leggendo la mantissa ');
writeln('e considerando la caratteristica  e quindi il numero di zeri ');
writeln('dopo la virgola del numero corrispondente al logaritmo fornito');

writeln('+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++');
pausa;
clrscr;
prove:=3;
base:=10;
k:=ln(10);
n1:=0.5;
n2:=0.05;
n3:=0.005;
l1:=ln(n1)/k;
l2:=ln(n2)/k;
l3:=ln(n3)/k;
ma1:=frac(l1);
ma2:=frac(l2);
ma3:=frac(l3);
writeln('tabella parziale numeri con mantisse fornite da pascal');
writeln('le mantisse non corrispondono a quelle detta tabella con mantisse positive');
writeln('che sono necessarie per risalire al numero per logaritmo fornito');
writeln('i calcoli che usano i logaritmi con pascal foniscono direttamente');
writeln('il valore numerico con exp(ln(base)*esponente) ');
writeln('per usare la tabella con mantisse positive e trovare il numero');
writeln('devo ricavare la mantissa positiva usando il logaritmo fornito da pascal');
writeln('trasformadolo in formato misto:caratterisitica negatica e mantissa positiva');
writeln('***********************************************************************');
write('n1...:',n1:1:5);writeln('...',ma1:0:5);
write('n2...:',n2:1:5);writeln('...',ma2:0:5);
write('n3...:',n3:1:5);writeln('...',ma3:0:5);
writeln('************************************');
for contatore:=1 to prove do
begin
if contatore=1 then nx:=n1;
if contatore=2 then nx:=n2;
if contatore=3 then nx:=n3;
write('scrivi un logaritmo per avere il numero :');readln(lx);
cx:=int(lx);
cifrex:=abs(cx+1);
writeln('logaritmo = ',lx:1:5);
writeln('caratteristica = ',cx:1:0);
writeln('numero zeri dopo della virgola = ',cifrex:1:0);
writeln('numero cercato da utente = ',nx:1:5);
writeln('.............................................');
end;
pausa;
end.

 

 


trasformazione da logaritmo negativo a logaritmo misto
cerco numero con mantissa positiva da tabella
calcolo numero con funzione pascal

 

program logaritmica;
(* tabella logaritmica com mantisse positive *)

uses crt;
var n1,n2,n3,l1,l2,l3,ma1,ma2,ma3:real;
var base,k,esponente,nx,lx,max,cx,cifrex:real;
var contatore,prove:integer;
var l1f,l2f,l3f,lxf:real;

procedure pausa;
var ch:char;
begin
ch:=readkey;
end;

function potenza(base,esponente:real):real;
begin
potenza:=exp(ln(base)*esponente);
end;

begin
clrscr;
writeln('viene visualizzata tabella parziale con mantisse e numeri ');
writeln('viene rischiesto inserimento logaritmo con caratteristica < 0 ');
writeln('si descrive come risalire al numero leggendo la mantissa ');
writeln('e considerando la caratteristica  e quindi il numero di zeri ');
writeln('dopo la virgola del numero corrispondente al logaritmo fornito');
writeln('si fornisce anche il valore del numero, senza usare la tabella');
writeln('con la funzione pascal exp(ln(base)*esponente) ');
writeln('+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++');
pausa;
clrscr;
prove:=3;
base:=10;
k:=ln(10);
n1:=0.5;
n2:=0.05;
n3:=0.005;
l1:=ln(n1)/k;
l2:=ln(n2)/k;
l3:=ln(n3)/k;
ma1:=frac(l1);
ma2:=frac(l2);
ma3:=frac(l3);
writeln('tabella parziale numeri con mantisse fornite da pascal');
writeln('le mantisse non corrispondono a quelle detta tabella con mantisse positive');
writeln('che sono necessarie per risalire al numero per logaritmo fornito');
writeln('i calcoli che usano i logaritmi con pascal foniscono direttamente');
writeln('il valore numerico con exp(ln(base)*esponente) ');
writeln('per usare la tabella con mantisse positive e trovare il numero');
writeln('devo ricavare la mantissa positiva usando il logaritmo fornito da pascal');
writeln('trasformadolo in formato misto:caratterisitica negatica e mantissa positiva');
writeln('***********************************************************************');
write('n1...:',n1:1:5);writeln('...',ma1:0:5);
write('n2...:',n2:1:5);writeln('...',ma2:0:5);
write('n3...:',n3:1:5);writeln('...',ma3:0:5);
writeln('************************************');
for contatore:=1 to prove do
begin
if contatore=1 then nx:=n1;
if contatore=2 then nx:=n2;
if contatore=3 then nx:=n3;
write('scrivi un logaritmo per avere il numero :');readln(lx);
cx:=int(lx);
cifrex:=abs(cx+1);
writeln('logaritmo = ',lx:1:5);
writeln('caratteristica = ',cx:1:0);
writeln('numero zeri dopo della virgola = ',cifrex:1:0);
writeln('numero cercato da utente = ',nx:1:5);
writeln('.............................................');
end;
pausa;
writeln('la mantissa positiva corrispondente a 5 - 0.5 - 0.05 - 0.005 ');
writeln( 'fornita dalle tabelle = 0.69897 e non 0.30103 ');
writeln('alla mantissa 0.30103 corrisponderebbe il numero 20 ');
writeln('il logaritmo fornito es. -1.30103 deve essere trasformato ');
writeln('nel formato misto <2).69897 ');
writeln('<2> o 2 sopralineato = -2 ; 69897 = complemento a mantissa 30103');
writeln('.....................................................');
writeln('esempio log 0.5   = -1.69897 = <1>.69897 con tabella ');
writeln('esempio log 0.5   = -1.30103 = <2>.69897 trasformato ');
writeln('esempio log 0.05  = -2.69897 = <2>.69897 con tabella ');
writeln('esempio log 0.05  = -2.30103 = <3>.69897 trasformato ');
writeln('esempio log 0.005 = -3.69897 = <3>.69897 con tabella ');
writeln('esempio log 0.005 = -3.30103 = <4>.69897 trasformato ');
writeln('--------------------------------------------------------');
pausa;
writeln ('valori calcolati con funzione pascal potenza:=exp(ln(base)*esponente)');
l1f:=(-1+0.69897);
l2f:=(-2+0.69897);
l3f:=(-3+0.69897);
writeln('numero1   :',potenza(base,l1f):0:5);
writeln('numero2   :',potenza(base,l2f):0:5);
writeln('numero3   :',potenza(base,l3f):0:5);
writeln('................................');
pausa;
end.
vedi esempio con excel turbologa45.htm

 

turbologa33.htm