Programozás I. házi feladat 2013. 6. hét, 1. rész A feladatsor 4 feladatot tartalmaz, amelyeket egy közös forráskódban kell megvalósítani. Annak érdekében, hogy a tesztelő egymástól függetlenül tudja tesztelni a feladatokat, valósíts meg egy menü rendszert. A program olvassa be a feladat sorszámát, amely 1, 2, 3 vagy 4 lehet. Ha a felhasználó 1-et írt be, akkor a program hajtsa végre az 1. feladatot, és így tovább. A feladat végrehajtása után a program lépjen ki. Feltételezzük, hogy a felhasználó mindig az 1, 2, 3, vagy 4 valamelyikét gépeli be, hibakezeléssel nem kell foglalkozni.
1 .feladat 1 pontért: Írj menü vezérelt számológép programot. A program jelenítse meg a következő menüt: Osszeadas: 1 Kivonas: 2 Szorzas: 3 Osztas: 4 Kilepes: 5 Ezt követően a program olvasson be egy menüpontot. Feltételezzük, hogy a felhasználó mindig 1-5-ig ír be valamilyen számot, itt hibakezeléssel nem kell foglalkozni. Az 1-4-es menüpontok hatására a program olvasson be 2 számot (A-t és B-t, ilyen sorrendben), majd végezze el a választott menüpontnak megfelelő műveletet (A+B, A-B, A*B, vagy A / B). A beolvasott számok egészek, így osztáskor is elég egész osztást elvégezni. A művelet elvégzése után a program írja ki az eredményt, majd térjen vissza a főmenübe. A főmenübe való visszatéréskor újra ki kell rajzolni a menüt, és újra be kell kérni a választott menüpontot. Amennyiben az osztást választva a beolvasott B értéke 0, a program addig kérje be újra a B értékét, amíg a felhasználó 0-tól különbözőt nem ad meg. Ha a főmenüben a felhasználó az 5-ös menüpontot választja, a program lépjen ki. Példa: Valassz egy feladatot: 1 Osszeadas: 1 Kivonas: 2 Szorzas: 3 Osztas: 4 Kilepes: 5 Valassz egy menupontot: 1 Kerem az A erteket: 2 Kere a B erteket: 4 Az eredmeny = 6 Osszeadas: 1 Kivonas: 2 Szorzas: 3 Osztas: 4 Kilepes: 5 Valassz egy menupontot: 2 Kerem az A erteket: 1 Kere a B erteket: 4
Az eredmeny = 3 Osszeadas: 1 Kivonas: 2 Szorzas: 3 Osztas: 4 Kilepes: 5 Valassz egy menupontot: 3 Kerem az A erteket: 4 Kere a B erteket: 6 Az eredmeny = 24 Osszeadas: 1 Kivonas: 2 Szorzas: 3 Osztas: 4 Kilepes: 5 Valassz egy menupontot: 4 Kerem az A erteket: 123 Kere a B erteket: 12 Az eredmeny = 10 Osszeadas: 1 Kivonas: 2 Szorzas: 3 Osztas: 4 Kilepes: 5 Valassz egy menupontot: 4 Kerem az A erteket: 4 Kere a B erteket: 0 Kerek egy uj osztot! Kere a B erteket: 0 Kerek egy uj osztot! Kere a B erteket: 2 Az eredmeny = 2 Osszeadas: 1 Kivonas: 2 Szorzas: 3 Osztas: 4 Kilepes: 5 Valassz egy menupontot: 5
2. feladat 1 pontért: Olvass be egy A pozitív egész számot billentyűzetről. • A program ezt követően írja ki a képernyőre, hogy mely egész számok osztják az A számot. • Írj ki egy 1-est, ha a szám prímszám, ellenkező esetben 0-t. Prímszámnak tekintjük azokat az egészeket, amelyeknek 2 különböző osztójuk van (1 és önmaga, az 1 nem számít prímszámnak). Néhány példa: Valassz egy feladatot: 2 Kerem az A erteket: 3245 Az osztok: 1 5 11 55 59 295 649 3245 Primszam vizsgalat eredmenye: 0
Valassz egy feladatot: 2 Kerem az A erteket: 101 Az osztok: 1 101 Primszam vizsgalat eredmenye: 1
Valassz egy feladatot: 2 Kerem az A erteket: 1 Az osztok: 1 Primszam vizsgalat eredmenye: 0
3. feladat 1 pontért: Több, egymás utáni napon feljegyezzük az átlaghőmérsékletet Celsius fokban. Írjunk algoritmust, amely beolvassa a hőmérsékleteket. A beolvasás a következő módon történik: A program megkérdezi, hogy akarunk-e új hőmérsékleti adatot megadni. Ha a felhasználó 1-et ír be, akkor az azt jelenti, hogy új adatot kívánunk megadni, a 0 pedig azt jelenti, hogy végeztünk a bevitellel. Az 1-es hatására a program olvasson be egy hőmérsékletet. Feltételezzük, hogy a hőmérséklet egész szám. Továbbá a program legfeljebb 10 hőmérséklet adat bevitelét engedélyezi, azaz a 10. után automatikusan véget ér a bevitel. (Vegyük észre, hogy ha akarjuk, akkor kevesebbet is bevihetünk). Ezt követően a program írja ki, hogy: Hány darab hőmérsékleti értéket adtunk meg. Mekkora volt a legmagasabb hőmérséklet. Mekkora volt a legalacsonyabb hőmérséklet. Hány napon volt fagypont alatt a hőmérséklet (azaz 0-nál alacsonyabb). A feladat során feltételezhetjük, hogy a felhasználó legalább 1 hőmérséklet adatot megad. Példa: Valassz egy feladatot: 3 Akarunk uj homersekletet bevinni? 1 Homerseklet: 5 Akarunk uj homersekletet bevinni? 1 Homerseklet: 3 Akarunk uj homersekletet bevinni? 1 Homerseklet: 3 Akarunk uj homersekletet bevinni? 1 Homerseklet: 0 Akarunk uj homersekletet bevinni? 1 Homerseklet: 2 Akarunk uj homersekletet bevinni? 1 Homerseklet: 4 Akarunk uj homersekletet bevinni? 1 Homerseklet: 5 Akarunk uj homersekletet bevinni? 1 Homerseklet: 6 Akarunk uj homersekletet bevinni? 1 Homerseklet: 4 Akarunk uj homersekletet bevinni? 1 Homerseklet: 3 Homersekleti adatok szama: 10 Legmagasabb homerseklet: 6 Legalacsonyabb homerseklet: 3 Fagypont alatti ertekek szama: 2
Valassz egy feladatot: 3 Akarunk uj homersekletet bevinni? 1 Homerseklet: 5 Akarunk uj homersekletet bevinni? 1 Homerseklet: 4
Akarunk uj homersekletet bevinni? 0 Homersekleti adatok szama: 2 Legmagasabb homerseklet: 5 Legalacsonyabb homerseklet: 4 Fagypont alatti ertekek szama: 0
4. feladat 1 pontért: Olvass be egy A pozitív egész számot a billentyűzetről. Ezt követően a program határozza meg, hogy 1 és A között (az A-t is beleértve) hány darab prímszám van, majd az eredményt írd ki a képernyőre. Az a szám számít prímszámnak, amelynek két különböző osztója van (1 és önmaga). Fontos: Az 1 nem prímszám! Példa: Valassz egy feladatot: 4 Kerem az A erteket: 10 A primszamok szama egytol Aig: 4
Valassz egy feladatot: 4 Kerem az A erteket: 100 A primszamok szama egytol Aig: 25
Valassz egy feladatot: 4 Kerem az A erteket: 97 A primszamok szama egytol Aig: 25