2022(e)ko abenduaren 8(a), osteguna

Kontu pribatuak


















Gure datu pertsonalen babesa guri dagokigu, mundua gero eta teknifikatuagoa denez gure datu pertsonalak gero eta agerikoak izan daitezke. Datu pertsonalak partekatzean zer, non eta zenbateriano erakutsi nahi dugun gure ardura da.





Datuak Babesteko Euskal Bulegoa gobernuko zerbitzu bat da eta bere helburuen artean dago herritarrak informatzea eta, bide batez, herritarrak pribatasunaren arazoarekiko sentikor bihurtzea. Horretarako, bizitza arruntatik hartutako adibideak komikietan bildu ditu. Izan ere, komikiek aparteko ahalmena eta trebetasuna dute gauzak era errazean kontatzeko, hauxe da ekimenaren izena eta marka: Kontu Pribatuak.













Gehiago jakiteko, irudiaren gainean sakatu.


Gehiago jakiteko, irudiaren gainean sakatu.





Blog baten zehar nola nabigatu


















Blog batean informazio-zatiak argitaratzen dira eta informazio-zati horiei blog-artikulu esaten zaie (bai ere sarrera eta post). Blog-artikulu bati, edo laburrago hitz egitean artikulu bakoitzari Internet helbide bat dagokio eta horri esker artikulu jakin baten erreferentziak beste web gune batzuetan jar ditzakegu, blog-artikuluren bat aipatzen dudanean nik beti (edo gehien-gehienetan) bere helbidearekin aipatzen dut bertan sakatu eta artikulua bistaratu ahal izateko.



Blog baten zehar nola nabigatu? Hiru bide nagusi daude:




  • Batetik, blogaren eskumako zutabean dagoen BILATU BLOGEAN tresna erabiliz,
    bilatu nahi dugun kontzeptua kutxan idatzi eta Bilatu botoi gainean sakatu, ikusi hurrengo irudietatik lehena
  • Bestetik, blogaren eskumako zutabean dagoen ARTIKULUAK tresna erabiliz, gogoratu blog batean artikulu berriak goian kokatzen direla eta zaharrak beherantz doazela, ikusi hurrengo irudietatik bigarrena

  • Azkenik, artikuluak etiketatu badira gure gaiarekin bat datorren etiketa gainean sakatu ahalko dugu, ikusi hurrengo irudietatik hirugarrena non ETIKETAK izeneko atala erakusten den



Hona hemen irudiak:



Kontzeptu baten bidezko bilaketa




Data edo denborarekiko ordena




Etiketa baten araberako iragazketa






Arakatzailerako gehigarriak



Itzuli eta Itzuli+



Itzuli eta Itzuli+ sare neuronalen bidez funtzionatzen duten itzultzaile automatikoak dira, eta testu orokorrak itzultzen dituzte euskaratik gaztelaniara eta gaztelaniatik euskarara.





Itzuli erabiltzeko https://www.euskadi.eus/itzuli/ web gunea bisitatu. Zure nabigatzailea Firefox edo Chrome bada, interesgarria izan lekizuke Itzuli+ gehigarria: 







Ordenadoreko nabigatzailean instalagarria den tresna eta baita ere telefono aplikazioa







Euskalbar 5.0



Euskalbar interneteko erreminta interesgarri bat da (gehigarri edo plug-in bat). Haren bidez, hizkuntza-kontsultarako hainbat baliabide ditugu eskura
hiztunok:

  • HIZTEGIAK: Euskalterm, Elhuyar, 3000, Hiztegi Batua, Sinonimoen hiztegiak…

  • CORPUSAK: Ereduzko prosa, ZT corpusa…

  • BANAKETA-ZERRENDAK: Itzul…

  • ZUZENTZAILE ORTOGRAFIKOA: XUXENweb








Ordenadoreko nabigatzailean gehigarri bezala instalagarria den tresna



Euskalbar gehigarria:




KISS printzipioa

