2024(e)ko martxoaren 4(a), astelehena

(I) Orain arte ikusitako funtzio eta prozedura estandarrak








Hona hemen, orain arte, ezagutu behar dituzun funtzio eta prozedura estandarrak:

Zenbakiak
Azpiprograma Deskribapen laburra Adibidea
abs Zenbaki baten balio absolutua lortzeko gogoratu
int, frac Zenbaki erreal baten atalak, emaitza erreala gogoratu
trunc, round Zenbaki erreal bat zenbaki oso bihurtzeko
sqr, sqrt Zenbaki baten karratua eta erro koadroa gogoratu
cos, sin Funtzio trigonometrikoak, angelua radianetan gogoratu
gogoratu
gogoratu
arcsin, arccos Funtzio trigonometrikoak, angelua radianetan
arctan Funtzio trigonometrikoa, angelua radianetan
ln, exp Logaritmo nepertarraren funtzioa eta bere berreketaren funtzioa (edozein oinarriko logaritmoa eta berreketa) gogoratu
random Zenbaki sasi-aleatorio bat lortzeko funtzioa gogoratu
gogoratu
randomize Zenbaki aleatorioen hasiera finkatzeko prozedura




Hona hemen adibide batzuk:

ZENBAKIEKIN LAN EGITEKO AZPIPROGRAMA BATZUK:

Funtzio batek sarreraren bat hartzen du eta emaitza bakar itzultzen du. Dagoeneko funtzio estandar hauek erabili ditut:
  • abs
  • arctan
  • arcsin (math unitatea beharrezkoa da)
  • arccos (math unitatea beharrezkoa da)
  • sin eta cos
  • sqrt
  • round, trunc, frac eta int
  • random eta randomize
  • ln eta exp
  • readln


Zerrenda honetan azpiprograma estandar batzuk deskribatzen dira:
FUNCTION    ABS    ( Zenbakia : Integer | Real ) : Integer | Real ;
FUNCTION    SQR    ( Zenbakia : Integer | Real ) : Integer | Real ;
FUNCTION    SQRT   ( Zenbakia : Integer | Real ) : Real ;
FUNCTION    EXP    ( Zenbakia : Real ) : Real ;
FUNCTION    LN     ( Zenbakia : Real ) : Real ;
FUNCTION    SIN    ( Angelua : Real ) : Real ;
FUNCTION    COS    ( Angelua : Real ) : Real ; 
FUNCTION    ARCSIN ( Zenbakia : Real ) : Real ;
FUNCTION    ARCCOS ( Zenbakia : Real ) : Real ;
FUNCTION    ARCTAN ( Tangentea : Real ) : Real ;
FUNCTION    ROUND  ( Zenbakia : Real ) : Integer ;
FUNCTION    TRUNC  ( Zenbakia : Real ) : Integer ;
FUNCTION    FRAC   ( Zenbakia : Real ) : Real ;
FUNCTION    INT    ( Zenbakia : Real ) : Real ;
FUNCTION    RANDOM ( Zenbakia : Integer ) : Integer ;
FUNCTION    RANDOM : Real ;
PROCEDURE   RANDOMIZE ;












ESKATZEN DEN PROGRAMA (I)

Randomize eta Random(parametroa)

Dado bat 3 aldiz jaurti dela simulatuko dugu. Dadoak 6 posibilitate ditu: 1, 2, 3, 4, 5 eta 6. Gure programak 3 jaurtiketa aleatorien emaitzak batuko ditu eta baturaren arabera mezu hau pantailaratuko du:

  • 3 jaurtiketen baturak 15 edo gehiago balio badu, pantailaraketa Oso ondo izango da
  • 3 jaurtiketen batura 11 eta 14 artekoa bada, pantailaraketa Nahiko ondo izango da
  • 3 jaurtiketen batura 6 eta 10 artekoa bada, pantailaraketa Txarto izango da
  • 3 jaurtiketen baturak 5 edo gutxiago balio badu, pantailaraketa Oso txarto izango da



