1 lengoaiaren elementuak
TRANSCRIPT
![Page 1: 1 Lengoaiaren elementuak](https://reader030.vdocuments.pub/reader030/viewer/2022012319/5464d381b4af9f443f8b48ae/html5/thumbnails/1.jpg)
Javi Portillo & Tomi Etxeandia 2008
Lengoaiaren elementuak
Informatikaren Oinarriak 2007/2008 ikasturtea
![Page 2: 1 Lengoaiaren elementuak](https://reader030.vdocuments.pub/reader030/viewer/2022012319/5464d381b4af9f443f8b48ae/html5/thumbnails/2.jpg)
2
Javi Portillo & Tomi Etxeandia 2008
Atalak SARRERA FUNTSEZKO ELEMENTUAK PROGRAMAREN EGITURA DATUAK
Konstanteak Aldagaiak
5. DATUEN IRTEERA ETA SARRERA Teklatutik irakurtzeko erak: Read eta ReadLn Pantailan idazteko erak: Write eta WriteLn Formatuak
6. ESLEIPENAK7. ADIERAZPEN ARITMETIKOAK
Oinarrizko adierazpen aritmetikoak Eragileen lehentasuna Funtzio aritmetiko estandarrak
![Page 3: 1 Lengoaiaren elementuak](https://reader030.vdocuments.pub/reader030/viewer/2022012319/5464d381b4af9f443f8b48ae/html5/thumbnails/3.jpg)
3
Javi Portillo & Tomi Etxeandia 2008
Sarrera ZKH adibidearen pausuak (eta emaitzak): algoritmoa adierazi
(fluxu-diagrama), kodea idatzi (iturburu kodea), konpilazioa (fitxategi exekutagarria), exekuzioa (ZKH). Ikus kodea
Pascal goi-mailako programazio lengoaia Pascaleko fitxategien luzapenak:
Iturburu-kodea .PAS (ad. arik_1.pas) Segurtasun-kopia .BAK (arik_1.bak) Helburuko programa .TPU edo .TPL (arik_1.tpu; arik_1.tpl) Programa exekutagarria .EXE (arik_1.exe)
ZKH programan agertzen diren elementu gehienak gai honetan zehar deskribatuko ditugu: esanahia, erabilera, sintaxia,...
Konpilatzaileak ziurtatzen du sintaxia ondo erabiltzen dugula exekutagarria sortu aurretik baina programak bere helburua betetzea beste kontu bat da...
![Page 4: 1 Lengoaiaren elementuak](https://reader030.vdocuments.pub/reader030/viewer/2022012319/5464d381b4af9f443f8b48ae/html5/thumbnails/4.jpg)
4
Javi Portillo & Tomi Etxeandia 2008
SarreraZKH kalkulatzeko programa
Zatitzaile Komunetako Handienaren kalkulua:Izan bitez ZBK_1 eta ZBK_2 bi zenbaki oso eta positiboak
ZBK_1 eta ZBK_2 berdinak badira 4. puntura joan Bietatik handienari txikiena kentzen zaio 1go puntura itzuli Zatitzaile Komunetako Handiena ZBK_1en balioa da ( ZBK_1 = ZBK_2)
PROGRAM ZKH ;VAR ZBK_1, ZBK_2 : Integer ;BEGIN Write (‘Bi zenbaki positibo idatzi: ') ; ReadLn (ZBK_1, ZBK_2) ; WHILE ZBK_1 <> ZBK_2 DO IF ZBK_1 > ZBK_2 THEN ZBK_1 := ZBK_1 - ZBK_2 ELSE ZBK_2 := ZBK_2 - ZBK_1 ; WriteLn (‘Zatitzaile Komunetako Handiena = ', ZBK_1)END.
![Page 5: 1 Lengoaiaren elementuak](https://reader030.vdocuments.pub/reader030/viewer/2022012319/5464d381b4af9f443f8b48ae/html5/thumbnails/5.jpg)
5
Javi Portillo & Tomi Etxeandia 2008
Atalak SARRERA FUNTSEZKO ELEMENTUAK PROGRAMAREN EGITURA DATUAK
Konstanteak Aldagaiak
5. DATUEN IRTEERA ETA SARRERA Teklatutik irakurtzeko erak: Read eta ReadLn Pantailan idazteko erak: Write eta WriteLn Formatuak
6. ESLEIPENAK7. ADIERAZPEN ARITMETIKOAK
Oinarrizko adierazpen aritmetikoak Eragileen lehentasuna Funtzio aritmetiko estandarrak
![Page 6: 1 Lengoaiaren elementuak](https://reader030.vdocuments.pub/reader030/viewer/2022012319/5464d381b4af9f443f8b48ae/html5/thumbnails/6.jpg)
6
Javi Portillo & Tomi Etxeandia 2008
Funtsezko elementuak Ikurrak:
Hitz erreserbatuak: Hauen esanahia aldez aurretik definiturik dago eta ezin da aldatu Sailkapen bat:
Eragiketak: OR, NOT, AND, DIV,.. Definizioak eta deklarazioak: PROGRAM, TYPE, VAR, ARRAY, … Kontrol-egiturak: BEGIN, END, IF, THEN, ELSE, …
Lerroak (sententziak): Bere luzera, gehienez, 127 karakterekoa da Lerro barneko elementuen mugatzaileak:
ƀ (zuriunea) ↲ (orga itzulera) iruzkinak
+ - * / := = < > <> <= >= ( ) [ ] (. .) { } (* *) ; , . ‘ .. # $ ^ @
![Page 7: 1 Lengoaiaren elementuak](https://reader030.vdocuments.pub/reader030/viewer/2022012319/5464d381b4af9f443f8b48ae/html5/thumbnails/7.jpg)
7
Javi Portillo & Tomi Etxeandia 2008
Funtsezko elementuak
PROGRAM ZKH ;VAR ZBK_1, ZBK_2 : Integer ;BEGIN Write (‘Bi zenbaki positibo idatzi: ') ; ReadLn (ZBK_1, ZBK_2) ; (* Datu irakurketa *) WHILE ZBK_1 <> ZBK_2 DO IF ZBK_1 > ZBK_2 THEN ZBK_1 := ZBK_1 - ZBK_2 ELSE ZBK_2 := ZBK_2 - ZBK_1 ; WriteLn (‘Zatitzaile Komunetako Handiena = ', ZBK_1)END.
![Page 8: 1 Lengoaiaren elementuak](https://reader030.vdocuments.pub/reader030/viewer/2022012319/5464d381b4af9f443f8b48ae/html5/thumbnails/8.jpg)
8
Javi Portillo & Tomi Etxeandia 2008
Funtsezko elementuak Identifikadore estandarrak. Esanahia aurredefinitua dute.
Sailkapen bat: Konstanteak: MAXINT, PI, MAXLONGINT, TRUE, … Datu-motak: Integer, Real, Boolean, Byte, Char, … Prozedurak: ReadLn, WriteLn, New, Assign, Delete, … Funtzioak: Cos, Abs, Eof, Length, … Unitateak: Crt, …
Programatzaileak definituriko identifikadoreak: Programatzaileak ematen die esanahia Erabili aurretik definitu behar dira Erabiltzen dira aldagaiak, konstanteak, datu-motak, azpiprogramak,
… izendatzeko Ezin dira hitz erreserbatuak izan Programa zehatz baterako bakarrik balio dute Turbo Pascal-ek ez ditu bereizten maiuskulak eta minuskulak Gehienez 127 karaktere , baina:
Lehenengo karakterea: a … z, A … Z, _ (baina ez ñ ezta Ñ ere) Hurrengoak: a … z, A … Z, _ , 0 … 9 (baina ez ñ ezta Ñ ere)
![Page 9: 1 Lengoaiaren elementuak](https://reader030.vdocuments.pub/reader030/viewer/2022012319/5464d381b4af9f443f8b48ae/html5/thumbnails/9.jpg)
9
Javi Portillo & Tomi Etxeandia 2008
Funtsezko elementuak
realZBK_real
1_b_hasiera
2ZenbakiaiKontagailu_1
iZBK HandiaiZBK_Handi
añourtea
TxartoOndoIdentifikadoreen adibideak:
Iruzkinak: Programaren garbitasunerako Programatzaileari zuzenduta,
konpilatzaileak ez ditu prozesatzen
Hobe lerroaren amaieran edo aparteko beste lerro batean
Mugatzaileak: (*…*), {…} Adibideak:
{2. mailako ekuazioa ebatzi}rErroa := sqrt (b*b – 4*a*c) ;rX1 := (-b + rErroa) / (2*a);rX2 := (-b - rErroa) / (2*a) ;
rBEZ = 0.16 ; {BEZ-aren balioa}…rBalioa := rBalioa * (1 + rBEZ);
(* BEZ-a gehitu*)
![Page 10: 1 Lengoaiaren elementuak](https://reader030.vdocuments.pub/reader030/viewer/2022012319/5464d381b4af9f443f8b48ae/html5/thumbnails/10.jpg)
10
Javi Portillo & Tomi Etxeandia 2008
Atalak SARRERA FUNTSEZKO ELEMENTUAK PROGRAMAREN EGITURA DATUAK
Konstanteak Aldagaiak
5. DATUEN IRTEERA ETA SARRERA Teklatutik irakurtzeko erak: Read eta ReadLn Pantailan idazteko erak: Write eta WriteLn Formatuak
6. ESLEIPENAK7. ADIERAZPEN ARITMETIKOAK
Oinarrizko adierazpen aritmetikoak Eragileen lehentasuna Funtzio aritmetiko estandarrak
![Page 11: 1 Lengoaiaren elementuak](https://reader030.vdocuments.pub/reader030/viewer/2022012319/5464d381b4af9f443f8b48ae/html5/thumbnails/11.jpg)
11
Javi Portillo & Tomi Etxeandia 2008
Programaren egitura
Programa batek 3 atal izan behar ditu:
Goiburukoa
Deklarazioak edo erazagupenak
Programa nagusia edo bloke exekutagarria
![Page 12: 1 Lengoaiaren elementuak](https://reader030.vdocuments.pub/reader030/viewer/2022012319/5464d381b4af9f443f8b48ae/html5/thumbnails/12.jpg)
12
Javi Portillo & Tomi Etxeandia 2008
Programaren egitura: Goiburukoa
Goiburukoak bakarrik programaren izena adierazten du Fitxategiaren izena eta programarena ezberdinak izan daitezke Diagrama sintaktikoa:
Adibidez: PROGRAM KarratuZehatzak ; PROGRAM ZirkuluarenAzalera ;
PROGRAM identifikadorea
(
,
)
;
S / I ko
fitxategiaren
identifikadorea
![Page 13: 1 Lengoaiaren elementuak](https://reader030.vdocuments.pub/reader030/viewer/2022012319/5464d381b4af9f443f8b48ae/html5/thumbnails/13.jpg)
13
Javi Portillo & Tomi Etxeandia 2008
Programaren egitura: Deklarazioak edo erazagupenak
Programan zehar erabiliko ditugun elementuak aurretik deklaratu egin behar dira
Unitateen deklarazioen atala: Konpilaketa banatua programa exekutagarria sor
daiteke helburuko programa batzuetatik (unitateak izenekoak) abiatuta. Horretarako unitate horien identifikadoreak hemen aipatu behar dira
Beste unitaterik erabili ezean atal hau ez da beharrezkoa Agertzekotan, behin batean bakarrik eta PROGRAM ostean Diagrama sintaktikoa:
Adibidez: USES Crt;
![Page 14: 1 Lengoaiaren elementuak](https://reader030.vdocuments.pub/reader030/viewer/2022012319/5464d381b4af9f443f8b48ae/html5/thumbnails/14.jpg)
14
Javi Portillo & Tomi Etxeandia 2008
Programaren egitura: Deklarazioak edo erazagupenak
Konstanteen deklarazioa Izendun konstanteak deklaratzen dira atal honetan
Datu-moten deklarazioa Programatzaileak definituriko datu-motak
Aldagaien deklarazioa Programaren exekuzioaren zehar balio desberdinak har ditzaketen
identifikadoreak aldagaiak dira (datu aldakorrak) Aldagai batek beti datu-mota konkretu bat oinarritzat hartu behar du,
horrela mugatzen dira aldagaiak har ditzakeen balioak eta berarekin egin daitezkeen eragiketak
Azpiprogramen deklarazioak Azpiprogramak zeregin bereziak egiten dituzten errutinak dira Azpiprogramaren egitura programarena bezalakoa da (baina USES
klausula barik) Bi motakoak izan daitezke:
prozedurak (PROCEDURE) funtzioak (FUNCTION)
![Page 15: 1 Lengoaiaren elementuak](https://reader030.vdocuments.pub/reader030/viewer/2022012319/5464d381b4af9f443f8b48ae/html5/thumbnails/15.jpg)
15
Javi Portillo & Tomi Etxeandia 2008
Programaren egitura: Programa nagusia edo bloke exekutagarria
Sententzia multzo bat da eta sarrera-datuetatik abiatuta eragiketak egiten dira emaitzak lortzeko
Sententzia bakoitzaren amaieran ‘;’ jarri behar da (END. aurretik ez da beharrezkoa baina onartzen da)
Diagrama sintaktikoa:
![Page 16: 1 Lengoaiaren elementuak](https://reader030.vdocuments.pub/reader030/viewer/2022012319/5464d381b4af9f443f8b48ae/html5/thumbnails/16.jpg)
16
Javi Portillo & Tomi Etxeandia 2008
Programaren egitura:Adibideak
![Page 17: 1 Lengoaiaren elementuak](https://reader030.vdocuments.pub/reader030/viewer/2022012319/5464d381b4af9f443f8b48ae/html5/thumbnails/17.jpg)
17
Javi Portillo & Tomi Etxeandia 2008
Programaren egitura:Adibideak
PROGRAM FSortu ;
USES Crt ;CONST KATE_LUZ = 30 ;TYPE
tsKate= String [KATE_LUZ] ;trgInfo= RECORD
sIzena: tsKate ; iAintzin: Integer ; sSaila: tsKate ; END ; tfrgFitx= FILE OF trgInfo ;VAR sIzena: tsKate;
PROCEDURE RegIrakurri (VAR rgReg: trgInfo)PROCEDURE FitxSortu (sIzen: tsKate) ;
{__________Programa Nagusia________}BEGIN Write ('Eman Fitxategiaren izena: ') ; Readln (sIzena) ; FitxSortu (sIzena) ;END.
GOIBURUKOA
DEKLARAZIOAK
AZPIPROGRAMAK
PROGRAMA
NAGUSIA
![Page 18: 1 Lengoaiaren elementuak](https://reader030.vdocuments.pub/reader030/viewer/2022012319/5464d381b4af9f443f8b48ae/html5/thumbnails/18.jpg)
18
Javi Portillo & Tomi Etxeandia 2008
Programaren egitura:Adibideak
PROGRAM ZKH ;VAR ZBK_1, ZBK_2 : Integer ;BEGIN Write (‘Bi zenbaki positibo idatzi: ') ; ReadLn (ZBK_1, ZBK_2) ; WHILE ZBK_1 <> ZBK_2 DO IF ZBK_1 > ZBK_2 THEN ZBK_1 := ZBK_1 - ZBK_2 ELSE ZBK_2 := ZBK_2 - ZBK_1 ; WriteLn (‘Zatitzaile Komunetako Handiena = ', ZBK_1)END.
Atalak?; zenbat sententzia?; aldagaien balioak?
![Page 19: 1 Lengoaiaren elementuak](https://reader030.vdocuments.pub/reader030/viewer/2022012319/5464d381b4af9f443f8b48ae/html5/thumbnails/19.jpg)
19
Javi Portillo & Tomi Etxeandia 2008
Atalak SARRERA FUNTSEZKO ELEMENTUAK PROGRAMAREN EGITURA DATUAK
Konstanteak Aldagaiak
5. DATUEN IRTEERA ETA SARRERA Teklatutik irakurtzeko erak: Read eta ReadLn Pantailan idazteko erak: Write eta WriteLn Formatuak
6. ESLEIPENAK7. ADIERAZPEN ARITMETIKOAK
Oinarrizko adierazpen aritmetikoak Eragileen lehentasuna Funtzio aritmetiko estandarrak
![Page 20: 1 Lengoaiaren elementuak](https://reader030.vdocuments.pub/reader030/viewer/2022012319/5464d381b4af9f443f8b48ae/html5/thumbnails/20.jpg)
20
Javi Portillo & Tomi Etxeandia 2008
Datuak
Ordenagailuak erabilitako edozein informazioa da. Programa exekutatzen den bitartean datuak memoria nagusian biltegiratzeko lekua behar da.
Datuak izan daitezke: KONSTANTEAK, balioa ezin daiteke aldatu programaren
exekuzioan, ezta exekuzio ezberdinetan ALDAGAIAK, balioa alda daiteke programaren exekuzioan
edo exekuzio ezberdinetan. Programan erabiltzen den edozein datu (bai
konstanteak bai aldagaiak) datu-mota bati lotuta egon behar da, hau da, zein datu-motan oinarritzen den zehaztuko da. Hurrengo diapositiban zerrendatzen dira TPko datu-motak:
![Page 21: 1 Lengoaiaren elementuak](https://reader030.vdocuments.pub/reader030/viewer/2022012319/5464d381b4af9f443f8b48ae/html5/thumbnails/21.jpg)
21
Javi Portillo & Tomi Etxeandia 2008
DatuakMota Bakuna Mota ordinala Mota aurredefinitua Mota osoa Integer1 Byte ShortInt LongInt Word Char
Boolean
Programatzaileak Azpieremua definituriko mota Enumeratua Mota erreala Real
Single
Double
Extended
Comp
Mota egitaratua Set mota String mota
ARRAY mota
Erregistro mota
Fitxategi mota Fitxategi bitarra
Text
Erakusle mota
1 Beltzean dauden datu-motak System unitatean definituta daude. Unitate hau automatikoki estekatzen da eta ez da behar USES deklarazioan islatu behar.
DATU-MOTA batek zehazten du:
• Tamaina (bit kopurua)
• Datuen izaera
![Page 22: 1 Lengoaiaren elementuak](https://reader030.vdocuments.pub/reader030/viewer/2022012319/5464d381b4af9f443f8b48ae/html5/thumbnails/22.jpg)
22
Javi Portillo & Tomi Etxeandia 2008
DatuakKonstanteak
Konstante baten balioa ezin da aldatu programaren exekuzioan. Hiru aukera daude sententzietan erabiltzeko: literalak, izendunak, aurredefinituak
Konstante literalak, (beste elementuaren edo balioaren sinbolo ez dena): osoak, errealak, karaktereak eta karaktere-kateak: Literal osoak, sistema hamartarrean (+ eta -) edo
hamaseitarrean (bakarrik +) erabil daitezke. Hamaseitarrean dagoela adierazteko $ jartzen da zenbakiaren aurrean (ikus. gehigarria) Adibidez: 15, -241, $15 ( 21), $8000 (32768)
Literal errealak, koma finkoan ala koma higikorrean izan daitezke Adibidez: 12.23, -345.12, 1.34E-3, -2E+16,… Puntua erabiltzen da parte osoa eta parte hamartarra bereizteko Zenbaki barruan ezin da bat ere agertuƀ 24.0 erreala da eta ez osoa!!
![Page 23: 1 Lengoaiaren elementuak](https://reader030.vdocuments.pub/reader030/viewer/2022012319/5464d381b4af9f443f8b48ae/html5/thumbnails/23.jpg)
23
Javi Portillo & Tomi Etxeandia 2008
(gehigarria, ikus 8. gaiaren 5. diapositiba) Zenbakikuntzaren oinarrizko teorema
an an-1 an-2 … a3 a2 a1 a0 . a -1 a -2 a-3 … a-p zenbakia b oinarrian
adierazita badago orduan bere balorea hau da:
an·bn+an-1·b
n-1+…+a2·b2+a1·b
1+a0·b0+a-1·b
-1+…+a-p-1·b-p-1+ap·b
p
non 0 ≤ ai < b den, hau da, {a0 .. an-1} ikurrak erabiltzen dira
Zenbakikuntza-sistema adierazteko b zenbakia (oinarria) azpindizetan
jartzen da.
• 850.2110 = 8·102 + 5·10 + 2·10-1 + 1·10-2
• 52.267 = 5·7 + 2 + 2·7-1 + 6·7-2
• 10010.012 = 24 + 2 + 2-2
![Page 24: 1 Lengoaiaren elementuak](https://reader030.vdocuments.pub/reader030/viewer/2022012319/5464d381b4af9f443f8b48ae/html5/thumbnails/24.jpg)
24
Javi Portillo & Tomi Etxeandia 2008
DatuakKonstanteak
Literal karakterea, komatxoen artean edo zenbaki batez (# edo ^ aurretik idatzita) adierazten dira. Karakterea bera idazteko, komatxoak (‘A’, ‘2’). Salsalbuespenak:
↲(orga itzulera) ezin da erabili karaktere moduan Komatxo bera karaktere moduan erabiltzeko, bi aldiz jarri behar (‘’’’)
Traola (#) erabiliz ASCII kodea adierazten da. Adibideak: #65 ‘A’; #$42 ’B’; #13 orga itzulera)
Lehendabiziko 32 ASCII karaktereak kontrol-karaktereak dira. Euren idazkera ^az hasten da eta gero letra bat (ñ, Ñ izan ezik) edo @, [, \, ],^, _ . Adibidez: ^J hurrengo lerrora, ^M orga itzulera
Literal karaktere-katea, karaktere multzo bat adierazteko Adibidez, ‘hemen katea dago’ edo ‘hemen ’ ’katea’ ’ dago’ edo ‘256’ ƀ ƀ ƀ ƀ
(ez da zenbakia)
![Page 25: 1 Lengoaiaren elementuak](https://reader030.vdocuments.pub/reader030/viewer/2022012319/5464d381b4af9f443f8b48ae/html5/thumbnails/25.jpg)
25
Javi Portillo & Tomi Etxeandia 2008
DatuakKonstanteak
![Page 26: 1 Lengoaiaren elementuak](https://reader030.vdocuments.pub/reader030/viewer/2022012319/5464d381b4af9f443f8b48ae/html5/thumbnails/26.jpg)
26
Javi Portillo & Tomi Etxeandia 2008
0 1 2 3 4 5 6 7 8 9 A B C D E F b3 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 b2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
Kode
Ikurra b1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
b0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
b7 b6 b5 b4
0 0 0 0 0 0
1
☺ 2
☻ 3
♥ 4
♦ 5
♣ 6
♠ 7
• 8
◘ 9
◦ 10
◙ 11
♂ 12
♀ 13
♪ 14
♫ 15
☼ 1 0 0 0 1 16
► 17
◄ 18
↕ 19
‼ 20
¶ 21
§ 22
▬ 23
↨ 24
↑ 25
↓ 26
→ 27
← 28
∟ 29
↔ 30
▲ 31
▼ 2 0 0 1 0 32
33
! 34
" 35
# 36
$ 37
% 38
& 39
' 40
( 41
) 42
* 43
+ 44
, 45
- 46
. 47
/ 3 0 0 1 1 48
0 49
1 50
2 51
3 52
4 53
5 54
6 55
7 56
8 57
9 58
: 59
; 60
< 61
= 62
> 63
? 4 0 1 0 0 64
@ 65
A 66
B 67
C 68
D 69
E 70
F 71
G 72
H 73
I 74
J 75
K 76
L 77
M 78
N 79
O 5 0 1 0 1 80
P 81
Q 82
R 83
S 84
T 85
U 86
V 87
W 88
X 89
Y 90
Z 91
[ 92
\ 93
] 94
^ 95
_ 6 0 1 1 0 96
` 97
a 98
b 99
c 100
d 101
e 102
f 103
g 104
h 105
i 106
j 107
k 108
l 109
m 110
n 111
o 7 0 1 1 1 112
p 113
q 114
r 115
s 116
t 117
u 118
v 119
w 120
x 121
y 122
z 123
{ 124
| 125
} 126
~ 127
⌂ 8 1 0 0 0 128
Ç 129
ü 130
é 131
â 132
ä 133
à 134
å 135
ç 136
ê 137
ë 138
è 139
ï 140
î 141
ì 142
Ä 143
Å
![Page 27: 1 Lengoaiaren elementuak](https://reader030.vdocuments.pub/reader030/viewer/2022012319/5464d381b4af9f443f8b48ae/html5/thumbnails/27.jpg)
27
Javi Portillo & Tomi Etxeandia 2008
DatuakKonstanteak
Konstante izendunak, identifikadore baten bidez deklaratu behar dira konstanteen deklarazioak biltzen dituen atalean (CONST). Konpilatzaileak programa osoan identifikadorearen ordez balioa jarriko du. Programa garbiago eta ulergarriagoak Mantentze lanak errazagoakAdibidez:
CONSTrBEZ = 0.16 ;rERRADIOA = 2.56345786E-24 ;
Konstante aurredefinituak:
MAXINT 215 – 1 MAXLONGINT 231 – 1
PI Egia esan funtzioa da eta 15 zifra hamartarreko doitasuna dauka
TRUE FALSE
Datu-mota boolearreko bi aukerak
NIL Datu-mota erakusleetan ez dela inora
zuzentzen adierazteko.
![Page 28: 1 Lengoaiaren elementuak](https://reader030.vdocuments.pub/reader030/viewer/2022012319/5464d381b4af9f443f8b48ae/html5/thumbnails/28.jpg)
28
Javi Portillo & Tomi Etxeandia 2008
DatuakAldagaiak
Programaren exekuzioan zehar balio aldakorra izan dezaketen datuak dira. Aldaketa era desberdinetan gerta daiteke: Teklatuaren bidez Fitxategi batetik hartutako balioarekin Eragiketen ondorioz
Eragiketa batetik lortutako emaitza beti aldagai batean biltegiratuko dugu
Aldagaiak beti datu-mota zehatz batekin lotuta egon behar du. Honela: Aldagaiaren balioa biltegiratzeko behar den adina memoria erreserbatzen
da Aldagaiak har dezakeen balioen heina mugatzen da Aldagaiarekin egin daitezkeen eragiketa multzoa adierazten da
VAR iKontagailua : Integer ; boAurkitua, boEgia : Boolean ; rSalneurria : Real :
![Page 29: 1 Lengoaiaren elementuak](https://reader030.vdocuments.pub/reader030/viewer/2022012319/5464d381b4af9f443f8b48ae/html5/thumbnails/29.jpg)
29
Javi Portillo & Tomi Etxeandia 2008
INTEGER DATU-MOTA (osoak) Datu-mota hau aurredefinitua
dago, ez da aipatu behar datu-moten deklarazioan
Tarteak:
Integer: -215 .. 215-1
Word: 0.. 216-1
ShortInt: -27 .. 27-1
Byte: 0.. 28-1
LongInt: -231 .. 231-1
![Page 30: 1 Lengoaiaren elementuak](https://reader030.vdocuments.pub/reader030/viewer/2022012319/5464d381b4af9f443f8b48ae/html5/thumbnails/30.jpg)
30
Javi Portillo & Tomi Etxeandia 2008
REAL DATU-MOTA (erralak) Datu-mota hau aurredefinitua
dago, ez da aipatu behar datu-moten deklarazioan
![Page 31: 1 Lengoaiaren elementuak](https://reader030.vdocuments.pub/reader030/viewer/2022012319/5464d381b4af9f443f8b48ae/html5/thumbnails/31.jpg)
31
Javi Portillo & Tomi Etxeandia 2008
BOOLEAN DATU-MOTA (boolearrak) Datu-mota hau aurredefinitua dago, ez
da aipatu behar datu-moten deklarazioan
![Page 32: 1 Lengoaiaren elementuak](https://reader030.vdocuments.pub/reader030/viewer/2022012319/5464d381b4af9f443f8b48ae/html5/thumbnails/32.jpg)
32
Javi Portillo & Tomi Etxeandia 2008
DatuakAldagaiak
Ariketa: bila itzazu akatsakVAR iZenbat = Integer ;VAR rAldea : Real, iKopurua = Integer ;VAR cNúmero : Char ;
rLetra : Real ;VAR iA, iB, iC, iD, : Integer ;
rZ : Real ;VAR EGUNAK = 15 ;CONST iN = 12 ;CONST 1 = ‘A’ , Z = 15 ;CONST ERDIA = .5 ; Helburuko programan aldagaien identifikadoreak memoria
nagusiko helbide bihurtzen dira. Ez dira automatikoki hasieratzen, esleitu arte zarama dute
Estilo liburua begiratu
![Page 33: 1 Lengoaiaren elementuak](https://reader030.vdocuments.pub/reader030/viewer/2022012319/5464d381b4af9f443f8b48ae/html5/thumbnails/33.jpg)
33
Javi Portillo & Tomi Etxeandia 2008
Atalak
1. SARRERA2. FUNTSEZKO ELEMENTUAK3. PROGRAMAREN EGITURA4. DATUAK
Konstanteak Aldagaiak
5. DATUEN IRTEERA ETA SARRERA Teklatutik irakurtzeko erak: Read eta ReadLn Pantailan idazteko erak: Write eta WriteLn Formatuak
6. ESLEIPENAK7. ADIERAZPEN ARITMETIKOAK
Oinarrizko adierazpen aritmetikoak Eragileen lehentasuna Funtzio aritmetiko estandarrak
![Page 34: 1 Lengoaiaren elementuak](https://reader030.vdocuments.pub/reader030/viewer/2022012319/5464d381b4af9f443f8b48ae/html5/thumbnails/34.jpg)
34
Javi Portillo & Tomi Etxeandia 2008
Datuen irteera eta sarreraTeklatutik irakurtzeko
Read eta ReadLn prozedurak datuak teklatutik irakurtzeko erabiltzen dira. Hona heltzen denean, programa gelditu egiten da teklatuan (orga itzulera) sakatu arte↲ .
Beraz, zero, bat ala datu gehiago irakur daitezke bakoitzean. Deklaratutako aldagaiaren datu-motak eta sartutakoarenak
bateragarriak izan behar dute. Erabiltzaileak, programatzaileak espero zuen baino datu
gehiago sartuz gero bi prozedura hauen portaera ezberdina da: Read prozedurak soberakinak teklatuaren bufferrean uzten
ditu eta hurrengo Read sententzian esleitzen dira. ReadLn prozedura erabiliz gero, soberakinak galdu egiten
dira. Read edo ReadLn exekutatu aurretik erabiltzaileari datuak sartu
behar dituela jakinarazi behar diogu Write-ren edo WriteLn-en bidez.
![Page 35: 1 Lengoaiaren elementuak](https://reader030.vdocuments.pub/reader030/viewer/2022012319/5464d381b4af9f443f8b48ae/html5/thumbnails/35.jpg)
35
Javi Portillo & Tomi Etxeandia 2008
Datuen irteera eta sarreraTeklatutik irakurtzeko
![Page 36: 1 Lengoaiaren elementuak](https://reader030.vdocuments.pub/reader030/viewer/2022012319/5464d381b4af9f443f8b48ae/html5/thumbnails/36.jpg)
36
Javi Portillo & Tomi Etxeandia 2008
Datuen irteera eta sarreraPantailan idazteko
Haien arteko desberdintasuna: Write, adierazpenaren balioa pantailan idatzi ondoren
kurtsorea azken karakterearen ostean gelditzen da. WriteLn, adierazpenaren balioaren azken karakterea
pantailan idatzi ondoren automatikoki exekutatzen du eta ↲hurrengo lerroaren hasieran kokatzen da kurtsorea.
Adibidez: iAltuera 20 eta iZabalera 41 badira orduan:
Balioak = 20 41Balioak = 20 eta 41WriteLn (‘Balioak = ’, iAltuera,’ eta ’, iZabalera) ;
Write (‘Balioak = ’, iAltuera,’ ’, iZabalera) ;
Balioak = 2041WriteLn (‘Balioak = ’, iAltuera, iZabalera) ;
Zabalera = 41WriteLn (‘Zabalera = ’, iZabalera) ;
Altuera = 20WriteLn (‘Altuera = ’, iAltuera) ;
PantailaratutakoaSententziak
![Page 37: 1 Lengoaiaren elementuak](https://reader030.vdocuments.pub/reader030/viewer/2022012319/5464d381b4af9f443f8b48ae/html5/thumbnails/37.jpg)
37
Javi Portillo & Tomi Etxeandia 2008
Datuen irteera eta sarreraFormatuak
Datuak pantailaratzean formatua eman ahal diegu, hau da, datu bera era desberdinetan adieraz daiteke. Formatuak emateko sintaxia honako hau da:
Datua : formatua Formatua desberdina da datu-motaren arabera: karaktere-
katea, osoa ala erreala Karaktereen edo karaktere-kateen formatua. Hauetan
adierazten den formatua gutxienezko zabalera daWriteLn (Karaktere_Katea : Zabalera)
HitzaWriteLn (‘Hitza’ : 3) ;
ƀƀƀƀƀƀƀƀƀƀƀƀHitzaWriteLn (‘Hitza’ : 17) ;
HitzaWriteLn (‘Hitza’) ;
PantailaratutakoaSententziak
![Page 38: 1 Lengoaiaren elementuak](https://reader030.vdocuments.pub/reader030/viewer/2022012319/5464d381b4af9f443f8b48ae/html5/thumbnails/38.jpg)
38
Javi Portillo & Tomi Etxeandia 2008
Datuen irteera eta sarreraFormatuak
Zenbaki osoen formatua. Hauetan ere adierazten den formatua gutxienezko zabalera da.
WriteLn (Zenbaki_Osoa : Zabalera) Demagun iZenbakia 2478 balorea duela
2478WriteLn (iZenbakia : 3) ;
ƀƀƀƀƀƀƀƀ2478WriteLn (iZenbakia : 12);
2478WriteLn (iZenbakia) ;
PantailaratutakoaSententziak
![Page 39: 1 Lengoaiaren elementuak](https://reader030.vdocuments.pub/reader030/viewer/2022012319/5464d381b4af9f443f8b48ae/html5/thumbnails/39.jpg)
39
Javi Portillo & Tomi Etxeandia 2008
Datuen irteera eta sarreraFormatuak
Guztira 17 karaktere
21110111
BerretzaileaZeinuaE edo e
letraParte
hamartarraPuntua
.Parte osoaƀ edo zeinua
BerretzaileaMantisa
Zenbaki errealen formatua. Hiru aukera ditugu: WriteLn (Adierazpen_erreala) ; honetan, koma higikorreko
formatuan adierazten da 17 digiturekin, honelako eran:
WriteLn (Adierazpen_erreala : Zabalera) ; honetan, koma higikorreko formatuan adierazten da, zabalera gutxienezko zabalera delarik. Zabalera honek parte hamartarraren digitu-kopurua mugatzen du minimoa bat izanik. Demagun rZenbakia 247673.77654 dela, orduan:
ƀ2.5E+05 gutxienez 8 digituWriteLn (rZenbakia : 3) ;
ƀƀƀƀƀ2.4767377654E+05WriteLn (rZenbakia : 21) ;
ƀ2.4767377654E+05WriteLn (rZenbakia) ;
PantailaratutakoaSententziak
![Page 40: 1 Lengoaiaren elementuak](https://reader030.vdocuments.pub/reader030/viewer/2022012319/5464d381b4af9f443f8b48ae/html5/thumbnails/40.jpg)
40
Javi Portillo & Tomi Etxeandia 2008
Datuen irteera eta sarreraFormatuak
WriteLn (Adierazpen_erreala : Zabalera : Doitasuna); honetan, koma finkoko formatuan adierazten da, zabalerak, digitu-kopuruak eta doitasunak parte hamartarraren luzera mugatzen dutelarik. Demagun rZenbakia 247673.77654 dela, orduan:
247674WriteLn (rZenbakia : 2 : 0) ;
247673.776540000WriteLn (rZenbakia : 2 : 9) ;
ƀƀƀƀƀƀƀƀƀƀƀƀ247674WriteLn (rZenbakia : 18 : 0) ;
ƀƀ247673.776540000WriteLn (rZenbakia : 18 : 9) ;
ƀƀƀƀƀƀƀƀ247673.777WriteLn (rZenbakia : 18 : 3) ;
PantailaratutakoaSententziak
![Page 41: 1 Lengoaiaren elementuak](https://reader030.vdocuments.pub/reader030/viewer/2022012319/5464d381b4af9f443f8b48ae/html5/thumbnails/41.jpg)
41
Javi Portillo & Tomi Etxeandia 2008
Atalak
1. SARRERA2. FUNTSEZKO ELEMENTUAK3. PROGRAMAREN EGITURA4. DATUAK
Konstanteak Aldagaiak
5. DATUEN IRTEERA ETA SARRERA Teklatutik irakurtzeko erak: Read eta ReadLn Pantailan idazteko erak: Write eta WriteLn Formatuak
ESLEIPENAK ADIERAZPEN ARITMETIKOAK
Oinarrizko adierazpen aritmetikoak Eragileen lehentasuna Funtzio aritmetiko estandarrak
![Page 42: 1 Lengoaiaren elementuak](https://reader030.vdocuments.pub/reader030/viewer/2022012319/5464d381b4af9f443f8b48ae/html5/thumbnails/42.jpg)
42
Javi Portillo & Tomi Etxeandia 2008
Esleipenak
Sententziarik sinpleena da Honen bidez eragiketaren emaitza aldagai batean gordetzen da Aldagaiak aurretik zeukan balorea galdu egiten du Adierazpena zera izango da: konstante, aldagai, funtzio edo beste adierazpen
batzuk osatutako eragiketen segida bat. Adierazpena ebaluatzen denean datu-mota konkretu baten balioa hartuko du. (ikus. adibideak)
Beraz, lehendabizi, eragiketen segida burutzen da eta gero emaitza gordetzen da aldagaian (memorian erreserbatutako lekuan)
Kontuz!! Bateragarritasuna. Aldagaiaren datu-motak eta adierazpenaren
emaitzarenak berdinak edo bateragarriak izan behar dute. Adibideak: Aldagai erreala (Real DMkoa) := balio osoa (Integer, Word, ShortInt, Byte edo
LongInt DMkoa) Aldagai karaktere-katea (String DM):= balio karakterea (Char DM)
Bereiztu := eta = := esleipena (bloke exekutagarrian bakarrik) = konstanteen deklarazioan (rBEZ = 0.16) edo alderaketa bloke
exekutagarrian (IF A = B THEN)
![Page 43: 1 Lengoaiaren elementuak](https://reader030.vdocuments.pub/reader030/viewer/2022012319/5464d381b4af9f443f8b48ae/html5/thumbnails/43.jpg)
43
Javi Portillo & Tomi Etxeandia 2008
Esleipenak
PROGRAM ZKH ;VAR ZBK_1, ZBK_2 : Integer ;BEGIN Write (‘Bi zenbaki positibo idatzi: ') ; ReadLn (ZBK_1, ZBK_2) ; WHILE ZBK_1 <> ZBK_2 DO IF ZBK_1 > ZBK_2 THEN ZBK_1 := ZBK_1 - ZBK_2 ELSE ZBK_2 := ZBK_2 - ZBK_1 ; WriteLn (‘Zatitzaile Komunetako Handiena = ', ZBK_1)END.
Esleipenak? Formatuak?
![Page 44: 1 Lengoaiaren elementuak](https://reader030.vdocuments.pub/reader030/viewer/2022012319/5464d381b4af9f443f8b48ae/html5/thumbnails/44.jpg)
44
Javi Portillo & Tomi Etxeandia 2008
Atalak
1. SARRERA2. FUNTSEZKO ELEMENTUAK3. PROGRAMAREN EGITURA4. DATUAK
Konstanteak Aldagaiak
5. DATUEN IRTEERA ETA SARRERA Teklatutik irakurtzeko erak: Read eta ReadLn Pantailan idazteko erak: Write eta WriteLn Formatuak
ESLEIPENAK ADIERAZPEN ARITMETIKOAK
Oinarrizko adierazpen aritmetikoak Eragileen lehentasuna Funtzio aritmetiko estandarrak
![Page 45: 1 Lengoaiaren elementuak](https://reader030.vdocuments.pub/reader030/viewer/2022012319/5464d381b4af9f443f8b48ae/html5/thumbnails/45.jpg)
45
Javi Portillo & Tomi Etxeandia 2008
Adierazpen aritmetikoakOinarrizko adierazpen aritmetikoak Eragigaiak Integer edo Real datu-motakoak:
IntegerIntegerModulua edo hondarra
2MOD
IntegerIntegerZatiketa osoa2DIV
RealInteger edo
RealZatiketa erreala
2/
Real, eragigairen bat Real bada
Integer edo Real
Biderketa2*
Real, eragigairen bat Real bada
Integer edo Real
Kenketa2-
EragigaiarenaInteger edo
RealZeinu
aldaketa1-
Real, eragigairen bat Real bada
Integer edo Real
Batuketa2+
Emaitzaren datu-mota
Eragigaien datu-mota
Deskribapena
Eragigai-kopurua
Eragilea
![Page 46: 1 Lengoaiaren elementuak](https://reader030.vdocuments.pub/reader030/viewer/2022012319/5464d381b4af9f443f8b48ae/html5/thumbnails/46.jpg)
46
Javi Portillo & Tomi Etxeandia 2008
Adierazpen aritmetikoakOinarrizko adierazpen aritmetikoak
Kalkulatu laukizuzenaren azalera. Sarrerak: oinarria eta altuera. Irteeraren formatua XXXX.XX
Eskatu bi zenbaki eta kalkulatu: Lauki baten azalera aldearen neurria lehenengo zenbakia izanik. Eman
azalera era honetan: ‘Karratuaren azalera XXX.XX metro kuadrokoa da’ Zirkuluaren azalera erradioa bigarren zenbakia izanik. Eman azalera era
honetan: ’zirkuluaren azalera XXXX.XXXXX metro kuadrokoa da’
Kalkula ezazu jaurtigai baten batezbesteko abiadura, sarrerak egindako distantzia kilometrotan eta erabilitako denbora minututan direlarik. Irteera abiadura m/s tan eta formatu honekin:‘jaurtigaiaren abiadura XXXX.XXXX m/s koa da.’
Kalkulatu denbora-tarte batean dagoen ordu, minutu eta segundo kopurua. Sarrera segundo kopurua izango da eta irteerak formatu hau izango du:‘XXXXX segundo XXXX ordu, XX minutu eta XX segundo dira’
![Page 47: 1 Lengoaiaren elementuak](https://reader030.vdocuments.pub/reader030/viewer/2022012319/5464d381b4af9f443f8b48ae/html5/thumbnails/47.jpg)
47
Javi Portillo & Tomi Etxeandia 2008
Adierazpen aritmetikoakEragileen lehentasuna
() Lehenengo parentesien artekoa eragiten da. Parentesiak habiatuak egonez gero barrutik kanpora.
- (zeinu aldaketa) *, /, DIV, MOD +, - (batuketa eta kenketa) Lehentasun berdina izanez gero ezkerretik eskumara
eragiten daAdibideak (rZbk 2.2 eta iBalore 3 izanik…):
rEmaitza := (rZbk – 1 / 2 * iBalore) – 7 MOD iBalore – 1 DIV iBalore rEmaitza := – iBalore * rZbk / 2 + (4 * iBalore - (rZbk + 5 DIV 2 - 7.5))
![Page 48: 1 Lengoaiaren elementuak](https://reader030.vdocuments.pub/reader030/viewer/2022012319/5464d381b4af9f443f8b48ae/html5/thumbnails/48.jpg)
48
Javi Portillo & Tomi Etxeandia 2008
Adierazpen aritmetikoakFuntzio aritmetiko estandarrak
Funtzioa Deskribapena Eragigaiaren datu-mota Emaitzaren datu-mota
Abs (x) x-ren balio absotutua Integer Real
Integer Real
Sqr (x) x2 Integer Real
Integer Real
Sqrt (x) x I / R baina x 0≥ Real eta 0≥
Int (x) x-ren parte osoa Real Real
Frac (x) x-ren parte hamartarra Real Real
Round (x) x-ren alde osoa biribildua
Real LongInt
Trunc (x) x-ren alde osoa trunkatua
Real LongInt
Sin (x) x-ren sinua (x radianetan)
Integer edo Real Real
Cos (x) x-ren kosinua (x radianetan)
Integer edo Real Real
ArcTan (x) x-ren arku tangentea Integer edo Real
Real radianetan eta
(-2
π,2
π ) tartekoa
Exp (x) ex Integer edo Real Real
Ln (x) x-ren logaritmo nepertarra
Integer edo Real baina > 0 Real
Oharra: ax Exp (x * Ln (a)) eta loga x
)(
)(
aLn
xLn
![Page 49: 1 Lengoaiaren elementuak](https://reader030.vdocuments.pub/reader030/viewer/2022012319/5464d381b4af9f443f8b48ae/html5/thumbnails/49.jpg)
49
Javi Portillo & Tomi Etxeandia 2008
Adierazpen aritmetikoakFuntzio aritmetiko estandarrak
Eskatu datuak erabiltzaileari, kalkulatu eta pantailara itzazu hurrengo formulen emaitzak:
Ariketa: Idatz itzazu honako formula hauek:
v
vf
fF+
=1
'
−−=
21
11)·1(
rrny
a
acbbx
2
42 −−−= 22 Rd
MGV
+−=
GM
rT
3
2π=
−=
22
2 11
2 εmd
LE 22
5
1 ωMREc = m
Bqf
·2
·
π=
1
8 4
−= −
KT
hf
e
hfE πλ
2
2
0
1c
v
mm
−=
Oharra: ax Exp (x * Ln (a)) eta loga x )(
)(
aLn
xLn