Ikusirik sistema informatikoak gero eta konplexuagoak direla, programak idazterakoan KISS printzipioa enuntziatu dute programadoreek. Horren arabera, programa informatikoekin lan egitean, honelaxe jokatu: Keep it Simple, Stupid.





Keep it Simple, Stupid: hau da, ez zaitez ergela izan eta zure programazioa zehatza eta laburra izan dadila, bide anitzen aurrean zure erabakiak erraztasunaren alde egin dezala.





Wikipediak KISS printzipio nola definitzen duen ikusteko esteka hau jarraituKISS printzipioa bizitzako arlo guztietan aplika daiteke eta Erdi Aroko Occam’s razor (edo Ockham-en labana) bezala ezagutzen den korronte filosofiko baten ondorioa da:



"Pluralitas non est ponenda sine necessitate"

(Pluraltasuna premiarik gabe ez da erabili behar)


Printzipio horren arabera, lehian diharduten bi teoriak (edo bi programak) ondorio berberak baldin badituzte, bietarik modu ekonomikoagoan ondorio berberak lortzen dituena zuzena izateko aukera gehiago ditu.






Gilen Ockhamgoa



Friedrich Nietzsche






Filosofoekin jarraituz, antzeko mezua igorri zigun Friedrich Nietzschek soiltasunaren alde hau idatzi zuenean: "Ura nahasi egiten dute, sakonak diruditen itxura emateko".


 

Programazio Lengoaien erabilpena azken hamarkadetan










1965aren eta 2021aren artean programazio lengoaia desberdinak erabili dira




Bideoan ikus daitekeen bezala, historikoki lengoaia desberdinak erabili izan dira konputagailuak programatzeko. Azalpen txiki bat emanez, bideo horrek ondoko hau erakusten du:



  • 1965aren eta 1980aren artean, zenbakizko kalkulu zientifikoak eta enpresa gestioa burutzeko lengoaia nagusiak FORTRAN eta COBOL dira:


    • FORTRAN, zenbakizko kalkulu zientifikoak burutzeko.

    • COBOL, enpresa eta administrazio gestiorako aplikazioak sortzeko.


  • 1980aren eta 2000aren artean, lengoaia nagusiak ondoko hauek dira eta orotariko aplikazioak garatzeko erabiltzen ziren:


    • C eta C++
    • Pascal eta Ada


  • 2000aren eta 2019aren artean, Internet aplikazioen garapen handiak egin dira eta lengoaia nagusiak ondoko hauek izan ziren:


    • PHP

    • Java eta JavaScript

    • Python


  • Azkenean, 2021an eta Internet aplikazioen garapenekin lotuta, goi-goian kokatutako lengoaiak hauek izan dira:


    • JavaScript

    • HTML/CSS

    • SQL




 

Interneten ere, lehen hitza euskaraz



Lehen hitza euskaraz!





Ordenadorea eta mugikorra egoki konfiguratzeko klik egin irudiaren gainean









Nabigatu euskaraz!






Nabigatu euskaraz deituriko kanpainaren bitartez euskarari bidea zabaldu nahi zaio Interneten ere. Parte hartzeko modurik garrantzitsuena zure nabigatzailea konfiguratzea da, hots, zure nabigatzailea konfiguratzea nabigazio-hizkuntza euskara izan dadin. Horrek ez du esan nahi beste hizkuntzak erabiliko ez dituzunik.





Nabigatu euskaraz kanpainaren ekimenak ikusteko klik egin irudiaren gainean




Orrialde honetan azaltzen da zehatz-mehatz zure nabigatzailea nola konfiguratu, prozesua nabigatzailearen araberakoa da baina laburbilduz honako hauek egin behar dituzu:


  1. Nabigatzailearen menua arakatu eta hizkuntzari dagokion funtzionalitatea aurkitu.

  2. Hizkuntzaren funtzionalitatearen barruan gehitu Euskara, eta bukatzeko...

  3. ...hizkuntzen ordena aldatu Euskara lehenengoa azal dadin.



 

