davidka007 Creative Commons License 2012.11.21 0 0 916

Írjon programot, amely egy számkitalálós játékot valósít meg, melynek során a program
kitalálja a felhasználó által gondolt számot!
− A játék elején a felhasználó adja meg azt az egész intervallumot, amelyből majd a program
által kitalálandó számot kiválasztja!
o Az intervallum határai egész számok legyenek, az alsó határ legyen kisebb, mint
a felső!
o A program ellenőrizze az alsó és felső határ helyes megadását, szükség esetén adjon
lehetőséget a helyesbítésre!
o Hibaüzenetet nem kell megjeleníteni, típusellenőrzést nem kell végezni!
− Ezután következik a játék:
A. A felhasználó gondol egy egész számot a megadott intervallumban. Ezt nem kell
beírnia, csak a játék alatt fejben kell tartania!
B. A program kiválasztja az intervallumból a középső értéket, és tippként kiírja a
felhasználónak.
􀂃 Ha az intervallum elemszáma páratlan, akkor a középső érték egyértelmű, pl.
a [3..9] intervallum középső értéke a 6.
􀂃 Ha az intervallum elemszáma páros, akkor a középső érték két szám is lehet, pl.
az [1..6] intervallum középső értéke lehet a 3 vagy a 4. Ilyen esetben a program
bármelyiket választhatja.
C. A felhasználó erre a következő három válasz egyikét adja meg:
1. Erre gondoltam.
2. A gondolt szám kisebb, mint a tipp.
3. A gondolt szám nagyobb, mint a tipp.
D. Ezután a program a válasz ismeretében folytatja:
􀂃 Az 1. esetben a játéknak vége, a program kiírja, hogy hány tipp után találta ki
a számot.
􀂃 A 2. esetben („A gondolt szám kisebb, mint a tipp.”) a program az intervallum
felső határát a tippnél 1-gyel kisebbre állítja.
􀂃 A 3. esetben („A gondolt szám nagyobb, mint a tipp.”) a program az intervallum
alsó határát a tippnél 1-gyel nagyobbra állítja.
􀂃 Pl. ha az aktuális intervallum az [1..7] és a gép tippje 4, akkor
• a 2. válasz esetén az új intervallum az [1..3]
• a 3. válasz esetén az új intervallum az [5..7]
E. A 2. és 3. esetben a játék a B jelű lépéssel folytatódik, mindaddig, amíg a program ki
nem találja a számot.
F. Ha a felhasználó helytelen választ ad meg a játék folyamán, vagy nem az intervallumba
eső számra gondol, akkor az intervallum alsó határa előbb-utóbb meghaladja a felső
határt. Ez esetben a program adjon hibaüzenetet!

 

 

valaki nem tud segíteni ebben?