Programes per la TI-92

En aquesta pàgina hi trobaràs alguns dels meus programes pera la calculadora Texas Instruments TI-92 Plus que utilitzava durant la meva època d’estudiant entre el 1996 i el 2001 amb la finalitat d’obtenir respostes a les qüestions d’exàmen per poder assegurar els resultats 😉

I. ESTUDI D’INVERSIONS

ECONOM.9XP

()

Prgm

Lbl in

ClrIO

Disp ” ANÀLISI D´INVERSIONS v3.1″,””,””,” Eudald xxxxxx xxxxxxx”

DelVar cr,cp,var1,var2,θa,θθ,bb,cc,gg,rr,xx,yy,θk,θj,θh,mm,ps

ti92plus\mode()

setMode(“Exact/Approx”,”APPROXIMATE”)

setMode(“Exponencial Format”,”NORMAL”)

setMode(“Display Digits”,”FLOAT”)

Dialog

Title “Dades inicials”

Request “Inversió inicial “,i

Request “Capital circulant”,c

Request “Cost oportunitat “,o

Request “Crèdit financer “,cr

Request “Pagaments crèdit “,cp

Request “Vida inversió “,v

Request “Valor residual(%)”,e

EndDlog

Dialog

Title “Dades inicials: taxes”

Text “Entrar valors en %”

Request “Infl. entorn (g)”,g

Request “Infl. fluxos (a)”,a

Request “Taxa actualit.(r)”,r

Request “Taxa cobrament(c)”,ma

Request “Taxa pagament (p)”,na

Text “”

DropDown ” “,{“CONTINUAR”,”SORTIR”},θa

EndDlog

If θa=2 Then

Goto in

EndIf

expr(ma)→ma

expr(na)→na

expr(v)→v

expr(i)→i

expr(a)→a

expr(r)→r

expr(g)→g

expr(e)→e

expr(o)→o

expr(c)→c

expr(cr)→cr

expr(cp)→cp

i+c+o-cr→i

a%→xa

g%→ya

0→x

0→y

0→var1

0→var2

newList(v)→bb

newList(v)→cc

While var1 v or var2 v

If var1 v Then

var1→va

EndIf

If var2 v Then

var2→wa

EndIf

string(x)→x

string(y)→y

Dialog

Request “Cobraments anuals”,x

DropDown “Fins l’any”,seq(string(io),io,1,v),var1

Request “Pagaments anuals”,y

DropDown “Fins l’any”,seq(string(io),io,1,v),var2

EndDlog

expr(x)→x

expr(y)→y

For j,va+1,var1

x*(1+ma%)^j→bb[j]

EndFor

For j,wa+1,var2

y*(1+na%)^j→cc[j]

EndFor

EndWhile

If a=g Then

PopUp {“Simplificant”,”Sense simplificar”,”SORTIR”},aa

If aa=3 Then

Goto in

EndIf

If aa=1 Then

0→xa

0→ya

EndIf

EndIf

For j,1,v

(bb[j]-cc[j])*(1+xa)^j-cp→z[j]

EndFor

Loop

ClrIO

Dialog

Text “Fluxos extraordinaris”

Text “”

DropDown ” “,{“NOU FLUX EXTRAORDINARI”,”CONTINUAR”,”SORTIR”},θa

Text “”

Text “”

DropDown “Any “,seq(string(io),io,1,v),gg

DropDown “Tipus”,{“Subvenció”,”Renovació immobilitzat”},ca

EndDlog

If θa=3 Then

Goto in

Elseif θa=2 Then

Exit

EndIf

Disp “Any “&string(k)

If ca=1 Then

Lbl err

Dialog

Title “Subvenció”

Text “”

Text “”

Request “% de la inversió”,ps

Text “”

Request “Quantitat”,s

EndDlog

If ps “” and s=”” Then

z[gg]+ps%→z[gg]

Elseif ps=”” and s “” Then

z[gg]+s→z[gg]

Else

Goto err

EndIf

Else

Dialog

Title “Renovació immobilitzat”

Text “”