2022(e)ko apirilaren 1(a), ostirala

4. astea | FOR-DO bat bere barnean beste FOR-DO bat duena (2)



Planteamendua



Jokalarien kopurua ezezaguna da programaren hasieran, eta bere balioa teklatuaren bitartez eman beharko zaio programari.



Bi jokalarien artean berdinketa gertatzean, irabazlea txanpon baten bitartez erabakiko da



Jokalariek dado batekin jokatuko dute. Jokalari bakoitzak dadoaren hiru jaurtiketa egin ondoren, bere emaitza lortzeko dadoaren hiru jaurtiketen puntuak batu behar dira (baliorik txikiena 3 izango da eta baliorik handiena 18 izan daiteke). Programaren azken emaitza bikoitza izango da:




  • Jokalari guztien artean zenbatgarrenak irabazi duen

  • Zenbat puntuekin irabazi du jokalari horrek



Dadoa hiru aldiz jaurti ondoren puntuen baturak, uneko maximoarekin bat egiten badu, berdinketa hausteko txanpon bat erabiliko dugu.



Dadoaren eta txanponaren jaurtiketa simulatzeko random funtzio estandarra erabiliko da. Dadoaren aukerak 6 direlako random(6) aplikatu beharko da. Txanponaren aukerak 2 direlako random(2) aplikatu beharko da.







Irabazlea



Hiru jaurtiketak egin ondoren haien batura handiena lortuko duen jokalariak irabaziko du. Bi jokalarik (edo gehiagok) puntu-kopuru maximoa lortuz gero, irabazlea erabakitzeko txanpon bat erabiliko da. Programa honek bi bertsio izango ditu:



  1. Programa honen lehen bertsioan, berdinketa hausteko txanpona behin bakarrik jaurtitzen da, eta
  2. programa honen bigarren bertsioan, berdinketa hausteko txanpona birritan jaurtitzen da jokalari banarentzat.






Berdinketa prozesatzen



Barruko begizta bukatzean, baina oraindik kanpoko begiztan gaudelarik,
une horretan irabazlea zein den erabakitzen da. Ondorioz, emaitzak
izango diren iMaximoa eta iIrabazlea aldagaien eguneraketak burutuko dira horrela badagokie. Berdinketa gertatzen bada, programaren puntu horretan prozesatu behar da:



{-------------------------------------------------------------
Zenbat jokalari izango diren zehaztu beharra dago.
Kanpoko begiztan jokalarien txandak erakusten dira.
Barruko begiztan jokalarien puntuak lortzen dira eta
irabazlea erabakitzen da, berdinketarik
gertatzean txanpon baten laguntzaz erabaki
Azken emaitzak erakusten dira: irabazlea eta maximoa
-------------------------------------------------------------}

program DadoenJaurtiketak_Berdinketa;
var
iJokalariKopurua, iMaximoa, iIrabazlea, iPuntuak, iPuntuenBatura: integer;
iJokalaria, iJaurtiketa: integer;
begin
repeat
write('Zenbat jokalari dira? ');
readln(iJokalariKopurua);
until iJokalariKopurua > 1; (* gutxienez 2 jokalari *)

randomize;
iIrabazlea := 0;
iMaximoa := 0;
for iJokalaria:=1 to iJokalariKopurua do
begin
writeln;
iPuntuenBatura := 0;
for iJaurtiketa:=1 to 3 do
begin
iPuntuak := random(6) + 1; (* random(6)-ek 0 eta 5 arteko balioak emango ditu *)
writeln(iJokalaria, '. jokalariak ', iPuntuak, ' puntu lortu ditu ', iJaurtiketa, '. jaurtiketan.');
iPuntuenBatura := iPuntuenBatura + iPuntuak;
end;

