Così di primo acchito mi sembrerebbe invece che la cosa non sia così difficile...
Il logaritmo di un numero B in una base A (scelta a piacere e diversa dalle generiche base '10' e 'e') si può facilmente calcolare proprio utilizzando, per esempio, la funzione ln() che calcola il logaritmo naturale (base 'e') del numero.
Infatti è:
ln(B)/ln(A)
Cioè il logaritmo del numero B in base A è dato dal logaritmo (in base e) del numero B diviso per il logaritmo (sempre in base e) della base A
Nel tuo caso quindi (utilizzando la funzione ln() presente in turbo pascal) è
Y = ln(B) / ln(A)
Se invece vuoi calcolare il logaritmo SENZA utilizzare la funzione ln() devi pensare di utilizzare qualche algoritmo di calcolo numerico e la cosa è effettivamente un po' più complessa.
Prova ad esempio a vederti questo: http://www.vialattea.net/esperti/mat/log/
In fondo c'è la formula per calcolare ln(1+x)

Rispondi quotando