Request “Quantitat”,xx

Text “”

Text “”

Dropdown “Tipus”,{“Pagament”,”Cobrament”},θa

EndDlog

If θa=1 Then

xx*-1→xx

EndIf

z[gg]+xx*(1+ya)^gg→z[gg]

EndIf

EndLoop

e%*i*(1+ya)^v+z[v]→z[v]

ClrIO

Disp “Fluxos de caixa”

For j,1,v

Disp “FC “&string(j)&”= “&string(z[j])

If mod(j,7)=0 Then

Pause

ClrIO

EndIf

EndFor

Pause

r%*(1+ya)+ya→w

Lbl tir

ClrIO

Disp “INVERSIÓ = “&string(i),”INTERÉS r'(%)= “&string(w*100)

0→f

For j,1,v

z[j]/(1+w)^j→d

d+f→f

EndFor

f-i→rr

Disp “VAN = “&string(rr)

PopUp {“Càlcul automàtic del TIR”,”Càlcul manual del TIR”,”No calcular el TIR”,”SOR

TIR”},θθ

While θθ=2 Then

Input “r’ ?”,tir

0→f

For j,1,v

z[j]/(1+tir)^j→d

d+f→f

EndFor

Pause

ClrIO

PopUp {“Tornar a recalcular”,”Sortir”},

θθ

Disp “Càlcul del TIR per iteracions”,”VAN = 0″

Disp “”,”VAN = “&string(f-i)

Goto iter

ElseIf θθ=3 Then

Goto notir

ElseIf θθ=4 Then

Goto in

EndIf

ClrIO

solve(f-i=0,tir)→t

Disp string(t)

Lbl notir

rr/i*100→rr

Disp “REND. REL.(%)= “&string(rr)

⁻i→θk

newList(v)→mm

For θθ,1,v

θk+z[θθ]/(1+w)^θθ→θk

θk→mm[θθ]

If θk>0 Then

Disp “TER. RECUP. = “&string(θθ)

Exit

EndIf

EndFor

Pause

ClrIO

Loop

Pause

PopUp {“Mostrar F.C. acumulats”,”Recalcular el TIR”,”Finalitzar”},θj

If θj=1 Then

For θh,1,θθ

Disp mm[θh]

EndFor

ElseIf θj=2 Then

Goto tir

Else

Goto in

EndIf

EndLoop

EndPrgm

II. RACIONAMENT ANIMAL

RACIONAM.9XP

()

Prgm

Lbl in

Dialog

Text “”

Dropdown “Sistema”,{“INRA (Francès),NRC (Americà)”},wa

Text “”

Text “”

Dropdown “”,{“CONTINUAR”,”SORTIR”},qa

EndDlog

If qa=2

Goto in

Lbl inra

Dialog

Request “N° d´aliments “,n

Request “Pes viu “,p

Request “P. llet (Kg/dia)”,l

Request “% Matèria grassa”,m

DropDown “Evolució del pes…”,{“?????”,”increment”,”decrement”},v

DropDown “Estabulació……..”,{“?????”,”lliure”,”pastura”},e

DropDown “Gestació………..”,{“no”,”7è mes”,”8è mes”,”9è mes”},g

DropDown “”,{“CONTINUAR”,”SORTIR”},qa

EndDlog

If qa=2

Goto in

expr(p)→p

expr(n)→n

expr(l)→l

expr(m)→m

If e=1 Then

1→q

ElseIf e=2 Then

1.1→q

Else

1.2→q

EndIf

“%MS”→s2

“UFL”→s3

“PDIN”→s4

“PDIE”→s5

“ULL”→s6

For i,1,n

ClrIO

InputStr “Aliment “&string(i)&”?”,o

“a”&exact(string(i))→a

o→#a

“b”&exact(string(i))&”1″→b

Dialog

Text #a

Text “”

Dropdown “Kg. de menjar”,{“en M.F.”,”en M.S.”},pa

Request “”,w

Text “”

EndDlog

expr(w)→w

w→#b

ClrIO

For r,2,6