if iPuntuenBatura > iMaximoa then
begin
iMaximoa := iPuntuenBatura;
iIrabazlea := iJokalaria;
writeln('Dagoeneko irabazlea ', iIrabazlea, '. jokalaria ', iMaximoa, ' puntuekin.');
end
else
begin
if iPuntuenBatura = iMaximoa then
begin
(* random(2) bitartez txanpoi bat jaurtitzen dela simula daiteke *)
writeln('Berdinketa!!!');
end;
end; (* else *)
end; (* kanpoko for *)

writeln;
writeln('Irabazlea ', iIrabazlea, '. jokalaria ', iMaximoa, ' puntuekin.');

writeln;
writeln('ENTER sakatu exekuzioa amaitzeko...');
readln;
end.






1. bertsioa, txanponaren jaurtiketa bana



Orain arteko irabazleak txanpona behin jaurtitzean iAurrekoarenPuntuak aldagaian gordeko da bere emaitza. Eta berdinketa lortu duen une honetako jokalariak txanpona jaurtitzean iUnekoarenPuntuak aldagaian gordeko da bere emaitza:



{-------------------------------------------------------------
Zenbat jokalari izango diren zehaztu beharra dago.
Kanpoko begiztan jokalarien txandak erakusten dira.
Barruko begiztan jokalarien puntuak lortzen dira eta
irabazlea erabakitzen da, berdinketarik
gertatzean bigarren txanda bat jokatu
txanpon bakar baten jaurtiketa burutuz
Azken emaitzak erakusten dira: irabazlea eta maximoa
-------------------------------------------------------------}

program DadoenJaurtiketak_BerdinketaTxanponBat;
var
iJokalariKopurua, iMaximoa, iIrabazlea, iPuntuak, iPuntuenBatura: integer;
iJokalaria, iJaurtiketa: integer;
iAurrekoarenPuntuak, iUnekoarenPuntuak: integer;
begin
repeat
write('Zenbat jokalari dira? ');
readln(iJokalariKopurua);
until iJokalariKopurua > 1; (* gutxienez 2 jokalari *)

randomize;
iIrabazlea := 0;
iMaximoa := 0;
for iJokalaria:=1 to iJokalariKopurua do
begin
writeln;
iPuntuenBatura := 0;
for iJaurtiketa:=1 to 3 do
begin
iPuntuak := random(6) + 1; (* random(6)-ek 0 eta 5 arteko balioak emango ditu *)
writeln(iJokalaria, '. jokalariak ', iPuntuak, ' puntu lortu ditu ', iJaurtiketa, '. jaurtiketan.');
iPuntuenBatura := iPuntuenBatura + iPuntuak;
end;

if iPuntuenBatura > iMaximoa then
begin
iMaximoa := iPuntuenBatura;
iIrabazlea := iJokalaria;
writeln('Dagoeneko irabazlea ', iIrabazlea, '. jokalaria ', iMaximoa, ' puntuekin.');
end
else
begin
if iPuntuenBatura = iMaximoa then
begin
repeat
iAurrekoarenPuntuak := random(2) + 1; (* random(2)-ek 0 eta 1 arteko balioak emango ditu *)
iUnekoarenPuntuak := random(2) + 1; (* random(2)-ek 0 eta 1 arteko balioak emango ditu *)
writeln('Berdinketa haustean, aurreko jokalariak ', iAurrekoarenPuntuak, ' puntu eta uneko jokalariak ', iUnekoarenPuntuak, ' puntu.');
until iAurrekoarenPuntuak <> iUnekoarenPuntuak;

if iAurrekoarenPuntuak > iUnekoarenPuntuak then
begin
(* iMaximoa := iPuntuenBatura; maximoa ez dago zertan aldatu beharrik *)
(* iIrabazlea := iJokalaria; irabazlea ez dago zertan aldatu beharrik *)
writeln('Dagoeneko irabazlea, aurreko ', iIrabazlea, '. jokalaria ', iMaximoa, ' puntuekin berdinketa haustean.');
end
else
begin
(* iMaximoa := iPuntuenBatura; maximoa ez dago zertan aldatu beharrik *)
iIrabazlea := iJokalaria;
writeln('Dagoeneko irabazlea, uneko ', iIrabazlea, '. jokalaria ', iMaximoa, ' puntuekin berdinketa haustean.');
end;
end;
end; (* else *)
end; (* kanpoko for *)

