Bc: calculadora CLI

De Wikijoan
Dreceres ràpides: navegació, cerca

Contingut

Introducció

$ echo "scale=3;  4*1.3^2*6^4" | bc
8760.96

Interessant l'ús de last:

1+1
>2
last+2
>4
last + 5
>9
last +8
>17
quit

logaritmes neperians:

$ echo "scale=6;  l(2.719)" | bc -l
1.000264

Utilitzar bc amb fitxers:

exemple fahrenheit.txt

fahrenheit.txt:

scale=2

/* C-style comments
   are allowed, as are spaces */

print "\nConvert Fahrenheit to Celsius\n\n"
print "Temperature in Fahrenheit: " ; fah = read()
print "\n"
print "Equivalent Temperature in Celsius is: "
(fah - 32.0) * 5.0 / 9.0
quit
$ bc -q fahrenheit.txt 

Convert Fahrenheit to Celsius

Temperature in Fahrenheit: 34

Equivalent Temperature in Celsius is: 1.11

treballar amb fitxers dóna peu a fer servir declaracions de variables, bucles,etc.

taula de multiplicar (bucles)

Taula de multimplicar del 8: (taula_multiplicar.txt)

scale=2

print "\nTaula de multiplicar del 8\n\n"

for (i=1; i<=10; i++) {
	e = i*8
	print e
	print "\n"
}
quit

$ bc -q taula_multiplicar.txt 

Taula de multiplicar del 8

8
16
24
32
40
48
56
64
72
80

Mètode numèric bàsic

Es tracta d'avariguar quan dues funcions intersecten. Auixò pot ser d'aplicació en el curs 6002x del MIT (Circuits and Electronics)

metode_numeric.txt

scale=2

print "\nMètode numèric bàsic per mirar quan intersecten dues funcions\n\n"

/* s'ha de veure quan s'igualen les funcions 10-2*v = exp(0.5*v) */

for (v=0; v<=5; v=v+.2) {
	
	a = 10-2*v
	b = e(0.5*v)
	print v
	print "\t"
	print a
	print "\t"
	print b
	print "\n"
}
quit

S'ha d'invocar a bc amb l'opció -l per tal d'utilitzar la funció e() (Math Library Function).

$ bc -l -q metode_numeric.txt
...
2.6	4.8	3.66
2.8	4.4	4.05
3.0	4.0	4.48
3.2	3.6	4.95
...

Aquest càlcul també es podria fer gràficament amb gnuplot. Es tractaria de dibuixar les dues funcions sobre la mateixa gràfica i mirar quan es creuen.

Cas pràctic: MITx 6.002x

Curs_MIT:_Circuits_and_Electronics_(6.002x)#S6_.28Circuits_with_Nonlinear_Elements.29


creat per Joan Quintana Compte, març 2012

Eines de l'usuari
Espais de noms
Variants
Accions
Navegació
IES Jaume Balmes
Màquines recreatives
CNC
Informàtica musical
joanillo.org Planet
Eines