“b”&exact(string(i))&exact(string(r))→b

“s”&exact(string(r))→s

Input #s&” ?”,w

w→#b

EndFor

EndFor

ClrIO

0→z

For r,1,6

“s”&exact(string(r))→s

Output 5,(r-1)*34+35,#s

EndFor

For i,1,n

“a”&exact(string(i))→a

Disp #a

Lbl for

For r,1,6

If z=0 Then

“b”&exact(string(i))&exact(string(r))→b

Else

“b”&k[i]&exact(string(r))→b

EndIf

“s”&exact(string(r))→s

If mod(i,2)=0 Then

Output 65,(r-1)*40,#s

Output 75,(r-1)*40,#b

Else

Output 15,(r-1)*40,#s

Output 25,(r-1)*40,#b

EndIf

EndFor

If mod(i,2)=0 Then

Pause

ClrIO

EndIf

Disp “”

If z=1 Then

Goto for1

EndIf

EndFor

For o,1,6

“c”&string(n+1)&exact(string(o))→c

0→#c

EndFor

Disp “N? d´aliments utilitzats en la ració”

input t

For i,1,t

InputStr “Nom de l´aliment”,h

For j,1,n

“a”&exact(string(j))→t

If when(#t =h,true) Then

“b”&exact(string(j))&”1″→a

“b”&exact(string(j))&”2″→b

“c”&string(n+1)&”1″→c

#c+#a→ #c

#a*#b%→#b

“c”&string(n+1)&”2″→c

#c+#b→ #c

#b→a

For o,3,6

“c”&string(n+1)&exact(string(o))→c

“b”&exact(string(j))&exact(string(o))→b

#b*a→#b

#c+#b→#c

EndFor

j→k[j]

EndIf

EndFor

ClrIO

EndFor

“MS”→s2

For i,1,t

“a”&K[i]→a

disp #a

1→z

goto for

lbl for1

EndFor

Disp “Suma total”

For r,1,6

“c”&string(n+1)&exact(string(r))→c

“s”&exact(string(r))s

Output 15,(r-1)*40,#s

Output 25,(r-1)*40,#b

EndFor

ClrIO

l*(0.4+0.15*m)→l

e*(1.4+0.006*p)→aa

95+0.5*p→ba

0.44*l→ca

48*l→da

22-8.25*e^(-0.002*l)+(p-600)*0.01→ea

Goto in

Lbl nrc

Dialog

Request “N? aliments totals”,n

Request “Pes viu de l´animal”,p

Request “Kg llet / dia”,l

Request “%Mat. grassa llet”,m

DropDown “L´animal”,{“manté el pes”,”incrementa el pes”,”decrementa el pes”},v

DropDown “Animal en gestació”,{“no”,”7è mes”,”8è mes”,”9è mes”},g

DropDown “Menu”,{“Coninue”,”Quit”},qa

EndDlog

expr(p)→p

expr(n)→n

expr(l)→l

expr(m)→m

Goto in

EndPrgm

III. ADOBAT DE CAMPS

ADOBAT.9XP

()

Prgm

Lbl in

programa\mode()

setFold(enginyer)

Dialog

Text “********** Riquesa del camp **********”

Request “pH “,m

Request “kg N/Ha “,o

Request “[ppm] K “,n

Request “[ppm] P “,w

EndDlog

Dialog

Text “*********** Extraccions *********”

Request “Kg N/Ha”,p

Request “Kg P/Ha”,q

Request “Kg K/Ha”,r

Text “”

DropDown “Càlculs”,{“segons normativa vella”,”segons normativa nova”},u

EndDlog

Lbl new

Dialog

Text “****** Característiques del fang *****”

Request “% Matèria Seca”,a

Request “% Matèria Org.”,b

Request “% Nitrogen “,c

Request “% Fosfats “,d

Request “% Potassi “,e

DropDown “Tipus de fang (Kmo)”,{“Aeròbic”,”Anaeròbic”,”Compost de fang”},ea

DropDown “Cond. cultiu (Kn)”,{“Aeròbic-líquid”,”Aeròbic-deshidr.”,”Anaeròbic-Líquid

“,”Anaeròbic-deshidr.”,”Compost de fang”},da

EndDlog

If da=1 Then

0.75→da

ElseIf da=2 Then

0.6→da

ElseIf da=3 Then

0.7→da

Else

0.5→da

EndIf

If ea=1 Then

0.65→ea

Else

0.55→ea

EndIf

Dialog

Text “****** Metalls pesants del fang ******”

Request “[ppm] Zn”,f

Request “[ppm] Cu”,g

Request “[ppm] Cd”,h

Request “[ppm] Pb”,i

Request “[ppm] Hg”,j

Request “[ppm] Ni”,k

Request “[ppm] Cr”,l

EndDlog

Dialog

Text “****** Metalls pesants del camp ******”

Request “[ppm] Zn”,fb

Request “[ppm] Cu”,gb

Request “[ppm] Cd”,hb

Request “[ppm] Pb”,ib

Request “[ppm] Hg”,jb

Request “[ppm] Ni”,kb

Request “[ppm] Cr”,lb

EndDlog

Lbl met

Dialog

Request “Producció (kg/Ha)”,v

Text “”

Text “”

Text “*Recomanacions en l’aplicació d’adobs*”

Text “”

DropDown “”,{“Manual gestió Generalitat”,”Blat secà”,”Blat regadiu”,”Ordi secà”,”Or

di regadiu”,”Blat de moro secà”,”Blat de moro regadiu”,”Patata secà”,”Patata regadiu”,

“Alfals”,”Fruitera de pinyol”,”Fruita de llavor”,”Vinya”,”Lleguminoses”},s

DropDown “”,{“Manual gestió Junta Sanejam.”,”Blat”,”Ordi”,”Blat de moro”,”Sorgo”,”P

atata”,”Cereals d’hivern (ferratge)”,”Gramínies (ferratge)”,”Blat de moro (ferratge)”,

“Blat de moro (ferratge)”,”Raigràs”,”Raigràs”,”Prat natural (dalt)”,”Prat natural (pas

turat)”,”Prats permanents”,”Pomera”,”Parera”,”Albercoquer”,”Presseguer”,”Cirerer”,”Ame

tller”,”Cítrics”,”Vinya”,”Olivera”,”Gira-sol”,”Colza”},t

EndDlog

If s 1 and t=1 Then

s-1→θ

t12→x

ElseIf s=1 and t 1 Then

t-1→θ

t1→x

ElseIf s=1 and t=1 Then

Disp “Has d’escollir un mètode”

Goto met

Else

Disp “Només es pot escollir un mètode”

Goto met

EndIf

expr(a)→a

expr(b)→b

expr(c)→c

expr(d)→d

expr(e)→e

expr(f)→f

expr(g)→g

expr(h)→h

expr(i)→i

expr(j)→j

expr(k)→k

expr(l)→l

expr(m)→m

expr(n)→n

expr(o)→o

expr(p)→p

expr(q)→q

expr(r)→r

expr(v)→v

expr(w)→w

expr(fb)→fb

expr(gb)→gb

expr(hb)→hb

expr(ib)→ib

expr(jb)→jb

expr(kb)→kb

expr(lb)→lb

0→ka

If u=1 and m<7 Then

If f>pe[5,1] or g>pe[2,1] or h>pe[1,1] or i>pe[4,1] or j>pe[6,1] or k>pe[3,1] or l>p

e[7,1] Then

Disp “El fang no compleix la normativa:”

For ra,1,7

Disp string(pe[ra,3])&” “&string(pe[ra,1])

EndFor

Pause

ClrIO

EndIf

If fb>pe[5,2] or gb>pe[2,2] or hb>pe[1,2] or ib>pe[4,2] or jb>pe[6,2] or kb>pe[3,2]

or lb>pe[7,2] Then

Disp “El camp no compleix la normativa:”

For ra,1,7

Disp string(pe[ra,3])&” “&string(pe[ra,2])

EndFor

Pause

Goto in

EndIf

ElseIf u=1 and m>7 Then

If f>gr[5,1] or g>gr[2,1] or h>gr[1,1] or i>gr[4,1] or j>gr[6,1] or k>gr[3,1] or l>g

r[7,1] Then

Disp “El fang no compleix la normativa:”

For ra,1,7

Disp string(gr[ra,3])&” “&string(gr[ra,1])

EndFor

Pause

ClrIO

EndIf

If fb>gr[5,2] or gb>gr[2,2] or hb>gr[1,2] or ib>gr[4,2] or jb>gr[6,2] or kb>gr[3,2]

or lb>gr[7,2] Then

Disp “El camp no compleix la normativa:”

For ra,1,7

Disp string(gr[ra,3])&” “&string(gr[ra,2])

EndFor

Pause

Goto in

EndIf

ElseIf u=2 and m>7 Then

If f>pen[5,1] or g>pen[2,1] or h>pen[1,1] or i>pen[4,1] or j>pen[6,1] or k>pen[3,1]

or l>pen[7,1] Then

Disp “El fang no compleix la normativa:”

For ra,1,7

Disp string(pen[ra,3])&” “&string(pen[ra,1])

EndFor

Pause

ClrIO

EndIf

If fb>pen[5,2] or gb>pen[2,2] or hb>pen[1,2] or ib>pen[4,2] or jb>pen[6,2] or kb>pen

[3,2] or lb>pen[7,2] Then

Disp “El camp no compleix la normativa:”

For ra,1,7

Disp string(pen[ra,3])&” “&string(pen[ra,2])

EndFor

Pause

Goto in

EndIf

Else

Disp “No existeixen valors per pH<7”

Disp “en la nova normativa”

ClrIO

Goto new

EndIf

Dialog

DropDown “Càlculs a partir de”,{“N”,”P”,”K”},s

Text ” ”

DropDown “Tenir en compte N del sòl? “,{“No”,”Si”},bb

EndDlog

If bb=1 Then

0→o

EndIf

If s=1 Then

x[θ,1]*v-o→aa

If aa<p Then

Disp “No es poden abocar les extraccions.”,”El límit de Kg/Ha de N és:”,aa

aa→p

Else

Disp “Aportació màxima de Kg/Ha de N :”,aa

EndIf

If w≤12 Then

2*q→ba

ElseIf w>12 and w<18 Then

2.25/w*q+q→ba

ElseIf w≥18 and w≤25 Then

q→ba

Else

q*0.5→ba

EndIf

Disp “Aportació màxima de Kg/Ha de P2O5 :”,ba

If n≤80 Then

1.5*r→ca

ElseIf n>80 and n<175 Then

r*1.2→ca

ElseIf n≥175 and n≤300 Then

r→ca

ElseIf w>300 and n≤425 Then

r*0.6→ca

Else

r*0.3→ca

EndIf

Disp “Aportació màxima de Kg/Ha de K2O :”,ca

Pause

ClrIO

p*10000/(da*c*a)→fa

fa*a%*d%→ga

fa*a%*e%→ha

Disp “Kg de Fang/Ha aportats:”,fa,”Kg de P2O5/Ha aportats:”,ga,”Kg de K2O/Ha aport

ats:”,ha

Pause

ClrIO

ba-ga→ia

ca-ha→ja

“Sobren :”→xb

“Falten :”→yb

“Kg/Ha de P2O5″→tb

“Kg/Ha de K2O”→ub

If ia>0 Then

Disp yb,string(abs(ia))&” “&tb

Else

Disp xb,string(abs(ia))&” “&tb

EndIf

If ja>0 Then

Disp yb,string(abs(ja))&” “&ub

Else

Disp xb,string(abs(ja))&” “&ub

EndIf

fa*a%*b%*(1-ea)→ka

Disp “”,”Aportació en Kg/Ha de Mat.Org :”,ka

Pause

Goto in

ElseIf s=2 Then

Else

EndIf

Goto in

EndPrgm

IV. CÀLCUL DE TARIFES ELÈCTRIQUES

TARIFES.9XP

()

Prgm

Lbl in

programa\mode()

Local pc,pm,fp,kr,s1,s2,s3,s4,s5

setFold(electric)

Dialog

Title “Tarifes de baixa tensió”

Request “Pot.cont.”,pc

Request “F.P. “,fp

Request “Lloguer “,t

DropDown “Tipus “,seq(string(x),x,1,5,1),b

DropDown “Tarifa “,{” 1.0 ≤770 W”,” 2.0 General ≤15 kW”,” 2.0 Nocturna”,” 3.0 Ge

neral curta util.”,” 4.0 General llarga util.”,” B.0 Enllumenat públic”,” R.0 Recs agr

ícoles”},c

DropDown “Mode “,seq(string(x),x,1,3,1),d

DropDown “Mesos fact.”,seq(string(x),x,1,12,1),e

EndDlog

expr(t)→t

expr(pc)→pc

expr(fp)→fp

0→kr

0→w

0→p

0→v

0→n

0→r

If d=2 Then

Input “Potència mesurada pel maxímetre?”,pm

If pm≤1.05*pc and pm≥0.85*pc Then

round(pm,0)→pc

ElseIf pm>1.05*pc Then

round(pm+2*(pm-1.05*pc),0)→pc

ElseIf pm<0.85*pc Then

round(0.85*pc,0)→pc

EndIf

ElseIf d=3 Then

EndIf

ClrIO

Disp “???????Consums energètics (kWh)???????”,””

Input “Hores pla?”,n

If b=2 or b=3 or b=4 Then

Input “Hores punta?”,p

EndIf

If b=3 or b=4 Then

Input “Hores vall?”,v

EndIf

If b=5 Then

” ??? Hores punta ??? “→a1

” ??? Hores vall ??? “→a2

For i,1,2

“a”&string(exact(i))→j

Disp #j

Input “Dia pic?”,n1

Input “Dia alt?”,n2

Input “Dia baix?”,n3

Input “Següent dia-baix?”,n4

EndFor

EndIf

If c=4 or c=5 or c=7 Then

If fp=0 Then

Input “Potència reactiva (KVArh)?”,r

EndIf

EndIf

If c=4 or c=5 or c=7 Then

n*tip[b,3]→n

EndIf

pc*tar[c,1]*e→s1

(n+v+p)*tar[c,2]→s2

If c=4 or c=5 or c=7 Then

If fp=0 Then

(n+v+p)/(√((n+v+p)^2+r^2))→fp

EndIf

round(fp,2)→fp

round(17/fp^2-21,1)→kr

(p*tip[b,1]+v*tip[b,2])*tar[c,4]→w

EndIf

s1+s2+w+round(kr%*(s1+s2),0)→s3

1.05113*s3→s4

1.16*(s4+t)→s5

ClrIO

For i,1,4

“s”&string(exact(i))→m

Disp “Terme “&char(64+i)&” = “&string(#m)

EndFor

Disp “”,”A= Terme de potència, B= Terme d’energia”,”C= Facturació sense impostos”,”D

= Impost especial per a la prod. elect.”

Pause

ClrIO

If kr%*(s1+s2)<0 Then

“Bonificació per bon consum = “→q

Else

“Penalització per mal consum = “→q

EndIf

Disp “TOTAL FACTURA = “,round(s5,0),””,””,”Pta/kwh = “&string(s5

/(n+v+p)),”F.P. = “&string(fp),”Kr(%) = ”

&string(kr),q&string(round(kr%*(s1+s2),0))

Pause

Goto in

EndPrgm 

Make a comment:

Fill in your details below or click an icon to log in:

WordPress.com Logo

Esteu comentant fent servir el compte WordPress.com. Log Out / Canvia )

Twitter picture

Esteu comentant fent servir el compte Twitter. Log Out / Canvia )

Facebook photo

Esteu comentant fent servir el compte Facebook. Log Out / Canvia )

Google+ photo

Esteu comentant fent servir el compte Google+. Log Out / Canvia )

Connecting to %s