Feladat: I.109 Korcsoport: - Nehézségi fok: -
Füzet: 2005/szeptember, 364 - 365. oldal  PDF  |  MathML 
Témakör(ök): Feladat

A szöveg csak Firefox böngészőben jelenik meg helyesen. Használja a fenti PDF file-ra mutató link-et a letöltésre.

Írjunk programot, amely a következő játékot játssza. A felhasználó minden lépésben azt mondja, hogy fej, vagy azt, hogy írás. A program mindig előre tippel, hogy mit fog a felhasználó mondani, és folyamatosan statisztikát készít arról, hogy hány esetben találta el.
A program a standard bemenetről olvassa be a felhasználó lépését, ami egyetlen F vagy I karakterből és egy soremelésből áll. Ezután egy sorban kiírja az előre kitalált tippet és azt, hogy eddig összesen hányszor találta el, illetve hányszor nem találta el a lépést. A játék addig tart, amíg a felhasználó le nem állítja a programot.
A program készítsen nyilvántartást a felhasználó szokásairól, és az alapján tippeljen. Gyűjtse össze, hogy az utolsó két lépéstől és tipptől függően ‐ ez összesen 16-féle eset ‐ a felhasználó fejet vagy írást mondott többször. (Például, ha az utolsó két lépés fej volt, és a gép mindkétszer eltalálta, akkor vizsgálja meg, hogy a korábban előfordult hasonló esetekben a felhasználó fejet vagy írást mondott többször.) Ha az adott eset korábban még nem fordult elő, vagy a játékos éppen ugyanannyiszor mondott fejet és írást, akkor a gép tippeljen véletlenszerűen.
Példa (dőlt betűvel szedtük a számítógép üzeneteit):

 
 

Beküldendő a program forráskódja (i109.pas, i109.c, ...)