Informatika érettségi – programozás megoldások
Az informatika érettségi „mumus” témaköre sokak szerint a programozás feladat. A C# Tutorial szerkesztősége új cikksorozatot indít, amiben demisztifikáljuk az emelt szintű érettségi feladatokat és megoldjuk őket C# nyelven.
Érettségizni rengeteg programozási nyelv használatával lehet, de talán a C# segítségével a legkönnyebb, ha tudja az ember, hogy mit csinál. Ezt bizonyítandó heti-kétheti rendszerességgel egy-egy érettségi feladatot vesézünk ki.
A feladatok megoldása során elsősorban azon elméleti részekre fókuszálunk, amelyek nincsenek benne a Helló Világ! Helló C#! könyvben.
Technikai oldalról megközelítve a dolgokat a megoldások a Visual Studio legfrissebb változatával készülnek .NET Core keretrendszerrel, C# 8.0 nyelvi elemeket és bekapcsolt nullable reference types beállításokat használva.
Mivel az érettségi típusfeladatokból áll és eddig minden évben hasonló követelmények voltak, a megoldásokat minden esetben egy Megoldas.cs fájlban található Megoldas osztályban helyezzük el. A főprogram az ezekben elhelyezett metódusokat fogja végighívni. Az olvashatóság kedvéért minden metódus hívás előtt ki fogja írni, hogy melyiknél jár. Ez későbbi érettségi feladatoknál követelmény is lesz.
A fő program valami hasonló lesz minden érettségi kód esetében:
public static class Program
{
public static void Main(string[] args)
{
var megoldas = new Megoldas();
Console.WriteLine("01. Feladat:");
megoldas.Feladat01();
Console.WriteLine("02. Feladat:");
megoldas.Feladat02();
Console.WriteLine("03. Feladat:");
megoldas.Feladat03();
Console.ReadKey();
}
}
Első cikk: 2020.06.18, Csütörtök.
2020.06.14. @ 16:31
Nagyon jó ötlet, várjuk szeretettel! És köszönjük a munkátokat!
2021.05.21. @ 01:30
Egyik kedvenc szórakozásom az emelt szintű informatika érettségik programozás-feladatainak a megoldása. Abszolút kezdőként félve szólok bele, de volna két általános megjegyzésem, vagyis inkább kérdésem ezekhez.
1.) A „Megoldas” osztályról buildelés után a VS tájékoztat, hogy érdemesebb statikusra átírni a metódusait, mivel nem származtatom le az osztályt. Én így statikusnak is szoktam ezeket megírni. Így viszont nem kell a programban példányosítani.l az osztályt. Mi az előnye és hátránya egyik és másik megoldásnak?
2.) A metódusoknak én „értelmes” nevet szoktam adni. Ha pl. egy metódust későbbi feladat megoldásához fel akarom használni, akkor nehezebben találom meg, és nehezebben is tudom olvasni, ha „Feladat_01”-jellegű neveket adok nekik. Ugyanakkor más oktató videókon is ezt a módszert látom. Van/volt ennek valami oka, pl. iskolai konvenció, stb.?
Köszönöm, előre is!
2021.05.21. @ 07:50
1.) Abszolút igaz, átírható statikusra többségük, mivel az osztály nem tárol állapotot. Ez az érettségi feladatok jellegéből adóik, hogy így lettek kialakítva (sajnos). Az objektum orientáltság előnye az lenne, hogy nem csak metódusaink vannak, hanem van egy belső állapotunk, tagváltozók, amiket menedzselünk. A megoldások többségében azért nem írtam át statikusra az egész osztályt, mert elfelejtettem a feladatmegoldás végén. A feladat megoldás kezdetén pedig nem akartam magam korlátozni.
2.) Ez sajna érettségi konvenció. Adott kontextusban (érettségi megoldás) értelmes nevek. Egyértelműen látszik, hogy a feladatkiírás melyik pontjához tartozik az adott kódrészlet. Érettségi esetén pontlevonás is jár, ha nem így vannak elnevezve a metódusok. Ami végül is érthető is, mert javításkor plusz teher kibogarászni, hogy mire gondolt a költő. Ha meg csak annyi lenne a követelmény, hogy használjon beszédes neveket, akkor az részrehajlásra adna lehetőséget. Az érettségi javítókulcsok pedig ezt abszolút elkerülik.