A eta Z bitartean dagoen letra bat aukeratuko du ordenadoreak eta ezezaguna den letra hori guk asmatuko dugu. Egiten dugun saiakera bakoitzeko, programak informazioa emango digu esanez letra ezezaguna zein tartetan dagoen Algoritmoa hauxe da:
- Ordenadoreak letraba aukeratuko du, A eta Z bitartean dagoen letra bat aukeratuko du. Horretarako, Random() funtzio estandarra erabiliko du.
- Ezezaguna den letraren heina [A, Z] da hasieran, behemuga A eta goimuga Z. Beraz, cBehemuga:='A' eta cGoimuga:='Z'
- Errepikatu letra asmatu arte edo 5 saiakera egin arte:
- Teklatuaren bitartez irakurriz, soluzio bat proposatuko diogu programari. Sistemarik eraginkorrena da tartearen erdiko letra proposatzea programari, honela: cSoluzioa := Chr((Ord(cBehemuga) + Ord(cGoimuga)) DIV 2)
- Gure proposamenaren arabera programak honela jokatuko du, aukerak:
- Proposatutako letra eta programak asmatutakoa bat datoz, letra asmatu dugunez begiztatik irten.
- Proposatutako letra eta programak asmatutakoa ez datoz bat, ez dugunez letra. asmatu beste saiakera bat emango digu programak (5 saiakeraren muga ez badugu gainditu). Hurrengo saiakerarako tartea egokituko programak, honelaxe:
- Proposatu diogun letra programarena baino handiagoa bada (tartearen cGoimuga aldatu eta 3. urratsaren hasierara itzuli saiakera berri bat egiteko).
- Proposatu diogun letra programarena baino txikiagoa bada (tartearen cBehemuga aldatu eta 3. urratsaren hasierara itzuli saiakera berri bat egiteko).
- Emaitza erakutsi, begiztatik irteteko aukerak:
- Letra asmatu diogu programari: cSoluzioa erakutsi.
- Saiakerak 5 baino gehiago izan dira.
Zergatik 5 saiakera?
A-ren eta Z-ren artean 26 karaktere, beraz:
log2(26)=4,7
logaritmo (2 oinarrian) 26 zenbakiarena 4,7 da
|
Ikusi programaren balizko exekuzio bat:
Eta hau da...

iruzkinik ez:
Argitaratu iruzkina