writeln;
writeln('Irabazlea ', iIrabazlea, '. jokalaria ', iMaximoa, ' puntuekin.');

writeln;
writeln('ENTER sakatu exekuzioa amaitzeko...');
readln;
end.






2. bertsioa, txanponaren bina jaurtiketa



Orain arteko irabazleak txanpona birritan jaurtitzean iAurrekoarenPuntuak aldagaian metatuko da bere emaitza. Eta berdinketa lortu duen une honetako jokalariak txanpona birritan jaurtitzean iUnekoarenPuntuak aldagaian metatuko da bere emaitza:



{-------------------------------------------------------------
Zenbat jokalari izango diren zehaztu beharra dago.
Kanpoko begiztan jokalarien txandak erakusten dira.
Barruko begiztan jokalarien puntuak lortzen dira eta
irabazlea erabakitzen da, berdinketarik
gertatzean bigarren txanda bat jokatu
txanpon bat birritan jaurtiz
Azken emaitzak erakusten dira: irabazlea eta maximoa
-------------------------------------------------------------}

program DadoenJaurtiketak_BerdinketaTxanponBi;
var
iJokalariKopurua, iMaximoa, iIrabazlea, iPuntuak, iPuntuenBatura: integer;
iJokalaria, iJaurtiketa: integer;
iAurrekoarenPuntuak, iUnekoarenPuntuak: integer;
begin
repeat
write('Zenbat jokalari dira? ');
readln(iJokalariKopurua);
until iJokalariKopurua > 1; (* gutxienez 2 jokalari *)

randomize;
iIrabazlea := 0;
iMaximoa := 0;
for iJokalaria:=1 to iJokalariKopurua do
begin
writeln;
iPuntuenBatura := 0;
for iJaurtiketa:=1 to 3 do
begin
iPuntuak := random(6) + 1; (* random(6)-ek 0 eta 5 arteko balioak emango ditu *)
writeln(iJokalaria, '. jokalariak ', iPuntuak, ' puntu lortu ditu ', iJaurtiketa, '. jaurtiketan.');
iPuntuenBatura := iPuntuenBatura + iPuntuak;
end;

if iPuntuenBatura > iMaximoa then
begin
iMaximoa := iPuntuenBatura;
iIrabazlea := iJokalaria;
writeln('Dagoeneko irabazlea ', iIrabazlea, '. jokalaria ', iMaximoa, ' puntuekin.');
end
else
begin
if iPuntuenBatura = iMaximoa then
begin
repeat
iAurrekoarenPuntuak := 0;
for iJaurtiketa:=1 to 2 do
begin
iAurrekoarenPuntuak := iAurrekoarenPuntuak + random(2) + 1; (* random(2)-ek 0 eta 1 arteko balioak emango ditu *)
end;

iUnekoarenPuntuak := 0;
for iJaurtiketa:=1 to 2 do
begin
iUnekoarenPuntuak := iUnekoarenPuntuak + random(2) + 1; (* random(2)-ek 0 eta 1 arteko balioak emango ditu *)
end;
writeln('Berdinketa haustean, aurreko jokalariak ', iAurrekoarenPuntuak, ' puntu eta uneko jokalariak ', iUnekoarenPuntuak, ' puntu.');
until iAurrekoarenPuntuak <> iUnekoarenPuntuak;

if iAurrekoarenPuntuak > iUnekoarenPuntuak then
begin
(* iMaximoa := iPuntuenBatura; maximoa ez dago zertan aldatu beharrik *)
(* iIrabazlea := iJokalaria; irabazlea ez dago zertan aldatu beharrik *)
writeln('Dagoeneko irabazlea, aurreko ', iIrabazlea, '. jokalaria ', iMaximoa, ' puntuekin berdinketa hautsita.');
end
else
begin
(* iMaximoa := iPuntuenBatura; maximoa ez dago zertan aldatu beharrik *)
iIrabazlea := iJokalaria;
writeln('Dagoeneko irabazlea, uneko ', iIrabazlea, '. jokalaria ', iMaximoa, ' puntuekin berdinketa hautsita.');
end;
end;
end; (* else *)
end; (* kanpoko for *)

