Programozás I. Gyakorlás egydimenziós tömbökkel Többdimenziós tömbök Gyakorló feladatok V 1.0 ÓE-NIK-AII,

Hasonló dokumentumok
Programozás I. Matematikai lehetőségek Műveletek tömbökkel Egyszerű programozási tételek & gyakorlás V 1.0 OE-NIK,

Objektumorientált Programozás V.

Objektumorientált Programozás VI.

Objektum Orientált Programozás V.

Objektum Orientált Programozás IV.

Objektum Orientált Programozás VII.

Készítette: Nagy Tibor István

Objektumorientált Programozás III.

Objektumorientált Programozás IV.

Objektumorientált Programozás VI.

BME MOGI Gépészeti informatika 5.

Programozás I. Szöveges fájlok kezelése Felsorolástípus Objektumtömb Gyakorló feladatok

Programozási nyelvek Java

1. feladat Készítse el szövegszerkesztővel, majd mentse osztály.txt néven a következő tartalmú szöveges fájlt:

OOP I. Egyszerő algoritmusok és leírásuk. Készítette: Dr. Kotsis Domokos

A C# programozási nyelv alapjai

Objektumorientált programozás C# nyelven

Szoftvertervezés és -fejlesztés I.

Vizuális és eseményvezérelt programozás , II. félév BMF NIK

1. Jelölje meg az összes igaz állítást a következők közül!

Programozás I. Metódusok C#-ban Egyszerű programozási tételek. Sergyán Szabolcs

Objektumorientált programozás C# nyelven

Tájékoztató. Használható segédeszköz: -

OOP III. A C# nyelv alapelemei

Programozási nyelvek II.: JAVA, 4. gyakorlat

2. Készítsen awk szkriptet, amely kiírja az aktuális könyvtár összes alkönyvtárának nevét, amely februári keltezésű (bármely év).

A C programozási nyelv III. Pointerek és tömbök.

A C programozási nyelv III. Pointerek és tömbök.

Vizuális, eseményvezérelt programozás XI.

Programozás I. 3. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar

8. gyakorlat Pointerek, dinamikus memóriakezelés

Vizuális és eseményvezérelt programozás , II. félév BMF NIK

Tájékoztató. Használható segédeszköz: -

OOP: Java 8.Gy: Abstract osztályok, interfészek

1. Feladat: beolvas két számot úgy, hogy a-ba kerüljön a nagyobb

INFORMATIKAI ALAPISMERETEK

A 2010/2011 tanévi Országos Középiskolai Tanulmányi Verseny második fordulójának megoldása. II. (programozás) kategória

Programozási alapismeretek beadandó feladat: ProgAlap beadandó feladatok téma 99. feladat 1

// keressük meg a legnagyobb faktoriális értéket, ami kisebb, // mint százmillió

BME MOGI Gépészeti informatika 7.

Programozási nyelvek II.: JAVA, 4. gyakorlat

INFORMATIKAI ALAPISMERETEK

Tájékoztató. Használható segédeszköz: -

Java II. I A Java programozási nyelv alapelemei

Torna. A torna.csv UTF-8 kódolású állományban soronként egy versenyző eredményeit tároljuk. Az adatokat pontosvessző választja el egymástól.

Szerző. Varga Péter ETR azonosító: VAPQAAI.ELTE cím: Név: Kurzuskód:

Gyakorló feladatok az 1. nagy zárthelyire

Bevezetés a programozásba I.

C programozási nyelv Pointerek, tömbök, pointer aritmetika

BME MOGI Gépészeti informatika 1.

tétel: különböző típusú adatokat csoportosít, ezeket egyetlen adatként kezeli, de hozzáférhetünk az elemeihez is

6. gyakorlat Egydimenziós numerikus tömbök kezelése, tömbi algoritmusok

INFORMATIKAI ALAPISMERETEK

BME MOGI Gépészeti informatika 6.

Megjegyzés: A programnak tartalmaznia kell legalább egy felhasználói alprogramot. Példa:

A képernyőre írást igénylő részfeladatok eredményének megjelenítése előtt írja a képernyőre a feladat sorszámát (például: 3. feladat:)!

3. Gyakorlat Ismerkedés a Java nyelvvel

Objektumorientált programozás C# nyelven III.

Java II. I A Java programozási nyelv alapelemei

BME MOGI Gépészeti informatika 13.

RESIDENT EVIL CODENAME: NIK

5. gyakorlat. Konstansok Tömbök Stringek

Java Programozás 1. Gy: Java alapok. Ismétlés ++

OOP: Java 11.Gy: Enumok, beágyazott osztályok. 13/1 B ITv: MAN

Egyszerű programozási tételek

Időjárási csúcsok. Bemenet. Kimenet. Példa. Korlátok. Nemes Tihamér Nemzetközi Informatikai Tanulmányi Verseny, 2-3. korcsoport

Példatár a bevezetés a Matlab programozásába tárgyhoz

hiányzott szeptemberben vagy A tanuló nem hiányzott szeptemberben szöveget

GenerikusOsztály<objektumtípus> objektum = new GenerikusOsztály<objektumtípus>();

