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();
}

 

turboclogax.htm