# 11. Önálló gyakorlás – tartalmi terv

**2026-10-04-es módosítás:** a korábbi módszer helyett a kód fokozatos felépítése szükséges. Az első minta forráshűségének javítása után a felhasználó engedélyezte az összes feladat elkészítését, egyenkénti commit és push mellett. Részletek: [Parkolóautomata újratervezése](PARKOLO-UJRATERVEZES.md). Az alábbi témalista megmarad, a korábbi koreográfiát nem kell követni.

Forrás: a 11_Onallo-gyakorlas DOCX feladatlapja és 13 C# megoldása. A forrásokat változatlanul őrizzük. A dokumentum Letter méretű; ez a programozási tananyag működését nem érinti. A C#-fájlok implicit System importot feltételeznek: a futtatóprojektben ImplicitUsings=enable, net10.0, magyar kultúra szerepel.

Minden feladat önálló, magyar narrációs böngészős csomag: bevezetés, algoritmus, fontos kódrészletek, valódi .NET-futtatás ellenőrzött átirata, határesetek, összefoglalás. A Program.cs üres fájlból, sorról sorra épül fel; minden eredeti sor, komment és tördelés megmarad. Az animáció az éppen gépelt vagy magyarázott sorra görget és kiemel. A futtatás bemutató, a böngészőben nincs C# fordító. Keretes/makett nézet, felirat, fejezetválasztás, visszatekerés. MP4-videó nem készül.

| # | Téma | Magyarázat és ellenőrzés |
|---|---|---|
| 01 | Parkolóautomata | Percekre alakítás, egész osztás, maradék, metódusok; 135 perc, türelmi idő, napi maximum, hibás időrend, 15/16 és 60/61 perc |
| 02 | Villanyszámla | Progresszív sávok, double, string visszatérés, nettó/áfa/bruttó; 420, 0, negatív, 100/250 kWh |
| 03 | Csomagautomata | Maximumkeresés, térfogatsúly, ÉS-kapcsolat, első illeszkedő rekesz, arányos felár; L minta, súly- és mérethiba, S/M határ |
| 04 | Büfé | Érvényességi elágazás, for, switch, nettó bevétel, darabszám, maximum helye; feladatminta, 1000 Ft határ, nincs érvényes tétel |
| 05 | Választás | Számlálás, valódi osztás, maximum, holtverseny, abszolút többség; minta, nincs érvényes, többség és relatív győzelem |
| 06 | Kassza | Ötre kerekítés, egész osztás és maradék, csökkenő címletek; 4783/10000, hiány, pontos fizetés, minden utolsó számjegy |
| 07 | Napelem | Random átadása, tartománytranszformáció, kerekítés, összegzés, első minimum/maximum, előző napi állapot; tényleges véletlen futás, független összegzés |
| 08 | Kosárlabda | ReadKey Enter nélkül, t/T, sorozatszámláló, sorozat kezdete, értékelési sávok; valódi PTY-futtatás, találat nélküli és határértékes esetek |
| 09 | Megtakarítás | Havi kamatláb, kamat majd befizetés, 120 lépés, első célhónap, éves kiírás; minta, kamat nélküli és elérhetetlen cél |
| 10 | Vonalkód | Számjegybontás jobbról, váltakozó súly, kétszeres modulo, metódus újrahasználata; érvényes/hibás kód és nulla ellenőrzőjegy |
| 11 | Futár | Egymásba ágyazott ciklusok, metódushívások, teljes díjra felár, táblázat és lekérdezés azonossága; minta, érvénytelen tartomány, 3/4 kg |
| 12 | Társasjáték | Külső/belső ciklus, körönként nullázott állapot, legalább egy hatos, gyakoriság/elmélet; az eredeti 15-ös bónuszhatár több tényleges futtatása |
| 13 | Kupon | char konverzió, külön számjegyek és vezető nulla, modulo 26, összeg/átlag/első maximum; valódi generálás és független formátum/statisztika-ellenőrzés |

## Pontosítások

- A parkolás 15 perc felett a teljes időre fizetős; nem vonunk le 15 percet.
- A bemeneti alak/tartomány több feladatban előfeltétel: a Parse nem általános hibatűrő adatellenőrzés.
- A csomag kódja előre kiszámolja a rekeszméretet, de a hibaüzeneteknél a súlyhatár élvez elsőbbséget.
- A kassza csak valós készpénzből összeállítható, 5-tel osztható átadott összeget tud maradéktalanul kezelni. Ezt a kód nem validálja.
- A napelem és játék futásainak számai eltérhetnek a feladatlap illusztratív mintáitól. Az animáció megőrzött valódi futást mutat.
- A játék 15-ös határán a középső javaslat nagyon valószínű, de a véletlen miatt a feladatlap „mindig” szava matematikailag túl erős. A feladatlap 17-es/12-es kísérleteket is javasol, de a felhasználó későbbi, pontos forráshűségi utasítása alapján az animáció kizárólag az eredeti 15-ös határt használja. A 9,26%-os elméleti arány ehhez tartozik.
- A kuponfeladat nem biztosít egyediséget és nem kezeli a beváltást; ez kifejezetten nincs a feladat hatókörében.

## Munkarend

Egy feladat elkészítése → C# és böngészős ellenőrzés → gyűjtőoldal frissítése → commit → sikeres push → következő feladat. Félkész anyag nem jelenik meg lejátszhatóként. A skill bővítése és forráshűségi szabályai ellenőrzés után, a felhasználó utasítására `--no-ff` merge-dzsel a main ágba kerültek, majd push történt. A lezárt feature ág törölve; a más munkát tartalmazó Explorer-ág megőrizve.