BME MOGI Gépészeti informatika 4.

van neve lehetnek bemeneti paraméterei (argumentumai) lehet visszatérési értéke a függvényt úgy használjuk, hogy meghívjuk

OOP #14 (referencia-elv)

Informatika terméktervezőknek

Objektumorientált Programozás II.

Algoritmusok, adatszerkezetek, objektumok

Felvételi tematika INFORMATIKA

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós április 4. Széchenyi István Egyetem, Gy r








OOP: Java 1.Gy: Java alapok

Struktúra nélküli adatszerkezetek

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós március 31. Széchenyi István Egyetem, Gy r

Készítette: Nagy Tibor István Felhasznált irodalom: Kotsis Domokos: OOP diasor Zsakó L., Szlávi P.: Mikrológia 19.

Problémaosztályok algoritmusok. Ciklusok

2. Beadandó feladat dokumentáció

HORVÁTH ZSÓFIA 1. Beadandó feladat (HOZSAAI.ELTE) ápr 7. 8-as csoport

Mentsd el code file-t kektura.cs néven, illetve kiterjesztéssel! Másold be a kektura.csv állományt a Projects munkamappa megfelelő almappájába!

Objektum Orientált Programozás. 11. Kivételkezelés 44/1B IT MAN

A 2014/2015 tanévi Országos Középiskolai Tanulmányi Verseny második forduló javítási-értékelési útmutató. INFORMATIKA II. (programozás) kategória

Tömbök kezelése. Példa: Vonalkód ellenőrzőjegyének kiszámítása

Programozás alapjai. 6. gyakorlat Futásidő, rekurzió, feladatmegoldás

Java Programozás 9. Gy: Java alapok. Adatkezelő 5.rész

Bevezetés a programozásba. 5. Előadás: Tömbök

I. Specifikáció készítés. II. Algoritmus készítés

1. Egyszerű (primitív) típusok. 2. Referencia típusok

Átírás:

Programozás I. Gyakorlás egydimenziós tömbökkel Többdimenziós tömbök Gyakorló feladatok V 1.0 ÓE-NIK-AII, 2016 1

Hallgatói Tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk a számonkérendő anyag vázlatát képezik. Ismeretük szükséges, de nem elégséges feltétele a sikeres zárthelyinek, illetve vizsgának. Sikeres zárthelyihez, illetve vizsgához a jelen bemutató tartalmán felül a kötelező irodalomként megjelölt anyag, a gyakorlatokon szóban, illetve a táblán átadott tudnivalók ismerete, valamint a gyakorlatokon megoldott példák és az otthoni feldolgozás céljából kiadott feladatok önálló megoldásának képessége is szükséges. V 1.0 ÓE-NIK-AII, 2016 2

Programozás I. Gyakorlás egydimenziós tömbökkel Többdimenziós tömbök Gyakorló feladatok V 1.0 ÓE-NIK-AII, 2016 3

Gyakorló feladat (Szigetek) Egy repülőgéppel egyenes vonalban végigrepültünk egy tengerszakasz fölött. Egyenlő távolságonként megmértük, hogy a repülő alatt tenger vagy sziget található-e. (Legalább 10 mérést végeztünk.) Mérési eredményeinket egy tömbben tároltuk el: (1) tenger esetén nulla szerepel a tömbben, (2) sziget esetén a sziget adott helyen mért magassága. Írjon programot, amely véletlenszerűen előállítja a mérési eredményeket, majd különböző statisztikai feladatokat old meg. Minden részfeladatot különböző metódusokkal valósítson meg! V 1.0 ÓE-NIK-AII, 2016 4

Gyakorló feladat (Szigetek) 1. Valósítsa meg a tömb véletlenszerű feltöltését! 40% a valószínűsége, hogy egy mérési helyen szigetet találunk. A sziget aktuális magassága 1 és 10 közötti véletlen szám. 2. Jelenítse meg a mérési eredményeket a képernyőn! 3. Határozza meg, hogy hol található (először) a legmagasabb pont, és mennyi ennek a magassága! 4. Adja meg, hogy a legmagasabb pont hányszor fordult elő a repülés során! 5. Határozza meg a leghosszabb szigetszakasz hosszát! 6. Adja meg, hogy a leghosszabb szigeten található-e az első maximális magasságú mérési pont! V 1.0 ÓE-NIK-AII, 2016 5

Programozás I. Gyakorlás egydimenziós tömbökkel Többdimenziós tömbök Gyakorló feladatok V 1.0 ÓE-NIK-AII, 2016 6

Többdimenziós tömbök 2 dimenziós tömb sorok és oszlopok elem elérése 2 indexszel 3 dimenziós tömb sorok, oszlopok, lapok elem elérése 3 indexszel N dimenziós tömb 0., 1., N. dimenzió elem elérése N indexszel V 1.0 ÓE-NIK-AII, 2016 7

Többdimenziós tömbök Deklaráció Általános formátum: típus[ vesszők ] tömbnév; A szögletes zárójelbe dimenziószám-1 darab vesszőt kell tenni Példák: int[,] matrix; bool[,,] haromdimenziostomb; double[,,,,] otdimenziostomb; V 1.0 ÓE-NIK-AII, 2016 8

