Ayer

Solo disponible en BuenasTareas
  • Páginas : 8 (1973 palabras )
  • Descarga(s) : 0
  • Publicado : 22 de febrero de 2011
Leer documento completo
Vista previa del texto
3. GAIA

INFORMATIKAREN OINARRIAK

3. GAIA BALDINTZAZKO EGITURAK

1 SARRERA
Orain arte ikusi dugu programa batek aginduak bata bestearen ondoren (sekuentzialki) betetzen dituela, pantalla bitartez balioak erakutsi ditzakegu, datuak eskatu, eragiketa matemático errezak burutu,... Baina, bizitzan bezala, dena ez da prozedura finko batera mugatzen, beti ordena berean, ezta beti aginduberetara ere. Baldintzazko egituren prestamenak, programa ahaltsuago, moldagarri eta dinamikoagoak eraikitzea ahalbidetzen dute. Baina programazio eraginkor eta ulergarri on bat programaren diseinu on bat implikatzen du, beraz, adierazpenek nola “arrazonatzen” duten ezagutzea funtsezkoa da.

1.1 Dena sekuentzialki funtzionatzen du?
Demagun kaletik gabiltzala eta semaforodun oinezko pasagune baterahurbiltzen garela. Zer egiten dugu? Erantzuna: galdetu. Semaforoaren kolorea berdea den galdetu genezake. Horrela balitz, kalea gurutzatuko genuke. Beste era batera esanda:

BAI

Kalea gurutzatzen dugu

bagabiltz

Berde dago?

2 BALDINTZAK
Aurreko egoera aurkezteko momentuan, galdetu nahi dugun baldintza adierazi behar dugu. Lortzeko modu posible bat pseudokodaren bitartez edopseudo-lengoaia naturalaren bitzartez da.: Semaforoa berdea BADA ORDUAN kalea gurutzatzen dugu

Horrela, semaforo_kolorea izeneko char tipoko aldagai baten pentsatu ahal izando genuke, gorriarentzat ‘g’ eta berdearentzat ‘b’ balioak hartzen dituena. Galdetzeko erreminta falta zaigu. Modu naturalean (eta erderaz) “si semáforo_kolorea es verde” esango bagenu, C lengoaiaz honala adieraziko litzateke:

3-1 3. GAIA

INFORMATIKAREN OINARRIAK

if ( semaforo_kolorea == ‘b’) { printf(“orain kalea gurutzatzen dugu”); }

Ikus dezagun: if “ba” baten baliokidea da (baldintzazko konjuntzioa). Ohar gaitezen minúsculas idazten dela eta ez beste era batean (C lengoaia oso sentikorra da maiuskula eta minuskuletara, bien artean ezberdintzen du, beraz, konpiladorearentzat ‘C’ eta ‘c’ karaktere ezberdinakdira). == berdintasunaren operadorea da, lehenengo operadorea eta bigarrena berdinak diren egiaztatzeko. Kasu honetan semáforo_kolorea ‘b’ karakterea den egiaztatuko du. Galdera parentesi artean idazten da. Aginduak giltzen artean idazten dira, zenbat sententziatan aurkeztuta dauden kontutan hartu gabe. Baina azaltzen zaigun galdera, semaforo_kolorea == ‘b’ adierazpena benetan esan nahi duenajakitea da, hau da, nola interpretatzen den egiatan. Adierazpen bat ebaluatzen denean, logika bitarreko balio batetara itzultzen da: egia ala gezurra. C lengoiaiaz, benetan gertatzen dena zera da, edozein adierazpen, ebaluatua izatean, balio bat hartzen duela. Balio hori 0 bada, orduan gezurra bezala ulertzen da; zero ez den beste edozein balio egiaren baliokidea da. Adibidez, bi aldagai ditugu:Talde1puntuak 5 Talde2puntuak 10

Talde1puntuak == 4 adierazpenak gezurra balioa hartzen du, hau da, 0 balio numerikoaren baliokidea. Hurrengo galdera egitean: if (Talde1puntuak == 4) { printf(“Lehenego taldeak ez ditu 10 puntu.”); } Erantzuna gezurra da, beraz, ez da pantailatik testurik idatzi behar izango. Modu informalean, “if-ren adarratik ez dela sartzen” esaten da, edo, bestela, “ez dela if-ansartzen”. Bilatzen dena bere balioa beste balio zehatz bat ez dela bada, orduan erabili behar den operadorea != da.

if (Talde1puntuak != 10) { printf(“Lehenengo taldeak ez ditu 10 puntu.”); }
Ariketak: EUITIko ikasle guztien informazioa gordeta daukagu.

3-2

3. GAIA

INFORMATIKAREN OINARRIAK

kurtsoaMikel taldeaMikel 2 1

espezialitateaMikel Q

kurtsoaAinhoa 1

taldeaAinhoa 16espezialitateaAinhoa E

1.- Adierazi itzazu, if aginduen bitartez, hurrengo egiaztapenak: a.- Mikel hirugarren kurtsoan ez dagoela. b.- Ainhoa electrónica espezialitatekoa dela. c.- Ainhoa eta Mikel espezialitate berekoak direla. d.- Mikel Mekanika (‘M’) espezialitatekoa dela. e.- Mikel eta Ainhoa kurtso ezberdinetan daudela.

2.- Hurrengo egoeratan erantzun zuzena adierazi ezazu. a.- if...
tracking img