writeln;
writeln('Irabazlea ', iIrabazlea, '. jokalaria ', iMaximoa, ' puntuekin.');

writeln;
writeln('ENTER sakatu exekuzioa amaitzeko...');
readln;
end.


 

2022(e)ko martxoaren 30(a), asteazkena

4. astea | FOR-DO bat bere barnean beste FOR-DO bat duena (1)



Planteamendua



Jokalarien kopurua ezezaguna da programaren hasieran, eta bere balioa teklatuaren bitartez eman beharko zaio programari.



Irudiak erakusten duen programaren exekuzio horretan jokalariak 5 dira



Jokalariek dado batekin jokatuko dute. Jokalari bakoitzak dadoaren hiru jaurtiketa egin ondoren, bere emaitza lortzeko dadoaren hiru jaurtiketen puntuak batu behar dira (baliorik txikiena 3 izango da eta baliorik handiena 18 izan daiteke). Programaren azken emaitza bikoitza izango da:




  • Jokalari guztien artean zenbatgarrenak irabazi duen

  • Zenbat puntuekin irabazi du jokalari horrek



Jaurtiketa simulatzeko random funtzio estandarra erabiliko da. Dadoaren aukerak 6 direlako random(6) aplikatu beharko da.







Irabazlea



Hiru jaurtiketak egin ondoren haien batura handiena lortuko duen jokalariak irabaziko du. Bi jokalarik (edo gehiagok) puntu-kopuru maximoa lortuz gero, irabazlea lehen jokalaria izango da.







1. urratsa



Zenbat jokalari izango diren galdetuko du programak, eta zenbaki oso bat den erabiltzailearen erantzuna iJokalariKopurua aldagaian gordeko da:



{-------------------------------------------------------------
Zenbat jokalari izango diren zehaztu beharra dago.
-------------------------------------------------------------}

program DadoenJaurtiketak_1_5;
var
iJokalariKopurua: integer;
begin
repeat
write('Zenbat jokalari dira? ');
readln(iJokalariKopurua);
until iJokalariKopurua > 1; (* gutxienez 2 jokalari *)

writeln;
writeln('ENTER sakatu exekuzioa amaitzeko...');
readln;
end.






2. urratsa



Kanpoko begizta planteatzen da, prozesu errepikakor bat delako eta zenbat itzuli eman behar diren ezaguna delako for-to-do agindu bat erabiliko da. Emaitzak izango diren iMaximoa eta iIrabazlea aldagaien hasieraketak begiztatik kanpo egingo dira:



{-------------------------------------------------------------
Zenbat jokalari izango diren zehaztu beharra dago.
Kanpoko begiztan jokalarien txandak erakusten dira.
-------------------------------------------------------------}

program DadoenJaurtiketak_2_5;
var
iJokalariKopurua, iMaximoa, iIrabazlea: integer;
k1: integer;
begin
repeat
write('Zenbat jokalari dira? ');
readln(iJokalariKopurua);
until iJokalariKopurua > 1; (* gutxienez 2 jokalari *)

iIrabazlea := 0;
iMaximoa := 0;
for k1:=1 to iJokalariKopurua do
begin
writeln(k1, '. jokalariaren jarduera, 3 jaurtiketen batura kalkulatu beharko da.');
end;

writeln;
writeln('ENTER sakatu exekuzioa amaitzeko...');
readln;
end.






3. urratsa