Többdimenziós tömbök Tömblétrehozás Általános formátum: tömbnév = newtipus [elemszám1,, elemszámn] Az egyes dimenziók elemszámait vesszőkkel elválasztva kell megadni A deklaráció és a tömblétrehozás itt is összevonható Példák matrix = new int[3, 5]; haromdimenziostomb = new bool [4, 2, 5]; int[,,] t = new int[3, 3, 3]; int[,] egeszmatrix = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 0, 1, 2}}; V 1.0 ÓE-NIK-AII, 2016 9

Tömbelem elérése (indexelés) A szögletes zárójelek közé a tömbelem minden egyes dimenzióján belüli sorszámait kell vesszőkkel elválasztva megadni: tömbnév[index1, index2,, indexn] Az indexekre vonatkozó szabályok u.a., mint az egydimenziós tömbnél pontosan annyi indexet kell megadni, ahány dimenziós a tömb tomb 0. 1. 0. 1. 2. 3. 4. 28 3 17 11 50 22 14 38 20 1 tomb = new int[2, 5]; tomb[1, 3] V 1.0 ÓE-NIK-AII, 2016 10

Tömb hosszának (elemei számának) lekérdezése Elemek számának lekérdezése: Összes tömbben lévő elem darabszáma: tömbnév.length Egy adott dimenzió elemszáma (sorok száma, oszlopok száma, ): tömbnév.getlength(dimenziósorszám); 0. 1. 2. 3. 4. tomb = new int[ 2, 5 ]; tomb 0. 28 3 17 11 50 tomb.getlength(1); 1. 22 14 38 20 1 tomb.getlength(0); V 1.0 ÓE-NIK-AII, 2016 11

Programozás I. Gyakorlás egydimenziós tömbökkel Többdimenziós tömbök Gyakorló feladatok V 1.0 ÓE-NIK-AII, 2016 12

Gyakorló feladat (Cserélgetős játék) Egy játéktábla mezői kétféle módon vannak megjelölve (pl. * és -). Kezdetben minden mező azonos jelölésű (-), kivéve a játéktábla közepén lévő mező, valamint annak négy közvetlen szomszédja. A játék során a felhasználó megadja a játéktábla egy koordinátáját. A kiválasztott koordinátájú mező, illetve annak négy szomszédja az addigival ellentétes jelölésűre változik. A játék akkor ér véget, ha a felhasználó minden mezőt *-ra tudott változtatni. Készítse el a játszást lehetővé tevő programot! V 1.0 ÓE-NIK-AII, 2016 13

Gyakorló feladat (Cserélgetős játék) A játéktábla aktuális állapotát egy kétdimenziós logikai tömbben tárolja el! Megvalósítandó metódusok: 1. static void init(bool[,] game) A játéktábla kezdeti állapotát előállító metódus 2. static string state(bool[,] game) A játéktábla aktuális állapotát string formában megadó metódus 3. static void shoot(bool[,] game, int x, int y) Kiválasztott pontra lövést megvalósító metódus 4. static bool isover(bool[,] game) A metódus vizsgálja, hogy minden mező *-gá vált-e V 1.0 ÓE-NIK-AII, 2016 14

Gyakorló feladat (Lottó) Egy szerencsejátékos egy héten több lottószelvénnyel is játszik. Mindegyik szelvényt véletlenszerűen tölt ki. Készítsünk a játékos számára egy programot, amely kitölti számára a szelvényeket, majd a húzást követően kiírja, hogy melyik szelvénnyel hány találatot ért el! (Az alkalmazás minden lottó típus esetén működjön, a +1 találatok kezelését kivéve!) V 1.0 ÓE-NIK-AII, 2016 15

Gyakorló feladat (Lottó) A kitöltött szelvényeket egy kétdimenziós, a kihúzott számokat pedig egy egydimenziós tömbben tárolja el! Megvalósítandó metódusok: 1. static int[] GenerateDraw() A kihúzott számokat előállító metódus 2. static string OutDraw(int[] t) A kihúzott számok megjelenítését támogató metódus 3. static int[,] GenerateLotto() A szelvényeket kitöltő metódus 4. static string OutLotto(int[,] t, int[] u) A kitöltött szelvények és a találatok számának megjelenítését támogató metódus 5. static bool Inside(int[] t, int value) A metódus eldönti, hogy egy adott szám szerepel-e egy adott szelvényen V 1.0 ÓE-NIK-AII, 2016 16

Irodalom, feladatok Kotsis-Légrádi-Nagy-Szénási: Többnyelvű programozástechnika, PANEM, Budapest, 2007 Faraz Rasheed: C# School, Synchron Data, 2006 http://www.programmersheaven.com/2/csharpbook Reiter István: C# jegyzet, DevPortal, 2010, http://devportal.hu/content/csharpjegyzet.aspx V 1.0 ÓE-NIK-AII, 2016 17

V 1.0 ÓE-NIK-AII, 2016 18

ÓE-NIK-AII, 2016 19