2016-05-24
2016-03-31
25. astea | haiku, gehiago
Haiku jatorrian japonierazko olerki mota bat da, 5-7-5 silabako lerroetan antolatutako 17 silabek osatua. Emaniko esaldi bat haikua den ala ez frogartzen duen programa egin dezagun, hau da, 24. astea | haiku ariketari jarraipena demaiogun sarrerako katean hiru esaldien arteko banatzailerik ez dagoela.
24. astea | haiku ariketan bezala gure programaren lehen bertsioan ez da diptongorik emango sarrerako esaldi nagusian, baina programaren bigarren bertsioak diptongoekin lan egiteko gaitasuna izango du.
Udazkena da,
Aztertu beharreko haikua string batean jasorik daukagu eta sarrera horrek haikuaren formalismoa betetzen duen izango da programaren emaitza. Hau da, sarrerako kateak hiru esaldi izan behar ditu eta esaldi bakoitzean 5, 7 eta 5 silaba hurrenez hurren.
Adibidez, hona hemen haiku desberdinak nola eman zaizkion gure programari:
Bertan ikus daitekeenez, teklatuaren bitartez ematen den sarrerako datuaren ezaugarriak honako hauek dira:
Sarrerako karaktere-katea irakurrita ondoko lanak eskatzen dira algoritmo hau jarraituz:
Programaren irteerak jarraian erakusten dira:
Hurrengo hiru irteeretan esaldi nagusiaren silabak 17 dira guztira, baina beti ez da gordetzen 5+7+5 banaketa:
Hau duzu StringArrayHaikuDiptongorikEz.exe lehen bertsioaren programa exekutagarria. Eta hauxe da lehen bertsioaren iturburu-programa:
Udaberriko
Baina, diptongoak ditugunean bokalen kopurua ez dator bat silaben kopuruarekin. Horregatik jarraian erakusten diren haiku hauek okertzat emango ditu aurreko algoritmoa darabilen programak:
Hemen dituzu euskarazko sei diptongoak [au] [eu] [ai] [ei] [oi] [ou] eta programaren bigarren bertsioak elkarketa hauek aintzakotzat hartuko ditu.
Bigarren programa honetan lehen bertsioaren algoritmo bera erabil datiteke, baina hitzaren silabak zenbatzean ezin daiteke onartu bokalen kopuruarekin bat datorrenik. Horregatik, hitz edo esaldi baten silabak zenbatzeko urratsak hauek dira:
Hau duzu StringArrayHaikuDiptongorikBai.exe bigarren bertsioaren programa exekutagarria. Eta hauxe da bigarren bertsioaren iturburu-programa:
24. astea | haiku ariketan bezala gure programaren lehen bertsioan ez da diptongorik emango sarrerako esaldi nagusian, baina programaren bigarren bertsioak diptongoekin lan egiteko gaitasuna izango du.
Lehen programa
Udazkena da,
milaka txori hegaz
bat izan ezik
Aztertu beharreko haikua string batean jasorik daukagu eta sarrera horrek haikuaren formalismoa betetzen duen izango da programaren emaitza. Hau da, sarrerako kateak hiru esaldi izan behar ditu eta esaldi bakoitzean 5, 7 eta 5 silaba hurrenez hurren.
Adibidez, hona hemen haiku desberdinak nola eman zaizkion gure programari:
Udazkena da, milaka txori hegaz bat izan ezik |
5, 7, 5 bokal eta 5, 7, 5 silaba --> sarrerako katea haiku bat da
Udazkena da, XYZ milaka txori hegaz bat izan ezik |
5, 7, 5 bokal eta 5, 7, 5 silaba --> sarrerako katea haiku bat da
Bertan ikus daitekeenez, teklatuaren bitartez ematen den sarrerako datuaren ezaugarriak honako hauek dira:
- Diptongorik ez dagoela, eta ondorioz silabak zenbatzeko aski da bokalen kopurua ezagutzea
- Soberazko zuriuneak egon daitezke sarrerako kate nagusian, bai katearen aurretik zein atzetik zein hitzen artean
- Bokalik gabeko hitzak egon daitezke, adibidez XYZ hitza edo WMW hitza
- Sarrerako katea bat izanik, ez dago inolako banatzaile berezirik haikuaren hiru esaldien artean
Sarrerako karaktere-katea irakurrita ondoko lanak eskatzen dira algoritmo hau jarraituz:
- Sarrerako esaldi nagusia txukundu, hau da, esaldiaren aurrean zein atzean soberan egon daitezkeen zuriuneak kendu eta hitzen artean soberan egon daitezkeen zuriuneak kendu (adibidez fnsEsaldiaTxukundu funtzioaren bitartez)
- Txukundutako esaldi nagusia garbitu, hots, txukundutako esaldiari bokalik gabeko hitzak kendu (adibidez fnsEsaldiaGarbitu funtzioaren bitartez)
- Esaldi nagusiaren bokal kopurua 17 ez bada mezua eta programa bukatu, esaldi nagusiaren bokal kopurua 17 bada hurrengo puntuetan adierazitako egin
- DM_sKate50 datu-motako 3 kate biltzeko arrayarekin lan eginez, esaldi nagusiaren hitzak arrayaren dagozkien posizioetara eraman (jarraian datozen irudietan kolore larrosaz adierazitakoa). Beraz, txukundu eta garbitutako katetik abiatuta: lehen 5 silabak osatzen dituzten hitzak arrayaren 1. posizioan kokatu, hurrengo 7 silabak osatzen dituzten hitzak arrayaren 2. posizioan kokatu, eta, azkenengo 5 silabak osatzen dituzten hitzak arrayaren 3. posizioan kokatu:
- 4.1. Haikuaren lehenengo esaldia zehaztu (adibidez Haikuaren_1_Esaldia prozeduraren bitartez). Hainbat hitz eta guztien artean 5 bokal, errorerik ez badago lehenengo esaldi hori arrayaren lehen posizioan gorde. Errorea gertatu bada zein hitzetan suertatu den adierazi eta programa bukatu
- 4.2. Haikuaren bigarren esaldia zehaztu (adibidez Haikuaren_2_Esaldia prozeduraren bitartez). Hainbat hitz eta guztien artean 7 bokal, errorerik ez badago bigarren esaldi hori arrayaren bigarren posizioan gorde, eta, prozesatu gabe geratu den esaldiaren zatia haikuaren hirugarren esaldia denez hirugarren esaldi hori arrayaren hirugarren posizioan gorde. Errorea gertatu bada zein hitzetan suertatu den adierazi eta programa bukatu
- 4.3. Haikuaren esaldiak zehaztean errorerik ez bada gertatu, arrayaren edukia pantaialartu (adibidez HaikuaErakutsi prozeduraren bitartez) eta programa bukatu
Programaren irteerak jarraian erakusten dira:
Algoritmoaren 3. urratsa gogoratuz silabak/bokalak 19≠5+7+5 direnez, esaldi nagusia ez da haiku bat
Hurrengo hiru irteeretan esaldi nagusiaren silabak 17 dira guztira, baina beti ez da gordetzen 5+7+5 banaketa:
Sarrera haiku bat da eta arrayaren hiru elementuak bete daitezke, lehen bi elementuen silabak/bokalak 5+7=12 dira eta ondorioz hirugarren elementuaren silaba/bokal kopurua 5 izango da, guztira 5+7+5=17
Sarrera ez da haiku bat arrayaren 1. elementua ezin delako egoki bete 7 silaba baitira
Sarrera ez da haiku bat eta arrayaren 2. elementuak huts egiten duelako 5+8≠5+7
Hau duzu StringArrayHaikuDiptongorikEz.exe lehen bertsioaren programa exekutagarria. Eta hauxe da lehen bertsioaren iturburu-programa:
Bigarren programa
Udaberriko
euria da hodeien
negar alaia
Baina, diptongoak ditugunean bokalen kopurua ez dator bat silaben kopuruarekin. Horregatik jarraian erakusten diren haiku hauek okertzat emango ditu aurreko algoritmoa darabilen programak:
XYZ Neguko hotza goimendiko elurra, zure babesa |
5, 8, 5 bokal eta 5, 7, 5 silaba --> sarrerako katea haiku bat da
Ni zoraturik haizeak darabilzu XYZ adatsa dantzan |
5, 8, 5 bokal eta 5, 7, 5 silaba --> sarrerako katea haiku bat da
Haizearekin zure adatsa dantzan ni liluratuz |
6, 7, 5 bokal eta 5, 7, 5 silaba --> sarrerako katea haiku bat da
XYZ Inaurria beltz langilea ere beltz XYZ denak esklabu |
6, 7, 5 bokal eta 5, 7, 5 silaba --> sarrerako katea haiku bat da
Udaberriko XYZ euria da hodeien negar alaia XYZ |
5, 9, 6 bokal eta 5, 7, 5 silaba --> sarrerako katea haiku bat da
Hemen dituzu euskarazko sei diptongoak [au] [eu] [ai] [ei] [oi] [ou] eta programaren bigarren bertsioak elkarketa hauek aintzakotzat hartuko ditu.
Bigarren programa honetan lehen bertsioaren algoritmo bera erabil datiteke, baina hitzaren silabak zenbatzean ezin daiteke onartu bokalen kopuruarekin bat datorrenik. Horregatik, hitz edo esaldi baten silabak zenbatzeko urratsak hauek dira:
- Hitzaren bokalak zenbatu iBokalKopurua lortuz
- Hitzaren diptongoak bilatu iDiptongoKopurua eskuratuz
- Hitzak dituen silaba kopurua kalkulatu kenketa hau burutuz: iBokalKopurua-iDiptongoKopurua
Hau duzu StringArrayHaikuDiptongorikBai.exe bigarren bertsioaren programa exekutagarria. Eta hauxe da bigarren bertsioaren iturburu-programa:
25. astea | haiku, jarraipena
Haiku jatorrian japonierazko olerki mota bat da, 5-7-5 silabako lerroetan antolatutako 17 silabek osatua. Emaniko esaldi bat haikua den ala ez frogartzen duen programa egin dezagun, hau da, 24. astea | haiku ariketari jarraipena demaiogun sarrerako datua (hiru esaldi) array batean irakurriz.
24. astea | haiku ariketan bezala gure programaren lehen bertsioan ez da diptongorik emango sarrerako esaldietan, baina programaren bigarren bertsioak diptongoekin lan egiteko gaitasuna izango du.
Udazkena da,
Aztertu beharreko haikuaren hiru esaldiak array batean jasotzen dira teklatuaren bitartez, horretarako prozedura hau erabiltzen delarik:
Teklatuaren bitartez ematen diren hiru esaldietan diptongorik ez dagoela suposatuko da. Arrayaren hiru elementuak irakurri ondoren (jarraian erakusten diren irudietan kolore laranjaz adierazitakoa) ondoko lanak egingo dira:
Adibidez, hona hemen sarrera desberdinak:
Programaren irteerak jarraian erakusten dira:
Hau duzu ArrayHaikuDiptongorikEz.exe lehen bertsioaren programa exekutagarria. Eta hauxe da lehen bertsioaren iturburu-programa:
Udaberriko
Baina, diptongoak ditugunean bokalen kopurua ez dator bat silaben kopuruarekin. Horregatik jarraian erakusten diren haiku hauek okertzat emango ditu aurreko algoritmoa darabilen programak:
Hemen dituzu euskarazko sei diptongoak [au] [eu] [ai] [ei] [oi] [ou] eta programaren bigarren bertsioak elkarketa hauek aintzakotzat hartuko ditu.
Bigarren programa honetan lehen bertsioaren algoritmo bera erabil datiteke, baina hitzaren silabak zenbatzearen emaitza ezin daiteke onartu bokalen kopuruarekin bat datorrenik. Horregatik, hitz edo esaldi baten silabak zenbatzeko urratsak hauek dira:
Bigarren programaren irteerak jarraian erakusten dira non aurrekoarekiko berrikuntza kolore larrosaz adierazita datorren:
Hau duzu ArrayHaikuDiptongorikBai.exe bigarren bertsioaren programa exekutagarria. Eta hauxe da bigarren bertsioaren iturburu-programa:
24. astea | haiku ariketan bezala gure programaren lehen bertsioan ez da diptongorik emango sarrerako esaldietan, baina programaren bigarren bertsioak diptongoekin lan egiteko gaitasuna izango du.
Lehen programa
Udazkena da,
milaka txori hegaz
bat izan ezik
Aztertu beharreko haikuaren hiru esaldiak array batean jasotzen dira teklatuaren bitartez, horretarako prozedura hau erabiltzen delarik:
Teklatuaren bitartez ematen diren hiru esaldietan diptongorik ez dagoela suposatuko da. Arrayaren hiru elementuak irakurri ondoren (jarraian erakusten diren irudietan kolore laranjaz adierazitakoa) ondoko lanak egingo dira:
- Sarrerako esaldiak txukundu, hau da, esaldiaren aurrean zein atzean soberan egon daitezkeen zuriuneak kendu eta hitzen artean soberan egon daitezkeen zuriuneak kendu (irudietan kolore horiz adierazitakoa)
- Hiru esaldiak txukundu ondoren pantailaren erdian idatzi bata bestearen azpian (irudietan kolore urdinez adierazitakoa)
- Esaldiek haiku bat osatzen duten ala ez erabaki esaldi bakoitzaren silabak zenbatuz, horretarako diptongorik ez dagoenez aski da bokalak zenbatzea (irudietan kolore urdinez adierazitakoa), aukera bi dira:
- Sarreko esaldia haiku bat bada Haiku bat da mezua pantailaratuko da
- Sarreko esaldia haiku bat ez bada Ez da haiku bat mezua pantailaratuko da eta horrez gain zergatia(k) ere adieraziko d(ir)a
Adibidez, hona hemen sarrera desberdinak:
Udazkena da, | milaka txori hegaz | bat izan ezik |
5, 7, 5 bokal eta 5, 7, 5 silaba --> sarrerako kateak haiku bat dira
Uda eta gero | milaka txori zeruan | hego aldera |
6, 8, 5 bokal eta 6, 8, 5 silaba --> sarrerako kateak ez dira haiku bat
Programaren irteerak jarraian erakusten dira:
Sarrerako kateek haiku bat osatzen dute silabak/bokalak 5+7+5 direlako
Sarrerako kateek haiku bat osatzen dute silabak 5+7+5 direlako, baina programa honek diptongoak ez ditu desberdintzen eta bokal guztiak zenbatuz 5+9+6 silaba/bokal aurkitu ditu
Hau duzu ArrayHaikuDiptongorikEz.exe lehen bertsioaren programa exekutagarria. Eta hauxe da lehen bertsioaren iturburu-programa:
Bigarren programa
Udaberriko
euria da hodeien
negar alaia
Baina, diptongoak ditugunean bokalen kopurua ez dator bat silaben kopuruarekin. Horregatik jarraian erakusten diren haiku hauek okertzat emango ditu aurreko algoritmoa darabilen programak:
Neguko hotza | goimendiko elurra, | zure babesa |
5, 8, 5 bokal eta 5, 7, 5 silaba --> sarrerako kateak haiku bat dira
Haizearekin | zure adatsa dantzan | ni liluratuz |
6, 7, 5 bokal eta 5, 7, 5 silaba --> sarrerako kateak haiku bat dira
Inaurria beltz | langilea ere beltz | denak esklabu |
6, 7, 5 bokal eta 5, 7, 5 silaba --> sarrerako kateak haiku bat dira
Udaberriko | euria da hodeien | negar alaia |
5, 9, 6 bokal eta 5, 7, 5 silaba --> sarrerako kateak haiku bat dira
Hemen dituzu euskarazko sei diptongoak [au] [eu] [ai] [ei] [oi] [ou] eta programaren bigarren bertsioak elkarketa hauek aintzakotzat hartuko ditu.
Bigarren programa honetan lehen bertsioaren algoritmo bera erabil datiteke, baina hitzaren silabak zenbatzearen emaitza ezin daiteke onartu bokalen kopuruarekin bat datorrenik. Horregatik, hitz edo esaldi baten silabak zenbatzeko urratsak hauek dira:
- Hitzaren bokalak zenbatu iBokalKopurua lortuz
- Hitzaren diptongoak bilatu iDiptongoKopurua eskuratuz
- Hitzak dituen silaba kopurua kalkulatu kenketa hau burutuz: iBokalKopurua-iDiptongoKopurua
Bigarren programaren irteerak jarraian erakusten dira non aurrekoarekiko berrikuntza kolore larrosaz adierazita datorren:
Diptongoak aurkitu dira eta ondorioz sarrerako kateek haiku bat osatzen dute silabak 5+7+5 direlako
Diptongorik ez da aurkitu eta sarrerako kateek ez dute haiku bat osatzen
Hau duzu ArrayHaikuDiptongorikBai.exe bigarren bertsioaren programa exekutagarria. Eta hauxe da bigarren bertsioaren iturburu-programa:
Harpidetu honetara:
Mezuak (Atom)