Barruko begizta planteatzen da, prozesu errepikakor bat delako eta zenbat itzuli eman behar diren ezaguna delako, berriro ere, for-to-do agindu bat erabiliko da. Jokalari bakoitzaren puntuaketa diren iPuntuenBatura aldagaiaren hasieraketa begiztatik kanpo egingo da. Bestalde, random(6) funtzioak eman ditzaken balioak 0 eta 5 artean daudelako unitate bat gehitu behar zaie:



{-------------------------------------------------------------
Zenbat jokalari izango diren zehaztu beharra dago.
Kanpoko begiztan jokalarien txandak erakusten dira.
Barruko begiztan jokalarien puntuak lortzen dira eta...
-------------------------------------------------------------}

program DadoenJaurtiketak_3_5;
var
iJokalariKopurua, iMaximoa, iIrabazlea, iPuntuak, iPuntuenBatura: integer;
k1, k2: integer;
begin
repeat
write('Zenbat jokalari dira? ');
readln(iJokalariKopurua);
until iJokalariKopurua > 1; (* gutxienez 2 jokalari *)

randomize;
iIrabazlea := 0;
iMaximoa := 0;
for k1:=1 to iJokalariKopurua do
begin
writeln;
iPuntuenBatura := 0;
for k2:=1 to 3 do
begin
iPuntuak := random(6) + 1; (* random(6)-ek 0 eta 5 arteko balioak emango ditu *)
writeln(k1, '. jokalariak ', iPuntuak, ' puntu lortu ditu ', k2, '. jaurtiketan.');
iPuntuenBatura := iPuntuenBatura + iPuntuak;
end;

(* irabazlea zein da dagoeneko? *)
end;

writeln;
writeln('ENTER sakatu exekuzioa amaitzeko...');
readln;
end.






4. urratsa



Barruko begizta bukatzean, baina oraindik kanpoko begiztan gaudelarik, une horretan irabazlea zein den erabakitzen da. Ondorioz, emaitzak izango diren iMaximoa eta iIrabazlea aldagaien eguneraketak burutuko dira horrela badagokie:



{-------------------------------------------------------------
Zenbat jokalari izango diren zehaztu beharra dago.
Kanpoko begiztan jokalarien txandak erakusten dira.
Barruko begiztan jokalarien puntuak lortzen dira eta
irabazlea erabakitzen da
-------------------------------------------------------------}

program DadoenJaurtiketak_4_5;
var
iJokalariKopurua, iMaximoa, iIrabazlea, iPuntuak, iPuntuenBatura: integer;
k1, k2: integer;
begin
repeat
write('Zenbat jokalari dira? ');
readln(iJokalariKopurua);
until iJokalariKopurua > 1; (* gutxienez 2 jokalari *)

randomize;
iIrabazlea := 0;
iMaximoa := 0;
for k1:=1 to iJokalariKopurua do
begin
writeln;
iPuntuenBatura := 0;
for k2:=1 to 3 do
begin
iPuntuak := random(6) + 1; (* random(6)-ek 0 eta 5 arteko balioak emango ditu *)
writeln(k1, '. jokalariak ', iPuntuak, ' puntu lortu ditu ', k2, '. jaurtiketan.');
iPuntuenBatura := iPuntuenBatura + iPuntuak;
end;

if iPuntuenBatura > iMaximoa then
begin
iMaximoa := iPuntuenBatura;
iIrabazlea := k1;
writeln('Dagoeneko irabazlea ', iIrabazlea, '. jokalaria ', iMaximoa, ' puntuekin.');
end;
end;

(* azken emaitzak erakutsi *)

writeln;
writeln('ENTER sakatu exekuzioa amaitzeko...');
readln;
end.






5. urratsa



Programatik irten aurretik, azken emaitzak iMaximoa eta iIrabazlea aldagaien edukiak erakusten dira:



{-------------------------------------------------------------
Zenbat jokalari izango diren zehaztu beharra dago.
Kanpoko begiztan jokalarien txandak erakusten dira.
Barruko begiztan jokalarien puntuak lortzen dira eta
irabazlea erabakitzen da
Azken emaitzak erakusten dira: irabazlea eta maximoa
-------------------------------------------------------------}

