0 eta 100 bitartean dagoen zenbaki osoa pentsatuko dugu eta ordenagailuak galdera batzuk eginez zenbaki hori asmatuko digu. Saiakera bakoitzeko, ordenagailuari informazioa emango diogu esanez zenbaki ezezaguna zein tartetan dagoen.
- Zenbaki oso bat pentsatu dugu, hots, 0 eta 100 bitartean dagoen zenbaki osoa pentsatu dugu
- Ezezaguna den zenbakiaren heina [0, 100] da hasieran, behemuga 0 eta goimuga 100. Beraz, iBehemuga:=0 eta iGoimuga:=100
- Errepikatu zenbakia asmatu arte edo 7 saiakera egin arte:
- Programak proposatuko digun soluzioa kalkulatuko du, soluzioa: baligarria den heinaren erdia. Beraz, iSoluzioa := (iBehemuga + iGoimuga) div 2
- Programak galdetuko digu proposatu duen soluzioa egokia den ala ez, aukerak:
- B, bai, proposatu digun zenbakia guk pentsatu duguna izan da (begiztatik irten)
- H, ez, proposatu digun zenbakia ez da guk pentsatutakoa, proposatu digun zenbakia gurea baino handiagoa da (heinaren iGoimuga aldatu eta 3. urratsaren hasierara itzuli saiakera berri bat egiteko)
- T, ez, proposatu digun zenbakia ez da guk pentsatutakoa, proposatu digun zenbakia gurea baino txikiagoa da (heinaren iBehemuga aldatu eta 3. urratsaren hasierara itzuli saiakera berri bat egiteko)
- Emaitza erakutsi, begiztatik irteteko aukerak:
- Gure erantzuna B izan denez, ordenagailuak gure zenbakia asmatu du: iSoluzioa erakutsi
- Saiakerak 7 baino gehiago izan dira, horrek esan nahi du ez dugula zuzen jokatu eta gure erantzunetan gezurra esan diogula programari
Zergatik 7 saiakera?
0-tik 100-ra, biak barne, 101 aukera. Urrats bakoitzean,
aukera guztietatik erdiak baztertzen dira. Beraz:
log2(101)=6,658
logaritmo (2 oinarrian) 101 zenbakiarena 6,658 da
2x = 101 >>> ln(2x) = ln(101) >>> x·ln(2) = ln(101) >>> x = ln(101)/ln(2) x = 4.61512/0.69315 = 6.65821 >>> x=7 |
Ikusi ZenbakiaAsmatu.exe programaren balizko exekuzio bat:
Eskatzen den ariketaren hurbilpen hau ZenbakiaAsmatu_hasiera.pas abiapuntutzat har daiteke. Hona hemen... ...iturburu-programa, eta... ...beste iturburu-programa bat da. Ikusten denez, soluzio bakarra ez dago, zein da zurea?
Antzeko algoritmoa aplikatzen da 6. astea | letra bat asmatzen ariketan, non makinak letra bat aukeratzen duen eta guk asmatu behar dugun, LetraAsmatu.pas programaren kodea ikusteko klik egin hemen.
iruzkinik ez:
Argitaratu iruzkina
Iruzkinen bat idazteko Google-ko kontu bat behar duzu. Iruzkin guztien moderazio-ardura blogeko administratzaileari dagokio.