Szakmacsoportos alapozó gyakorlatok informatika területre • Informatikai gyakorlatok TÁMOP-2.2.3-07/1-2F-2008-0011
BEVEZETÉS A VISUAL C# 2008 HASZNÁLATÁBA Informatikai gyakorlatok 11. évfolyam
TANÁRI KÉZIKÖNYV
AINFO11_TK.indd 1
2010.02.01. 11:11:39
A kiadvány a TÁMOP-2.2.3-07/1-2F-2008-0011 azonosító számú projekt keretében jelenik meg.
Szerző: Czigléczky Gábor Lektor: Madarász Péter
Borító és tipográfia: Új Magyarország Fejlesztési Terv Arculati kézikönyv alapján
A mű egésze vagy annak részletei – az üzletszerű felhasználás eseteit ide nem értve – oktatási és tudományos célra korlátozás nélkül, szabadon felhasználhatók.
A tananyagfejlesztés módszertani irányítása: Observans Kft. Budapest, 2009. Igazgató: Bertalan Tamás Tördelés: Király és Társai Kkt. • Cégvezető: Király Ildikó
AINFO11_TK.indd 2
2010.02.01. 11:11:39
A tananyag általános leírása TANANYAG CÍME
BEVEZETÉS A VISUAL C# 2008 HASZNÁLATÁBA
A TANANYAG ÓRASZÁMA
28 óra
ÁLTALÁNOS CÉLOK
Általános cél A tananyag általános célja, hogy a kurzus elvégzése után a tanulók legyenek képesek használni egy korszerű alkalmazásfejlesztő eszközt (Microsoft Visual Studio Express 2008) és egy programozási nyelvet (C#). Konkrét célok 1. A Visual C# 2008 kezelőfelületének és alapvető komponenseinek megismertetése a tanulókkal. 2. Egyszerűbb Windows Forms alkalmazások fejlesztése. 3. A C# nyelvi elemeinek megismerése. 4. Hibajelenségek észlelése, elhárításuk, „bolondbiztos” programok készítése. 5. A tanult ismeretek alkalmazása egy kisebb csoportban elkészített projektfeladaton keresztül, az együttműködés fejlesztése, a csoportos szoftverfejlesztés kipróbálása. 6. Az elkészült produktumok értékelése különféle szempontok szerint.
KAPCSOLÓDÁSOK
Kapcsolódások az OKJ 1144-06 moduljához: –– 165/1.2/1144-06 (Programozásmódszertan I.) –– 165/1.3/1144-06 (Programnyelvek (elméleti ismeretek) –– 165/1.4/1144-06 (Programnyelvek (gyakorlat) –– 165/4.2/1144-06 (A fejlesztés lépései) –– 165/5.1/1144-06 (A tesztelés lépései) –– 165/6.2/1144-06 (Alkalmazásfejlesztő eszközök)
KIMENETI KÖVETELMÉNYEK
A tanulók legyenek képesek önállóan feltelepíteni egy Visual C# Express 2008-as környezetet, eligazodni a kezelőfelületen. Tudjanak megtervezni egy Windows Forms alkalmazást, elhelyezni rajta a komponenseket, és megírni hozzájuk az eseménykezelő eljárások kódját a strukturált programozás alapelemeinek (szekvencia, elágazás, ciklus felhasználásával). A programozás során fellépő hibákat tudják kezelni, elhárítani. Legyenek képesek megtervezni és megírni egy összetettebb programot (több komponens, programozási tételek, hibakezelés felhasználásával) csapatban dolgozva.
PETRIK TISZK
AINFO11_TK.indd 3
TÁMOP-2.2.3-07/1-2F-2008-0011
3
2010.02.01. 11:11:39
Tanmenet Sorszám
Tanítási egység – témakör címe
Időtartam
A tanítási egység típusa
1.
A Visual C# Express 2008 beszerzése, telepítése, felfedezése
3x45 perc
Tanóra (45 perc) + Gyakorlat (2x45 perc)
2.
Windows Forms alkalmazás készítése
3x45 perc
Tanóra (45 perc) + Gyakorlat (2x45 perc)
3.
Adatok beolvasása és kiírása, alapvető adattípusok, típuskonverziók, matematikai és logikai műveletek
3x45 perc
Tanóra (45 perc) + Gyakorlat (2x45 perc)
4.
Vezérlési szerkezetek: elágazások, ciklusok
3x45 perc
Tanóra (45 perc) + Gyakorlat (2x45 perc)
5.
Összetett adattípusok: rekord, tömb, feltöltés szövegfájlból
3x45 perc
Tanóra (45 perc) + Gyakorlat (2x45 perc)
6.
Alapvető programozási tételek megvalósítása
3x45 perc
Tanóra (45 perc) + Gyakorlat (2x45 perc)
7.
Hibák, hibaüzenetek és kezelésük
3x45 perc
Tanóra (45 perc) + Gyakorlat (2x45 perc)
8.
Kivételek kezelése, ellenőrzött adatbevitel
3x45 perc
Tanóra (45 perc) + Gyakorlat (2x45 perc)
9.
Projektfeladat: program készítése
3x45 perc
Tanóra (45 perc) + Gyakorlat (2x45 perc)
Projektfeladat: program bemutatása
1x45 perc
Tanóra (45 perc)
10.
4
AINFO11_TK.indd 4
BEVEZETÉS A VISUAL C# 2008 HASZNÁLATÁBA • Tanári kézikönyv
11. évfolyam
2010.02.01. 11:11:39
TANÍTÁSI EGYSÉG ÁLTALÁNOS BEMUTATÁSA cím: A Visual C# Express 2008 beszerzése, telepítése, felfedezése
Sorszám:
1.
Évfolyam:
11. évfolyam
A tanítási egység típusa Tanóra (45 perc) Gyakorlat (2x45 perc)
Időtartam:
3x45 perc
Célok
A C# Express 2008 hardver- és szoftverkövetelményeinek megismerése. A Visual Studio 2008 Express ingyenesen letölthető fejlesztői környezet internetes elérhetőségének, letölthetőségének megismerése, a telepítés végrehajtása az otthoni / iskolai számítógépen. A termékcsalád egyéb tagjainak (Basic, J#, Web Developer) ismerete. A .NET Framework és a .NET-es programfejlesztés lényegének megértése, a fordítás folyamatának ismerete. A platform- és nyelvfüggetlenség fogalmának ismerete. A fejlesztői környezet felépítésének megismerése, a konzol módú és vizuális alkalmazás közti különbség megértése, az egyes részek feladatainak elkülönítése. A kezelőfelület átrendezésének, az egyéni munkakörnyezet kialakításának elsajátítása.
Követelmények
Legyen képes eldönteni, hogy az adott gép alkalmas-e a szoftver telepítésére, majd ennek tudatában legyen képes letölteni és feltelepíteni a C# Express 2008-as verzióját. Legyen képes ismertetni a .NET Framework futtatókörnyezet jelentőségét, a programok fordításának folyamatát, valamint a programok hordozhatóságának feltételeit. Legyen képes új projektet létrehozni, meglévő projektet megnyitni a Visual Studio környezetben. Értse a Solution és a Project különbségét. Legyen képes megnevezni a kezelőfelület részeit, és röviden elmondani a szerepüket. Legyen képes menteni a munkáját. Legyen képes átrendezni a felület elemeit, és így a saját munkakörnyezetét kialakítani. Legyen képes eligazodni a Súgóban, a számára szükséges információkat megkeresni, valamint használni a környezetérzékeny segítséget.
Informatikai, oktatástechnikai eszközök
Számítógép: 1 db. (Minimum 1 GHz-es processzorral, és 512 MB memóriával, ajánlott: 2 GHz-es processzor, 1 GB memóriával) Projektor, vetítővászon Egyéb, pl. speciális szoftver: Visual C# Express 2008 (nem kötelező, ha a gyerekek maguk telepíthetik), szélessávú Internet-kapcsolat (a letöltéshez)
Források, javasolt tananyagok, kiadványok, internetes honlapok
Tanári prezentáció: AINFO11_TP1.ppt Videók: AINFO11_VID1.zip
PETRIK TISZK
AINFO11_TK.indd 5
Visual Studio 2008 Express Editions http://www.microsoft.com/express/ (2009. 10. 24.) Illés Zoltán (2008): Programozás C# nyelven (2008-as változat), Budapest: Jedlik Oktatási Stúdió
TÁMOP-2.2.3-07/1-2F-2008-0011
5
2010.02.01. 11:11:39
6
AINFO11_TK.indd 6
BEVEZETÉS A VISUAL C# 2008 HASZNÁLATÁBA • Tanári kézikönyv
11. évfolyam
2010.02.01. 11:11:40
A Visual C# 2008 Tájékozódás egy szoftver környezet megismerése, kezelői felületén testre szabása Projektben gondolkodás Rész-egész viszony felismerése Munka mentése
A Súgó használata
5.
6.
Az eredmények ös�szegzése
A Visual C# 2008 környezet letöltése, telepítése
4.
7.
A helyes válaszok megbeszélése
3.
Kommunikáció Önellenőrzés Eredmények összevetése
Tájékozódás egy angol nyelvű szoftver Súgójában Szükséges információk megkeresése, felhasználása
Angol nyelvű szövegértés, tájékozódás egy weblapon Angol nyelvű program telepítése a számítógépre
Kommunikáció Önellenőrzés Hibás válaszok korrigálása
Előtte hallott információ felidézése A tanulási folyamat ellenőrzése tesztkérdések segítségével
Ismétlő kérdések a C#ról, a .NET-ről
2.
Megfigyelés Videó, prezentáció nyomon követése
Készség / képesség
A Visual C# 2008 környezet letöltése, telepítése, megismerése, testre szabása
Téma / Altéma
1.
Sorszám
10
20
Megbeszélés
Önálló manuális tevékenység
Önálló manuális tevékenység
Irányított tevékenység
30
30
Megbeszélés
5
Frontális osztálymunka
Egyéni munka Gyűjtőmunka
Egyéni munka
Egyéni munka
Frontális osztálymunka
Egyéni munka
Tesztfeladat sor önálló kitöltése
10
Munkaforma
Tanári előadás Frontális oszVideók megtálymunka tekintése
Módszer
30
Időtartam (perc)
Lehetséges válaszok az 1.3. számú mellékletben (egy adott kérdésre több lehetséges választ is meg lehet találni)
Emlékeztető képernyőfotók a Súgóról a tanulói jegyzetben Feladatok, amelyek segítségével információt lehet kigyűjteni a Súgóból
Emlékeztető képernyőfotók a kezelőfelületről, annak testre szabásáról a tanulói jegyzetben Feladatok az egyéni munkakörnyezet kialakítására
Letöltési cím a prezentációban, illetve a tanulói jegyzetben Emlékeztető képernyőfotó a telepítésről a tanulói jegyzetben
Helyes megoldások az 1.2. számú mellékletben
Tesztfeladatsor az 1.1. számú mellékletben
Tanári prezentáció a C# környezetről, a .NET keretrendszerről általánosságban Rövid videók a letöltésről, telepítésről, a felület felépítéséről, testre szabásáról
Képzési anyagok, eszközök
A TANÍTÁSI EGYsÉG – témakör címe: A Visual C# Express 2008 beszerzése, telepítése, felfedezése
A TANÍTÁSI EGYSÉG – témakör részletes leírása
Hangsúlyozzuk, hogy az adott választ hol és hogyan sikerült megtalálni!
A gyűjtőmunkát párban is lehet végezni.
N
Amennyiben a gépeken rendelkezésre áll a telepített Visual C# 2008, az otthoni gépre való telepítés házi feladat lehet.
Azt is beszéljük meg, hogy a helytelen válaszok miért nem jók!
A tesztfeladatok kitöltése közben a prezentáció, illetve a videók ne legyenek láthatóak.
Amennyiben a gépen rendelkezésre áll a telepített Visual C# 2008, a tanár be is mutathatja működés közben, a videók mellett vagy helyett.
Egyéb javaslatok
A tanári videók ismertetése: 1. A telepítő letöltése (AINFO11_VID1_01): arról szól, hogy melyik oldalról, hogyan tudjuk letölteni a Visual C# Express 2008 telepítőjét. 2. A telepítés folyamata (AINFO11_VID1_02): a C# Express 2008 telepítését mutatja be, hol, melyik ponton milyen opciókat kell vagy lehet választani. 3. Kezelőfelület: projekt létrehozása, mentése (AINFO11_VID1_03): megmutatja, hogyan tudunk új projektet létrehozni, milyen lehetőségeink vannak, illetve hogyan kell az egész projektet elmenteni. 4. Kezelőfelület: részei, az egyes elemek feladata (AINFO11_VID1_04). A videó részletesen bemutatja a kezelői felület egyes elemeit, a Toolboxot, a Solution Explorert, a Properties ablakot, a menüket, eszköztárakat, és a különféle beépülő ablakokat. Azt is megmutatja, ezeket hol tudjuk megjeleníteni, ha nem látszanak alapból. 5. Kezelőfelület: testre szabás (AINFO11_VID1_05): megmutatja, hogyan tudunk egyénre szabott munkakörnyezetet kialakítani, a felület egyes elemeit elrejteni, összecsukni, illetve áthelyezni. Ennek kapcsán megismertet a dokkolható ablakok kezelésével is. 6. A Súgó használata (AINFO11_VID1_06): bemutatja, hogyan tudunk segítséget kérni. Kitér a környezetérzékeny súgóra, a témakör, illetve index szerinti keresésre, és azt is megmutatja, hogyan tudunk egy kifejezésre keresni.
PETRIK TISZK
AINFO11_TK.indd 7
TÁMOP-2.2.3-07/1-2F-2008-0011
7
2010.02.01. 11:11:40
1.1. SZÁMÚ MELLÉKLET – FELADATOK 1.1. A .NET-es nyelvek fordítóprogramja közvetlenül gépi kódra fordítja le a forráskódot? Húzd alá a helyes választ! Igen Nem 1.2. Definiáld a platformfüggetlenség fogalmát!
1.3. Párosítsd a .NET Framework részeit a funkcióikkal! Írd be az üres oszlopba a kérdéshez (állításhoz, definícióhoz) tartozó válasz betűjelét! 1.
BCL (Base Class Library)
a)
Adatbázisok kezelése
2.
CLR (Common Language Runtime)
b)
A programozási nyelvek közötti különbségek eltüntetése
3.
CLS (Common Language Specification)
c)
Grafikus felületű, Windows-vezérlőket használó alkalmazások
4.
ADO.NET
d)
Egységes felépítésű osztálykönyvtár
5.
Windows Forms
e)
A .NET Framework futtatókörnyezete
1.4. Melyek egy .NET program fordításának lépései? Írd le az üres oszlopba az egyes tevékenységek sorszámát abban a sorrendben, ahogy követik egymást! a)
Fordítás
b)
Futtatás a CLR segítségével
c)
Forráskód elkészítése
d)
Virtuális gépi kód létrejötte
e)
Futás közben valódi gépi kódra való fordítás
1.5. Sorold fel a főbb .NET-es programozási nyelveket!
8
AINFO11_TK.indd 8
BEVEZETÉS A VISUAL C# 2008 HASZNÁLATÁBA • Tanári kézikönyv
11. évfolyam
2010.02.01. 11:11:40
1.2. SZÁMÚ MELLÉKLET – MEGOLDÁSOK 1.1. A .NET-es nyelvek fordítóprogramja közvetlenül gépi kódra fordítja le a forráskódot? Húzd alá a helyes választ! Igen Nem 1.2. Definiáld a platformfüggetlenség fogalmát! A programok fejlesztése független az operációs rendszertől és az azt futtató processzortól.
1.3. Párosítsd a .NET Framework részeit a funkcióikkal! Írd be az üres oszlopba a fogalomhoz tartozó funkció betűjelét! 1.
BCL (Base Class Library)
d)
a)
Adatbázisok kezelése
2.
CLR (Common Language Runtime)
e)
b)
A programozási nyelvek közötti különbségek eltüntetése
3.
CLS (Common Language Specification)
b)
c)
Grafikus felületű, Windows-vezérlőket használó alkalmazások
4.
ADO.NET
a)
d)
Egységes felépítésű osztálykönyvtár
5.
Windows Forms
c)
e)
A .NET Framework futtatókörnyezete
1.4. Melyek egy .NET program fordításának lépései? Írd le az üres oszlopba az egyes tevékenységek sorszámát abban a sorrendben, ahogy követik egymást! a)
Fordítás
2.
b)
Futtatás a CLR segítségével
4.
c)
Forráskód elkészítése
1.
d)
Virtuális gépi kód létrejötte
3.
e)
Futás közben valódi gépi kódra való fordítás
5.
1.5. Sorold fel a főbb .NET-es programozási nyelveket! Basic, C++, C#, J#, JScript.
PETRIK TISZK
AINFO11_TK.indd 9
TÁMOP-2.2.3-07/1-2F-2008-0011
9
2010.02.01. 11:11:40
1.3. SZÁMÚ MELLÉKLET – A TANULÓI JEGYZET FELADATAINAK MEGOLDÁSAI 1.1. Milyen konfigurációjú számítógép szükséges a Visual C# 2008 Express futtatásához? Keresd meg a hardverkövetelményeket a fent megadott oldalon! Töltsd ki a táblázatot! Windows XP
Windows Vista / 7
Windows Server 2008 / 2008 R2
Processzor (CPU)
1 GHz (1,6 GHz az ideális)
1,6 GHz (2,2 GHz az ideális)
2,4 GHz
Memória (RAM)
192 MB (384 MB az ideális)
768 MB (1 GB az ideális)
768 MB (1 GB az ideális)
1.3. Telepítsd fel a Visual C# 2008-at az iskolai számítógépre, amennyiben alkalmas a futtatására, és még nincsen rajta! Gyűjtsd össze, hogy a fent látható komponensen kívül még mit tölt le és telepít a számítógépre! Például: SQL Server 2008 Express, Visual C++ Redistributable, Microsoft .NET Framework, Microsoft .NET Compact Framework, … 1.5.
10
AINFO11_TK.indd 10
BEVEZETÉS A VISUAL C# 2008 HASZNÁLATÁBA • Tanári kézikönyv
11. évfolyam
2010.02.01. 11:11:40
1.6. Melyik elemnek mi a feladata? Írd be az üres oszlopba a kérdéses elemhez tartozó feladatleírás betűjelét! 1.
Toolbox
c)
a)
A Solutionhöz tartozó projektek, és azok állományait tartalmazó ablak
2.
Error list
e)
b)
Az objektumok tulajdonságait és eseményeit tartalmazó ablak
3.
Form Design nézet
d)
c)
A Windows alkalmazás fejlesztéséhez felhasználható komponensek gyűjteménye
4.
Properties
b)
d)
A form grafikai megtervezését megkönnyítő ablak
5.
Solution Explorer
a)
e)
Hibák, figyelmeztetések, üzenetek ablaka
1.7. Írd le, hogyan tudunk váltani a form kinézete (Design) és kódja között! Jobb gomb a formon, majd View Code. Utána pedig a fülecskék segítségével. 1.9. Mire való a kis rajzszög ikon az eszközpaletták jobb felső sarkában? Automatikusan elrejthetjük az egyes eszközpalettákat, vagy rögzítjük őket az ablakhoz. 1.10. Gyűjtsd ki a Súgóból a C# Express 2008 legfontosabb újításait címszavakban! (What’s new in Visual C# Express) Various Compiler Improvements Live Semantic Errors LINQ Query Debugging Task List Comments Are Displayed for All Files in Solution Rename Refactoring in Windows Presentation Foundation Projects
PETRIK TISZK
AINFO11_TK.indd 11
TÁMOP-2.2.3-07/1-2F-2008-0011
11
2010.02.01. 11:11:40
1.11. Keress a Súgóban példát tömbök deklarációjára, és írj le ide legalább két példát! (arrays, examples) // Single-dimensional array (numbers). int[] n1 = new int[4] {2, 4, 6, 8}; int[] n2 = new int[] {2, 4, 6, 8}; int[] n3 = {2, 4, 6, 8}; // Single-dimensional array (strings). string[] s1 = new string[3] {”John”, ”Paul”, ”Mary”}; string[] s2 = new string[] {”John”, ”Paul”, ”Mary”}; string[] s3 = {”John”, ”Paul”, ”Mary”}; // Multidimensional array. int[,] n4 = new int[3, 2] { {1, 2}, {3, 4}, {5, 6} }; int[,] n5 = new int[,] { {1, 2}, {3, 4}, {5, 6} }; int[,] n6 = { {1, 2}, {3, 4}, {5, 6} }; // Jagged array. int[][] n7 = new int[2][] { new int[] {2,4,6}, new int[] {1,3,5,7,9} }; int[][] n8 = new int[][] { new int[] {2,4,6}, new int[] {1,3,5,7,9} }; int[][] n9 = { new int[] {2,4,6}, new int[] {1,3,5,7,9} }; 1.12. A Súgó Search funkcióját használva keress rá a foreach kulcsszóra! Írd le a példakódot, amit találsz! class ForEachTest { static void Main(string[] args) { int[] fibarray = new int[] { 0, 1, 2, 3, 5, 8, 13 }; foreach (int i in fibarray) { System.Console.WriteLine(i); } } }
12
AINFO11_TK.indd 12
BEVEZETÉS A VISUAL C# 2008 HASZNÁLATÁBA • Tanári kézikönyv
11. évfolyam
2010.02.01. 11:11:40
TANÍTÁSI EGYSÉG ÁLTALÁNOS BEMUTATÁSA cím: Windows Forms alkalmazás készítése
Sorszám:
2.
Évfolyam:
11. évfolyam
A tanítási egység típusa Tanóra (45 perc) Gyakorlat (2x45 perc)
Időtartam:
3x45 perc
Célok
Az objektum-orientált programozás alapjainak elsajátítása, a legfontosabb fogalmak ismerete (objektumok, tulajdonságok, események, eseménykezelő metódusok). Egy alap Windows Forms alkalmazás grafikus felületének elkészítése, még kód nélkül. Grafikus komponensek legfontosabb tulajdonságainak, azok lehetséges értékeinek ismerete, a tulajdonságok értékeinek megváltoztatásának elsajátítása tervezési időben és programkódban. Eseménykezelő metódusok megírása, illetve eltávolítása a kódból.
Követelmények
Ismerje az objektum-orientált programozás alapfogalmait, és ezek jelenlétét ismerje fel a grafikus felületen, illetve a programkódban. Legyen képes elkészíteni egy üres Windows Forms alkalmazást, még egyelőre kód nélkül, a legfontosabb komponensek elhelyezésével, az elemek szabályos elrendezésével. Legyen képes az egyes grafikus komponensek tulajdonságainak lekérdezésére, ezek beállítására. Harmonikus színösszeállításokat használjon. Legyen képes a tulajdonságok értékeit kódból is beállítani, eseménykezelő metódusok megírásával. Legyen képes a megírt kódot másik metódusba áthelyezni, és a felesleges metódusokat hiba nélkül eltávolítani.
Informatikai, oktatástechnikai eszközök
Számítógép: 1 db. (Minimum 1 GHz-es processzorral, és 512 MB memóriával, ajánlott: 2 GHz-es processzor, 1 GB memóriával) Projektor, vetítővászon Egyéb, pl. speciális szoftver: Visual C# Express 2008, szélessávú Internetkapcsolat (a Súgóhoz).
Források, javasolt tananyagok, kiadványok, internetes honlapok
Tanári prezentáció: AINFO11_TP2.ppt Videók: AINFO11_VID2.zip Mintaprogramok: AINFO11_Mintaprogramok2.zip
PETRIK TISZK
AINFO11_TK.indd 13
Visual Studio 2008 Express Editions http://www.microsoft.com/express/ (2009. 10. 24.) Illés Zoltán (2008): Programozás C# nyelven (2008-as változat), Budapest: Jedlik Oktatási Stúdió
TÁMOP-2.2.3-07/1-2F-2008-0011
13
2010.02.01. 11:11:41
14
AINFO11_TK.indd 14
BEVEZETÉS A VISUAL C# 2008 HASZNÁLATÁBA • Tanári kézikönyv
11. évfolyam
2010.02.01. 11:11:41
Windows Forms alkalmazás készítése
Ismétlő kérdések az objektumokról
A helyes válaszok megbeszélése
Windows Forms alkalmazás készítése 1.
Windows Forms alkalmazás készítése 2.
Tulajdonságok beállítása kódból
2.
3.
4.
5.
6.
Téma / Altéma
1.
Sorszám
Szintaktikai szabályok követése Súgó használata Értékadások gyakorlása
Szintaktikai szabályok követése Típusfogalom felismerése Egyszerű és összetett tulajdonságok beállítása
Grafikus felület tervezése Precizitás Igényességre törekvés Reprodukció minta alapján
Kommunikáció Önellenőrzés Hibás válaszok korrigálása
Előtte hallott információ felidézése A tanulási folyamat ellenőrzése tesztkérdések segítségével
Megfigyelés Videó, prezentáció nyomon követése
Készség / képesség
Irányított tevékenység
20
40
Önálló manuális tevékenység
Irányított tevékenység
Megbeszélés
20
Frontális osztálymunka
Munkaforma
Egyéni munka
Egyéni munka
Egyéni munka
Frontális osztálymunka
Teszt-feladat- Egyéni munka sor önálló kitöltése
Tanári előadás Videók megtekintése
5
10
30
Időtartam Módszer (perc)
A tanulói jegyzet 2.4. feladatában apró részfeladatokon keresztül gyakoroltatjuk az egyes komponensek tulajdonságainak beállítását (színezés, igazítás, méret, pozíció, betűtípus, betűméret).
2.2. feladat a tanulói jegyzetben: az előző pontban kialakított alkalmazás felületének megtervezése után grafikus felületről, illetve kódból beállítjuk a komponensek alaptulajdonságait. Mintamegoldás: Pelda_WinForms
2.1. feladat a tanulói jegyzetben: képernyőfotó egy alkalmazás kezelői felületéről, amit reprodukálni kell (lehetőleg minél pontosabban, ügyelve a komponensek illeszkedésére)
Helyes megoldások a 2.2. számú mellékletben
Tesztfeladatsor a 2.1. számú mellékletben
Tanári prezentáció a Windows Forms alkalmazásokról, az objektumokról, tulajdonságokról, eseményekről általában Rövid videók az objektumokról, azok elhelyezéséről, igazításáról, jellemző tulajdonságaikról, eseményeikről
Képzési anyagok, eszközök
A TANÍTÁSI EGYsÉG – témakör címe: Windows Forms alkalmazás készítése
Az elkészült programot adják be a tanár által megadott helyre!
Mentsük el és őrizzük meg ezt az alkalmazást, mert a későbbi feladatokhoz szükség lesz rá. (2.3. feladat a tanulói jegyzetben)
Mentsük el és őrizzük meg ezt az alkalmazást, mert a későbbi feladatokhoz szükség lesz rá.
Azt is beszéljük meg, hogy a helytelen válaszok miért nem jók!
A tesztfeladatok kitöltése közben a prezentáció, illetve a videók ne legyenek láthatóak.
Amennyiben a gépen rendelkezésre áll a telepített Visual C# 2008, a tanár be is mutathatja működés közben, a videók mellett vagy helyett.
Egyéb javaslatok
A TANÍTÁSI EGYSÉG – témakör részletes leírása
PETRIK TISZK
AINFO11_TK.indd 15
TÁMOP-2.2.3-07/1-2F-2008-0011
15
2010.02.01. 11:11:41
Az eredmények ös�szegzése
Téma / Altéma
Kommunikáció Önellenőrzés Eredmények összevetése
Készség / képesség 10
Megbeszélés
Időtartam Módszer (perc) Frontális osztálymunka
Munkaforma A 2.4. feladat egy lehetséges megoldása a tanári jegyzet 2.3. számú mellékletében (egy adott feladatot többféleképpen is meg lehet oldani). Mintamegoldás: Tulajdonsagok_Gyakorlas
Képzési anyagok, eszközök
Beszéljük meg, hogy a helyes megoldást hogyan sikerült megtalálni! Házi feladat: a tanulói jegyzet 2.5. és 2.6. feladata.
Egyéb javaslatok
A tanári videók ismertetése: 1. Objektumok, tulajdonságok, események (AINFO11_VID2_01): megmutatja, hogy miképp lehet új objektumot elhelyezni a formra, hogyan lehet az aktív objektumot kiválasztani, és váltani a tulajdonságok és az események között. 2. Objektumok elhelyezése, igazítása (AINFO11_VID2_02): bemutatja, hogyan lehet elhelyezni, átméretezni az egyes objektumokat. Kitér arra is, mi módon lehet esztétikus kezelőfelületeket kialakítani, hogyan lehet egymáshoz igazítani a felület elemeit. 3. Tulajdonságok értékének beállítása, eseménykezelők írása (AINFO11_VID2_03): megmutatja, hogyan tudjuk a különböző típusú tulajdonságok értékeit beállítani, módosítani a kezelőfelületről, hogyan tudunk új eseménykezelőt írni, és meglévőt törölni a kódból.
7.
Sorszám
A TANÍTÁSI EGYsÉG – témakör címe: Windows Forms alkalmazás készítése
2.1. SZÁMÚ MELLÉKLET – FELADATOK 2.1. Definiáld az osztály fogalmát!
2.2. Mi a kapcsolat az osztály, objektum, tulajdonság, esemény, eseménykezelő metódus között? Töltsd ki a táblázatot! Fogalom
Példa
Osztály
Label label1 (típusa: Label) Name
Tulajdonság értéke Click Eseménykezelő metódus 2.3. Melyik jellemzőt melyik tulajdonsággal lehet beállítani? Írd be az üres oszlopba a definícióhoz tartozó válasz betűjelét! 1.
Szélesség
a)
Visible
2.
Magasság
b)
AutoSize
3.
Automatikus méretezés
c)
Height
4.
Távolság az ablak bal szélétől
d)
Enabled
5.
Távolság az ablak tetejétől
e)
Name
6.
Látható
f)
Text
7.
Engedélyezett
g)
Left
8.
Név (mint változó)
h)
Width
9.
Felirat
i)
Top
16
AINFO11_TK.indd 16
BEVEZETÉS A VISUAL C# 2008 HASZNÁLATÁBA • Tanári kézikönyv
11. évfolyam
2010.02.01. 11:11:41
2.4. Nevezd meg az alábbi ábrán található komponenseket!
1. ábra. Windows Forms komponensek
2.5. Egészítsd ki az alábbi eseménykezelő metódus kódját, hogy a következőt tudja: –– A label1 nevű címkét engedje átméretezni, mérete legyen 100x150 pixel. –– Felirata legyen: „Visual C# 2008 Express”. –– Ne legyen látható. private void button1_Click(object sender, EventArgs e) {
}
PETRIK TISZK
AINFO11_TK.indd 17
TÁMOP-2.2.3-07/1-2F-2008-0011
17
2010.02.01. 11:11:41
2.2. SZÁMÚ MELLÉKLET – MEGOLDÁSOK 2.1. Definiáld az osztály fogalmát! Az osztály az azonos tulajdonságokkal (jellemzőkkel) és viselkedéssel rendelkező egyedeket zárja egységbe. 2.2. Mi a kapcsolat az osztály, objektum, tulajdonság, esemény, eseménykezelő metódus között? Töltsd ki a táblázatot! Fogalom
Példa
Osztály
Label
Objektum
label1 (típusa: Label)
Tulajdonság
Name
Tulajdonság értéke
label1
Esemény
Click
Eseménykezelő metódus
label1_Click
2.3. Melyik jellemzőt melyik tulajdonsággal lehet beállítani? Írd be az üres oszlopba a definícióhoz tartozó válasz betűjelét! 1.
Szélesség
h)
a)
Visible
2.
Magasság
c)
b)
AutoSize
3.
Automatikus méretezés
b)
c)
Height
4.
Távolság az ablak bal szélétől
g)
d)
Enabled
5.
Távolság az ablak tetejétől
i)
e)
Name
6.
Látható
a)
f)
Text
7.
Engedélyezett
d)
g)
Left
8.
Név (mint változó)
e)
h)
Width
9.
Felirat
f)
i)
Top
18
AINFO11_TK.indd 18
BEVEZETÉS A VISUAL C# 2008 HASZNÁLATÁBA • Tanári kézikönyv
11. évfolyam
2010.02.01. 11:11:41
2.4. Nevezd meg az alábbi ábrán található komponenseket!
2.5. Egészítsd ki az alábbi eseménykezelő metódus kódját, hogy a következőt tudja: –– A label1 nevű címkét engedje átméretezni, mérete legyen 100x150 pixel. –– Felirata legyen: „Visual C# 2008 Express”. –– Ne legyen látható. private void button1_Click(object sender, EventArgs e)
{
label1.AutoSize = true; label1.Width = 100; label1.Height = 150; label1.Text = ”Visual C# 2008 Express”; label1.Visible = false; }
PETRIK TISZK
AINFO11_TK.indd 19
TÁMOP-2.2.3-07/1-2F-2008-0011
19
2010.02.01. 11:11:42
2.3. SZÁMÚ MELLÉKLET – A TANULÓI JEGYZET FELADATAINAK MEGOLDÁSAI A tanulói jegyzet 2.4. feladatának (egy lehetséges) megoldása: private void button1_Click(object sender, EventArgs e) { button1.Text = ”Form beállítása”; button2.Text = ”Címke beállítása”; button1.AutoSize = true; button2.AutoSize = true; this.Text = ”Tulajdonságok gyakorlása”; this.BackColor = Color.CornflowerBlue; } private void button2_Click(object sender, EventArgs e) { button1.Enabled = false; label1.AutoSize = false; label1.Width = 100; label1.Height = 50; label1.BackColor = Color.GreenYellow; label1.Left = 10; label1.Top = 10; } private void button3_Click(object sender, EventArgs e) { label1.TextAlign = ContentAlignment.MiddleCenter; label1.Font = new Font(label1.Font.FontFamily, label1.Font.Size + 2); label1.Width = label1.Width + 10; label1.Height = label1.Height + 10; }
20
AINFO11_TK.indd 20
BEVEZETÉS A VISUAL C# 2008 HASZNÁLATÁBA • Tanári kézikönyv
11. évfolyam
2010.02.01. 11:11:42
TANÍTÁSI EGYSÉG ÁLTALÁNOS BEMUTATÁSA cím: Adatok beolvasása és kiírása, alapvető adattípusok, típuskonverziók, matematikai és logikai műveletek
Sorszám:
3.
Évfolyam:
11. évfolyam
A tanítási egység típusa Tanóra (45 perc) Gyakorlat (2x45 perc)
Időtartam:
3x45 perc
Célok
Kommunikáció a felhasználóval: adatbevitel billentyűzetről és adatok kiírása. Alapvető adattípusok, és azok lehetséges értékeinek ismerete. A változó fogalmának megismerése, összekapcsolás a típussal, a változók deklarálásának elsajátítása. Különböző típusú változók értékül adásának lehetőségei, az ezzel kapcsolatos rejtett (implicit) és közvetlen (explicit) típuskonverziók végrehajtásának módjai. Az ismert matematikai és logikai műveletek alkalmazási lehetőségeinek megismerése a C# nyelvben.
Követelmények
Legyen képes a grafikus felületen kommunikálni a felhasználóval. Legyen képes adatot beolvasni (TextBox segítségével), illetve az eredményeket megjeleníteni (címkén, MessageBox-ban, illetve ListBoxban). Ismerje az alapvető adattípusokat, tudjon ilyen típusú változókat deklarálni, és legyen képes helyesen értéket adni a változóinak. Ismerje fel azt a helyzetet, amikor a környezet maga végez el típusok közti átalakítást, és szükség esetén legyen képes maga is elvégezni ilyeneket. Legyen képes a matematikában és a matematikai logikában megismert alapműveleteket megvalósítani, és ezek eredményét a képernyőn megjeleníteni.
Informatikai, oktatástechnikai eszközök
Számítógép: 1 db. (Minimum 1 GHz-es processzorral, és 512 MB memóriával, ajánlott: 2 GHz-es processzor, 1 GB memóriával) Projektor, vetítővászon Egyéb, pl. speciális szoftver: Visual C# Express 2008, szélessávú Internetkapcsolat (a Súgóhoz)
Források, javasolt tananyagok, kiadványok, internetes honlapok
Tanári prezentáció: AINFO11_TP3.ppt Mintaprogramok: AINFO11_Mintaprogramok3.zip
PETRIK TISZK
AINFO11_TK.indd 21
Visual Studio 2008 Express Editions http://www.microsoft.com/express/ (2009. 10. 24.) Illés Zoltán (2008): Programozás C# nyelven (2008-as változat), Budapest: Jedlik Oktatási Stúdió
TÁMOP-2.2.3-07/1-2F-2008-0011
21
2010.02.01. 11:11:42
22
AINFO11_TK.indd 22
BEVEZETÉS A VISUAL C# 2008 HASZNÁLATÁBA • Tanári kézikönyv
11. évfolyam
2010.02.01. 11:11:42
40
Grafikus komponensek használata Absztrakt gondolkodás Helyes szintaktika elsajátítása Típusokban gondolkodás Kommunikáció a felhasználóval
Gyakorlás irányított feladatok segítségével, új komponensek megismerése
4.
5
A helyes válaszok megbeszélése
3.
Irányított tevékenység
Megbeszélés
Egyéni munka
Frontális osztálymunka
Teszt-felEgyéni munka adatsor önálló kitöltése
10
Frontális osztálymunka
Munkaforma
Tanári előadás
Módszer
30
Időtartam (perc)
Kommunikáció Önellenőrzés Hibás válaszok korrigálása
Ismétlő kérdések típusok- Előtte hallott információ ról, változókról, konverfelidézése ziókról A tanulási folyamat ellenőrzése tesztkérdések segítségével
2.
Megfigyelés Videó, prezentáció nyomon követése
Készség / képesség
Adatok beolvasása és kiírása, alapvető adattípusok, típuskonverziók, matematikai és logikai műveletek
Téma / Altéma
1.
Sorszám
3.1. feladat a tanulói jegyzetben: lépésről lépésre elkészítünk egy olyan programot, amely adatokat olvas be, számol, majd megjeleníti az eredményeket 3.2. feladat a tanulói jegyzetben: logikai műveletek használatát próbáljuk ki, miközben megtanuljuk a CheckBox használatát 3.3. feladat a tanulói jegyzetben: a ListBox alapvető használatát tanuljuk meg egy nagyon egyszerű alkalmazás elkészítésével.
Helyes megoldások a 3.2. számú mellékletben
Tesztfeladatsor a 3.1. számú mellékletben
Tanári prezentáció az adatbeolvasások mikéntjéről, az ehhez kapcsolódó vizuális komponensek használatáról, a változókról és típusokról, konverziókról, műveletekről
Képzési anyagok, eszközök
N
Azt is beszéljük meg, hogy a helytelen válaszok miért nem jók!
A tesztfeladatok kitöltése közben a prezentáció ne legyen látható.
Amennyiben a gépen rendelkezésre áll a telepített Visual C# 2008, a tanár be is mutathatja mindezt működés közben is.
Egyéb javaslatok
A TANÍTÁSI EGYsÉG – témakör címe: Adatok beolvasása és kiírása, alapvető adattípusok, típuskonverziók, matematikai és logikai műveletek
A TANÍTÁSI EGYSÉG – témakör részletes leírása
PETRIK TISZK
AINFO11_TK.indd 23
TÁMOP-2.2.3-07/1-2F-2008-0011
23
2010.02.01. 11:11:42
Egyszerűbb Windows Forms alkalmazások készítése
Az eredmények összegzése
6.
Téma / Altéma
5.
Sorszám
Kommunikáció Önellenőrzés Eredmények összevetése
Szintaktikai szabályok követése Értékadások gyakorlása Változók, típusok gyakorlása Szöveges feladatok megoldása programozási eszközökkel
Készség / képesség
Önálló manuális tevékenység
Megbeszélés
10
Módszer
40
Időtartam (perc)
Frontális osztálymunka
Egyéni munka
Munkaforma
A feladatok lehetséges megoldásait beszéljük meg (amire jut idő).
További feladatok a tanulói jegyzetben: az eddigi ismeretekre támaszkodva kisebb programokat kell írni (például beolvasni egy téglalap két oldalát, és kiírni a kerületét, területét)
Képzési anyagok, eszközök
Házi feladat: a tanulói jegyzet 3.7. feladata.
A feladatokhoz mellékelt mintamegoldások kódja a tanárok számára hozzáférhető, a diákok csak a futtatható programokat (EXE) kapják meg!
Egyéb javaslatok
A TANÍTÁSI EGYsÉG – témakör címe: Adatok beolvasása és kiírása, alapvető adattípusok, típuskonverziók, matematikai és logikai műveletek
3.1. SZÁMÚ MELLÉKLET – FELADATOK 3.1. Melyik három jellemzőt foglalja magába egy adat típusa? 1. 2. 3. 3.2. Helyesek-e a következő változónevek? Töltsd ki a táblázatot! Változó neve
Helyes / Helytelen?
3alma xyz7
prog?
teglalap terulete teglalap_terulete 3.3. Melyik adattípushoz melyik kulcsszó tartozik? Írd be az üres oszlopba a definícióhoz tartozó válasz betűjelét! 1.
Egész szám
a)
2.
Valós szám
b)
3.
Karakter
c)
4.
Szöveg
d)
5.
Logikai
e)
24
AINFO11_TK.indd 24
bool int
string
char
double
BEVEZETÉS A VISUAL C# 2008 HASZNÁLATÁBA • Tanári kézikönyv
11. évfolyam
2010.02.01. 11:11:42
3.4. Milyen értéket kapnak a változók az alábbi utasítások lefutása után? int x = 7 / 3; int y = 4 * x; double z = x / (double)y; char c = ’f’; string s = c.ToString() + ’a’; bool l = false && true; x = y = z = c = s = l = 3.5. Egészítsd ki az alábbi eseménykezelő metódus kódját, hogy a következőt tudja: –– A textBox1 és textBox2 tartalmát konvertáld egész számmá, és add értékül az ezzel egyidejűleg deklarált x és y nevű egész típusú változóknak. –– Vegyél fel egy z egész számot, és add neki értékül x és y szorzatát. –– Írd ki a z értékét egy címkére, „A z értéke: ” szöveg után! private void button1_Click(object sender, EventArgs e) {
}
PETRIK TISZK
AINFO11_TK.indd 25
TÁMOP-2.2.3-07/1-2F-2008-0011
25
2010.02.01. 11:11:42
3.2. SZÁMÚ MELLÉKLET – MEGOLDÁSOK 3.2. Melyik három jellemzőt foglalja magába egy adat típusa? 1. típusértékhalmaz: milyen halmazból veheti fel az értékeit 2. műveletek: milyen műveleteket lehet végezni ezeken az értékeken 3. szerkezet: hogyan épül fel más típusokból (csak összetett típus esetén) 3.2. Helyesek-e a következő változónevek? Töltsd ki a táblázatot! Változó neve
Helyes / Helytelen?
3alma
helytelen
prog?
helytelen
teglalap_terulete
helyes
xyz7
helyes
teglalap terulete
helytelen
3.3. Melyik adattípushoz melyik kulcsszó tartozik? Írd be az üres oszlopba a definícióhoz tartozó válasz betűjelét! 1.
Egész szám
b)
a)
2.
Valós szám
e)
b)
3.
Karakter
d)
c)
4.
Szöveg
c)
d)
5.
Logikai
a)
e)
bool int
string char
double
3.4. Milyen értéket kapnak a változók az alábbi utasítások lefutása után? int x = 7 / 3; int y = 4 * x; double z = x / (double)y; char c = ’f’; string s = c.ToString() + ’a’; bool l = false && true; x = 2 y = 8
z = 0.25 c = f
s = fa
l = false
26
AINFO11_TK.indd 26
BEVEZETÉS A VISUAL C# 2008 HASZNÁLATÁBA • Tanári kézikönyv
11. évfolyam
2010.02.01. 11:11:42
3.5. Egészítsd ki az alábbi eseménykezelő metódus kódját, hogy a következőt tudja: –– A textBox1 és textBox2 tartalmát konvertáld egész számmá, és add értékül az ezzel egyidejűleg deklarált x és y nevű egész típusú változóknak. –– Vegyél fel egy z egész számot, és add neki értékül x és y szorzatát. –– Írd ki a z értékét egy címkére, „A z értéke: ” szöveg után! private void button1_Click(object sender, EventArgs e) { int x = int.Parse(textBox1.Text); int y = int.Parse(textBox2.Text); int z = x * y; label1.Text = ”A z értéke: ” + z.ToString(); }
PETRIK TISZK
AINFO11_TK.indd 27
TÁMOP-2.2.3-07/1-2F-2008-0011
27
2010.02.01. 11:11:43
TANÍTÁSI EGYSÉG ÁLTALÁNOS BEMUTATÁSA cím: Vezérlési szerkezetek: elágazások, ciklusok
Sorszám:
4.
Évfolyam:
11. évfolyam
A tanítási egység típusa Tanóra (45 perc) Gyakorlat (2x45 perc)
Időtartam:
3x45 perc
Célok
Elágazások megismerése és begyakorlása a C# nyelvben: if, illetve a switchcase utasításpár. Ciklusok megismerése és begyakorlása a C# nyelvben: while, for, illetve dowhile. Bonyolultabb programok írása elágazások és ciklusok segítségével, azok szekvenciájaként.
Követelmények
Legyen képes egy- és két-, valamint többirányú elágazásokat írni, és ezeket egymásba ágyazni. Legyen képes összetett feltételeket megfogalmazni és leírni az ismert logikai műveletek segítségével. Legyen képes programrészeket ismételten végrehajtani ciklusok segítségével. Ismerje fel a for és a while ciklus ikervonásait. Legyen tisztában a hátultesztelő ciklus alkalmazhatóságával. Legyen képes egy összetettebb feladatot megoldani, amelyben elágazások és ciklusok is szerepelnek.
Informatikai, oktatástechnikai eszközök
Számítógép: 1 db. (Minimum 1 GHz-es processzorral, és 512 MB memóriával, ajánlott: 2 GHz-es processzor, 1 GB memóriával) Projektor, vetítővászon Egyéb, pl. speciális szoftver: Visual C# Express 2008, szélessávú Internetkapcsolat (a Súgóhoz).
Források, javasolt tananyagok, kiadványok, internetes honlapok
Tanári prezentáció: AINFO11_TP4.ppt Mintaprogramok: AINFO11_Mintaprogramok4.zip
28
AINFO11_TK.indd 28
Visual Studio 2008 Express Editions http://www.microsoft.com/express/ (2009. 10. 24.) Illés Zoltán (2008): Programozás C# nyelven (2008-as változat), Budapest: Jedlik Oktatási Stúdió
BEVEZETÉS A VISUAL C# 2008 HASZNÁLATÁBA • Tanári kézikönyv
11. évfolyam
2010.02.01. 11:11:43
PETRIK TISZK
AINFO11_TK.indd 29
TÁMOP-2.2.3-07/1-2F-2008-0011
29
2010.02.01. 11:11:43
Elemek szétválogatása, ListBox ismétlése
Elágazások, ciklusok gyakorlása
4.
5.
A helyes válaszok meg- Kommunikáció beszélése Önellenőrzés Hibás válaszok korrigálása
3.
Eddigi ismeretek összegzése Bonyolultabb program készítése, elágazás-ciklus egymásba ágyazása Rendszerezés Matematikai fogalom programozási implementálása
Helyes szintaktika elsajátítása Döntési helyzet megvalósítása programban Programrészletek ismétlése, az ismételt végrehajtás szükségességének felismerése Blokkstruktúra áttekintése Összetett feltételek megfogalmazása
Előtte hallott információ felidézése A tanulási folyamat ellenőrzése tesztkérdések segítségével
Ismétlő kérdések az elágazásokról és ciklusokról
2.
Megfigyelés Videó, prezentáció nyomon követése
Készség / képesség
Vezérlési szerkezetek: elágazások, ciklusok
Téma / Altéma
1.
Sorszám
20
30
5
10
Időtartam (perc) 30
Irányított tevékenység
Irányított tevékenység
Megbeszélés
Képzési anyagok, eszközök
Egyéni munka
Egyéni munka
4.5. feladat a tanulói jegyzetben: ismételt adatbevitellel (ciklusban) kérjünk be a felhasználótól számokat, és válogassuk őket szét párosakra és páratlanokra!
4.1.–4.3. feladat a tanulói jegyzetben: lépésről lépésre elkészítünk három olyan programot, amelyek a különböző típusú elágazásokat gyakoroltatják, és közben átismétlik a grafikus komponensek használatát. 4.4. feladat a tanulói jegyzetben: gyakorlati feladatot oldunk meg az egyes ciklusfajták használatára, ismét csak grafikus komponensek felhasználásával.
Frontális osz- Helyes megoldások a 4.2. számú meltálymunka lékletben
Tesztfeladatsor a 4.1. számú mellékletben
Frontális osz- Tanári prezentáció az elágazások és tálymunka ciklusok fajtáiról, helyes szintaktikájukról
Munkaforma
Egyéni Teszt-feladatsor önál- munka ló kitöltése
Tanári előadás
Módszer
A TANÍTÁSI EGYsÉG – témakör címe: Vezérlési szerkezetek: elágazások, ciklusok
Ehhez szükségünk lesz a Visual Basicben használatos InputBox függvényre
Mozgassuk a formot a képernyőn for és while ciklusok segítségével.
Azt is beszéljük meg, hogy a helytelen válaszok miért nem jók!
A tesztfeladatok kitöltése közben a prezentáció ne legyen látható.
Amennyiben a gépen rendelkezésre áll a telepített Visual C# 2008, a tanár be is mutathat kódrészleteket vagy mintaprogramokat működés közben is.
Egyéb javaslatok
A TANÍTÁSI EGYSÉG – témakör részletes leírása
30
AINFO11_TK.indd 30
BEVEZETÉS A VISUAL C# 2008 HASZNÁLATÁBA • Tanári kézikönyv
11. évfolyam
2010.02.01. 11:11:43
Saját feladatok megoldása ciklusra, elágazásra
Az eredmények ös�szegzése
7.
Téma / Altéma
6.
Sorszám
Kommunikáció Önellenőrzés Eredmények összevetése
Szintaktikai szabályok követése Elágazások, ciklusok gyakorlása Szöveges feladatok megoldása programozási eszközökkel
Készség / képesség
Önálló manuális tevékenység
Megbeszélés
10
Módszer
30
Időtartam (perc) További feladatok a tanulói jegyzetben: az eddigi ismeretekre támaszkodva kell a fejezetben található programokhoz hasonlókat írni.
Képzési anyagok, eszközök
Frontális osz- A feladatok lehetséges megoldásait tálymunka beszéljük meg (amire jut idő).
Egyéni munka
Munkaforma
A TANÍTÁSI EGYsÉG – témakör címe: Vezérlési szerkezetek: elágazások, ciklusok
Házi feladat: a tanulói jegyzet 4.8. feladata.
A feladatokhoz mellékelt mintamegoldások kódja a tanárok számára hozzáférhető, a diákok csak a futtatható programokat (EXE) kapják meg!
Egyéb javaslatok
4.1. SZÁMÚ MELLÉKLET – FELADATOK 4.1. Mikor kell elágazást használnunk a programban? Milyen fajtái vannak?
4.2. Melyik fogalomhoz melyik kulcsszó tartozik? Írd be az üres oszlopba a definícióhoz tartozó válasz betűjelét! 1.
Egy- és kétirányú elágazás
a)
2.
Többirányú elágazás
b)
3.
Számláló ciklus
c)
4.
Elöltesztelő ciklus
d)
5.
Hátultesztelő ciklus
e)
while
if-else
switch-case
do-while
for
4.3. Írd át az alábbi for ciklust while ciklusra! int fakt = 1; for (i=2; i<=10; i++) { fakt *= i; }
4.4. Mi az alapvető különbség az elöl- és a hátultesztelő ciklus között?
PETRIK TISZK
AINFO11_TK.indd 31
TÁMOP-2.2.3-07/1-2F-2008-0011
31
2010.02.01. 11:11:43
4.5. Helyesek-e a következő programrészletek? Ha nem, miért nem? Töltsd ki a táblázatot! Programrészlet
Helyes / Helytelen?
while (i<10) { listBox1.Items.Add(i.ToString()); } if (x>0) { label1.Text=”pozitív”; }
switch (x) { case 1: label1.Text=”egy”; case 2: label1.Text=”kettő”; } switch (x) { case 1: case 2: case 3: label1.Text=”három vagy annál kisebb”; } for (i=0; i<0; i++) { ossz += x; }
32
AINFO11_TK.indd 32
BEVEZETÉS A VISUAL C# 2008 HASZNÁLATÁBA • Tanári kézikönyv
11. évfolyam
2010.02.01. 11:11:43
4.2. SZÁMÚ MELLÉKLET – MEGOLDÁSOK 4.1. Mikor kell elágazást használnunk a programban? Milyen fajtái vannak? Amikor a programban döntési helyzet alakul ki, azaz bizonyos feltétel(ek) teljesülésétől függően mást kell csinálnunk, mint amikor azok nem teljesülnek. Fajtái: –– egy-, illetve kétirányú elágazás –– többirányú elágazás 4.2. Melyik fogalomhoz melyik kulcsszó tartozik? Írd be az üres oszlopba a definícióhoz tartozó válasz betűjelét! 1.
Egy- és kétirányú elágazás
b)
a)
2.
Többirányú elágazás
c)
b)
3.
Számláló ciklus
e)
c)
4.
Elöltesztelő ciklus
a)
d)
5.
Hátultesztelő ciklus
d)
e)
while
if-else
switch-case
do-while for
4.3. Írd át az alábbi for ciklust while ciklusra! int fakt = 1; for (i=2; i<=10; i++) { fakt *= i; }
int fakt = 1; i=2; while (i<=10) { fakt *= i; i++; }
4.4. Mi az alapvető különbség az elöl- és a hátultesztelő ciklus között? Az, hogy az elöltesztelő ciklus nem biztos, hogy akár egyszer is lefut (például ha a feltétel már kezdetben nem teljesül), míg a hátultesztelő biztosan lefut legalább egyszer.
PETRIK TISZK
AINFO11_TK.indd 33
TÁMOP-2.2.3-07/1-2F-2008-0011
33
2010.02.01. 11:11:43
4.5. Helyesek-e a következő programrészletek? Ha nem, miért nem? Töltsd ki a táblázatot! Programrészlet
Helyes / Helytelen?
while (i<10) Helytelen, mert a ciklusmag nem változtatja a { ciklusváltozó értékét, ezért végtelen ciklus az listBox1.Items.Add(i.ToString()); eredmény. } if (x>0) { label1.Text=”pozitív”; }
switch (x) { case 1: label1.Text=”egy”; case 2: label1.Text=”kettő”; } switch (x) { case 1: case 2: case 3: label1.Text=”három vagy annál kisebb”; } for (i=0; i<0; i++) { ossz += x; }
34
AINFO11_TK.indd 34
Helyes.
Helytelen, mert a case ágak végéről hiányzik a break utasítás.
Helyes.
Helytelen, mert a ciklus egyszer sem fut le, hiszen az i kezdőértéke 0, és a ciklus addig menne, amíg az i kisebb mint 0, ami már kezdetben sem teljesül.
BEVEZETÉS A VISUAL C# 2008 HASZNÁLATÁBA • Tanári kézikönyv
11. évfolyam
2010.02.01. 11:11:43
TANÍTÁSI EGYSÉG ÁLTALÁNOS BEMUTATÁSA cím: Összetett adattípusok: rekord, tömb, feltöltés szövegfájlból
Sorszám:
5.
Évfolyam:
11. évfolyam
A tanítási egység típusa Tanóra (45 perc) Gyakorlat (2x45 perc)
Időtartam:
3x45 perc
Célok
Az összetett adattípus jelentőségének felismerése. Ugyanolyan típusú elemek tömbbe szervezési lehetőségeinek felfedezése. Egydimenziós tömb típusú változó deklarálása, helyfoglalás szükségességének megértése, a tömb adatokkal való feltöltése. A rekord (struktúra) típus deklarálási szintaktikájának megismerése. Tömb és rekord kombinálásának elsajátítása. Rekordokból felépített tömb feltöltése szekvenciális szövegfájlból. Eredmények kiírása szövegfájlba.
Követelmények
Ismerje fel az egyszerű adattípusok hiányosságait, az összetett típusok szükségességét. Tudjon egyszerű típusból tömböt készíteni, adott számú elemnek helyet foglalni, a tömböt értékekkel feltölteni, ezeket az értékeket ciklussal kiíratni. Legyen képes összetett típust (rekord) létrehozni, ilyen típusú változót deklarálni, és a mezőit egyesével adatokkal feltölteni. Legyen képes rekord típusú elemekből tömböt felépíteni, adott számú elemnek helyet foglalni, és az ilyen típusú változót szekvenciális szövegfájlból feltölteni. Legyen képes az eredményeket szöveges fájlba kiírni.
Informatikai, oktatástechnikai eszközök
Számítógép: 1 db. (Minimum 1 GHz-es processzorral, és 512 MB memóriával, ajánlott: 2 GHz-es processzor, 1 GB memóriával) Projektor, vetítővászon Egyéb, pl. speciális szoftver: Visual C# Express 2008, szélessávú Internetkapcsolat (a Súgóhoz).
Források, javasolt tananyagok, kiadványok, internetes honlapok
Tanári prezentáció: AINFO11_TP5.ppt Mintaprogramok: AINFO11_Mintaprogramok5.zip
PETRIK TISZK
AINFO11_TK.indd 35
Visual Studio 2008 Express Editions http://www.microsoft.com/express/ (2009. 10. 24.) Illés Zoltán (2008): Programozás C# nyelven (2008-as változat), Budapest: Jedlik Oktatási Stúdió
TÁMOP-2.2.3-07/1-2F-2008-0011
35
2010.02.01. 11:11:44
36
AINFO11_TK.indd 36
BEVEZETÉS A VISUAL C# 2008 HASZNÁLATÁBA • Tanári kézikönyv
11. évfolyam
2010.02.01. 11:11:44
Összetett adattípusok: rekord, tömb, feltöltés szövegfájlból
Ismétlő kérdések a tömbökről, rekordokról, szövegfájlokról
A helyes válaszok megbeszélése
Szövegfájlok kezelése, adatok beolvasása és fájlba írása
Tömbök, rekordok gyakorlása
1.
2.
3.
4.
5.
Sor- Téma / Altéma szám
Helyes szintaktika elsajátítása Összetett adattípus használatának elsajátítása Struktúrában gondolkodás szükségességének felismerése Különféle adatok összefogása, egyben kezelése
Periférián tárolt adatok elérése Írási művelet külső perifériára Fájlban található és memóriában levő típusok megfeleltetése egymásnak Adatabsztrakció
Irányított tevékenység
20
Irányított tevékenység
Megbeszélés
30
Frontális osztálymunka
Egyéni munka
Egyéni munka
Frontális osztálymunka
5.2. feladat a tanulói jegyzetben: oldjunk meg egy feladatot, amelyhez létre kell hozni egy struktúrákból álló tömböt, azt fel kell tölteni szövegfájlból, és a tartalmát ki kell írni egy ListBoxba.
5.1. feladat a tanulói jegyzetben: az előző alkalommal elkészített szétválogatás feladatot írjuk át úgy, hogy szövegfájlból olvassa be a számokat, és oda is írja ki őket! A páros számokat írjuk ki egy másik szövegfájlba!
Helyes megoldások az 5.2. számú mellékletben
Tesztfeladatsor az 5.1. számú mellékletben
Tanári prezentáció a tömbök és rekordok deklarációjáról, használatuk helyes szintaktikájáról, valamint a szövegfájlból feltöltésről és az abba írásról.
Munkaforma Képzési anyagok, eszközök
Teszt-felEgyéni adatsor önál- munka ló kitöltése
Tanári előadás
Módszer
5
10
Előtte hallott információ felidézése A tanulási folyamat ellenőrzése tesztkérdések segítségével Kommunikáció Önellenőrzés Hibás válaszok korrigálása
30
Időtartam (perc)
Megfigyelés Videó, prezentáció nyomon követése
Készség / képesség
A TANÍTÁSI EGYsÉG – témakör címe: Összetett adattípusok: rekord, tömb, feltöltés szövegfájlból
A második tanítási egységben (Windows Forms alkalmazás készítése) megtervezett programot használjuk fel. Ez már bevezetés a következő témához, azaz a programozási tételekhez.
Használjuk fel a múltkori feladatot, írjuk át azt!
Azt is beszéljük meg, hogy a helytelen válaszok miért nem jók!
A tesztfeladatok kitöltése közben a prezentáció ne legyen látható.
Amennyiben a gépen rendelkezésre áll a telepített Visual C# 2008, a tanár be is mutathat kódrészleteket vagy mintaprogramokat működés közben is.
Egyéb javaslatok
A TANÍTÁSI EGYSÉG – témakör részletes leírása
PETRIK TISZK
AINFO11_TK.indd 37
TÁMOP-2.2.3-07/1-2F-2008-0011
37
2010.02.01. 11:11:44
Saját feladatok megoldása tömbre, rekordokra, fájlkezelésre
Az eredmények összegzése
6.
7.
Sor- Téma / Altéma szám
Kommunikáció Önellenőrzés Eredmények összevetése
Szintaktikai szabályok követése Tömbök, rekordok gyakorlása Szöveges feladatok megoldása programozási eszközökkel
Készség / képesség
Önálló manuális tevékenység
Megbeszélés
10
Módszer
30
Időtartam (perc)
Frontális osztálymunka
Egyéni munka
A feladatok lehetséges megoldásait beszéljük meg (amire jut idő).
További feladatok a tanulói jegyzetben: egy egyszerű és egy összetett adattípust használó feladat segítségével lehet begyakorolni a tömbök, struktúrák, szövegfájlok használatát.
Munkaforma Képzési anyagok, eszközök
A TANÍTÁSI EGYsÉG – témakör címe: Összetett adattípusok: rekord, tömb, feltöltés szövegfájlból
Házi feladat: a tanulói jegyzet 5.5. feladata.
A feladatokhoz mellékelt mintamegoldások kódja a tanárok számára hozzáférhető, a diákok csak a futtatható programokat (EXE) kapják meg!
Egyéb javaslatok
5.1. SZÁMÚ MELLÉKLET – FELADATOK 5.1. Melyek egy szövegfájlból történő beolvasás lépései? Írd le az üres oszlopba az egyes tevékenységek sorszámát abban a sorrendben, ahogy követik egymást! a)
Fájl létezésének ellenőrzése
b)
Fájl bezárása
c)
Sorok beolvasása (ciklusban)
d)
Olvasás, amíg nincs vége a fájlnak
e)
A „using” lista kibővítése
f)
Fájltípus deklarációja és a fájl megnyitása
5.2. Mikor kell tömböt használnunk a programunkban?
5.3. Adott a következő struktúra. Írd le azokat az utasításokat, amelyek a struktúra felhasználásával egy legfeljebb 200 elemű tömböt hoznak létre! struct Rekord { public string orszag; public int terulet; }
5.4. Melyik fogalomhoz melyik kulcsszó tartozik? Írd be az üres oszlopba a definícióhoz tartozó válasz betűjelét! 1.
Olvasásra megnyitható fájl típusa
a)
2.
Fájl létezésének ellenőrzése
b)
3.
Fájl végének ellenőrzése
c)
4.
Megnyitás olvasásra
d)
5.
Sor beolvasása
e)
6.
Fájl bezárása
f)
38
AINFO11_TK.indd 38
f.Close()
StreamReader
f.ReadLine()
f.EndOfStream File.OpenText File.Exists
BEVEZETÉS A VISUAL C# 2008 HASZNÁLATÁBA • Tanári kézikönyv
11. évfolyam
2010.02.01. 11:11:44
5.5. Helyesek-e a következő programrészletek? Ha nem, miért nem? Töltsd ki a táblázatot! Programrészlet
Helyes / Helytelen?
struct Rek { int x; }
v.orszag[i] = ”Malajzia”; int[] v = new int[100]; v(2) = 24;
label1.Text = v[i].ToString(); while ( !f.EndOfStream ) { string sor = f.ReadLine(); f.Close(); }
PETRIK TISZK
AINFO11_TK.indd 39
TÁMOP-2.2.3-07/1-2F-2008-0011
39
2010.02.01. 11:11:44
5.2. SZÁMÚ MELLÉKLET – MEGOLDÁSOK 5.1. Melyek egy szövegfájlból történő beolvasás lépései? Írd le az üres oszlopba az egyes tevékenységek sorszámát abban a sorrendben, ahogy követik egymást! a)
Fájl létezésének ellenőrzése
2.
b)
Fájl bezárása
6.
c)
Sorok beolvasása (ciklusban)
5.
d)
Olvasás, amíg nincs vége a fájlnak
4.
e)
A „using” lista kibővítése
1.
f)
Fájltípus deklarációja és a fájl megnyitása
3.
5.2. Mikor kell tömböt használnunk a programunkban? Több, azonos típusú adat tárolására.
5.3. Adott a következő struktúra. Írd le azokat az utasításokat, amelyek a struktúra felhasználásával egy legfeljebb 200 elemű tömböt hoznak létre! struct Rekord { public string orszag; public int terulet; }
const int MAX=200; Rekord[] v = new Rekord[MAX];
5.4. Melyik fogalomhoz melyik kulcsszó tartozik? Írd be az üres oszlopba a definícióhoz tartozó válasz betűjelét! 1.
Olvasásra megnyitható fájl típusa
b)
a)
2.
Fájl létezésének ellenőrzése
f)
b)
3.
Fájl végének ellenőrzése
d)
c)
4.
Megnyitás olvasásra
e)
d)
5.
Sorok beolvasása
c)
e)
6.
Fájl bezárása
a)
f)
40
AINFO11_TK.indd 40
f.Close()
StreamReader
f.ReadLine()
f.EndOfStream
File.OpenText File.Exists
BEVEZETÉS A VISUAL C# 2008 HASZNÁLATÁBA • Tanári kézikönyv
11. évfolyam
2010.02.01. 11:11:44
5.5. Helyesek-e a következő programrészletek? Ha nem, miért nem? Töltsd ki a táblázatot! Programrészlet
Helyes / Helytelen?
struct Rek { int x; }
Nem helyes, mert ha nem használjuk a public kulcsszót, akkor a mező nem lesz kívülről elérhető.
v.orszag[i] = ”Malajzia”;
Nem helyes, mert így nem a vektor i. elemének ország mezőjét érjük el.
int[] v = new int[100];
Helyes.
label1.Text = v[i].ToString();
Helyes, amennyiben egy ciklusban van ez az utasítás.
while ( !f.EndOfStream ) { string sor = f.ReadLine(); f.Close(); }
Helytelen, mert a fájl bezárása a ciklusban van, ami a következő feltételvizsgálatnál hibát eredményez.
v(2) = 24;
PETRIK TISZK
AINFO11_TK.indd 41
Nem helyes, mert indexeléshez a [] használható.
TÁMOP-2.2.3-07/1-2F-2008-0011
41
2010.02.01. 11:11:44
TANÍTÁSI EGYSÉG ÁLTALÁNOS BEMUTATÁSA cím: Alapvető programozási tételek megvalósítása
Sorszám:
6.
Évfolyam:
11. évfolyam
A tanítási egység típusa Tanóra (45 perc) Gyakorlat (2x45 perc)
Időtartam:
3x45 perc
Célok
Típusfeladatok hasonló megoldásának felismerése. Tömb elemeinek összeadása, átlagszámítás az összegzés programozási tételével. Valamilyen feltételnek megfelelő elemek számlálása a megszámlálás tétellel. Legnagyobb és legkisebb elem kiválasztása maximum- és minimumkiválasz tással. Adott, illetve adott tulajdonságú elem megkeresése lineáris kereséssel.
Követelmények
Legyen képes felismerni, hogy számos feladat megoldása hasonló, ezért adható rájuk általános megoldás, amelyet csak alkalmazni kell a konkrét feladat megoldására. Legyen képes különböző struktúrájú adatokon összegzést, átlagszámítást végezni. Legyen képes adott tulajdonságú elemeket megszámolni egy sorozatban. Legyen képes egy sorozat legkisebb, illetve legnagyobb elemének kiválasztására. Legyen tisztában azzal, hogy mit jelent a legkisebb-legnagyobb elem számok, illetve szövegek esetén. Legyen képes egy sorozatban adott elemet, illetve egy feltételnek megfelelő tagot megkeresni. Közölje azt is, ha ilyen nem található.
Informatikai, oktatástechnikai eszközök
Számítógép: 1 db. (Minimum 1 GHz-es processzorral, és 512 MB memóriával, ajánlott: 2 GHz-es processzor, 1 GB memóriával) Projektor, vetítővászon Egyéb, pl. speciális szoftver: Visual C# Express 2008, szélessávú Internetkapcsolat (a Súgóhoz).
Források, javasolt tananyagok, kiadványok, internetes honlapok
Tanári prezentáció: AINFO11_TP6.ppt Mintaprogramok: AINFO11_Mintaprogramok6.zip
42
AINFO11_TK.indd 42
Visual Studio 2008 Express Editions http://www.microsoft.com/express/ (2009. 10. 24.) Illés Zoltán (2008): Programozás C# nyelven (2008-as változat), Budapest: Jedlik Oktatási Stúdió
BEVEZETÉS A VISUAL C# 2008 HASZNÁLATÁBA • Tanári kézikönyv
11. évfolyam
2010.02.01. 11:11:45
PETRIK TISZK
AINFO11_TK.indd 43
TÁMOP-2.2.3-07/1-2F-2008-0011
43
2010.02.01. 11:11:45
Az eredmények összegzése
Programozási tételek szám típusú adatokon
4.
6.
A helyes válaszok megbeszélése
3.
Saját feladat kiegészítése programozási tételekkel
Ismétlő kérdések a programozási tételekről
2.
5.
Alapvető programozási tételek megvalósítása
Téma / Altéma
1.
Sorszám
Kommunikáció Önellenőrzés Eredmények összevetése
Szintaktikai szabályok követése Programozási tételek gyakorlása Implementálás a tanult vezérlési szerkezetek segítségével Szöveges feladatok megoldása programozási eszközökkel
Adatabsztrakció Visszavezetés Algoritmus alkalmazása konkrét feladatra Programozási tételek: összegzés, megszámlálás, minimumkiválasztás, lineáris keresés
Kommunikáció Önellenőrzés Hibás válaszok korrigálása
Előtte hallott információ felidézése A tanulási folyamat ellenőrzése tesztkérdések segítségével
Megfigyelés Videó, prezentáció nyomon követése
Készség / képesség
10
Megbeszélés
Önálló manuális tevékenység
Irányított tevékenység
40
40
Megbeszélés
Teszt-feladatsor önálló kitöltése
Tanári előadás
Módszer
5
10
30
Időtartam (perc)
Frontális osztálymunka
Egyéni munka
Egyéni munka
Azt is beszéljük meg, hogy a helytelen válaszok miért nem jók!
A tesztfeladatok kitöltése közben a prezentáció ne legyen látható.
Amennyiben a gépen rendelkezésre áll a telepített Visual C# 2008, a tanár be is mutathat kódrészleteket vagy mintaprogramokat működés közben is.
Egyéb javaslatok
A feladatok lehetséges megoldásait beszéljük meg (amire jut idő).
6.2. feladat a tanulói jegyzetben: a második tanítási egységben megtervezett és az előző fejezetben kiegészített programot kell tovább írni önállóan a programozási tételek és a jegyzetben megadott segítségek felhasználásával.
Házi feladat: a tanulói jegyzet 6.3. feladata.
A feladathoz mellékelt mintamegoldások kódja a tanárok számára hozzáférhető, a diákok csak a futtatható programokat (EXE) kapják meg!
6.1. feladat a tanulói jegyzetben: az elő- Használjuk fel a múltkori ző alkalommal elkészített szétválogatás feladatot, írjuk át azt! feladatot írjuk tovább. Az ugyanis már tartalmaz egy egész típusú értékeket tartalmazó tömböt, feltöltve adatokkal, próbáljuk ki rajta az elemi programozási tételeket!
Helyes megoldások a 6.2. számú mellékletben
Tesztfeladatsor a 6.1. számú mellékletben
Egyéni munka
Frontális osztálymunka
Tanári prezentáció az alapvető programozási tételekről (összegzés, megszámlálás, minimum- és maximumkiválasztás, lineáris keresés), ezek alkalmazásáról konkrét feladatok megoldására.
Képzési anyagok, eszközök
Frontális osztálymunka
Munkaforma
A TANÍTÁSI EGYsÉG – témakör címe: Alapvető programozási tételek megvalósítása
A TANÍTÁSI EGYSÉG – témakör részletes leírása
6.1. SZÁMÚ MELLÉKLET – FELADATOK 6.1. Mit nevezünk programozási tételnek?
6.2. Melyik feladathoz melyik programozási tétel tartozik? Írd be az üres oszlopba a definícióhoz tartozó válasz betűjelét! 1.
Válasszuk ki a vektor legnagyobb elemét!
a)
2.
Számoljuk meg, hogy a vektorban hány darab, adott tulajdonságú elem található!
Összegzés
b)
Lineáris keresés
3.
Számítsuk ki a vektor elemeinek összegét!
c)
4.
Keressük meg a vektor első adott tulajdonságú elemét!
Megszámlálás
d)
Maximumkiválasztás
6.3. Adott a következő struktúra, amely a tömbünk bázistípusa. Írd át a minimumkiválasztást maximumkiválasztásra, úgy, hogy a legnagyobb területű országot adja meg! struct Rekord { public string orszag; public int terulet; }
min := 1 ciklus i:=2-től n-ig ha v[i]
6.4. Írd le a lineáris keresés feladatát, és a programozási tétel algoritmusát!
44
AINFO11_TK.indd 44
BEVEZETÉS A VISUAL C# 2008 HASZNÁLATÁBA • Tanári kézikönyv
11. évfolyam
2010.02.01. 11:11:45
6.5. Mi a hiba a következő programozási tételek kódjában? (Több is lehet.) Töltsd ki a táblázatot! Programrészlet
Hiba (hibák)
for (int i=0; i
if (v[i]%2) { l = true; }
PETRIK TISZK
AINFO11_TK.indd 45
TÁMOP-2.2.3-07/1-2F-2008-0011
45
2010.02.01. 11:11:45
6.2. SZÁMÚ MELLÉKLET – MEGOLDÁSOK 6.1. Mit nevezünk programozási tételnek? Vannak olyan típusfeladatok, amelyeket igen hasonlóan kell megoldani. Ezen feladatok megoldására általános algoritmusokat adunk, amelyeket programozási tételeknek nevezünk. 6.2. Melyik feladathoz melyik programozási tétel tartozik? Írd be az üres oszlopba a definícióhoz tartozó válasz betűjelét! 1.
Válasszuk ki a vektor legnagyobb elemét!
d)
a)
2.
Számoljuk meg, hogy a vektorban hány darab, adott tulajdonságú elem található!
Összegzés
c)
b)
Lineáris keresés
3.
Számítsuk ki a vektor elemeinek összegét!
a)
c)
4.
Keressük meg a vektor első adott tulajdonságú elemét!
Megszámlálás
b)
d)
Maximumkiválasztás
6.3. Adott a következő struktúra, amely a tömbünk bázistípusa. Írd át a minimumkiválasztást maximumkiválasztásra, úgy, hogy a legnagyobb területű országot adja meg! struct Rekord { public string orszag; public int terulet; }
min := 1 ciklus i:=2-től n-ig ha v[i]
max := 1 ciklus i:=2-től n-ig ha v[i].terulet>v[max].terulet akkor max := i ciklus vége.
6.4. Írd le a lineáris keresés feladatát, és a programozási tétel algoritmusát! Adott a v[1..n] vektor, amelynek elemein értelmezhető az adott tulajdonságfüggvény. Keressük meg a vektor első adott tulajdonságú elemét! Az l logikai változó legyen igaz, ha sikerült találni ilyen elemet, és ekkor az i tartalmazza az első adott tulajdonságú elem indexét. Algoritmus: i := 1 ciklus amíg i<=n és NEM(v[i] adott tulajdonságú) i := i+1 ciklus vége. l := (i<=n) 46
AINFO11_TK.indd 46
BEVEZETÉS A VISUAL C# 2008 HASZNÁLATÁBA • Tanári kézikönyv
11. évfolyam
2010.02.01. 11:11:45
6.5. Mi a hiba a következő programozási tételek kódjában? (Több is lehet.) Töltsd ki a táblázatot! Programrészlet
Hiba (hibák)
for (int i=0; i
Az ossz változó értékét nem nullázzuk, és az értékadás fordítva szerepel.
for (int i=0; i
int min = 0; for (int i=1; i
int i = -1; while (i
PETRIK TISZK
AINFO11_TK.indd 47
A darab változó értékét nem szabad a ciklusban nullázni!
A ciklusban csökkentjük a ciklusváltozó értékét növelés helyett, és a minimumnak nem az indexet adjuk értékül, hanem a vektor elemét.
Az adott tulajdonság teljesülését nem vizsgáljuk a ciklusfeltételben, ezért a ciklus csak „végigszalad” az indexeken. A ciklus utáni elágazás rossz helyen van, és a feltétele hibás, mert a maradék értékét nem hasonlítja össze semmivel.
TÁMOP-2.2.3-07/1-2F-2008-0011
47
2010.02.01. 11:11:45
TANÍTÁSI EGYSÉG ÁLTALÁNOS BEMUTATÁSA cím: Hibák, hibaüzenetek és kezelésük
Sorszám:
7.
Évfolyam:
11. évfolyam
A tanítási egység típusa Tanóra (45 perc) Gyakorlat (2x45 perc)
Időtartam:
3x45 perc
Célok
A programozási hibák felosztása szintaktikai és szemantikai hibákra. Szintaktikai hibák azonnali javítása a szerkesztő szolgáltatásainak segítségével. A fordító angol nyelvű hibaüzeneteinek megértése, a hiba helyének lokalizálása. Szemantikai hibák felismerése, csoportosítása. A fejlesztőkörnyezet szolgáltatásainak (töréspont, lépésenkénti futtatás, változó-betekintés) használatának elsajátítása konkrét példákon (hibás programok javításán) keresztül.
Követelmények
Legyen képes a programozási hibákat szintaktikai és szemantikai hibákra osztani. Legyen képes a szintaktikai hibák nagy részének azonnali javítására a szerkesztő szolgáltatásainak felhasználásával. Legyen képes megérteni a leggyakoribb fordítói üzeneteket, és ismerje fel, hogy a hibajelzés melyik programsorra vonatkozik. Ismerje a szemantikus hibákból adódó legtipikusabb következményeket (a program nem áll le, illetve kivétel dobásával áll le, vagy nem azt csinálja, amit mi szeretnénk). Ismerje a fejlesztői környezet szolgáltatásait, amellyel ezek a hibák kiszűrhetők.
Informatikai, oktatástechnikai eszközök
Számítógép: 1 db. (Minimum 1 GHz-es processzorral, és 512 MB memóriával, ajánlott: 2 GHz-es processzor, 1 GB memóriával) Projektor, vetítővászon Egyéb, pl. speciális szoftver: Visual C# Express 2008, szélessávú Internetkapcsolat (a Súgóhoz).
Források, javasolt tananyagok, kiadványok, internetes honlapok
Tanári prezentáció: AINFO11_TP7.ppt Videók: AINFO11_VID7.zip Mintaprogramok: AINFO11_Mintaprogramok7.zip
48
AINFO11_TK.indd 48
Visual Studio 2008 Express Editions http://www.microsoft.com/express/ (2009. 10. 24.) Illés Zoltán (2008): Programozás C# nyelven (2008-as változat), Budapest: Jedlik Oktatási Stúdió
BEVEZETÉS A VISUAL C# 2008 HASZNÁLATÁBA • Tanári kézikönyv
11. évfolyam
2010.02.01. 11:11:45
PETRIK TISZK
AINFO11_TK.indd 49
TÁMOP-2.2.3-07/1-2F-2008-0011
49
2010.02.01. 11:11:46
Hibák, hibaüzenetek és kezelésük
Ismétlő kérdések a hibákról, hibaüzenetekről
A helyes válaszok megbeszélése
Szintaktikai hibák javítása
Szemantikai hibák javítása
2.
3.
4.
5.
Téma / Altéma
1.
Sorszám
Hibakeresés és -javítás Nyomkövetési technikák Analizálás Algoritmus, illetve programkód követése, „lejátszása” fejben
Kategorizálás Gépelési pontosság javítása Angol nyelvű szövegértés Hiba helyének lokalizálása Eligazodás a programkódban
Kommunikáció Önellenőrzés Hibás válaszok korrigálása
Előtte hallott információ felidézése A tanulási folyamat ellenőrzése tesztkérdések segítségével
Megfigyelés Videó, prezentáció nyomon követése
Készség / képesség
Irányított tevékenység
Irányított tevékenység
20
30
Megbeszélés
Teszt-feladatsor önálló kitöltése
Tanári előadás
Módszer
5
10
30
Időtartam (perc) Tanári prezentáció az alapvető hibatípusokról (szintaktikai, szemantikai), ezek kezelésének lehetőségeiről, a fordító eszközeiről, és a legfontosabb hibaüzenetekről.
Képzési anyagok, eszközök
Helyes megoldások a 7.2. számú mellékletben
Egyéni mun- 7.2. feladat a tanulói jegyzetben: egy ka szemantikai hibáktól hemzsegő kis programban lépésről lépésre javítsuk ki a hibákat, közben figyeljük és próbáljuk megjegyezni a fordító üzeneteit. Használjuk a szerkesztő nyomkövető és hibakereső eszközeit!
Egyéni mun- 7.1. feladat a tanulói jegyzetben: egy ka szintaktikai hibáktól hemzsegő kis programban lépésről lépésre javítsuk ki a hibákat, közben figyeljük és próbáljuk megjegyezni a fordító üzeneteit.
Frontális osztálymunka
Egyéni mun- Tesztfeladatsor a 7.1. számú mellékletka ben
Frontális osztálymunka
Munkaforma
A TANÍTÁSI EGYsÉG – témakör címe: Hibák, hibaüzenetek és kezelésük
Adjuk ki az előre elkészített, hibás kódot a gyerekeknek! (A helyes változat is megtalálható, a munkák ellenőrzéséhez.)
Adjuk ki az előre elkészített, hibás kódot a gyerekeknek! (A helyes változat is megtalálható, a munkák ellenőrzéséhez.)
Azt is beszéljük meg, hogy a helytelen válaszok miért nem jók!
A tesztfeladatok kitöltése közben a prezentáció ne legyen látható.
Amennyiben a gépen rendelkezésre áll a telepített Visual C# 2008, a tanár be is mutathat kódrészleteket vagy mintaprogramokat működés közben is, a videók helyett vagy mellett.
Egyéb javaslatok
A TANÍTÁSI EGYSÉG – témakör részletes leírása
50
AINFO11_TK.indd 50
BEVEZETÉS A VISUAL C# 2008 HASZNÁLATÁBA • Tanári kézikönyv
11. évfolyam
2010.02.01. 11:11:46
Az eredmények ös�szegzése
7.
Kommunikáció Önellenőrzés Eredmények összevetése
Eligazodás a programkódban Nyomkövetési technikák alkalmazása
Készség / képesség
Önálló manuális tevékenység
Megbeszélés
10
Módszer
30
Időtartam (perc)
Képzési anyagok, eszközök
Frontális osztálymunka
A feladatok lehetséges megoldásait beszéljük meg (amire jut idő).
Egyéni mun- 7.3. feladat a tanulói jegyzetben: az ka eddigiek alkalmazása egy olyan programkódon, amely vegyesen vonultat fel mindkét hibatípusból, melyeket ki kell javítani. A program úgy sorsol véletlenszerűen öt számot 1 és 90 között, hogy azok között ne legyen két egyforma érték. Ez majd a projektfeladathoz is jól jön a gyerekeknek.
Munkaforma
Házi feladat: a tanulói jegyzet 7.4. feladata. (Kutakodás, internetes keresés)
Adjuk ki az előre elkészített, hibás kódot a gyerekeknek! (A helyes változat is megtalálható, a munkák ellenőrzéséhez.)
Egyéb javaslatok
A tanári videók ismertetése: 1. Szintaktikai hibák és javításuk (AINFO11_VID7_01): a videó bemutatja, milyen szintaktikai hibákat követhetünk el, ezekre a fordító hogyan reagál, miképp lehet menet közben javítani, mik a legjellemzőbb hibaüzenetek, és az egyes hibákat hogyan tudjuk a legegyszerűbben javítani. 2. Hibakeresési és nyomkövetési eszközök (AINFO11_VID7_02): szemantikai hibák javításához nyújt segítséget a videó. Megmutatja, hogyan lehet a nehezen felderíthető hibákat töréspont, lépésenkénti futtatás, illetve a változók értékébe történő betekintés segítségével gyorsan, könnyen javítani.
Önálló hibakeresés
Téma / Altéma
6.
Sorszám
A TANÍTÁSI EGYsÉG – témakör címe: Hibák, hibaüzenetek és kezelésük
7.1. SZÁMÚ MELLÉKLET – FELADATOK 7.1. Egészítsd ki az alábbi mondatot! A programozási nyelv szabályainak figyelmen kívül hagyása . .................................................................., míg a hibás kódolás vagy hibás algoritmus használata . ........................................................................................................................... hibát eredményez. 7.2. Melyik hibaüzenethez melyik magyarázat tartozik? Írd be az üres oszlopba a definícióhoz tartozó válasz betűjelét! Nem lehet automatikusan az egyik típusról a másikra konvertálni.
1.
’karakter’ expected
a)
2.
The name ’név’ does not exist in the current context
Az adott változót úgy akartuk haszb) nálni, hogy nem adtunk neki előtte értéket.
3.
Operator ’op’cannot be applied to operands of type ’típus1’ and ’típus2’
c)
4.
Use of unassigned local variable ’változónév’
Valószínűleg elgépelésből adódó hid) bás név nem értelmezhető az adott tartományban.
5.
Cannot implicitly convert type ’típus1’ to ’típus2’
e)
Az adott helyről a megadott karakter hiányzik.
Az adott műveleti jel nem alkalmazható az adott típusokra.
7.3. A szintaktikailag hibás programot le lehet fordítani a hibás sorok kihagyásával? Húzd alá a helyes választ! Igen Nem
PETRIK TISZK
AINFO11_TK.indd 51
TÁMOP-2.2.3-07/1-2F-2008-0011
51
2010.02.01. 11:11:46
7.4. Melyek egy hibás program javításának lépései? Írd le az üres oszlopba az egyes tevékenységek sorszámát abban a sorrendben, ahogy követik egymást! a)
Hiba kijavítása
b)
Töréspont beiktatása
c)
Lépésenkénti futtatás
d)
Lokális változók figyelése
e)
Edit and Continue (folytatás újrafordítás nélkül)
7.5. Szintaktikai vagy szemantikai a hiba a következő programrészletek kódjában? Írd le azt is, mi a hiba! Töltsd ki a táblázatot! Programrészlet
Hiba fajtája és leírása
for (int i=0; i
for (int i=0; i
int i = -1; int n = 0; while (i
52
AINFO11_TK.indd 52
BEVEZETÉS A VISUAL C# 2008 HASZNÁLATÁBA • Tanári kézikönyv
11. évfolyam
2010.02.01. 11:11:46
7.2. SZÁMÚ MELLÉKLET – MEGOLDÁSOK 7.1. Egészítsd ki az alábbi mondatot! A programozási nyelv szabályainak figyelmen kívül hagyása szintaktikai, míg a hibás kódolás vagy hibás algoritmus használata szemantikai hibát eredményez.
7.2. Melyik hibaüzenethez melyik magyarázat tartozik? Írd be az üres oszlopba a definícióhoz tartozó válasz betűjelét! a)
Nem lehet automatikusan az egyik típusról a másikra konvertálni.
d)
b)
Az adott változót úgy akartuk használni, hogy nem adtunk neki előtte értéket.
3.
Operator ’op’cannot be applied to operands of type ’típus1’ and ’típus2’
e)
c)
Az adott helyről a megadott karakter hiányzik.
4.
Use of unassigned local variable ’változónév’
b)
d)
Valószínűleg elgépelésből adódó hibás név nem értelmezhető az adott tartományban.
5.
Cannot implicitly convert type ’típus1’ to ’típus2’
a)
e)
Az adott műveleti jel nem alkalmazható az adott típusokra.
1.
’karakter’ expected
2.
The name ’név’ does not exist in the current context
c)
7.3. A szintaktikailag hibás programot le lehet fordítani? Húzd alá a helyes választ! Igen Nem 7.4. Melyek egy hibás program javításának lépései? Írd le az üres oszlopba az egyes tevékenységek sorszámát abban a sorrendben, ahogy követik egymást! a)
Hiba kijavítása
4.
b)
Töréspont beiktatása
1.
c)
Lépésenkénti futtatás
2.
d)
Lokális változók figyelése
3.
e)
Edit and Continue (folytatás újrafordítás nélkül)
5.
PETRIK TISZK
AINFO11_TK.indd 53
TÁMOP-2.2.3-07/1-2F-2008-0011
53
2010.02.01. 11:11:46
7.5. Szintaktikai vagy szemantikai a hiba a következő programrészletek kódjában? Írd le azt is, mi a hiba! Töltsd ki a táblázatot! Programrészlet
Hiba fajtája és leírása
for (int i=0; i
Szintaktikai hiba, a „}” hiányzik a végéről.
itt min = 0;
Szintaktikai hiba, „itt” nevű típus nincsen, vagy a programkódban előtte nem deklaráltunk ilyet.
int i = -1; int n = 0; while (i
Szemantikai hiba, végtelen ciklus alakul ki, mert az „i” értéke nem változik a ciklusmagban.
for (int i=0; i
int x = 15; double y = 4.0; textBox1.Text = x*y;
54
AINFO11_TK.indd 54
Szemantikai hiba, a „db” változót a ciklus minden lépésében nullázza, így legfeljebb 1 lehet az értéke a végén.
Szintaktikai hiba, a harmadik sorban string típusú változónak nem lehet számot közvetlenül értékül adni.
BEVEZETÉS A VISUAL C# 2008 HASZNÁLATÁBA • Tanári kézikönyv
11. évfolyam
2010.02.01. 11:11:46
TANÍTÁSI EGYSÉG ÁLTALÁNOS BEMUTATÁSA cím: K ivételek kezelése, ellenőrzött adatbevitel
Sorszám:
8.
Évfolyam:
11. évfolyam
A tanítási egység típusa Tanóra (45 perc) Gyakorlat (2x45 perc)
Időtartam:
3x45 perc
Célok
„Bolondbiztos” programok készítése. Kivételes helyzetek (nullával osztás, helytelen adattípus bevitele) kezelése alapszintű kivételkezelés felhasználásával. Felhasználói adatbevitel ellenőrzése hátultesztelő ciklus segítségével.
Követelmények
Legyen képes olyan programot írni, amely a felhasználó által elkövetett hibákat is kezeli és képes azok káros következményeit elkerülni. Ismerje a kivételkezelés technikáját, felhasználhatóságát. Legyen képes olyan programot írni, amely csak akkor engedi tovább egy adott pontról a felhasználót, amikor a követelményeknek megfelelő értéket adott meg. Ismerje a hátultesztelő ciklus alkalmazhatóságát ilyen esetekben.
Informatikai, oktatástechnikai eszközök
Számítógép: 1 db. (Minimum 1 GHz-es processzorral, és 512 MB memóriával, ajánlott: 2 GHz-es processzor, 1 GB memóriával) Projektor, vetítővászon Egyéb, pl. speciális szoftver: Visual C# Express 2008, szélessávú Internetkapcsolat (a Súgóhoz).
Források, javasolt tananyagok, kiadványok, internetes honlapok
Tanári prezentáció: AINFO11_TP8.ppt Mintaprogramok: AINFO11_Mintaprogramok8.zip
PETRIK TISZK
AINFO11_TK.indd 55
Visual Studio 2008 Express Editions http://www.microsoft.com/express/ (2009. 10. 24.) Illés Zoltán (2008): Programozás C# nyelven (2008-as változat), Budapest: Jedlik Oktatási Stúdió
TÁMOP-2.2.3-07/1-2F-2008-0011
55
2010.02.01. 11:11:46
56
AINFO11_TK.indd 56
BEVEZETÉS A VISUAL C# 2008 HASZNÁLATÁBA • Tanári kézikönyv
11. évfolyam
2010.02.01. 11:11:47
Önálló feladatmegoldás
6.
Az eredmények ös�szegzése
Ellenőrzött adatbevitel Helyes feltétel felírása Összetett feltételek megalkotása Helyes logikai művelet alkalmazása
5.
7.
Kivételek kezelése
4.
Kommunikáció Önellenőrzés Eredmények összevetése
„Bolondbiztos” program írása Kivételes események kezelése Komplex feladatmegoldás Adatbevitel ellenőrzése
Preventív hibakezelés A „felhasználó fejével” történő gondolkodás Udvarias hibaüzenetek kiírása
Kommunikáció Önellenőrzés Hibás válaszok korrigálása
A helyes válaszok megbeszélése
3.
Irányított tevékenység
30
10
Megbeszélés
Önálló manuális tevékenység
Irányított tevékenység
20
30
Megbeszélés
Teszt-feladatsor önálló kitöltése
Tanári előadás
Módszer
5
10
Előtte hallott információ felidézése A tanulási folyamat ellenőrzése tesztkérdések segítségével
Ismétlő kérdések a kivételekről, és az ellenőrzött adatbevitelről
2.
30
Időtartam (perc)
Megfigyelés Prezentáció nyomon követése
Készség / képesség
Kivételek kezelése, ellenőrzött adatbevitel
Téma / Altéma
1.
Sorszám
Frontális osztálymunka
Egyéni munka
Egyéni munka
Egyéni munka
Frontális osztálymunka
Egyéni munka
Frontális osztálymunka
Munkaforma
A feladatok lehetséges megoldásait beszéljük meg (amire jut idő).
8.3. feladat a tanulói jegyzetben: a korábban megírt másodfokú egyenlet gyökeit számoló programot fejlesszük tovább, úgy, hogy minden esetet lekezeljen, és tartalmazzon kivételkezelést!
8.2. feladat a tanulói jegyzetben: Olvassunk be osztályzatokat (csak 1 és 5 közötti egész számokat fogadjunk el)! Kombináljuk kivételkezeléssel, a program hibás adat beírásakor se szálljon el!
8.1. feladat a tanulói jegyzetben: egy korábbi (egy fájlból adatot beolvasó) programot írunk át úgy, hogy a gyakran előforduló kivételes esetet lekezeljük.
Helyes megoldások a 8.2. számú mellékletben
Tesztfeladatsor a 8.1. számú mellékletben
Tanári prezentáció a kivételek fogalmáról, a kivételek leggyakoribb típusairól, a kivételek kezelésének lehetőségéről és az ellenőrzött adatbevitelről.
Képzési anyagok, eszközök
A TANÍTÁSI EGYsÉG – témakör címe: Kivételek kezelése, ellenőrzött adatbevitel
Házi feladat: a tanulói jegyzet 8.4. feladata.
A feladathoz mellékelt mintamegoldás kódja a tanárok számára hozzáférhető, a diákok csak a futtatható programot (EXE) kapják meg!
Emlékeztessük a gyerekeket a De Morgan-azonosságok használatára!
Amennyiben a gyerekeknek nincsen meg a régebbi program, adjuk oda azok mintamegoldását!
Azt is beszéljük meg, hogy a helytelen válaszok miért nem jók!
A tesztfeladatok kitöltése közben a prezentáció ne legyen látható.
Amennyiben a gépen rendelkezésre áll a telepített Visual C# 2008, a tanár be is mutathat kódrészleteket vagy mintaprogramokat működés közben is.
Egyéb javaslatok
A TANÍTÁSI EGYSÉG – témakör részletes leírása
8.1. SZÁMÚ MELLÉKLET – FELADATOK 8.1. Mikor beszélünk kivételről?
8.2. Melyik kivételhez melyik üzenet kapcsolódik? Írd be az üres oszlopba a definícióhoz tartozó válasz betűjelét! 1.
NullReferenceException
a)
Nem lehet bezárt TextReader objektumból olvasni.
2.
IndexOutOfRangeException
b)
Kísérlet történt nullával való osztásra.
3.
FormatException
c)
Az objektumhivatkozás nincs beállítva semmilyen objektumpéldányra.
4.
DivideByZeroException
d)
Az index a tömb határain kívülre mutatott.
5.
ObjectDisposedException
e)
Nem megfelelő a bemeneti karakterlánc formátuma.
8.3. Az ellenőrzött adatbevitelt milyen ciklussal célszerű megvalósítani? Húzd alá a helyes választ! Elöltesztelő Hátultesztelő 8.4. Adott a következő adatbeolvasás. Írd át úgy, hogy csak 10 és 20 közötti számokat fogadjon el (beleértve a 10-et és a 20-at is)! string s = Interaction.InputBox(”Kérem a következő számot:”, ”Adatbevitel”,”0”,100,100); szam = int.Parse(s);
PETRIK TISZK
AINFO11_TK.indd 57
TÁMOP-2.2.3-07/1-2F-2008-0011
57
2010.02.01. 11:11:47
8.5. Milyen kivétel fordulhat elő az alábbi programrészletek végrehajtása során? Töltsd ki a táblázatot! Programrészlet
Kivétel fajtája
int x = int.Parse(textBox1.Text); while (!f.EndOfStream) { string sor = f.ReadLine(); // sor feldolgozása f.Close(); } int c = a / b; int[] tomb; tomb[0] = 5;
int[] tomb = new int[MAX]; int i = -1; tomb[i] = 10;
58
AINFO11_TK.indd 58
BEVEZETÉS A VISUAL C# 2008 HASZNÁLATÁBA • Tanári kézikönyv
11. évfolyam
2010.02.01. 11:11:47
8.2. SZÁMÚ MELLÉKLET – MEGOLDÁSOK 8.1. Mikor beszélünk kivételről? Kivételről akkor beszélünk, amikor váratlan, előre nem látható hiba történik a programban.
8.2. Melyik kivételhez melyik üzenet kapcsolódik? Írd be az üres oszlopba a definícióhoz tartozó válasz betűjelét! 1.
NullReferenceException
c)
a)
Nem lehet bezárt TextReader objektumból olvasni.
2.
IndexOutOfRangeException
d)
b)
Kísérlet történt nullával való osztásra.
3.
FormatException
e)
c)
Az objektumhivatkozás nincs beállítva semmilyen objektumpéldányra.
4.
DivideByZeroException
b)
d)
Az index a tömb határain kívülre mutatott.
5.
ObjectDisposedException
a)
e)
Nem megfelelő a bemeneti karakterlánc formátuma.
8.3. Az ellenőrzött adatbevitelt milyen ciklussal célszerű megvalósítani? Húzd alá a helyes választ! Elöltesztelő Hátultesztelő 8.4. Adott a következő adatbeolvasás. Írd át úgy, hogy csak 10 és 20 közötti számokat fogadjon el (beleértve a 10-et és a 20-at is)!
do {
string s = Interaction.InputBox(”Kérem a következő számot:”, ”Adatbevitel”,”0”,100,100); szam = int.Parse(s);
string s = Interaction.InputBox(”Kérem a következő számot:”, ”Adatbevitel”,”0”,100,100); szam = int.Parse(s); } while (szam<10 || szam>20);
PETRIK TISZK
AINFO11_TK.indd 59
TÁMOP-2.2.3-07/1-2F-2008-0011
59
2010.02.01. 11:11:47
8.5. Milyen kivétel fordulhat elő az alábbi programrészletek végrehajtása során? Töltsd ki a táblázatot! Programrészlet
Kivétel fajtája
int x = int.Parse(textBox1.Text);
FormatException
int c = a / b;
DivideByZeroException
int[] tomb = new int[MAX]; int i = -1; tomb[i] = 10;
IndexOutOfRangeException
while (!f.EndOfStream) { string sor = f.ReadLine(); // sor feldolgozása f.Close(); }
ObjectDisposedException
int[] tomb; tomb[0] = 5;
NullReferenceException
60
AINFO11_TK.indd 60
BEVEZETÉS A VISUAL C# 2008 HASZNÁLATÁBA • Tanári kézikönyv
11. évfolyam
2010.02.01. 11:11:47
TANÍTÁSI EGYSÉG ÁLTALÁNOS BEMUTATÁSA cím: Projektfeladat: program készítése
Sorszám:
9.
Évfolyam:
11. évfolyam
A tanítási egység típusa Tanóra (45 perc) Gyakorlat (2x45 perc)
Időtartam:
3x45 perc
Célok
Összetett feladat megoldása részfeladatokra bontással. Az eddig megszerzett ismeretek alkalmazása. A csapatban történő szoftverfejlesztés kipróbálása: a feladatok szétosztása, egymással kompatibilis részek megalkotása, a részek összetétele, a program tesztelése, a program bemutatójának előkészítése.
Követelmények
Legyen képes egy összetett feladatot kisebb részekre szétbontani, amelyek önállóan már könnyen megoldhatók az eddigi ismeretek alkalmazásával. Legyen képes egy csapatban egyeztetni a feladatok szétosztásáról, legyen képes felmérni a tudását, és annak megfelelő részfeladatot elvállalni. Legyen képes önállóan, a tanultak alkalmazásával előállítani egy önállóan működőképes részfeladatot, a megbeszélteknek megfelelően, a többi résszel kompatibilis módon. Legyen képes a csapatban elkészült munkákat egyetlen projektbe integrálni, tesztelni a működését, és megtervezni az elkészült produktum bemutatását.
Informatikai, oktatástechnikai eszközök
Számítógép: 1 db. (Minimum 1 GHz-es processzorral, és 512 MB memóriával, ajánlott: 2 GHz-es processzor, 1 GB memóriával) Projektor, vetítővászon Egyéb, pl. speciális szoftver: Visual C# Express 2008, PowerPoint, esetleg képszerkesztő szoftver (Paint, Photoshop), szélessávú Internet-kapcsolat (a Súgóhoz).
Források, javasolt tananyagok, kiadványok, internetes honlapok
Mintaprogramok: AINFO11_Mintaprogramok9_10.zip
PETRIK TISZK
AINFO11_TK.indd 61
Visual Studio 2008 Express Editions http://www.microsoft.com/express/ (2009. 10. 24.) Illés Zoltán (2008): Programozás C# nyelven (2008-as változat), Budapest: Jedlik Oktatási Stúdió
TÁMOP-2.2.3-07/1-2F-2008-0011
61
2010.02.01. 11:11:47
62
AINFO11_TK.indd 62
BEVEZETÉS A VISUAL C# 2008 HASZNÁLATÁBA • Tanári kézikönyv
11. évfolyam
2010.02.01. 11:11:48
Csoportok kialakítása, feladat választása
Kooperativitás Tolerancia Alkalmazkodás A gyerekeknek 3, maximum 4 Konszenzuskeresés Döntéshozás fős csoportokba kell rendeződniük. Ki kell választaniuk, Önérvényesítés hogy melyik feladatot szeret- Saját teljesítőképesnék megoldani a kettő közül, ség becslése illetve azt is be kell osztaniuk, hogy a csoport mely tagja melyik részét fogja csinálni a feladatnak. Válasszanak a gyerekek csapatnevet, ha lehet, akkor logót is, illetve adjanak nevet a választott feladatra megírt programnak!
Csoportok, választott feladat feljegyzése
2.
3.
A tanár jegyezze fel, hogy ki melyik csoportba tartozik, és melyik feladatot választották!
Megfigyelés Tanári magyarázat Mutassuk be a gyerekeknek a nyomon követése két programot, amelyek közül Eligazodás a tanulói választaniuk kell. Ismertessük jegyzetben velük a csoport kialakításának szempontjait, a résztvevők feladatait, valamint az értékelés szempontjait.
Kommunikáció
Projektfeladat ismertetése
Készség / képesség
1.
Sor- Téma / Altéma szám
Megbeszélés
Megbeszélés Vita
25
10
Tanári előadás
Módszer
10
Időtartam (perc)
Frontális osztálymunka
Kis csoportos munka (lehetőleg heterogén csoportok)
Frontális osztálymunka
Munkaforma
A TANÍTÁSI EGYsÉG – témakör címe: Projektfeladat: program készítése
A feljegyzéshez szükséges táblázat a 9.2. számú mellékletben található.
A két lehetséges (választható) projektfeladat futtatható állománya, részletes tanári útmutatás a csoportok kialakításához és a követelmények ismertetéséhez a 9.1. számú mellékletben, a feladatok részletes ismertetése a tanulói jegyzetben.
A két lehetséges (választható) projektfeladat futtatható állománya, részletes tanári útmutatás a csoportok kialakításához és a követelmények ismertetéséhez a 9.1. számú mellékletben, a feladatok részletes ismertetése a tanulói jegyzetben.
Képzési anyagok, eszközök
N
A csoportok kialakítása lehet tetszőleges, vagy a tanár is beoszthatja a gyerekeket 3-4 fős csoportokba. Figyeljünk arra, hogy lehetőleg minden csoportba jusson legalább egy olyan tanuló, akinek jobban megy a programozás, illetve olyan is, aki az informatika más területein (pl. képszerkesztés, prezentáció) kiemelkedő.
A gyerekek csak a mintaprogramok futtatható EXE állományait kaphatják meg, a kódot nem láthatják!
Egyéb javaslatok
A TANÍTÁSI EGYSÉG – témakör részletes leírása
PETRIK TISZK
AINFO11_TK.indd 63
TÁMOP-2.2.3-07/1-2F-2008-0011
63
2010.02.01. 11:11:48
Az eddig tanult isme- 90 retek használata Önálló munkára való képesség Alkalmazkodás Megoldás megtervezése, megvalósítása Az idő helyes beosztása Együttműködési készség Projektszemlélet Rész-egész viszony áttekintése Részek helyreillesztése
Egy dupla órás gyakorlaton készítsék el a csoportok a választott feladat megoldását!
Projektfeladat megvalósítása
4.
Időtartam (perc)
Készség / képesség
Sor- Téma / Altéma szám Projekt
Módszer
Kis csoportos munka (lehetőleg heterogén csoportok)
Munkaforma
A TANÍTÁSI EGYsÉG – témakör címe: Projektfeladat: program készítése
A két lehetséges (választható) projektfeladat futtatható állománya, részletes tanári útmutatás a 9.1. számú mellékletben, a feladatok részletes ismertetése a tanulói jegyzetben.
Képzési anyagok, eszközök
Mivel a gyerekeknek feltehetően igen csekély tapasztalata van a projektmunkában, ezért segítsünk nekik! Járjunk körbe, ellenőrizzük, hogy a csoportból mindenki dolgozzon, és próbáljunk meg arra is figyelni, hogy egyenletesen osszák el a feladatokat! Az óra végén gondoskodjanak arról, hogy az elkészült munkákat biztonságos helyre mentsék! (Amennyiben nem sikerül befejezni, legkésőbb a bemutató órára fejezzék be a csoportok a munkát!)
Egyéb javaslatok
9.1. SZÁMÚ MELLÉKLET – SEGÉDLETEK A feladat ismertetése: A választható feladatok részletes leírása megtalálható a tanulói jegyzetben. A két mintaprogram futtatható állománya (Lottosorsolas.exe, illetve Osztalypenz.exe) megmutatható a gyerekeknek. Hívjuk fel a figyelmüket arra, hogy a mintaprogramok kizárólag támpontot nyújtanak a feladat elkészítéséhez, nem egy az egyben kell reprodukálni, az csak a minimum! Az elkészült programok legyenek szebbek és jobbak a mintaprogramoknál! Csoport alakításának szempontjai: 1. Mindenképpen törekedjünk a heterogén csoportképzésre! Ellenőrizzük, hogy nagyjából azonosan osszák el a feladatokat egymás között! 2. 3-4 fős csoportokban gondolkodjunk, a kiosztandó feladatok: –– Tervező: feladata, hogy megtervezze és megszerkessze a program külsejét (felhasználói felületét), illetve elkészítsen egy reklámanyagot (prezentáció és/vagy plakát), amely a terméket mutatja be, illetve népszerűsíti. –– Programozó: a tulajdonképpeni kódolás a feladata, egyeztetve a tervezővel az egyes elemek funkcióját. Képesnek kell lennie szintaktikailag hibátlan, lefordítható, futtatható program előállítására. Amennyiben lehetséges, kommentekkel (megjegyzésekkel) lássa el programját, hogy a többiek is ki tudjanak benne igazodni. Átlátható, szép kódot kell írnia! –– Tesztelő, hibakereső: aki átlátja a program működését, megkeresi és a programozóval együtt javítja a hibákat (szemantikai, illetve kivételes eset jellegűeket). Az ő felelőssége, hogy a program lényegében minden körülményt figyelembe véve jól működjön, és helyes eredményt adjon. –– Szóvivő: az előző három funkció valamelyike mellé a csoport valamelyik tagjának el kell vállalni, hogy a bemutatás alkalmával ismerteti a programot, annak működését, képviselve a csoport munkáját. 3. Ne legyen olyan csoport, amelyben nincs olyan gyerek, akinek jó érzéke van a programozáshoz, jól megy neki, mert különben a csoport nem fogja tudni elkészíteni a projektfeladat megoldását. Az értékelés szempontjai: –– Külső: mennyire szép, jól használható, intuitív a program kezelői felülete. –– Helyes működés: a program a lehetséges hibákat jól kezeli, jó eredményt ad minden esetben, nem lehet „kiakasztani”. –– Extrák: mennyire tért el a mintaprogramtól, illetve valósította meg a javasolt továbbfejlesztéseket. Itt lehet díjazni, ha a program nem pusztán másolata a mintaprogramnak, hanem attól jó értelemben eltérő, igényes, egyedi munka. –– Átlátható, szép kód: jól tagolt, követhető, megjegyzésekkel ellátott, tehát egy külső ember számára könnyedén továbbfejleszthető. –– Marketing: mennyire igényes, elegáns bemutatót, ill. plakátot terveztek a program népszerűsítésére, milyen volt az előadó, mennyire mutatta be a program értékeit, mennyire hangsúlyozta az erősségeket.
64
AINFO11_TK.indd 64
BEVEZETÉS A VISUAL C# 2008 HASZNÁLATÁBA • Tanári kézikönyv
11. évfolyam
2010.02.01. 11:11:48
9.2. SZÁMÚ MELLÉKLET – TÁBLÁZAT Sorszám 1.
Csoport neve
Csoport tagjai .
Választott feladat Lottó / Osztálypénz
2.
Lottó / Osztálypénz
3.
Lottó / Osztálypénz
4.
Lottó / Osztálypénz
5.
Lottó / Osztálypénz
6.
Lottó / Osztálypénz
7.
Lottó / Osztálypénz
8.
Lottó / Osztálypénz
9.
Lottó / Osztálypénz
10.
Lottó / Osztálypénz
11.
Lottó / Osztálypénz
12.
Lottó / Osztálypénz
PETRIK TISZK
AINFO11_TK.indd 65
TÁMOP-2.2.3-07/1-2F-2008-0011
65
2010.02.01. 11:11:48
TANÍTÁSI EGYSÉG ÁLTALÁNOS BEMUTATÁSA cím: Projektfeladat: program bemutatása
Sorszám:
10.
Évfolyam:
11. évfolyam
A tanítási egység típusa Tanóra (45 perc)
Időtartam:
1x45 perc
Célok
Az elkészült projekt bemutatása, különféle szempontok szerinti értékelése. A saját és a más csapatok munkájának kritikus, de objektív bírálata, a többi csapat pontozása.
Követelmények
Legyen képes a csapat nevében bemutatni a közös fejlesztés eredményeit, kiemelve a megvalósítás esetleges specialitásait, bravúrjait. Legyen képes a saját és a mások munkáját objektíven értékelni, tetszőleges skálán pontozni, a csapat által kapott pontszámot igazságosan elosztani.
Informatikai, oktatástechnikai eszközök
Számítógép: 1 db. (Minimum 1 GHz-es processzorral, és 512 MB memóriával, ajánlott: 2 GHz-es processzor, 1 GB memóriával) Projektor, vetítővászon Egyéb, pl. speciális szoftver: Visual C# Express 2008, PoerPoint, szélessávú Internet-kapcsolat (a Súgóhoz).
Források, javasolt tananyagok, kiadványok, internetes honlapok
Mintaprogramok: AINFO11_Mintaprogramok9_10.zip
66
AINFO11_TK.indd 66
Visual Studio 2008 Express Editions http://www.microsoft.com/express/ (2009. 10. 24.) Illés Zoltán (2008): Programozás C# nyelven (2008-as változat), Budapest: Jedlik Oktatási Stúdió
BEVEZETÉS A VISUAL C# 2008 HASZNÁLATÁBA • Tanári kézikönyv
11. évfolyam
2010.02.01. 11:11:48
PETRIK TISZK
AINFO11_TK.indd 67
TÁMOP-2.2.3-07/1-2F-2008-0011
67
2010.02.01. 11:11:48
2.
1.
Az elkészült munkák rövid értékelése
Az egyes csoportok „szóvivője” bemutatja az elkészült programot, illetve válaszol a közben felmerült kérdésekre.
Elkészült projektfeladatok bemutatása, értékelése
Sor- Téma / Altéma szám
Kommunikáció
Megfigyelés Bemutatók nyomon követése A szoftver, mint termék bemutatása Marketing Lényeg kiemelése Erősségek hangsúlyozása Önértékelés Önkritika Objektivitás Önszabályozás: érzelmi és indulati kontroll A saját problémák felismerése, beismerése
Készség / képesség
Megbeszélés
Tanulói előadás
40
5
Módszer
Időtartam (perc)
Frontális osztálymunka
Frontális osztálymunka
Munkaforma
A TANÍTÁSI EGYsÉG – témakör címe: Projektfeladat: program bemutatása
N
Az elkészült projektfeladatok, bemutatók Értékelőlapok a 10.1. számú mellékletben
Képzési anyagok, eszközök
Beszéljük meg, mik voltak az elkészült munkák erősségei, és röviden térjünk ki az esetleges gyengeségekre is! Szedjük be az értékelőlapokat, és a következő órán ismertessük, melyik csoport kapta a legtöbb pontszámot!
A gyerekek mutassák be az elkészült programot, de ne csak a futtatható állományt, hanem röviden térjenek ki a megoldásra is, mutassanak kódrészleteket, különös tekintettel arra, ha a megoldás rendelkezik valamilyen különlegességgel, specialitással. Közben a többi csoport töltsön ki egy-egy értékelőlapot!
Egyéb javaslatok
A TANÍTÁSI EGYSÉG – témakör részletes leírása
10.1. SZÁMÚ MELLÉKLET – ÉRTÉKELŐLAPOK
Szempontok
Csoportnevek
Külső: mennyire szép, jól használható, intuitív a program kezelői felülete. Helyes működés: a program a lehetséges hibákat jól kezeli, jó eredményt ad minden esetben, nem lehet „kiakasztani”. Extrák: mennyire tért el a mintaprogramtól, illetve valósította meg a javasolt továbbfejlesztéseket. Itt lehet díjazni, ha a program nem pusztán másolata a mintaprogramnak, hanem attól jó értelemben eltérő, igényes, egyedi munka. Átlátható, szép kód: jól tagolt, követhető, megjegyzésekkel ellátott, tehát egy külső ember számára könnyedén továbbfejleszthető. Marketing: mennyire igényes, elegáns bemutatót, ill. plakátot terveztek a program népszerűsítésére, milyen volt az előadó, mennyire mutatta be a program értékeit, mennyire hangsúlyozta az erősségeket. Átlagpontszám: Az értékeléS ÖTFOKOZATÚ SKÁLÁN TÖRTÉNIK! 68
AINFO11_TK.indd 68
BEVEZETÉS A VISUAL C# 2008 HASZNÁLATÁBA • Tanári kézikönyv
11. évfolyam
2010.02.01. 11:11:48