program DadoenJaurtiketak_5_5;
var
iJokalariKopurua, iMaximoa, iIrabazlea, iPuntuak, iPuntuenBatura: integer;
k1, k2: integer;
begin
repeat
write('Zenbat jokalari dira? ');
readln(iJokalariKopurua);
until iJokalariKopurua > 1; (* gutxienez 2 jokalari *)

randomize;
iIrabazlea := 0;
iMaximoa := 0;
for k1:=1 to iJokalariKopurua do
begin
writeln;
iPuntuenBatura := 0;
for k2:=1 to 3 do
begin
iPuntuak := random(6) + 1; (* random(6)-ek 0 eta 5 arteko balioak emango ditu *)
writeln(k1, '. jokalariak ', iPuntuak, ' puntu lortu ditu ', k2, '. jaurtiketan.');
iPuntuenBatura := iPuntuenBatura + iPuntuak;
end;

if iPuntuenBatura > iMaximoa then
begin
iMaximoa := iPuntuenBatura;
iIrabazlea := k1;
writeln('Dagoeneko irabazlea ', iIrabazlea, '. jokalaria ', iMaximoa, ' puntuekin.');
end;
end;

writeln;
writeln('Irabazlea ', iIrabazlea, '. jokalaria ', iMaximoa, ' puntuekin.');

writeln;
writeln('ENTER sakatu exekuzioa amaitzeko...');
readln;
end.






Berdinketak hausteko beste modu bat



Dadoa hiru aldiz jaurti ondoren puntuen baturak iMaximoa edukiarekin bat egiten badu, berdinketa hausteko txanpon bat erabiliko dugu 4. astea | FOR-DO bat bere barnean beste FOR-DO bat duena (2) artikuluan erakusten den bezala:



{-------------------------------------------------------------
[1/3]
Zenbat jokalari izango diren zehaztu beharra dago.
Kanpoko begiztan jokalarien txandak erakusten dira.
Barruko begiztan jokalarien puntuak lortzen dira eta
irabazlea erabakitzen da, berdinketarik
gertatzean txanpon baten laguntzaz erabaki
Azken emaitzak erakusten dira: irabazlea eta maximoa
-------------------------------------------------------------}

program DadoenJaurtiketak_Berdinketa;
var
iJokalariKopurua, iMaximoa, iIrabazlea, iPuntuak, iPuntuenBatura: integer;
iJokalaria, iJaurtiketa: integer;
begin
repeat
write('Zenbat jokalari dira? ');
readln(iJokalariKopurua);
until iJokalariKopurua > 1; (* gutxienez 2 jokalari *)

randomize;
iIrabazlea := 0;
iMaximoa := 0;
for iJokalaria:=1 to iJokalariKopurua do
begin
writeln;
iPuntuenBatura := 0;
for iJaurtiketa:=1 to 3 do
begin
iPuntuak := random(6) + 1; (* random(6)-ek 0 eta 5 arteko balioak emango ditu *)
writeln(iJokalaria, '. jokalariak ', iPuntuak, ' puntu lortu ditu ', iJaurtiketa, '. jaurtiketan.');
iPuntuenBatura := iPuntuenBatura + iPuntuak;
end;

if iPuntuenBatura > iMaximoa then
begin
iMaximoa := iPuntuenBatura;
iIrabazlea := iJokalaria;
writeln('Dagoeneko irabazlea ', iIrabazlea, '. jokalaria ', iMaximoa, ' puntuekin.');
end
else
begin
if iPuntuenBatura = iMaximoa then
begin
(* random(2) bitartez txanpoi bat jaurtitzen dela simula daiteke *)
writeln('Berdinketa!!!');
end;
end; (* else *)
end; (* kanpoko for *)

writeln;
writeln('Irabazlea ', iIrabazlea, '. jokalaria ', iMaximoa, ' puntuekin.');

writeln;
writeln('ENTER sakatu exekuzioa amaitzeko...');
readln;
end.