ESKATZEN DEN PROGRAMA (II)

Randomize eta Random

Zenbaki errealekin lan eginez, balio aleatorioak lortzen dituen programa idatziko dugu.

Auto baten abiadura adierazten duen zenbaki erreal bat aleatorioki lortuko da, baina zenbaki aleatorio horren balioa bi mugen artekoa izan beharko da: behemuga 27.8 km/h eta goimuga 104.5 km/h.

Auto horren denbora adierazten duen zenbaki erreal bat aleatorioki lortuko da, eta bigarren zenbaki aleatorio horren balioa bi mugen artekoa izan beharko da ere: behemuga 0.8 segundo eta goimuga 2.0 segundo.

Eskatzen den programaren exekuzio-adibide bat jarraian erakusten da:




ESKATZEN DEN PROGRAMA (III)

Ln eta Exp

5.2X=7.9  bezalako ekuazio esponentziala ebazteko logaritmoa erabil behar da, hots, logaritmo nepertarra kalkulatzen duen ln funtzio estandarra. Modu beretsuan, e3.4=X  bezalako ekuazioak ebazteko exp funtzio estandarra aplika dezakegu.

Eskatzen den programaren exekuzio-adibide bat ikusi:









ESKATZEN DEN PROGRAMA (IV)

Ln eta beste oinarriko logaritmoak

Zenbaki errealekin lan eginez, balio positibo bat teklatuz irakurri eta programak zenbakiaren logaritmo hamartarra kalkula dezala. Logaritmo hamatarra edo bitarra eskuratzeko funtzio estandarrik ez dagoenez, logaritmo nepertarraren funtzioa aplikatu beharko da formula hauen arabera:

log10(X) = ln(X)/ln(10)
log2(X) = ln(X)/ln(2)




ESKATZEN DEN PROGRAMA (V)

Exp eta beste oinarriko potentziak

Zenbaki errealekin lan eginez, balio positibo edo negatibo bat teklatuz irakurri eta programak zenbakiaren 10-eko potentzia kalkula dezala. Horrelako lana burutzeko funtzio estandarrik ez dagoenez, logaritmo nepertarraren funzioa eta e zenbakiari dagokion potentziaren funtzioa aplikatu beharko dira esleipen hau eginez:

rEmaitza := exp(rZenbakia*ln(10));

Goiko esleipenaren justifikazioa jarraian ematen da:
            Z datua den zenbaki erreala
            X lortu nahi den potentzia

            X = 10^Z   logaritmo hamartarrrak hartuz:
                       log(X) = log(10^Z)  --->  log(X) = Z·log(10) 
                       log(X) = Z·log(10)  --->  log(X) = Z·1
                       ln(X)/Ln(10) = Z·1  --->  ln(X) = Z·ln(10)
            ln(X) = Z·ln(10)   exp funtzioa aplikatuz:
                               ln(X) = Z·ln(10) 
                               exp(ln(X)) = exp(Z·ln(10))
                               X = exp(Z·ln(10))





ESKATZEN DEN PROGRAMA (VI)

ArcSin eta ArcCos

Zenbaki errealekin lan eginez, angelu baten sinua adierazten duen balio bat teklatuz irakurri (-1.0 eta +1.0 arteko balioa) eta programak angelua lortuko du radianetan:

rAngelua := arcsin(rSinuarenDatua);

Gauza bera egin daiteke datua angeluaren kosinua baldin bada arccos funtzioa aplikatuz. Edozein kasutan, arcsin eta arccos funtzio estandarrak erabil ahal izateko math unitatea kargatu beharko da (arctan funtzioak ez du math unitearen beharrik).

Hemen arcsin funtzioaren grafikoa (irudiaren gainean klik egin balioak emateko):



Hauxe izan daiteke eskatzen den programaren irteera:







 

iruzkinik ez:

Argitaratu iruzkina

Iruzkinen bat idazteko Google-ko kontu bat behar duzu. Iruzkin guztien moderazio-ardura blogeko administratzaileari dagokio.