turbo C ++ e tabella logaritmica
passaggio tra sistemi logaritmici e
ricerca logaritmo in altra base
dati assegnati da
programma
/* qtabella16.c */ /* cambio base tre logaritmi */ #include <stdio.h> #include <conio.h> #include <math.h> #include <string.h> main() { double base10, basenep, basex; double a,b; double lognepaa,logbasexa,logbasexb; base10=10; basenep=2.718282; basex=2; a=100; b=32; puts("il logaritmo di un numero(a) in una data base(x) si calcola come quoziente"); puts("del logaritmo del numero in base nota (10) e il logaritmo in base nota(10)"); puts("della base (x)"); puts(".................................................................."); puts("esempio ; basenota = base10 ; basex = 2 ; numero a = 100"); puts("calcolo il logaritmo in basex(2) del numero a (100)"); puts("logbasex = log10(a)/log10(basex)"); puts(".................................................................."); puts("basex = 2; numero a = 100; "); logbasexa=log10(a)/log10(basex); printf("%2.5f\n",logbasexa); puts("infatti a = pow(basex,logbasexa)"); printf("%5.2f\n",pow(basex,logbasexa)); puts("................................"); puts("basex = 2 ; numero b = 32"); logbasexb=log10(b)/log10(basex); printf("%2.1f\n",logbasexb); puts("infatti b = pow(basex,logbasexb)"); printf("%5.2f\n",pow(basex,logbasexb)); puts("..............................."); puts("basenep = 2.718282 ; a = 100 "); lognepaa=log10(a)/log10(basenep); printf("%2.5f\n",lognepaa); puts("infatti a = exp(lognepaa) oppure pow(basenep,lognepaa"); printf("%5.2f\n",exp(lognepaa)); printf("%5.2f\n",pow(basenep,lognepaa)); getch(); puts("premi return"); getch(); clrscr(); }
passaggio tra sistemi logaritmici e ricerca logaritmo in altra base dati inseriti da tastiera
/* qtabella17.c */ /* gestione logaritmi tra sistemi diversi */ #include <stdio.h> #include <conio.h> #include <math.h> #include <string.h> main() { int a,prove; float numero,basex, logbasex; puts("scrivi numero di prove "); scanf("%d",&prove); puts(".........................."); for (a=1 ; a<=prove ; a++) { puts("scrivi numero per cercare logaritmo es.100"); scanf("%f",&numero); printf(" %s %2.5f\n","logaritmo base 10 = " ,log10(numero)); puts("scrivi base nuova es.2"); scanf("%e",&basex); printf("%s %2.5f\n","logaritmo in base 10 di base nuova= ",log10(basex)); puts("....................................."); puts("logaritmo del numero in base nuova"); puts("(log10(numero))/((log10(basenuova))"); logbasex=(log10(numero))/(log10(basex)); printf("%2.5f\n",logbasex); puts("................................."); puts("infatti si verifica pow(base,logbasex) = numero"); printf("%5.2f\n",pow(basex,logbasex)); puts("***********************************************"); puts("premi return, prego"); getch(); clrscr(); } puts("premi return"); getch(); clrscr(); }
calcolo logaritmo in basex usando logaritmi ricavabili da tabella logaritmica (decimali)
/* qtabella18.c */ /* cambio base tra logaritmi con uso della tabella logaritmica */ #include <stdio.h> #include <conio.h> #include <math.h> #include <string.h> main() { double basex; float lognumerox, logbasex, lognumero; puts("per calcolare il logaritmo di un numero in una determianta base"); puts("usando la tabella logaritmica si pu procedere come segue"); puts("si calcola il logaritmo in base 10 del numero e della basex"); puts("si divide il log10(numero) per log10(basex)"); puts("esempio : basex = 2 numero = 100 si ricava:"); puts("logbasex :log10(2) = 0.30103 lognumero :log10(100) = 2"); puts("si esegue il quoziente lognumero/logbasex e si ricava il logaritmo"); puts(".............................................................."); logbasex=0.30103; lognumero=2; lognumerox=lognumero/logbasex; puts("valore del logaritmo del numero nella nuova base"); printf("%2.5f\n",lognumerox); puts("**************************************************************"); puts("verifico : pow(basex,lognumerox) = numero "); printf("%5.5f\n",pow(2,6.64386)); getch(); clrscr(); }