Matematikai feladatok

Matek feladatok II.

Kérjünk be egy egész számot, és döntsük el, hogy osztható-e tízzel, öttel, kettővel!

  • akkor osztható tízzel, ha 0-ra végződik
  • akkor osztható öttel, ha 0-ra vagy 5-re végződik
  • akkor osztható kettővel, ha 0, 2, 4, 6 vagy 8 az utolsó számjegye
Kezdeti teendők:
  • cseréljük le a "macska" szereplőt "varázsló"-ra (Wizard2)
  • fessük a hátteret halványzöldre (sapka zöldje)
  • írjuk rá sárgával az "OSZTHATÓSÁG" szöveget (betűtípus Glória, színe a sapka sárgája)
  • alulra, kisebb betűkkel a "szóközre továbblép" segítséget
  • mondja a szereplő: "Egy egész számról eldöntöm, hogy osztható-e tízzel, öttel vagy kettővel"
  • várjon a szóköz billentyűre
  • kérjen be egy egész számot az "Egész szám: " szöveggel
A szükséges változók és ezek szerepe:
  • egész: a bekért egész szám (beletesszük a válasz-t)
  • hossz: a bekért egész szám hossza (jegyek száma plusz az előjel, ha van)
  • utsjegy: a bekért egész szám utolsó jegye
Oszthatóság 10-el:
  • ha az utolsó jegy 0, akkor
       írja ki vagy gondolja: "A szám osztható 10-el"
       esetleg adjon valamilyen hangot
  • egyébként
       írja ki vagy gondolja: "A szám nem osztható 10-el"
Oszthatóság 5-el:

     Hasonló az előzőhöz, de a feltétel kettős ( utsjegy=0 vagy utsjegy=5 )

Oszthatóság 2-vel:

     Hasonló az előzőhöz, de a feltétel többes ( utsjegy=0 vagy utsjegy=2 vagy ... utsjegy=8 )


Minden szükséges helyre tegyünk egy várakozást a szóköz billentyűre!

A játékot két személy játszhatja (pl. "G" és "B") a következőképpen:

  • adott egy szám, amelyből felváltva vesznek el
  • egyet, kettőt, ..., legfeljebb ötöt vehet el a soron következő játékos
  • elvenni kötelező

A játékot az nyeri, aki az utolsót vagy utolsókat veszi el!


Először a hátteret készítsük el (a szövegeket célszerű vektorgrafikával felírni)!


A változók:
  • szam: ezt kell nullára csökkenteni (kezdőértéke legyen pl. 20)
  • ssz: ez jelképezi a soron következő játékost,
       ha értéke -1, akkor a baloldali játékos vesz el
       ha értéke +1, akkor a jobboldali játékos vesz el
Előkészítés:
  • állítsuk be a "szam" kezdőértékét (20 vagy több?!)
  • állítsuk be a "ssz" értékét (+1 vagy -1)
Program "lelke":
  • tegyünk ide egy elölvizsgáló ciklust (ismételd eddig: ...)
       ebből nyilván akkor lépünk ki, ha a "szam" 0 lesz
  • bele egy elágazást,
       feltétele a "ssz" értéke
       ha +1, a macska nézzen jobbra
       ha -1, a macska nézzen balra
  • kérjük be az elvételt a következő szöveggel: "Mennyit veszel el (1,2,...,5) ?"
  • állítsuk be a "szam" új értékét (segítség: kivonás)
  • állítsuk be a "ssz" változását (segítség: szorzás -1-el)
Játék győztese:
  • tegyünk a program végére egy elágazást, amely "kihirdeti a győztest"
       feltétele nyilván a sorszám
       ha 1, írja azt hogy "B" nyert
       ha -1, írja azt hogy "G" nyert
  • gondoljuk végig, hogy az elágazás előtt mire mutat a "ssz", ha kell, állítsunk rajta

Továbbfejlesztés

Kezdőjátékos bekérése (a progi elején):
  • hogy ne mindig ugyanaz a játékos kezdjen, kérjük be a kezdőjátékos nevének rövidítését ("Ki kezd (B/G) ?")
  • a "válasz"-tól függően állítsuk be a "ssz" értékét
       ha "B", akkor +1-re
       ha "G", akkor -1-re

A megoldásnál nem ellenőriztük az elvett szám nagyságát, tehát ne csaljunk szándékosan !


+Cseréld le a neveiteket egy-egy szereplőre ("B.png" és "G.png")!

Itt van például két kép: B.png és a másik G.png



algoritmus

* A feladat egy nehezítése az adatbekérés, azaz:
     ne fogadjon el mást, csak a "B" vagy "G" betűt
     ne engedjen csalni az elvételkor sem, azaz csak 1, 2, 3, 4, 5 számok lehessenek

Ha minden kötél szakad, bonyolultabb feladatoknál gyakran segítségül hívható a jobboldali kép "párja" (pl. a B5.png párja a B5_.png kép)!