CSORDÁS JÁNOS: A PROGRAMOZÁS ALAPJAI VISUAL BASIC-BEN
|
|
- Irma Patakiné
- 5 évvel ezelőtt
- Látták:
Átírás
1 CSORDÁS JÁNOS: A PROGRAMOZÁS ALAPJAI VISUAL BASIC-BEN Tartalom I. Bevezetés... 2 II. Programozási alapok Az első lépések Névterek Eljárások (alprogramok) Változók A változók elmélete Változó típusok Példák változók felhasználásával Az egydimenziós tömb A kétdimenziós tömb Elágazások (szelekciók) a programban Ciklusok (iterációk) a programban Matematikai műveletek a programban III. Programozás haladó(bb) szinten Adatbeolvasás szöveges fájlból Szöveges fájlok feldarabolása Adatbeolvasás, Split(), kétdimenziós tömb 3 az 1-ben, egészségére! IV. Az érettségi feladat megoldása beszéljenek a kódok! Szöveges fájl beolvasása kétdimenziós tömbbe a beolvas() eljárás feladat a feladat1() eljárás feladat a feladat2() eljárás feladat a feladat3() eljárás feladat a feladat4() eljárás
2 I. Bevezetés Oldjuk meg a májusi érettségi vizsga programozási feladatának első részét (1-6 feladatok). Egy szöveges fájlban (lottosz.dat) 51 hét ötös lottó számai találhatóak. Az első sorban az első héten húzott számok vannak, szóközzel elválasztva, a második sorban a második hét lottószámai vannak stb. A szöveges fájl első négy és utolsó sorának adatai: 2 Megjegyzések: a lottószámok minden sorban emelkedő számsorrendben szerepelnek - a szöveges fájlt ki kell majd egészítenünk egy 52. sorral ( ) - a szöveges fájlban található legkisebb szám 1, a legnagyobb pedig 90, mivel a lottószelvényeken 90 szám közül 5 számot kell a fogadónak megjelölnie egy-egy fogadás alkalmával Az első lépés az, hogy a szöveges fájlt valamilyen formában elérhetővé tegyük a Visual Basic számára. II. Programozási alapok 1. Az első lépések A Visual Basic indítása után két választási lehetőségünk van: New Project, illetve Open Project. Természetesen az előbbire van szükségünk. A New Project ablakában többféle programtípus közül választhatunk. Nekünk minden esetben a Console Application-ra van szükségünk. A lehetőség kiválasztása után adjunk nevet a project-nek, majd kattintsunk az OK gombra. A megjelenő ablakban az alábbi kódrészletet látjuk: A Sub Main() a főprogram eleje, az End Sub a főprogram vége. A program futtatásakor a főprogramban található utasítások kerülnek végrehajtásra egymás után. A legalapvetőbb utasítás a képernyőre való kiírás utasítása. Ez a Console.Write() és a Console.WriteLine(). A kettő között az a különbség, hogy a Console.WriteLine() miután a képernyőn megjeleníti a zárójelben található szöveget, a sor végén egy sortörést is elhelyez. A jobb oldalon látható program kimenete: HelloWorld!:-). Amennyiben Console.Write() helyett, Console.WriteLine()-t használunk, a program kimenete a következő lesz: Hello World! :-)
3 Amennyiben lenne egy harmadik Console.WriteLine() is a programban, annak tartalma a smile alá kerülne. Látható, hogy az utasítások végrehajtása egymás után történik. Ahhoz, hogy a program eredményéből valamit lássunk is, meg kell akadályozni, hogy a Windows az utasítások lefuttatása után bezárja a Console t: 3 A Console.ReadKey() tulajdonképpen arra utasítja, a gépet, hogy egy karakter leütésére várjon. Miután ez megtörtént következik az End Sub, a (fő)program futása véget ér. 2. Névterek A fenti példákban látható, hogy minden utasítás előtt megtalálható a Console bejegyzés. Ennek megadására azért van szükség, mert egyébként nem lenne egyértelmű, hogy hová szeretnénk adatokat írni (Write), illetve honnét szeretnénk adatokat beolvasni (ReadKey). Írhatunk ugyanis a nyomtatóra is, vagy beolvashatunk adatokat az USB portról is. A Console egyértelműen meghatározza, hogy a képernyőre kell a programnak írnia, és általunk a billentyűzet segítségével, a képernyőn megjelenített adatokat kell beolvasnia. Ha csak a monitort szeretnénk használni adatok beolvasására és kiíratására, akkor megtehetjük, hogy a program elején beállítunk egyfajta alapértelmezést (névteret), amely biztosítja, hogy a program futása során, a Console utasítás elhagyása esetén is, egyértelmű legyen, hogy a monitor az alapértelmezett periféria: Az Imports System.Console on kívül hasonló megfontolásból használható a következő két névtér: - Imports System.IO fájlműveleteknél, adatbeolvasásnál, fájlba írásnál - Imports System.Math komplexebb matematikai műveleteknél (Ezekről részletesebben később)
4 3. Eljárások (alprogramok) Eljárások segítségével a programot kisebb részekre oszthatjuk, ezzel a kód áttekinthetőbb lesz, és jól megírt programok esetén előfordulhat, hogy egy korábban elkészített eljárást egy másik feladat megoldásánál is felhasználhatunk, ezzel pedig időt spórolhatunk. Egy-egy érettségi feladatot egy-egy eljárásban célszerű megoldani. Mi hat feladatot (+1 a beolvasás) fogunk megoldani, így programunk szerkezete valahogy így fog kinézni: 4 Start Kész! Megjegyzések: - az utasítások végrehajtásának logikája nem változott. A Sub Main() nel kezdődik a program, itt rögtön az első utasítás a beolvas() nevű eljárás meghívása. A beolvas() nevű eljárásban található utasítások végrehajtása után a feladat1() eljárás következik. Végül eljutunk a ReadKey()-hez. - a beolvas() nevű eljárásban találunk kettő zöld színű, aposztróffal kezdődő sort. Ezek megjegyzések, a program végrehajtása szempontjából semmiféle jelentőségük sincsen. Arra használjuk őket, hogy emlékeztető szövegeket helyezzünk el a programban. Ha hónapokkal, vagy évekkel később megnyitjuk a project-et, akkor a megjegyzések segíthetnek abban, hogy megértsük mit miért csináltunk. - a programkód bal oldalán csomópontokat találunk ezekben + vagy jeleket. A csomópontok segítségével a program bizonyos részeit elrejthetjük. Ennek hosszú program esetén van külö-
5 4. Változók nös jelentősége: a már megírt, működő programrészek elrejtésével megakadályozzuk, hogy véletlenül onnét valamit kitöröljünk, vagy oda valamit beírjunk. A program így rövidebbnek fog tűnni, a rövidebb program pedig jobban átlátható. A példafeladatban öt eljárást rejtettünk el. 4.1 A változók elmélete Ha adatokkal szeretnénk dolgozni (azaz mindig ), akkor a programban meg kell teremteni az adatok kezelésének feltételeit. Adatokkal akkor tudunk dolgozni, ha az adatokat változókba (a memória egy meghatározott szegletébe) helyezzük. A változókat egy-egy névvel rendelkező dobozhoz hasonlíthatjuk leginkább. Ahhoz, hogy valamit a dobozba tudjunk helyezni először létre kell hozni a dobozt, létrehozásnál meg kell határozni, hogy mekkora legyen a mérete. Ha kész az adott méretű doboz, akkor az adott tárgyat bele lehet tenni, sőt arra is van lehetőség, hogy a tárgy helyett egy másik tárgyat helyezzünk bele, feltéve, ha belefér. 5 A Visual Basicben is tulajdonképpen így kezeljük az adatokat: - változó (doboz) létrehozása: a változó DEKLARÁLÁSA. A deklarálást a Dim vezeti be. Ezt követően meg kell adnunk a változó nevét (valtozo) majd ez után a változó méretét (Byte), azaz típusát - a változó (doboz) feltöltése: a változó DEFINIÁLÁSA. A deklarálás után közvetlenül a változóba betettünk egy 1-est. - a változó (doboz) tartalmának cseréje szükség esetén: a definiálás után közvetlenül az 1-est 2-esre cseréltük. Ezután érdekes dolgot látunk, a kifejezést jobbról balra kiolvasva: o a változó tartalmához hozzáadunk 2-t. 2+2=4. o az így létrejött számot (4) beletettük a változóba, azaz a 2-es 4-esre cseréljük. Megjegyzések: - a változó neve bármi lehet, azonban lehetőség szerint kerüljük az ékezetes betűket. A változó nevével hivatkozhatunk a programban a változó értékére. Használjunk beszédes neveket! - a változó csak abban az eljárásban él, amelyikben deklaráltunk (ezért is hívjuk lokális változónak). Azaz a fenti példa szerinti (valtozo) csak a Sub Main() ben használható a többi eljárásban nem létezik. Ha olyan változóra van szükség, amely bármelyik eljárásból elérhető, akkor globális változót kell létrehozni. Ez mindössze annyit jelent, hogy eljáráson kívül, a Module Module1 en belül kell deklarálni. - a változó típusa meghatározza, hogy milyen értékeket lehet a változóban tárolni. Eme tény figyelmen kívül hagyása esetén furcsa dolgok történhetnek. Esetek: o szám típusú változóba szöveget próbálunk tenni papírdobozba vizet öntünk: a program hibaüzenettel leáll. Használjunk műanyag dobozt! o szám, konkrétan Byte típusú változóban nagy számot kívánunk tárolni gyufás skatulyába próbálunk elefántot tenni: ún. túlcsordulás lép fel, a program leáll.
6 4.2 Változó típusok Változók deklarálásánál kell döntenünk arról, hogy a változóban milyen típusú adatokat fogunk tárolni. Gyakori típusok: - Byte: közötti szám (a memóriából egy bájtot foglal el) - Integer: és közötti szám (a memóriából négy bájtot foglal el) - Single: amennyiben nem egész számokat kívánunk tárolni. Hatalmas méretű - Char: egy karaktert tárol (a memóriából két bájtot foglal el) - String: szöveg tárolására (a memóriából két bájtot foglal el. Ez azt jelenti, hogy egy ilyen típusú változóba tetszőleges karaktert rögzíthetünk egyszerre) Példák változók felhasználásával Az előző programot dolgozzuk át egy kicsit!. A változó deklarálása utáni sorban a felhasználó által begépelt értéket beolvassuk a monitorról (ReadLine()), majd elhelyezzük a változóban (valtozo=readline()). Tegyük fel, hogy a felhasználó az 5-öst gépelte be. A program kimenete a következő lesz: valtozo 5 A programban két utasítással írunk ki valamit a képernyőre. Az első WriteLine() a valtozo szót írja a képernyőre, a második pedig a valtozo nevű változó tényleges értékét. Ne keverjük a kettőt! Két megjegyzés: - programunk legyen mindig felhasználóbarát: a felhasználót tájékoztassuk, hogy mi történik, mit várunk tőle - a ReadLine() utasítást a Val() utasítással együtt használjuk számbeolvasás esetén. Az utóbbi ugyanis abban az esetben, ha a felhasználó betűket is begépel, kiszűri a számként nem értelmezhető karaktereket: 4.4 Az egydimenziós tömb Az egydimenziós tömb egy olyan változó, amely doboz helyett inkább egy fiókos szekrényhez hasonló. A deklarálásnál ilyenkor a fiókok számát is meg kell adnunk. A fiókokra, illetve tartalmukra sorszámukkal hivatkozhatunk. Az első fiók sorszáma a 0, az utolsó fiók sorszáma a fiókok száma-1-gyel
7 egyezik meg. Konkrétan egy 5 fiókos szekrény első fiókja sorszám szerint a 0., az ötödik pedig a 4. Egy egydimenziós tömb deklarálása és a fiókok tartalmának definiálása: A tomb nevű tömb egy ötfiókos szekrény: 1 A 0. fiók tatalma 2 Az 1. fiók taralma 3 A 2. fiók tartalma 4 A 3. fiók tartalma 5 A 4. fiók tartalma A program kiírja az első (0.) és a második (1.) fiók tartalmát szóközzel elválasztva. A WriteLine() utasításban jól látható, hogy egyszerű szöveget (szóköz), miképpen fűzhetünk össze egy-egy változó tartalmával. Az összefűzéshez a & operátort kell használnunk. A & előtt és után egy-egy szóköz kötelező! A kétdimenziós tömb A kétdimenziós tömb egy olyan változó, amely egy egyszerű fiókos szekrény helyett inkább egy szekrénysorhoz hasonlítható. A kétdimenziós tömb tulajdonképpen egy táblázat, x db sorral, és y db oszloppal rendelkezik. A deklarálásnál ilyenkor a fiókok száma lényegtelen, a sorok (x) és az oszlopok (y) számát kell megadnunk. A fiókokra, illetve tartalmukra a sor- és oszlopszámmal hivatkozhatunk. Az első fiók sorszáma a 0,0, az utolsó fiók sorszáma pedig x-1, y-1. Konkrétan egy 2x2-es szekrény első fiókja sorszám szerint a 0,0, az utolsó pedig az 1,1. Egy kétdimenziós tömb deklarálása és a fiókok tartalmának definiálása: A tomb nevű tömb egy négyfiókos (2x2-es) szekrény: 0,0 fiók ,1 fiók 1,0 fiók ,1 fiók
8 5. Elágazások (szelekciók) a programban Elágazások segítségével határozhatjuk meg, hogy adott helyzetben milyen utasítás végrehajtására kerüljön sor: A program bekér egy számot, és ha a felhasználó 1-est üt be, kiír valamit. A kódban látható 8 If (feltételvizsgálat) Then utasítás1 utasítás2 utasítás3 utasításn End if szerkezet egy elágazás. Ha a feltételvizsgálat (beker=1, jelen esetben 1=1) igaz, akkor az elágazásban szereplő utasítás, vagy utasítások végrehajtásra kerülnek. Az ilyen szerkezetet egyágú szelekciónak hívunk, mivel csak a feltétel teljesülése esetén végrehajtandó utasítások listáját tartalmazza. A fenti programban valójában két darab egyágú szelekció található. Ezek csak csak 1 és 2 esetén határozzák meg, hogy mi történjen. Ha a felhasználó pl. 3-at üt be, semmi sem történik. Egyágú szelekciók mellett gyakran használunk kétágú szelekciókat is. A kétágú szelekció nem csak azt írja elő, hogy mi történjen a feltétel teljesülése esetén, hanem azt is, hogy ellenkező esetben milyen utasítás(ok) kerüljön(ek) végrehajtásra: A program bekér egy számot, és attól függően, hogy a megadott szám 1 vagy sem, kiír valamit. A kódban látható kétágú szelekció szerkezete: If (feltételvizsgálat) Then utasítás1 utasítás2 utasítás3 beker=1 utasításn Else utasítás1 utasítás2 utasítás3 beker<>1 utasításn End if A feltételvizsgálatokban használhatóak a következő operátorok: =, <, > és kifejezések: And, Or
9 6. Ciklusok (iterációk) a programban Ciklusok segítségével egy vagy több utasítást többször hajthatunk végre. Háromféle ciklust használhatunk, de most csak eggyel, a növekményes ciklussal fogunk megismerkedni. A ciklus szerkezete: For [ciklusváltozó]=[kezdőérték] To [befejező érték] utasítás1 utasítás2 utasítás3 utasításn Next A program egymás alatt négyszer jeleníti meg a Hello szót. A ciklusváltozó jelen esetben az i, de lehetne más is, mondjuk j. Ez egy speciális lokális változó, mivel: 9 - nem kell deklarálni - csak a ciklusban létezik, a ciklus után nem használható. A program működése az i aktuális értékétől függ. Az i kezdetben nulla (kezdőérték). A Next utasításnál két dolog történik: - az i értéke eggyel nő - a vezérlés a ciklus elejére (For utasítás) lép ismét. A ciklus elején a program megvizsgálja, hogy az i értéke a kezdő- és befejező érték között van-e. Amennyiben igen, a ciklusban található utasítás (WriteLine("Hello")) ismét végrehajtásra kerül. Majd újra eljutunk a Next hez, i értéke nő, vezérlés visszatér a For hoz. Vázlatosan a következő történik: For Next WriteLine("Hello") i legyen egyenlő 1-gyel az i 0 és 3 között van? IGEN WriteLine("Hello") i legyen egyenlő 2-vel az i 0 és 3 között van? IGEN WriteLine("Hello") i legyen egyenlő 3-mal az i 0 és 3 között van? IGEN WriteLine("Hello") i legyen egyenlő 4-gyel az i 0 és 3 között van? NEM-STOP Könnyen belátható, hogy az alábbi esetekben sem változik meg a program kimenete: - For i = 1 To 4 - For i = 10 To 13 - For i = 11 To 14 Az alábbi program kimenete azonban már eltérő lesz a ciklusváltozó értékeinek módosítása esetén: A For-Next ciklus, mint látni fogjuk, remekül használható tömbök feltöltéséhez. A bal oldalon látható programmal például egy négyelemű egydimenziós tömbbe könnyedén beírhatunk 1-eseket. Amikor i=0, akkor tomb(0)-nak adhatunk értéket,amikor i=1, akkor a tomb(1)-nek, és így tovább. Azaz a For és Next közé elegendő ennyit írni: tomb(i)=1!
10 7. Matematikai műveletek a programban Alapműveletek: 10 - *: szorzás (6* ) - /: osztás (6/3 -- 2) - +: összeadás ( ) - -: kivonás ( ) - \: maradékos osztás (13\2 -- 6) - Mod: maradékképzés (13\2 -- 1) - ^: hatványozás (3 ^ ) - Math.Sqrt(): négyzetgyök (Math.Sqrt(4) -- 2) - Math.Floor(): egészrész képzés (Math.Floor(4.7) -- 4) - Math.Round(): kerekítés (Math.Round(4.7) -- 5) Példa1: Döntsük el egy számról, hogy páros vagy páratlan! 13: páratlan 12: páros Belátható, a fenti két példa alapján is, hogy ha páros számokat kettővel osztunk, akkor a maradék 0 lesz, páratlan számok esetén viszont 1. Ezt kihasználva, a megoldás egyágú és kétágú szelekcióval:
11 Példa2: Mit csinál az alábbi program? 11 III. Programozás haladó(bb) szinten 1. Adatbeolvasás szöveges fájlból Hozzunk létre (például) a C: meghajtón egy VB nevű könyvtárat. Ebben a könyvtárban hozzunk létre egy nevek.txt nevű szöveges fájlt a következő tartalommal: Gipsz Jakab Aba Botond Nagy Kata A feladat az, hogy olvassuk be a szöveges fájlt, majd a neveket egymás után jelenítsük meg a monitoron:
12 A megoldás értelmezése: 12 - fájlműveletekhez szükségünk van az IO névtérre. Ezt a második sorban importáltuk - létrehoztunk egy egysor nevű, szöveges típusú változót. A szöveges fájlból ebbe fog kerülni az első, a második és a harmadik sor (név) - a fajl változóról csak azt kell tudnunk, hogy deklarálása során kell megadnunk a fájl elérési útvonalát, ezután pedig azt, hogy mit akarunk vele kezdeni. Jelen esetben csupán megnyitjuk (FileMode.Open). Ez azt jelenti, hogy tartalmát nem tudjuk módosítani, törölni. Ne felejtsük el lezárni a változót, miután már nincs rá szükség (fajl.close())! - az sorok változóról csak azt kell tudnunk, hogy a program a szöveges fájlban található adatokat segítségével tudja közvetlenül elérni. Ne felejtsük el lezárni a változót, miután már nincs rá szükség (sorok.close())! - a sorok.readline kiolvassa az első sort a fájlból. A kiolvasott sort azonnal betesszük az egysor nevű változóba, majd annak tartalmát rögtön ki is íratjuk a monitorra. Mivel Write() helyett WriteLine() utasítást használunk, a nevek egymás alá fognak kerülni. A második sorok.readline a második sort, a harmadik sorok.readline a harmadik sort olvassa ki. - Mivel a kiolvasás és kiíratás utasítása háromszor változatlanul egymás alatt megtalálható, a programot ciklus segítségével egyszerűsíthetjük: 2. Szöveges fájlok feldarabolása Feladat1: A Gipsz Jakab nevet helyezzük el egy String típusú változóba, majd soronként külön jelenítsük meg a vezeték-, majd keresztnevet (A vezeték- és keresztnév között egy szóköz található)! A feladat megoldásához a Split() függvényt fogjuk használni. A Split() függvény a zárójelben megadott karakter mentén darabolja fel a szöveges fájlt. Jelen esetben a szóköz mentén kell két részre vágni Gipsz Jakabot, így kapjuk meg külön a vezeték- és keresztnevet. Igen ám, de ennek következtében két szövegrész keletkezik, hogy kezeljük ezeket? Tegyük be egy kétfiókos String típusú szekrénybe!
13 A nev nevű változó tárolja a nevet. Létrehoztunk egy elemek nevű kételemű egydimenziós tömböt. Ez fogja tárolni a vezeték- és keresztnevet. A tömb deklarációja után a Split(" ")függvénnyel a bal oldalon látható kód szerint a szóköz helyén feldaraboltuk a nev nevű változó tartalmát, Gipsz Jakab - ot. Ezt követően az elő- és utónevet az elemek nevű tömbbe helyeztük, majd a 0. és 1. sorszámú fiók tartalmát egymás alá a monitorra írtuk. Megjegyzés: 13 - az elemek nevű tömb értelemszerűen kisebb nem lehet, de az az igazság, hogy nagyobb sem. A Split() használata esetén a Split()-tel feldarabolt szöveg részeinek tárolására szolgáló tömb méretét körültekintően kell megtervezni! - Könnyen belátható, hogy ciklus segítségével, a ciklusváltozó felhasználásával is megoldhattuk volna a feladatot Ezt követően az előző fejezetben beolvasott neveket is bontsuk két részre, majd a vezeték- és keresztneveket jelenítsük meg egymás alatt! A neveket egy szóköz választja el egymástól, így a Split() használható. A Split() által feldarabolt szövegrészek tárolásra itt is elegendő egy kételemű egydimenziós tömb, mivel a két részből álló neveket soronként olvassuk ki és daraboljuk fel. Lapozz!
14 14 A bekarikázott részt ciklusra cserélve a program végleges formája:
15 Feladat2: A következő, szóközzel elválasztott számokat olvassuk be egy Byte típusú tömbbe: ! Szükségünk lesz egy olyan tömbre, amely a számokat fogja tárolni. Ez ötelemű lesz, mivel öt számról van szó. A tömb neve legyen szamok, típusa pedig Byte. A Split()-tel feldarabolható, azonban a Split() csak szöveges típusú tömbbe képes beírni a feldarabolás után keletkezett szövegrészeket. Így először egy ötelemű, szöveges típusú tömböt kell feltöltenünk (legyen ez most is az elemek nevű tömb), majd a tömb értékeit át kell írnunk a szintén ötelemű szamok nevű tömbbe. Az első program ciklus nélkül, a második ciklussal oldja meg a feladatot. Az utóbbi rövidebb, elegánsabb, és bár a feladat nem kéri, de könnyedén megjeleníti a szamok nevű tömb minden értékét: Adatbeolvasás, Split(), kétdimenziós tömb 3 az 1-ben, egészségére! A VB könyvtárban készítsünk egy feladat.txt nevű szöveges fájlt a következő tartalommal: A számokat szóköz választja el egymástól. Olvassuk be a számokat egy Byte típusú kétdimenziós tömbbe, majd jelenítsük meg azokat a monitoron először egymás után, majd a fenti mintának megfelelően! Hozzávalók: - az adatbeolvasáshoz szükséges változók (fajl, sorok) - a Split() által használt String típusú tömb. Mivel soronként 5 szám található, ezért 5 eleműnek kell lennie. Legyen a tömb neve továbbra is elemek - a kétdimenziós, Byte típusú, 2x5-ös tömb. Legyen a tömb neve szamok
16 1. lépés a program keretének elkészítése 16 A program középső részén látunk egy For-Next ciklust. Mivel a szöveges fájlban csak két sor van, ezért a ciklusban található utasításokat kétszer kell végrehajtani. Az i értéke először 0, majd 1, így tényleg kétszer olvasunk ki sorokat a szöveges fájlból (sorok.readline), majd ezeket a sorokat különkülön daraboljuk a szóközök mentén. Az i értéke pedig felhasználható valamire: segítségével először a kétdimenziós tömb első (sorszám szerint 0.), majd második (sorszám szerint 1.) sorát tölthetjük fel. 2. lépés a kétdimenziós tömb feltöltése A megjegyzés helyére a következőt írhatjuk: Az i először 0, így először a tömb első sorába írjuk be az első 5 számot, végül az i értéke 1, így a tömb második sorába írjuk be az utolsó öt számot. A bal oldalon látható kód nem túl szép, és nem túl hatékony, ezért átalakítjuk. 3. lépés a feltöltés optimalizálása és a számok kiírása a monitorra egymás alá:
17 A végleges kód: 17 Már csak a megjegyzés helyére kell írnunk valamit. Felhívnám a figyelmet, hogy nem véletlenül fogjuk ide a kódot beszúrni. A megnyitott fájlt célszerű lezárni (fajl.close()), ha már nem használjuk. Mivel a kétdimenziós tömböt már feltöltöttük, és a feladatunk csupán az, hogy ennek a tartalmát a mintának megfelelően kilistázzuk, a megnyitott fájlra már nincs szükségünk, így a fájl lezárása után is elkészíthetjük a hiányzó kódrészletet: Az i itt is a sorokat azonosítja. Az i először 0, majd 1. A kiíráshoz a Write() utasítást használjuk, mert soronként szóközzel elválasztva egymás mellé kell írni 5-5 számot. 5 szám után azonban kell egy sortörés. Erre szolgál az üres WriteLine(). Ez a kódrészlet szintén optimalizálható:
18 IV. Az érettségi feladat megoldása beszéljenek a kódok! Egy nagy kitérő után végre elérkeztünk a feladatmegoldáshoz. Az alábbiakban a megoldásokat közlöm, magyarázatokat viszont nem fűzök a kódhoz. Teszem ezt azért, mert a korábbi fejezetekben minden szükséges információ megtalálható. Így ezt a részt csak azoknak ajánlom, akik az előismereteket más elsajátították. Az alábbi program a mellékelt megoldas.txt-ben is megtalálható. A program váza a II. fejezet 3. pontjában (Eljárások) megtalálható kód lesz. Az alábbiakban csak az egyes eljárások tartalmát közlöm. A forrásfájlt, amit mellékeltem is, a lottosz.dat-ot, a VB könyvtárba másoltam, onnét fogom megnyitni. A továbblépés előtt olvassuk el ismét a tananyag elején található feladatleírást. Az alábbi kódokban figyeljünk a megjegyzésekre is! 18 Szöveges fájl beolvasása kétdimenziós tömbbe a beolvas() eljárás 1. feladat a feladat1() eljárás Kérje be a felhasználótól az 52. hét megadott lottószámait! 2. feladat a feladat2() eljárás Figyelem!!! Ez a feladat a legbonyolultabb, és az alábbiakban használt algoritmust még nem tanultuk. Nyugodtan kihagyhatjuk, és folytathatjuk a 3. feladattal! A program rendezze a bekért lottószámokat emelkedő sorrendbe! A rendezett számokat írja ki a képernyőre! Ahhoz, hogy a bekért számokat rendezni tudjuk, a következő feltételeket figyelembe kell vennünk:
19 - a feladat1() eljárásban használt ujhet változó tartalmát Split()-tel darabolnunk kell, és az elemeket Byte típusú tömbbe kell elhelyezni - az ujhet lokális változó, a feladat() eljárásból nem érhető el, ezért globális változóvá kell előléptetnünk: 19 Végül a megoldás:
20 3. feladat a feladat3() eljárás Kérjen be a felhasználótól egy egész számot 1-51 között! A bekért adatot nem kell ellenőrizni! feladat a feladat4() eljárás Írja ki a képernyőre a bekért számnak megfelelő sorszámú hét lottószámait, a lottosz.dat állományban lévő adatok alapján! Megjegyzések: - mivel a lottosz.dat adatait már elhelyeztük a szamok nevű kétdimenziós tömbbe, ezért a fájlt nem kell újra megnyitnunk. A szamok azonban lokális változó, a feladat4()-ből nem érhető el. Globális változóvá kell előléptetni: - hasonlóképpen a feladat3() eljárásban bekért szám (szam) is lokális változó. Globális változót kell belőle csinálni, hogy a feladat4() eljárás kezelni tudja:
21 21 * az ujhet nevű globális változót a feladat2()-ben hoztuk létre. Végül a megoldás: folytatása következik januárban
Tömbök kezelése. Példa: Vonalkód ellenőrzőjegyének kiszámítása
Tömbök kezelése Példa: Vonalkód ellenőrzőjegyének kiszámítása A számokkal jellemzett adatok, pl. személyi szám, adószám, taj-szám, vonalkód, bankszámlaszám esetében az elírásból származó hibát ún. ellenőrző
RészletesebbenProgramozás alapjai gyakorlat. 4. gyakorlat Konstansok, tömbök, stringek
Programozás alapjai gyakorlat 4. gyakorlat Konstansok, tömbök, stringek Házi ellenőrzés (f0069) Valósítsd meg a linuxos seq parancs egy egyszerűbb változatát, ami beolvas két egész számot, majd a kettő
Részletesebben1. Alapok. #!/bin/bash
1. oldal 1.1. A programfájlok szerkezete 1. Alapok A bash programok tulajnképpen egyszerű szöveges fájlok, amelyeket bármely szövegszerkesztő programmal megírhatunk. Alapvetően ugyanazokat a at használhatjuk
RészletesebbenFelvételi tematika INFORMATIKA
Felvételi tematika INFORMATIKA 2016 FEJEZETEK 1. Természetes számok feldolgozása számjegyenként. 2. Számsorozatok feldolgozása elemenként. Egydimenziós tömbök. 3. Mátrixok feldolgozása elemenként/soronként/oszloponként.
RészletesebbenVáltozók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):
Python Változók Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai): Név Érték Típus Memóriacím A változó értéke (esetleg más attribútuma is) a program futása alatt
RészletesebbenII. Mérés SZÉCHENYI ISTVÁN EGYETEM GYŐR TÁVKÖZLÉSI TANSZÉK
Mérési Utasítás Linux/Unix jogosultságok és fájlok kezelése Linux fájlrendszerek és jogosultságok Linux alatt, az egyes fájlokhoz való hozzáférések szabályozása érdekében a fájlokhoz tulajdonost, csoportot
Részletesebben7. fejezet: Mutatók és tömbök
7. fejezet: Mutatók és tömbök Minden komolyabb programozási nyelvben vannak tömbök, amelyek gondos kezekben komoly fegyvert jelenthetnek. Először is tanuljunk meg tömböt deklarálni! //Tömbök használata
RészletesebbenBevezetés a programozásba I 4. gyakorlat. PLanG: Szekvenciális fájlkezelés. Szekvenciális fájlkezelés Fájlok használata
Pázmány Péter Katolikus Egyetem Információs Technológiai Kar Bevezetés a programozásba I 4. gyakorlat PLanG: 2011.10.04. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Fájlok
RészletesebbenHORVÁTH ZSÓFIA 1. Beadandó feladat (HOZSAAI.ELTE) ápr 7. 8-as csoport
10-es Keressünk egy egész számokat tartalmazó négyzetes mátrixban olyan oszlopot, ahol a főátló alatti elemek mind nullák! Megolda si terv: Specifika cio : A = (mat: Z n m,ind: N, l: L) Ef =(mat = mat`)
Részletesebben1. Jelölje meg az összes igaz állítást a következők közül!
1. Jelölje meg az összes igaz állítást a következők közül! a) A while ciklusban a feltétel teljesülése esetén végrehajtódik a ciklusmag. b) A do while ciklusban a ciklusmag után egy kilépési feltétel van.
Részletesebbenhiányzott szeptemberben vagy A tanuló nem hiányzott szeptemberben szöveget
Hiányzások Ebben a feladatban egy általános iskola 2017 szeptemberi hiányzásai tartalmazó szövegfájlt kell feldolgoznia. Az adatok a szeptember.csv állomány tartalmazza. Az állomány egy sorában egy tanuló
RészletesebbenSzöveges fájl kezelése (a Caesar-kód feltörése) A kód feltörésének statisztikai háttere
Szöveges fájl kezelése (a Caesar-kód feltörése) A kód feltörésének statisztikai háttere Hosszabb szöveg esetén a Caesar-kód feltörése a statisztika módszereivel könnyen megoldható. Az egyes betűk előfordulásának
RészletesebbenOccam 1. Készítette: Szabó Éva
Occam 1. Készítette: Szabó Éva Párhuzamos programozás Egyes folyamatok (processzek) párhuzamosan futnak. Több processzor -> tényleges párhuzamosság Egy processzor -> Időosztásos szimuláció Folyamatok közötti
RészletesebbenBASH SCRIPT SHELL JEGYZETEK
BASH SCRIPT SHELL JEGYZETEK 1 TARTALOM Paraméterek... 4 Változók... 4 Környezeti változók... 4 Szűrők... 4 grep... 4 sed... 5 cut... 5 head, tail... 5 Reguláris kifejezések... 6 *... 6 +... 6?... 6 {m,n}...
RészletesebbenBevezetés a programozásba I 4. gyakorlat. PLanG: Szekvenciális fájlkezelés
Pázmány Péter Katolikus Egyetem Információs Technológiai Kar Bevezetés a programozásba I 4. gyakorlat PLanG: 2011.10.04. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Fájlok
RészletesebbenA C# PROGRAMOZÁSI NYELV
A C# PROGRAMOZÁSI NYELV 2010.02.23. Bevezetés C# nyelv jellemzői 2 Kis és NAGY betű érzékeny Minden utasítást pontos vessző zár. Utasítás zárójel a:,. .NET Framework keretrendszerek 3 Microsoft.NET Framework
RészletesebbenSZÁMÍTÓGÉPEK BELSŐ FELÉPÍTÉSE - 1
INFORMATIKAI RENDSZEREK ALAPJAI (INFORMATIKA I.) 1 NEUMANN ARCHITEKTÚRÁJÚ GÉPEK MŰKÖDÉSE SZÁMÍTÓGÉPEK BELSŐ FELÉPÍTÉSE - 1 Ebben a feladatban a következőket fogjuk áttekinteni: Neumann rendszerű számítógép
RészletesebbenProgramozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós augusztus 29. Széchenyi István Egyetem, Gy r
Programozás alapjai (GKxB_INTM023) Széchenyi István Egyetem, Gy r 2019. augusztus 29. Feladat: írjuk ki az els 10 természetes szám négyzetét! #i n c l u d e i n t main ( v o i d ) { p r
RészletesebbenProgramozás alapjai C nyelv 4. gyakorlat. Mit tudunk már? Feltételes operátor (?:) Típus fogalma char, int, float, double
Programozás alapjai C nyelv 4. gyakorlat Szeberényi Imre BME IIT Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I. 2005.10.10.. -1- Mit tudunk már? Típus fogalma char, int, float,
RészletesebbenWebprogramozás szakkör
Webprogramozás szakkör Előadás 5 (2012.04.09) Programozás alapok Eddig amit láttunk: Programozás lépései o Feladat leírása (specifikáció) o Algoritmizálás, tervezés (folyamatábra, pszeudokód) o Programozás
RészletesebbenOperációs rendszerek. 11. gyakorlat. AWK - szintaxis, vezérlési szerkezetek UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED
UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED AWK - szintaxis, vezérlési szerkezetek Operációs rendszerek 11. gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Csuvik
Részletesebben2018, Funkcionális programozás
Funkcionális programozás 6. előadás Sapientia Egyetem, Matematika-Informatika Tanszék Marosvásárhely, Románia mgyongyi@ms.sapientia.ro 2018, tavaszi félév Miről volt szó? Haskell modulok, kompilálás a
RészletesebbenProgramozás alapjai gyakorlat. 2. gyakorlat C alapok
Programozás alapjai gyakorlat 2. gyakorlat C alapok 2016-2017 Bordé Sándor 2 Forráskód, fordító, futtatható állomány Először megírjuk a programunk kódját (forráskód) Egyszerű szövegszerkesztőben vagy fejlesztőkörnyezettel
RészletesebbenMit tudunk már? Programozás alapjai C nyelv 4. gyakorlat. Legnagyobb elem keresése. Feltételes operátor (?:) Legnagyobb elem keresése (3)
Programozás alapjai C nyelv 4. gyakorlat Szeberényi Imre BME IIT Mit tudunk már? Típus fogalma char, int, float, double változók deklarációja operátorok (aritmetikai, relációs, logikai,
Részletesebben1. numere.txt n (1 n 10000) n növekvő kilenc a) Pascal/C++ Például: NUMERE.TXT
Az informatika érettségi harmadik tételsora tartalmaz egy feladatot, melyet hatékonyan kell megoldani. A program megírása mellett követelmény a megoldásban használt módszer rövid leírása, kitérve a módszer
RészletesebbenBASH script programozás II. Vezérlési szerkezetek
06 BASH script programozás II. Vezérlési szerkezetek Emlékeztető Jelölésbeli különbség van parancs végrehajtása és a parancs kimenetére való hivatkozás között PARANCS $(PARANCS) Jelölésbeli különbség van
RészletesebbenProgramozás Minta programterv a 1. házi feladathoz 1.
Programozás Minta programterv a 1. házi feladathoz 1. Gregorics Tibor 1. beadandó/0.feladat 2008. december 6. EHACODE.ELTE gt@inf.elte.hu 0.csoport Feladat Egy osztályba n diák jár, akik m darab tantárgyat
RészletesebbenBevezetés a programozásba I.
Bevezetés a programozásba I. 6. gyakorlat C++ alapok, szövegkezelés Surányi Márton PPKE-ITK 2010.10.12. Forrásfájlok: *.cpp fájlok Fordítás: a folyamat, amikor a forrásfájlból futtatható állományt állítunk
Részletesebben1. Egyszerű (primitív) típusok. 2. Referencia típusok
II. A Java nyelv eszközei 1. Milyen eszközöket nyújt a Java a programozóknak Korábban már említettük, hogy a Java a C nyelvből alakult ki, ezért a C, C++ nyelvben járatos programozóknak nem fog nehézséget
RészletesebbenBevezetés a programozásba I 10. gyakorlat. C++: alprogramok deklarációja és paraméterátadása
Pázmány Péter Katolikus Egyetem Információs Technológiai Kar Bevezetés a programozásba I 10. gyakorlat C++: alprogramok deklarációja és paraméterátadása 2011.11.22. Giachetta Roberto groberto@inf.elte.hu
RészletesebbenKészítette: Nagy Tibor István
Készítette: Nagy Tibor István A változó Egy memóriában elhelyezkedő rekesz Egy értéket tárol Van azonosítója (vagyis neve) Van típusa (milyen értéket tárolhat) Az értéke értékadással módosítható Az értéke
RészletesebbenProgramozás I. Matematikai lehetőségek Műveletek tömbökkel Egyszerű programozási tételek & gyakorlás V 1.0 OE-NIK,
Programozás I. Matematikai lehetőségek Műveletek tömbökkel Egyszerű programozási tételek & gyakorlás OE-NIK, 2013 1 Hallgatói Tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk
RészletesebbenProgramozási segédlet
Programozási segédlet Programozási tételek Az alábbiakban leírtam néhány alap algoritmust, amit ismernie kell annak, aki programozásra adja a fejét. A lista korántsem teljes, ám ennyi elég kell legyen
RészletesebbenAWK programozás, minták, vezérlési szerkezetek
10 AWK programozás, minták, vezérlési szerkezetek AWK adatvezérelt szkriptnyelv text processing, adat kiterjesztés, tagolt adatok automatizált soronkénti feldolgozása a forrásállományt soronként beolvassa
Részletesebben1. feladat Készítse el szövegszerkesztővel, majd mentse osztály.txt néven a következő tartalmú szöveges fájlt:
BME MOGI Gépészeti informatika 12. 1. feladat Készítse el szövegszerkesztővel, majd mentse osztály.txt néven a következő tartalmú szöveges fájlt: Matematika;Fizika;Történelem;Irodalom;Nyelvtan;Angol;Testnevelés;
RészletesebbenVáltozók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):
Javascript Változók Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai): Név Érték Típus Memóriacím A változó értéke (esetleg más attribútuma is) a program futása
RészletesebbenProgramozási alapismeretek beadandó feladat: ProgAlap beadandó feladatok téma 99. feladat 1
Programozási alapismeretek beadandó feladat: ProgAlap beadandó feladatok téma 99. feladat 1 Készítette: Gipsz Jakab Neptun-azonosító: A1B2C3 E-mail: gipszjakab@vilaghalo.hu Kurzuskód: IP-08PAED Gyakorlatvezető
RészletesebbenAlgoritmizálás és adatmodellezés tanítása beadandó feladat: Algtan1 tanári beadandó /99 1
Algoritmizálás és adatmodellezés tanítása beadandó feladat: Algtan1 tanári beadandó /99 1 Készítette: Gipsz Jakab Neptun-azonosító: ABC123 E-mail: gipszjakab@seholse.hu Kurzuskód: IT-13AAT1EG 1 A fenti
RészletesebbenProgramozás alapjai. 5. előadás
5. előadás Wagner György Általános Informatikai Tanszék Cserélve kiválasztásos rendezés (1) A minimum-maximum keresés elvére épül. Ismétlés: minimum keresés A halmazból egy tetszőleges elemet kinevezünk
RészletesebbenI. Specifikáció készítés. II. Algoritmus készítés
Tartalomjegyzék I. Specifikáció készítés...2 II. Algoritmus készítés...2 Egyszerű programok...6 Beolvasásos feladatok...10 Elágazások...10 Ciklusok...1 Vegyes feladatok...1 1 I. Specifikáció készítés A
RészletesebbenS z á m í t ó g é p e s a l a p i s m e r e t e k
S z á m í t ó g é p e s a l a p i s m e r e t e k 7. előadás Ami eddig volt Számítógépek architektúrája Alapvető alkotóelemek Hardver elemek Szoftver Gépi kódtól az operációs rendszerig Unix alapok Ami
Részletesebben7. Laboratóriumi gyakorlat: Vezérlési szerkezetek II.
7. Laboratóriumi gyakorlat: Vezérlési szerkezetek II. A gyakorlat célja: 1. A shell vezérlő szerkezetei használatának gyakorlása. A használt vezérlő szerkezetek: if/else/fi, for, while while, select, case,
Részletesebben3. Határozza meg és írja ki a minta szerint, hogy a forrásállományban hány kémiai elem felfedezési adatai
Kémiai elemek felfedezése A kémiai elemek kémiailag tovább már nem bontható, egyszerű anyagok. Jelenleg 118 különböző kémiai elemet ismerünk, közüliik a Földön 94 található meg a természetben, ezeket természetes
RészletesebbenAlgoritmusok Tervezése. 4. Előadás Visual Basic 1. Dr. Bécsi Tamás
Algoritmusok Tervezése 4. Előadás Visual Basic 1. Dr. Bécsi Tamás Bevezetés A BASIC (Beginner s All-purpose Symbolic Instruction Code) programnyelvet oktatási célokra hozták létre 1964-ben. Az általános
RészletesebbenLibreOffice Makró Basic
2017/01/12 13:05 1/11 LibreOffice Makró Basic < Basic LibreOffice LibreOffice Makró Basic Szerző: Sallai András Copyright Sallai András, 2013 Licenc: GNU Free Documentation License 1.3 Web: http://szit.hu
Részletesebben2. 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).
1. fejezet AWK 1.1. Szűrési feladatok 1. Készítsen awk szkriptet, ami kiírja egy állomány leghosszabb szavát. 2. Készítsen awk szkriptet, amely kiírja az aktuális könyvtár összes alkönyvtárának nevét,
RészletesebbenDelphi programozás I.
Delphi programozás I. Konzol alkalmazások készítése Delphiben A Delphi konzol alkalmazása (console application) olyan 32 bites program, amely nem grafikus felületen, hanem egy szöveges konzol ablakban
RészletesebbenC programozási nyelv Pointerek, tömbök, pointer aritmetika
C programozási nyelv Pointerek, tömbök, pointer aritmetika Dr. Schuster György 2011. június 16. C programozási nyelv Pointerek, tömbök, pointer aritmetika 2011. június 16. 1 / 15 Pointerek (mutatók) Pointerek
RészletesebbenBánsághi Anna 2014 Bánsághi Anna 1 of 35
IMPERATÍV PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 4. ELŐADÁS - ADATFOLYAMOK KEZELÉSE 2014 Bánsághi Anna 1 of 35 TEMATIKA I. ALAPFOGALMAK, TUDOMÁNYTÖRTÉNET II. IMPERATÍV PROGRAMOZÁS Imperatív
Részletesebben1. Feladat: beolvas két számot úgy, hogy a-ba kerüljön a nagyobb
1. Feladat: beolvas két számot úgy, hogy a-ba kerüljön a nagyobb #include main() { int a, b; printf( "a=" ); scanf( "%d", &a ); printf( "b=" ); scanf( "%d", &b ); if( a< b ) { inttmp = a; a =
RészletesebbenGyakorló feladatok az 1. nagy zárthelyire
Gyakorló feladatok az 1. nagy zárthelyire 2012. október 7. 1. Egyszerű, bevezető feladatok 1. Kérjen be a felhasználótól egy sugarat. Írja ki az adott sugarú kör kerületét illetve területét! (Elegendő
RészletesebbenMegjegyzés: A programnak tartalmaznia kell legalább egy felhasználói alprogramot. Példa:
1. Tétel Az állomány két sort tartalmaz. Az első sorában egy nem nulla természetes szám van, n-el jelöljük (5
RészletesebbenSzoftvertervezés és -fejlesztés I.
Szoftvertervezés és -fejlesztés I. Operátorok Vezérlési szerkezetek Gyakorlás 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.
RészletesebbenA C# programozási nyelv alapjai
A C# programozási nyelv alapjai Tisztán objektum-orientált Kis- és nagybetűket megkülönbözteti Ötvözi a C++, Delphi, Java programozási nyelvek pozitívumait.net futtatókörnyezet Visual Studio fejlesztőkörnyezet
RészletesebbenINFORMATIKAI ALAPISMERETEK
ÉRETTSÉGI VIZSGA 2005. május 20. INFORMATIKAI ALAPISMERETEK KÖZÉPSZINTŰ ÉRETTSÉGI VIZSGA Az írásbeli vizsga időtartama: 180 perc JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ OKTATÁSI MINISZTÉRIUM Megoldási útmutató I.
RészletesebbenProgramozási nyelvek Java
Programozási nyelvek Java 2. gyakorlat Függvények Általános prototípus Módosítószavak Láthatóság: public, protected, private. Ha nem definiált, akkor úgynevezett package-private láthatóság. Lehet abstract
Részletesebben6. fejezet: Ciklusok
6. fejezet: Ciklusok Mint a nyelvekben általában, itt is léteznek ciklusok. Az alapvető három ciklus-típus: elöltesztelő, hátultesztelő és számláló. Lássuk ezeket sorban! Elöltesztelő = while. A while
RészletesebbenI. ALAPALGORITMUSOK. I. Pszeudokódban beolvas n prim igaz minden i 2,gyök(n) végezd el ha n % i = 0 akkor prim hamis
I. ALAPALGORITMUSOK 1. Prímszámvizsgálat Adott egy n természetes szám. Írjunk algoritmust, amely eldönti, hogy prímszám-e vagy sem! Egy számról úgy fogjuk eldönteni, hogy prímszám-e, hogy megvizsgáljuk,
Részletesebben1. Alapok. Programozás II
1. Alapok Programozás II Elérhetőség Név: Smidla József Elérhetőség: smidla dcs.uni-pannon.hu Szoba: I916 2 Irodalom Bjarne Stroustrup: A C++ programozási nyelv 3 Irodalom Erich Gamma, Richard Helm, Ralph
RészletesebbenTorna. 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.
Torna A pekingi olimpián tornából hat versenyszámban mérettetik meg magukat a versenyzők. Ennek a versenynek az eredményeit kell feldolgoznia ebben a feladatban. A megoldás során vegye figyelembe a következőket:
RészletesebbenMintavételes szabályozás mikrovezérlő segítségével
Automatizálási Tanszék Mintavételes szabályozás mikrovezérlő segítségével Budai Tamás budai.tamas@sze.hu http://maxwell.sze.hu/~budait Tartalom Mikrovezérlőkről röviden Programozási alapismeretek ismétlés
RészletesebbenAWK programozás Bevezetés
09 AWK programozás Bevezetés AWK adatvezérelt szkriptnyelv text processing, adat kiterjesztés, tagolt adatok automatizált soronkénti feldolgozása a forrásállományt soronként beolvassa és feldolgozhatóvá
RészletesebbenVezérlési szerkezetek
Vezérlési szerkezetek Szelekciós ok: if, else, switch If Segítségével valamely ok végrehajtását valamely feltétel teljesülése esetén végezzük el. Az if segítségével valamely tevékenység () végrehajtását
RészletesebbenBevezetés a programozásba I.
Elágazás Bevezetés a programozásba I. 2. gyakorlat, tömbök Surányi Márton PPKE-ITK 2010.09.14. Elágazás Elágazás Eddigi programjaink egyszer ek voltak, egy beolvasás (BE: a), esetleg valami m velet (a
RészletesebbenA 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:)!
Space Shuttle 40 Pont A Space Shuttle (magyarul űrsikló", hivatalos angol nevén: Space Transportation System, STS) az Amerikai Egyesült Államok ember szállítására is alkalmas űrprogramja volt. Feladatai
RészletesebbenKirakós játék. Döntő február 22. Alakzatok (katalógus) DUSZA ÁRPÁD ORSZÁGOS PROGRAMOZÓI EMLÉKVERSENY 2013/2014
Döntő 2014. február 22. Kirakós játék Az Q-Puzzler kirakós játékot egyedül játsszák. A játéktér egy 5 sorból és 11 oszlopból álló lyukacsos tábla, amelybe különböző színű síkbeli alakzatok illeszthetőek.
RészletesebbenSaját Subversion tároló üzemeltetése i. Saját Subversion tároló üzemeltetése
i Saját Subversion tároló üzemeltetése ii KÖZREMŰKÖDŐK CÍM : Saját Subversion tároló üzemeltetése TEVÉKENYSÉG NÉV DÁTUM ALÁÍRÁS ÍRTA Jeszenszky, Péter 2014. február 16. VERZIÓTÖRTÉNET VERZIÓ DÁTUM LEÍRÁS
RészletesebbenINFORMATIKAI ALAPISMERETEK
Informatikai alapismeretek középszint 0631 ÉRETTSÉGI VIZSGA 2006. október 24. INFORMATIKAI ALAPISMERETEK KÖZÉPSZINTŰ ÍRÁSBELI ÉRETTSÉGI VIZSGA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ OKTATÁSI ÉS KULTURÁLIS MINISZTÉRIUM
RészletesebbenKonzolalkalmazások gyors tesztelése
Juhász Tibor: Konzolalkalmazások gyors tesztelése Kiegészítés a Programozási ismeretek haladóknak című könyvhöz (Műszaki Kiadó, 2012) A programozás versenyeken, de egyéb esetekben is fontos lehet, hogy
RészletesebbenInformatika terméktervezőknek
Informatika terméktervezőknek C# alapok Névterület (namespace) using Osztály (class) és Obejtumok Metódus (function, procedure, method) main() static void string[] arg Szintaxis // /* */ \n \t Névadások
RészletesebbenINFORMATIKA javítókulcs 2016
INFORMATIKA javítókulcs 2016 ELMÉLETI TÉTEL: Járd körbe a tömb fogalmát (Pascal vagy C/C++): definíció, egy-, két-, több-dimenziós tömbök, kezdőértékadás definíciókor, tömb típusú paraméterek átadása alprogramoknak.
Részletesebbensallang avagy Fordítótervezés dióhéjban Sallai Gyula
sallang avagy Fordítótervezés dióhéjban Sallai Gyula Az előadás egy kis példaprogramon keresztül mutatja be fordítók belső lelki világát De mit is jelent, az hogy fordítóprogram? Mit csinál egy fordító?
RészletesebbenObjektumorientált Programozás III.
Objektumorientált Programozás III. Vezérlési szerkezetek ismétlés Matematikai lehetőségek Feladatok 1 Hallgatói Tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk a számonkérendő
RészletesebbenBevezetés a programozásba I.
Bevezetés a programozásba I. 8. gyakorlat Fájlkezelés Surányi Márton PPKE-ITK 2010.11.02. Fájlkezelés C++-ban C++-ban van lehet ségünk fájlok kezelésére. Itt már tényleges fájlokkal dolgozunk, nem pedig
RészletesebbenPHP. Telepítése: Indítás/újraindítás/leállítás: Beállítások: A PHP nyelv
PHP A PHP rövidítés jelentése hivatalosan: PHP Hypertext Preprocessor. Ez egy kiszolgáló-oldali parancsnyelv, amit jellemzően HTML oldalakon használnak. A különbség a két nyelv között az, hogy a kiszolgáló
RészletesebbenAWK programozás, minták, vezérlési szerkezetek
10 AWK programozás, minták, vezérlési szerkezetek AWK futtatási módok AWK parancs, közvetlen programkódmegadás: awk 'PROGRAMKÓD' FILE példa: ls -l awk '{print $1, $5}' a programkód helyére minden indentálás
RészletesebbenProgramozás alapjai 9.Gy: Struktúra 2.
Programozás alapjai 9.Gy: Struktúra 2. Ördögi részletek P R O A L A G 35/1 B ITv: MAN 2018.11.10 Euró árfolyam statisztika Az EURO árfolyamát egy negyedéven keresztül hetente nyilvántartjuk (HUF / EUR).
RészletesebbenOperációs rendszerek gyak.
Operációs rendszerek gyak. AWK programozás Hirling Dominik Szegedi Tudományegyetem AWK AWK: a pattern scanning and processing language mintaelemző-és feldolgozó nyelv bármilyen szövegből minták alapján
RészletesebbenSZÁMÍTÓGÉPES PROBLÉMAMEGOLDÁS
SZÁMÍTÓGÉPES PROBLÉMAMEGOLDÁS 2.ELŐADÁS A VB programozási nyelv Az Excel programozása 2 A VB programozási nyelv Adattípusok Adatok kezelése Vezérlőszerkezetek Adattípusok és műveletek Egész adattípusok
RészletesebbenAlgoritmizálás és adatmodellezés tanítása beadandó feladat: Algtan1 tanári beadandó /99 1
Algoritmizálás és adatmodellezés tanítása beadandó feladat: Algtan1 tanári beadandó /99 1 Készítette: Gipsz Jakab Neptun-azonosító: ABC123 E-mail: gipszjakab@seholse.hu Kurzuskód: IT-13AAT1EG Gyakorlatvezető
RészletesebbenProgramozás alapjai 2.Gy: A C nyelv alapjai P R O
Programozás alapjai 2.Gy: A C nyelv alapjai. P R O A L A G 1/32 B ITv: MAN 2018.10.02 Code::Blocks Indítsa el mindenki! 2/32 1 Code::Blocks Új projekt 2 3 4 5 3/32 Code::Blocks Forráskód Kód fordítása:
RészletesebbenSzöveges fájlok szerkesztése Jegyzettömb használata
Szöveges fájlok szerkesztése A Jegyzettömb csak szöveges dokumentum (TXT fájl) szerkesztésére alkalmas (Editor). Ez azt jelenti, hogy a begépelt szöveget nem tudjuk kedvünk szerint megformázni, vagyis
RészletesebbenMerevlemez üzembe helyezése, particionálása
Merevlemez üzembe helyezése, particionálása (gyakorlati) A meghajtók és partíciók fogalma A meghajtó egy fizikai tárolóeszközt, például a merevlemez-meghajtó vagy a cserélhető USB-meghajtó. A partíció
RészletesebbenProgramozás alapjai. 10. előadás
10. előadás Wagner György Általános Informatikai Tanszék Pointerek, dinamikus memóriakezelés A PC-s Pascal (is) az IBM PC memóriáját 4 fő részre osztja: kódszegmens adatszegmens stackszegmens heap Alapja:
RészletesebbenProgramozás II. 2. Dr. Iványi Péter
Programozás II. 2. Dr. Iványi Péter 1 C++ Bjarne Stroustrup, Bell Laboratórium Első implementáció, 1983 Kezdetben csak precompiler volt C++ konstrukciót C-re fordította A kiterjesztés alapján ismerte fel:.cpp.cc.c
RészletesebbenKézikönyv. Szelekciós jegyzék létrehozása
Kézikönyv Szelekciós jegyzék létrehozása Tartalomjegyzék 1 OBJEKTUM KIVÁLASZTÁS - VEVŐ MEGJELENÍTÉS... 4 2 VEVŐ - ÜRES... 6 3 ABAS-ERP MASZKINFÓ... 8 4 VEVŐ - ÜRES... 9 5 ABAS-ERP MASZKINFÓ... 11 6 VEVŐ
RészletesebbenSzövegek C++ -ban, a string osztály
Szövegek C++ -ban, a string osztály A string osztály a Szabványos C++ könyvtár (Standard Template Library) része és bár az objektum-orientált programozásról, az osztályokról, csak később esik szó, a string
RészletesebbenProgramozási nyelvek II. JAVA
Programozási nyelvek II. JAVA 8. gyakorlat 2017. november 6-10. Általános tudnivalók A feladatmegoldás során fontos betartani az elnevezésekre és típusokra vonatkozó megszorításokat, illetve a szövegek
RészletesebbenFeladat. Bemenő adatok. Bemenő adatfájlok elvárt formája. Berezvai Dániel 1. beadandó/4. feladat 2012. április 13. Például (bemenet/pelda.
Berezvai Dániel 1. beadandó/4. feladat 2012. április 13. BEDTACI.ELTE Programozás 3ice@3ice.hu 11. csoport Feladat Madarak életének kutatásával foglalkozó szakemberek különböző településen különböző madárfaj
RészletesebbenOOP I. Egyszerő algoritmusok és leírásuk. Készítette: Dr. Kotsis Domokos
OOP I. Egyszerő algoritmusok és leírásuk Készítette: Dr. Kotsis Domokos 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
Részletesebben1. Olvassuk be két pont koordinátáit: (x1, y1) és (x2, y2). Határozzuk meg a két pont távolságát és nyomtassuk ki.
Számítás:. Olvassuk be két pont koordinátáit: (, y) és (2, y2). Határozzuk meg a két pont távolságát és nyomtassuk ki. 2. Olvassuk be két darab két dimenziós vektor komponenseit: (a, ay) és (b, by). Határozzuk
Részletesebben3. ZH-ban a minimum pontszám 15
1. HF 2. HF 3. HF 4. HF 5. HF 1. ZH 2. ZH 3. ZH Osszesen Jegy EHA kod 4 4 4 4 4 4 4 4 18 10 10 30 100 1 ARAPAFP.PTE 3.5 2.5 4 4 2 4 4 2 15 5 6 18 70 3 x 2 BAMPACP.PTE 4 4 4 4 4 4 4 4 18 10 8 26 94 5 x
RészletesebbenBánsághi Anna 2014 Bánsághi Anna 1 of 68
IMPERATÍV PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 3. ELŐADÁS - PROGRAMOZÁSI TÉTELEK 2014 Bánsághi Anna 1 of 68 TEMATIKA I. ALAPFOGALMAK, TUDOMÁNYTÖRTÉNET II. IMPERATÍV PROGRAMOZÁS Imperatív
RészletesebbenC programozási nyelv
C programozási nyelv Előfeldolgozó utasítások Dr Schuster György 2011 május 3 Dr Schuster György () C programozási nyelv Előfeldolgozó utasítások 2011 május 3 1 / 15 A fordítás menete Dr Schuster György
RészletesebbenAlapok: Használd számológép helyett
Alapok: Használd számológép helyett Az Excelt ugyanúgy használhatod, mint a számológépet, vagyis bármit ki tudsz vele számolni. Egész egyszerűen csak írj egy egyenlőségjelet a sor elejére és aztán ugyanúgy,
RészletesebbenA fizetendő összegből a 35 év fölötti tulajdonos 20 % kedvezményt kap.
Elágazás Az elágazás, olyan vezérlési szerkezet, amely az utasítások egy adott csoportját attól függően hajtja végre, hogy egy adott logikai feltétel teljesül-e. Legegyszerűbb változata a kétirányú elágazás,
RészletesebbenInformációk. Ismétlés II. Ismétlés. Ismétlés III. A PROGRAMOZÁS ALAPJAI 2. Készítette: Vénné Meskó Katalin. Algoritmus. Algoritmus ábrázolása
1 Információk 2 A PROGRAMOZÁS ALAPJAI 2. Készítette: Vénné Meskó Katalin Elérhetőség mesko.katalin@tfk.kefo.hu Fogadóóra: szerda 9:50-10:35 Számonkérés időpontok Április 25. 9 00 Május 17. 9 00 Június
Részletesebben1. Bevezetés szeptember 9. BME Fizika Intézet. Szám. szim. labor ea. Tőke Csaba. Tudnivalók. feladat. Tematika. Moodle Házi feladatok
Számítógépes szimulációk 1. Bevezetés BME Fizika Intézet 2015. szeptember 9. Bevezetés A félév menete C-ismétlés, 1. rész Oktatók: Nagyfalusi Balázs: nagyfalusi@phy.bme.hu, F3 211. : tcsaba@eik.bme.hu,
RészletesebbenA Windows az összetartozó adatokat (fájlokat) mappákban (könyvtárakban) tárolja. A mappák egymásba ágyazottak.
Mappakezelés WINDOWS-7 A Windows az összetartozó adatokat (fájlokat) mappákban (könyvtárakban) tárolja. A mappák egymásba ágyazottak. A PC legnagyobb mappája, amely az összes többi mappát is magában foglalja,
RészletesebbenObjektum Orientált Programozás V.
Objektum Orientált Programozás V. A Microsoft Visual Studio 2010 használata Műveletek tömbökkel Érték- és referenciatípusú változók Feladatok 1 Hallgatói Tájékoztató A jelen bemutatóban található adatok,
Részletesebben