PROGRAMOZÁSMÓDSZERTAN I
|
|
- Jázmin Némethné
- 9 évvel ezelőtt
- Látták:
Átírás
1 PROGRAMOZÁSMÓDSZERTAN I A számítógépek programozása szorosan összefügg a gépek építésével. Kezdetben maguk a gépek készítői voltak a programozói, szerelői és felhasználói is egyben. Az első és egyben talán leghíresebb programozó mégsem a gépek készítői közül került ki, sőt nem is az elektronikus gépek korából. Az 1840-es évek közepén Charles Babbage készített egy programozható gépet (analitikai gép), amire az első algoritmusokat Ada Lovelace készítette. A mellett, hogy a világ első programozója hölgy volt még az is érdekesség, hogy valójában a leánykori neve Ada Byron és bizony a híres költő Lord Byron lánya volt. 1. ábra Ada Lovelace A programozás az elektronikus gépek korában lett elterjedt foglalkozás. A második világháború alatt Neumann János által vezetett kutatócsoport elkészítette az első működőképes elektronikus számítógépeket, amikhez bizony már komoly programokat kellett írni. Ekkor még nem programozási nyelvek segítségével készültek a szoftverek, hanem a gépek nyelvén, úgynevezett gépi kódban íródtak. Ezek teljesen eltértek a ma használatos programozási nyelvektől. A gépek működéséhez közeli nyelveket, alacsony szintű nyelveknek nevezzük. Ilyen nyelv az ASSEMBLY, ahol szinte a gépi kódhoz hasonlóan kell bevinni a megfelelő utasításokat. Az emberi nyelvhez hasonlatos programozási nyelveket pedig magas szintű nyelveknek nevezzük. A magas szintű nyelvek közül az egyik legismertebb és talán legelterjedtebb a BASIC programozási nyelv. Kidolgozása Kemény János nevéhez fűződik. 1
2 A magas szintű nyelvek megjelenésével rohamosan megnőtt a felhasználók és programozók száma. Innenstől kezdve nem csak pár ember kiváltsága maradt a számítástechnika, hanem hétköznapi szakmává és szórakozássá változott. Az 1980-as évek hozták az igazi áttörést, amikor az IBM és az Apple megjelentette az elérhető árú PC családjait. Megvalósult egy álom a számítástechnika fanatikusok körében, mert mindenki megvehette a saját számítógépét, amin aztán otthon készíthette a saját programjait. A programozási nyelvek segítségével megjelentek az első, úgynevezett strukturált programok. Egy programot akkor nevezünk strukturáltnak, ha nem tartalmaz feltétel nélküli ugrást, és algoritmusa teljes mértékben megvalósítható véges mélységig egymásba ágyazott, egyszerű és összetett program struktúrákkal (szerkezetekkel). Ehhez a programot modulárisan kell felépítenünk. Ez a moduláris felépítés persze sokszor elég nagy fejtörést okoz. Mielőtt beleugrunk a strukturált programozás tanulmányozásába néhány alapfogalmat tisztáznunk kell! MUNKAHELYZET- ESETFELVETÉS ALAPFOGALMAK Algoritmus: Elemi lépések véges, logikus sorozata, amellyel egy probléma megoldását adja. A megfelelő bemenetre mindig ugyanazt a kimenetet kapjuk. Program: Az algoritmus megfogalmazása a számítógépek, vagy a fordító programok számára érthető módon. 2
3 Szintaktika: A programozás nyelvtana, szintaktikailag helyes valami, ha helyesen van leírva és a program el is fogadja. Szemantika: A programozás jelentése, szemantikailag helyes valami, ha helyesen működik. A programokat szintaktikailag tudja ellenőrizni a fordító, szemantikailag nem. Fordító program (compiler): Egy program, amely valamilyen programozási nyelven megírt programot gépi kódúvá fordít. Minél magasabb szintű egy nyelv annál bonyolultabb a fordítás. A fordítás a program elejétől a végéig megtörténik, és csak azután kezdi el futtatni a gép, ha szintaktikailag mindent rendben talált. A compileres nyelvek előnye a gyorsabb működés, hátránya, hogy a lefordított kód csak ugyanolyan architektúrájú gépen futtatható, mint amelyiken fordították. Értelmező (interpreter): Egy program, amely valamilyen programozási nyelven megírt programot utasításonként értelmez és végre is hajt. A fordítás utasításonként megy és a végrehajtás szintén ebben a sorrendben történik. Ha a program szintaktikailag hibás részhez ér, akkor hibaüzenettel megszakítja a program fordítását és futtatását. Az interpreteres nyelvek előnye, hogy a program hordozható minden olyan helyre, ahol van interpreter, hátránya, hogy a program sokkal lassabban fut. Megjegyzések (kommentek): A megjegyzéseket a fordító nem veszi figyelembe. Azt a célt szolgálják, hogy a programot olvasó könnyebben eligazodjon a programban, ezzel segítve a kód újrafelhasználását. Kommenteket nem csak mások segítésére, hanem a saját munkánk későbbi megkönnyítésére is érdemes elhelyezni a programunkban. Egy több ezer soros programban a készítője is hamar eltévedhet, főleg ha esetleg hónapokkal vagy évekkel később szeretne módosítani rajta. Kulcsszavak: A nyelv rögzített jelentéssel bíró szavai, amelyet más célra nem lehet használni. Konstans: Egy program része; egy objektum, amelynek van egy értéke. Egy állandót (értékként) a programozó a kód létrehozásakor meghatároz. Egy állandót csak az értéke jellemez, úgyhogy a konstans fogalma és a konstans értéke teljes szinonimák. 3
4 A változó: A változó egy elnevezett memória terület. Jellemzője a neve, memóriacíme, típusa, értéke. A változókat általában (nem minden esetben) első használat előtt deklarálni kell, azaz meg kell adni a változó nevét és típusát. Ennek hatására a fordító automatikusan kijelöl egy memóriacímet ennek a változónak. Arról, hogy melyik cím lett lefoglalva a változó számára a programozónak nem kell tudnia, hiszen a programban mindenütt a változó nevével hivatkozunk a területre. Erre a területre értéket adhatunk a változónak, és hivatkozhatunk is az ott található értékre. A neve: Programozási nyelvtől függően vannak rá szabályok. A legtöbb esetben nem lehet hosszabb 8 karakternél és kerülendők az ékezetes betűk és különleges karakterek. Érdemes úgy nevet választanunk, hogy valamilyen szinten tükrözze a feladatát is. Pl.: adat1, bevitel, nyomtat stb. A memóriacíme: Nekünk nem kell ismernünk az értékét, de bizonyos nyelvekben felhasználjuk. Az értéke: Egy változónak a definiálás pillanatától kezdve van pillanatnyi értéke. Még akkor is, ha még nem adtunk neki értéket, de ilyenkor nem célszerű felhasználni a pillanatnyi értéket. A definiált, de még értéket nem kapott változókat inicializálatlan változóknak szokás nevezni. Egyes nyelvek fordító programjai nem engedik felhasználni az inicializálatlan változók értékét, míg más nyelveknél a programozó felelőssége, hogy ne használja. Használat előtt azért érdemes minden változónknak megfelelő kezdőértéket adni, vagy lenullázni, ha azt a nyelv nem teszi meg automatikusan. A típusa: A típus szintén nyelvfüggő is lehet, de azért vannak olyan általános típusok, amik minden nyelvben szerepelnek. Ilyen például a szám, szöveg, logikai. Deklaráció: Meghatározás. Ha változó deklarálásáról beszélünk, akkor azt akarjuk kifejezni, hogy megadjuk a fordító számára egy használni kívánt változó nevét és típusát. Egyszer történhet egy változó számára helyfoglalás, de lehetséges, hogy többször is tudatnunk kell a fordítóval a változó nevét és típusát. Ez többmodulos programok esetén lehetséges. Inicializálás: Inicializálásnak nevezzük, amikor egy változó definiálásával egyidejűleg értéket is adunk a változónak. Vagyis a változót kezdőértékkel látjuk el. Kifejezés: Kifejezés elemek összekapcsolva operátorokkal, ahol a kifejezés elem lehet egy konstans, egy változó, függvényhívás, vagy egy zárójelezett kifejezés. Kifejezés kiértékelés: Ha egy kifejezés több operátort is tartalmaz, akkor a kiértékelésük sorrendjét a precedencia szabályok határozzák meg. A zárójelezett elemek természetesen külön értékelődnek ki és utána vesznek részt a teljes kifejezés kiértékelésében. 4
5 Precedencia szintek: Minden operátor, amit a számítástechnikában használunk, be van sorolva egy precedencia szintre, ami meghatározza a kiértékelésének a sorrendjét. Ennek egy része megegyezik a matematika és logika szabályaival, más része pedig programfüggő lehet. Operátorok: Operátorok segítségével tudunk a kifejezésekben elvégezni műveleteket. Több csoportjuk létezik attól függően, hogy hány operandussal rendelkeznek. Vannak egy-két és több operandusú operátorok. Általánosságban elmondható, hogy az egyoperandusú operátorok magasabb precedenciájúak, mint a kétoperandusúak. Valamint a legtöbb szint balról-jobbra értékel ki, kivételek az értékadó operátorok, valamint legtöbb egyoperandusú operátor (hiszen ezeket elé szokás írni és az értékelődik ki hamarabb, amely közelebb áll az operandushoz. Következő alapvető szintekben bemutatok pár példát erre: 1. előjel operátor:-, logikai tagadás operátor:! 2. : *, / 3. +, - 4. <, >, <=, >= Hatókör: A bizonyos elemek nem az egész program területén használhatóak és láthatóak. Gondoljunk csak bele, hogy egy több ezer soros programban milyen kavarodást okozhatna, ha minden változó és függvény érvényességi köre az egész programra kiterjedne. Elég csak azt számba venni, hogy a sok változónak a feladatát fejben kellene tartani folyamatosan. A hatókör kialakítása gyakorlatilag az ilyen elemek élettartamát, használhatóságát korlátozza. Az olyan változókat, elemeket, amiket az egész program területén használhatunk, globális hatókörűnek nevezzük, azokat, pedig amik csak egy meghatározott részén élnek a programnak, lokális hatókörrel rendelkezőnek nevezzük. Egy-egy objektum hatókörét a programozó definiálja. 5
6 MUNKAHELYZET- ESETFELVETÉS ALGORITMUS LEÍRÓ MÓDSZEREK A számítógépen futó algoritmusokat többféleképpen is le lehet írni. A különböző programozási nyelvekben az algoritmusok szintaktikája között sok eltérés lehet, de alapjaiban a működési elvük ugyanaz marad. Egy jó programozónak igazán nem okoz gondot egy algoritmus egyik nyelvről a másikra való átültetése. A nyelvektől független algoritmus leíró módszerek is léteznek. Ezek közül most hárommal foglalkozunk részletesebben: 1. Pszeudokód 2. Folyamatábra 3. Struktogram 1. Pszeudokód Ez a leírási módszer a magyar nyelv elemeit használja fel az algoritmusok rögzítésére. Gyakorlatilag a szerkezete egy strukturált programra hasonlít. Vannak rögzített kulcsszavai, amiket a megfelelő utasítások megjelenítésére használunk. Az algoritmus soronként van rögzítve, ami alapból a futási sorrendet is szemlélteti. Nézzük meg egy példán keresztül a használatát: Start Kérd be A Kérd be B C=A+B Ird ki C Vége Ha megvizsgáljuk az algoritmust láthatjuk, hogy egy elég egyszerű módszert használtunk a leírásra. A pszeudokód valahol a szöveges algoritmus és a strukturált programnyelvek között foglalja el helyét az algoritmus leírásban. 6
7 2. Folyamatábra A folyamatábra az egyik legrégebbi leíró eszköz, amit használunk az informatikában. Nagy előnye a gyors áttekinthetőség és egyértelműség. Hátránya, hogy nagyobb méretű algoritmusoknál elég nehézkes a használata. A folyamatábra gyakorlatilag grafikus elemek segítségével jeleníti meg az algoritmusokat. Síkidomok és nyilak az alkotóelemei. Nézzük meg az alapvető elemeket: A program kezdete: Start Input/Output (beviteli/kiviteli) művelet: Be A Értékadás, általános művelet: A=5 Vizsgálat, elágazás: A>10 Igaz Hamis Program vége: Stop Ezeknek az elemeknek a felhasználásával nézzünk meg egy példát egy egyszerű algoritmusra: 7
8 Start Be A Be B C=A+B Ki C Stop 8
9 3. Struktogram A struktogram már fejlettebb leíró eszköz, mint az előbbiek. Sokkal áttekinthetőbb algoritmusokat lehet készíteni vele. Az ábrázolás szempontjából előnyük, hogy nem használnak adatáramlási vonalakat és nyilakat, ezért sok hely takarítható meg. A programkészítés szempontjából is hasznos az alkalmazásuk, mert a tervezőt a programrészletekben, struktúrákban való gondolkozásra készteti. A struktogramokban a felhasznált szimbólumok egységesen téglalap alakúak, amelyek egy oldalukkal csatlakoznak egymáshoz: Utasítások: 1. utasítás 2. utasítás A feltételes elágazás: Igaz A>10 Hamis 1. utasítás 2. utasítás Ismétlődő tevékenységek (ciklusok) Meg kell ismerkednünk egy újabb utasítástípussal, a ciklussal. Akkor használjuk, ha egy vagy több utasítást -valamilyen feltételtől függően- többször kell végrehajtanunk. A feltételt ciklusfeltételnek, az ismételendő utasításokat ciklusmagnak nevezzük. Jelölése: 9
10 Logikai feltétel Ciklusmag SZAKMAI INFORMÁCIÓTARTALOM STRUKTURÁLT PROGRAMOK ELEMEI Programozás során több féle alkotóelemből is építkezhetünk, de három csoportba soroljuk azokat az utasításokat, amikből fel tudunk építeni egy strukturált programot: Szekvencia Szelekció Iteráció A következő részben azt vizsgáljuk meg, hogy a fenti utasításcsoportok hogyan működnek, és segítségükkel mi módon lehet összetettebb programozási feladatokat megoldani. :Szekvencia Szekvenciának nevezzük a sorban egymás után való utasítások végrehajtását. 10
11 Ez gyakorlatilag azt jelenti, hogy olyan egyszerű utasítások sorozatát írjuk a programunkba, amit aztán a számítógép egymásután végrehajtva eljut a program végére. Gyakorlatilag a program minden esetben ugyan úgy fog lefutni. A külső tényezők, vagy a bevitt adatok nem módosítanak az algoritmus menetén. Általában mindenki ilyen programok segítségével kezd el ismerkedni a programozással. Aránylag egyszerűen áttekinthetőek és könnyen meg lehet érteni a működésüket. Nézzünk egy egyszerű példát a hétköznapi életből a szekvenciális algoritmusra: 1. Felkelek 2. Mosakszom 3. Felöltözök 4. Reggelizek 5. Elindulok a munkába Gondolom a fenti algoritmus mindenki számára ismerős. Gyakorlatilag ez a hétköznapi reggelek szekvenciális programja. Hogy kicsit árnyaltabban is lássuk a problémát, most egy matematikai feladaton keresztül mutatjuk be a szekvenciális algoritmust pszeudokód segítségével: 1. Start 2. Bekér A 3. Bekér B 4. C=A+B 5. Kiír C 6. Vége Ebben az esetben két szám összeadását írtuk le egy szekvenciális algoritmusban. Ha felcserélném két sorát, valószínűleg gondom akadna az algoritmus végrehajtásával. Tehát egy szekvenciális algoritmusnál nagyon fontos az utasítások sorrendje. Most nézzük meg a fenti algoritmust folyamatábra segítségével: 11
12 Start Be A Be B C=A+B Ki C Stop Animáció Harmadszorra pedig struktogrammal is készítsük el az algoritmust! Bekér A Bekér B C=A+B Kiír C 12
13 Ha megvizsgáljuk a fenti algoritmusokat, akkor láthatjuk, hogy gyakorlatilag teljesen ugyan azokkal a problémákkal állunk szemben mindegyik esetben. Ha most fel kellene írnunk egy szorzásnak, vagy kivonásnak az algoritmusát akkor ott is egy szekvenciális programot kellene készítenünk. Nagyon sok problémát meg lehet oldani ezekkel a módszerekkel, de ahogy egy olyan problémához érkeznénk, ahol valamilyen döntést kell hozni a program folytatásához, már elakadna a tudományunk. Ezért is kellett bevezetni a következő struktúrát: Szelekció A szelekció egy elágazás a programban. Egy döntési ponthoz érve a program kiértékel egy logikai feltételt és annak megfelelően fut tovább csak az igaz, vagy csak a hamis ágon. Itt már nem egy sorban végrehajtott utasítássorozatról van szó, hiszen a döntéstől függően két féle útja is van már a program befejezésének. Nézzünk meg először egy hétköznapi példát ennek szemléltetésére: 1. Rájövök, hogy nincs itthon tej. 2. Elhatározom, hogy beszerzek valahonnan. 3. Ha esik az eső, akkor a szomszédtól kérek, különben elmegyek a boltba. A fenti példa is mutatja, hogy az algoritmusnak kétféle befejezése is lehet a körülményektől függően. Nem tudjuk előre megmondani melyik eset fog történni, hiszen ezt az algoritmust különböző időpontokban lefutatva más és más eredményt kaphatunk. Nézzünk meg egy matematikai példát is! Döntsük el egy számról, hogy pozitív, vagy negatív! Nézzük a pszeudokódját az algoritmusnak! 1. Start 2. Bekér A 3. Ha A>0 akkor kiír pozitív különben kiír negatív 4. Vége Ugyanez a probléma folyamatábra segítségével megfogalmazva: 13
14 Start Be A A>0 Igaz Ki Pozitív Hamis Ki Negatív Stop Stop Animáció Harmadszorra pedig jöhet a struktogram! Be A Igaz A>0 Hamis Ki Pozitív Ki Negatív 14
15 A kicsit szemfüles olvasó rájöhet, hogy sántít valahol ez a kis algoritmus, mert ha 0 a bekért szám, akkor ugye itt negatív jelzőt fog kapni, ami matematikailag nem igazán helyes. Vajon hol kellene módosítani a programon és mit, hogy a 0 számot is kezelje az algoritmus? Sok esetben bizony a szekvencia sem elég minden probléma megoldásához, azért még egy struktúra a rendelkezésünkre áll a programjaink elkészítéséhez! Iteráció Az iteráció ismétlést, ismétlődést jelent. Köznapi szóhasználatban ciklusoknak szokták a programozók nevezni ezeket a struktúrákat. Gyakorlatilag a programban egy utasításrész ismétlődéséről van szó, aminek számát valamilyen feltétel meghatározza. Azt az utasításrészt, amit a ciklus ismétel ciklusmagnak nevezzük. Három fő csoportba soroljuk a ciklusokat: Előírt lépésszámú Előfeltételes Utófeltételes Az előfeltételest szokták elöltesztelőnek, az utófeltételest pedig hátultesztelőnek is nevezni, de ebbe bele lehetne kötni, mert a ciklus feltétele és maga a tesztelés nem feltétlenül ugyan azon a helyen szerepel a lefordított programban. Előírt lépésszámú ciklus Ebben az esetben már a program írása során pontosan tudjuk, hogy hányszor szeretnénk ismételni a programrészletet. Mivel itt konkrét számról van szó, ezért a programba be is építjük, mint egy konstans értéket. A program addigi futásától függetlenül a ciklusmag mindig ugyan annyiszor fog megismétlődni. Nézzük meg egy-egy hétköznapi probléma tükrében: 15
16 Tegyük fel, hogy rántottát készítünk 4 tojásból. Már a készítés megtervezésekor tudni fogjuk, hogy lesz egy tevékenység, amit biztosan négy alkalommal kell megismételnünk. Ez pedig a tojások feltörése lesz. Nézzünk rá egy algoritmust szövegesen: 1. Előkészítem a hozzávalókat. 2. Felteszem a serpenyőt olajjal a tűzhelyre. 3. Feltörök egy tojást, tojásszámlálót növelem egyel. 4. Beleteszem a tányérba. 5. Ha a tojásszámláló kisebb mint 4 akkor 3 pontra megyek. 6. Megsütöm a rántottát. 7. Vége A példa nem a legszemléletesebb, de tükrözi azt, hogy már előre el volt döntve, hogy az ismétlés hányszor fog megtörténni. Keressünk egy szemléletesebb matematikai problémát a pszeudokóddal való bemutatásra! A feladat legyen az, hogy a program adja össze az első 100 pozitív egész számot, és írja ki az eredményt a képernyőre. 1. A=0 2. Ciklus J=1-től 100-ig 3. A=A+J 4. Ciklus vége 5. Kiír A 6. Vége Most nézzük meg ugyanezt folyamatábra segítségével! 16
17 Start J=1 Hamis J<100 Ki A Igaz A=A+J Stop Animáció Előfeltételes ciklus (elöl tesztelő) A ciklus elején található egy logikai feltétel, ami kiértékelődik, és ettől függően hajtódik végre a ciklusmag. Ebben az esetben nincs megadva a programban pontosan, hogy az ismétlés hányszor fog megtörténni. Olyan eset is előfordulhat, hogy egyszer sem fog lefutni a ciklus, mert a feltétel kiértékelése ilyen eredményt hozott. Nézzünk meg itt is egy hétköznapi példát erre a ciklusra is először! 17
18 Fel kell töltenünk egy uborkás üveget uborkákkal. Milyen algoritmus alapján tennénk ezt meg? 1. Veszek egy üveget magam elé. 2. Megnézem fér-e még bele, ha igen 3. pont, ha nem 5. pont. 3. Teszek bele egy uborkát pontra megyek. 5. Vége Akkor most ugyanez a probléma picit matekosabban és pszeudokóddal: A program bekér számokat és összeadja őket egészen addig, amíg el nem érjük a 100- at. 1. Ciklus amíg A< Bekér B 3. A=A+B 4. Ciklus vége Na, akkor most folyamatábrával is! 18
19 Start Hamis A<100 Igaz Be J A=A+J Stop Animáció Persze a struktogram sem maradhat el: A<100 Be J A=A+J Utófeltételes ciklus (hátul tesztelő) Ennél a ciklusnál a feltétel és kiértékelése a ciklus végén, a ciklusmag mögött található. Ez gyakorlatilag azt is jelenti, hogy a ciklusmag egyszeri lefutása után történik a kiértékelés. Tehát ebben az esetben a ciklusmag egyszer biztosan lefut. 19
20 Ezzel a módszerrel általában olyan feladatokat oldunk meg, ahol a magnak mindenképp futnia kell egy alkalommal. A lefutása után történik a logikai feltétel kiértékelése, ami eldönti, hogy a ciklus fog-e még ismétlődni. Egy hétköznapi példa, ami szerintem mindenkinek ismerős lesz: 1. Megkérdezem elmehetek-e moziba. 2. Amíg a válasz nem, vissza az 1 pontra 3. Elmegyek moziba. Nézzünk meg egy példát pszeudo algoritmussal egy jelszó bekérést: 1. Ismételd 2. Bekér J 3. Amíg J<> Titok 4. Kiír Jelszó elfogadva Folyamatábra segítségével: 20
21 Start Be J Igaz J<> Titok Hamis Ki Elfogadva Stop Struktogram: Be J J<> Titok Ki Jelszó elfogadva Azokat a ciklusokat, amik soha nem állnak meg, végtelen ciklusnak nevezzük. Üres ciklus, aminek nincs utasítás a ciklusmagjában. 21
22 Összefoglalás Mi az algoritmus? Milyen adatszerkezeteket ismer? Milyen algoritmus leíró eszközöket ismer? Milyen elemekből áll egy strukturált program? TANULÁSIRÁNYÍTÓ Ha szeretnénk megtanulni a fent ismertetett anyagot, akkor először az alapfogalmakkal kell tisztában lennünk. Ha ezeket ismerjük, akkor rátérhetünk az algoritmus leíró módszerekre. Itt sajnos nem úgy működnek a dolgok, hogy kiválasztunk egy számunkra szimpatikus módszert és azt tanuljuk meg rendesen. Mindegyikre szükségünk lesz, sőt néha még kevesellni is fogjuk, mikor olyan probléma elé kerülünk, amit nem lehet másképp megoldani. A tanulás során javaslok egy olyan sorrendet betartani, ami a tananyag ismertetésekor is történt. Ha tisztában vagyunk az alapfogalmakkal és a leíró rendszerekkel, akkor érdemes gyakorolni a használatukat pár feladaton keresztül, ami a következő részben megtalálható lesz! 22
23 ÖNELLENÖRZŐ FELADATOK Ebben a részben találunk néhány feladatot, ami segít elmélyíteni a fenti ismereteket. A feladatokat itt kell megoldani a kijelölt helyen. Segítségképpen nyugodtan lapozzunk vissza kezdetben a tananyaghoz, de az lenne a végső cél, hogy teljesen önállóan tudjuk megoldani a feladatokat! 1. feladat Készítsen szöveges algoritmus pszeudokód segítségével a páros és páratlan számok kiválogatására! 23
24 2. feladat Készítsen algoritmustervet folyamatábra segítségével, ami eldönti egy bekért számról, hogy páros vagy páratlan! 24
25 3. Feladat Készítsen algoritmus tervet struktogram segítségével! A program egy bekért évszámról döntse el, hogy szökőév volt-e vagy sem! 25
26 IRODALOMJEGYZÉK FELHASZNÁLT IRODALOM KUROS, A. G. : Felsőbb algebra. Budapest (Tankönyvkiadó) KNUTH, Donald, E.: A számítógép-programozás művészete I-III. Budapest (Műszaki) OBÁDOVICS J. Gyula: Matematika. Budapest (Műszaki) REIMANN József: Matematika. Budapest WIRTH, Niklaus: Algoritmusok + Adatstruktúrák = Programok. Budapest (Műszaki)
Java programozási nyelv
Java programozási nyelv 2. rész Vezérlő szerkezetek Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. szeptember A Java programozási nyelv Soós Sándor 1/23 Tartalomjegyzék
Programozás alapjai (ANSI C)
Programozás alapjai (ANSI C) 1. Előadás vázlat A számítógép és programozása Dr. Baksáné dr. Varga Erika adjunktus Miskolci Egyetem, Informatikai Intézet Általános Informatikai Intézeti Tanszék www.iit.uni-miskolc.hu
Bevezetés az informatikába
Bevezetés az informatikába 6. előadás Dr. Istenes Zoltán Eötvös Loránd Tudományegyetem Informatikai Kar Programozáselmélet és Szoftvertechnológiai Tanszék Matematikus BSc - I. félév / 2008 / Budapest Dr.
AZ ALGORITMUS. az eredményt szolgáltatja
ALGORITMUSOK AZ ALGORITMUS Az algoritmus problémamegoldásra szolgáló elemi lépések olyan sorozata, amely a következő jellemzőkkel bír: Véges: véges számú lépés után befejeződik, és eredményt szolgáltat
Programozás I. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar szeptember 10.
Programozás I. 1. előadás Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar 2012. szeptember 10. Sergyán (OE NIK) Programozás I. 2012. szeptember 10. 1 /
Webprogramozás szakkör
Webprogramozás szakkör Előadás 4 (2012.03.26) Bevezető Mi is az a programozási nyelv, mit láttunk eddig (HTML+CSS)? Az eddig tanult két nyelven is mondhatni programoztunk, de ez nem a klasszikus értelemben
Vá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
Vá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
Algoritmusok, adatszerkezetek, objektumok
Algoritmusok, adatszerkezetek, objektumok 1. előadás Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar 2011. szeptember 14. Sergyán (OE NIK) AAO 01 2011.
B I T M A N B I v: T M A N
Műszaki informatika IPA Tesztek+Megoldások B I v: T 2014.02.15 M A N 1/41 Ellenőrző kérdések Alapfogalmi kitérő kérdéssor IPA kérdéssor 2/41 Ellenőrző kérdések 1. 1. Melyik Neumann elv következménye a
Adatszerkezetek Tömb, sor, verem. Dr. Iványi Péter
Adatszerkezetek Tömb, sor, verem Dr. Iványi Péter 1 Adat Adat minden, amit a számítógépünkben tárolunk és a külvilágból jön Az adatnak két fontos tulajdonsága van: Értéke Típusa 2 Adat típusa Az adatot
Webprogramozá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
ALGORITMIKUS SZERKEZETEK ELÁGAZÁSOK, CIKLUSOK, FÜGGVÉNYEK
ALGORITMIKUS SZERKEZETEK ELÁGAZÁSOK, CIKLUSOK, FÜGGVÉNYEK 1. ELÁGAZÁSOK ÉS CIKLUSOK SZERVEZÉSE Az adatszerkezetek mellett a programok másik alapvető fontosságú építőkövei az ún. algoritmikus szerkezetek.
Programozás alapjai Bevezetés
Programozás alapjai Bevezetés Miskolci Egyetem Általános Informatikai Tanszék Programozás alapjai Bevezetés SWF1 / 1 Tartalom A gépi kódú programozás és hátrányai A magas szintÿ programozási nyelv fogalma
Programozás I. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar szeptember 10.
Programozás I. 1. előadás Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar 2012. szeptember 10. Sergyán (OE NIK) Programozás I. 2012. szeptember 10. 1 /
Készítette: Nagy Tibor István
Készítette: Nagy Tibor István Operátorok Műveletek Egy (vagy több) műveleti jellel írhatók le A műveletet operandusaikkal végzik Operátorok fajtái operandusok száma szerint: egyoperandusú operátorok (pl.:
Programozá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
6. 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
Programozási alapfogalmak
Programozási alapfogalmak Alapfogalmak Algoritmus: lépések sorozata, amellyel egy feladat kiindulásától a megoldásáig jutunk. Program: Az algoritmus megfogalmazása a számítógépek, vagy a fordító programok
3 A C programozási nyelv szintaktikai egységei
3 A C programozási nyelv szintaktikai egységei 3.1 Azonosítók Betűk és számjegyek sorozata, betűvel vagy _ (aláhúzás) karakterrel kell kezdődnie. A nagy- és kisbetűk különbözőek. Az azonosítók tetszőleges
Adatbázis és szoftverfejlesztés elmélet
Adatbázis és szoftverfejlesztés elmélet Témakör 4. Összefoglalás 1. A kódolás eszközei Általános szövegszerkesztő Programozói szövegszerkesztő Fejlesztői környezet Vizuális fejlesztői környezet Általános
Algoritmus fogalma. Mi az algoritmus? HF: Al Khwarizmi. Egy adott probléma megoldásának leírása elemi lépések sorozatával
Algoritmusok Algoritmus fogalma Mi az algoritmus? Egy adott probléma megoldásának leírása elemi lépések sorozatával HF: Al Khwarizmi Követelmények Véges: nem állhat végtelen sok lépésből Teljes: teljes
A programozás alapjai
A programozás alapjai Változók A számítógép az adatokat változókban tárolja A változókat alfanumerikus karakterlánc jelöli. A változóhoz tartozó adat tipikusan a számítógép memóriájában tárolódik, szekvenciálisan,
Nézzük tovább a lexikai egységeket!
Utasítások Osztályozásuk: Nézzük tovább a lexikai egységeket! - értékadó utasítások - ugró utasítások[vezérlő utasítások (a program vezérlési szerkezetét adják meg)] - feltételes utasítások - ciklusszervező
Az algoritmusok alapelemei
Az algoritmusok alapelemei Változók Olyan programozási eszközök, amelynek négy komponense van: - Név - Egyedi azonosító, a program szövegében a változó mindig a nevével jelenik meg, ez hordozza a komponenseket.
Eljárások és függvények
Eljárások és függvények Jegyzet Összeállította: Faludi Anita 2012. Bevezetés Ez a jegyzet elsősorban azoknak a diákoknak készült, akiket tanítok, ezért a jegyzet erőteljesen hiányos. Az olvasó egy percig
Rekurzió. Dr. Iványi Péter
Rekurzió Dr. Iványi Péter 1 Függvényhívás void f3(int a3) { printf( %d,a3); } void f2(int a2) { f3(a2); a2 = (a2+1); } void f1() { int a1 = 1; int b1; b1 = f2(a1); } 2 Függvényhívás void f3(int a3) { printf(
Algoritmusok. Dr. Iványi Péter
Algoritmusok Dr. Iványi Péter Egyik legrégebbi algoritmus i.e. IV század, Alexandria, Euklidész két természetes szám legnagyobb közös osztójának meghatározása Tegyük fel, hogy a és b pozitív egész számok
Aritmetikai kifejezések lengyelformára hozása
Aritmetikai kifejezések lengyelformára hozása Készítették: Santák Csaba és Kovács Péter, 2005 ELTE IK programtervező matematikus szak Aritmetikai kifejezések kiértékelése - Gyakran felmerülő programozási
Vezé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
Bevezetés a programozásba
Bevezetés a programozásba 1. Előadás Bevezetés, kifejezések http://digitus.itk.ppke.hu/~flugi/ Egyre precízebb A programozás természete Hozzál krumplit! Hozzál egy kiló krumplit! Hozzál egy kiló krumplit
Programozási alapismeretek 1. előadás
Programozási alapismeretek 1. előadás Tartalom A problémamegoldás lépései programkészítés folyamata A specifikáció Az algoritmus Algoritmikus nyelvek struktogram A kódolás a fejlesztői környezet 2/33 A
ALGORITMUSOK, ALGORITMUS-LEÍRÓ ESZKÖZÖK
ALGORITMUSOK, ALGORITMUS-LEÍRÓ ESZKÖZÖK 1. ALGORITMUS FOGALMA ÉS JELLEMZŐI Az algortmus egyértelműen végreajtató tevékenység-, vagy utasítássorozat, amely véges sok lépés után befejeződk. 1.1 Fajtá: -
A 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
Algoritmusok tervezése
Hova fordulhatok segítségért? Az amatrcsillagászat egy szép tevékenység, de gyakran nagyon nehéz is lehet. Ilyenkor jöhet jól a többi amatrcsillagász segítsége. Az amatrök különböz egyesületeket, klubokat,
Java II. I A Java programozási nyelv alapelemei
Java2 / 1 Java II. I A Java programozási nyelv alapelemei Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2009. 02. 09. Java II.: Alapelemek JAVA2 / 1 A Java formalizmusa A C, illetve
Programozási nyelvek a közoktatásban alapfogalmak I. előadás
Programozási nyelvek a közoktatásban alapfogalmak I. előadás Szempontok Programozási nyelvek osztályozása Felhasználói kör (amatőr, professzionális) Emberközelség (gépi nyelvektől a természetes nyelvekig)
Pásztor Attila. Algoritmizálás és programozás tankönyv az emeltszintű érettségihez
Pásztor Attila Algoritmizálás és programozás tankönyv az emeltszintű érettségihez 3. ADATTÍPUSOK...26 3.1. AZ ADATOK LEGFONTOSABB JELLEMZŐI:...26 3.2. ELEMI ADATTÍPUSOK...27 3.3. ÖSSZETETT ADATTÍPUSOK...28
sallang 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ó?
A KÓDOLÁS TECHNIKAI ELVEI
1. A KÓDOLÁS FOGALMA A KÓDOLÁS TECHNIKAI ELVEI A kódolás a forrásnyelvű (pl. C#, Java) program elkészítését jelenti. Ha a megoldást gondosan megterveztük, akkor ez általában már csak rutinszerű, technikai
Programozási nyelvek 6. előadás
Programozási nyelvek 6. előadás Szempontok Programozási nyelvek osztályozása Felhasználói kör (amatőr, professzionális) Emberközelség (gépi nyelvektől a természetes nyelvekig) Számítási modell (hogyan
Kifejezések. A programozás alapjai előadás. Operátorok. Kifejezések. Operátorok precedenciája. Operátorok precedenciája
A programozás alapjai 1 Kifejezések 5. előadás Híradástechnikai Tanszék Operandusok Literál Azonosító Kifejezés Kifejezések Precedencia Melyik hajtódik először végre? Asszociativitás Balról jobbra vagy
B I T M A N B I v: T 2014.02.15 M A N
Műszaki informatika 2. Ea: IPA Az Informatikai Problémamegoldás Alapjai B I v: T 2014.02.15 M A N 1/223 Probléma megoldás (erről szól a tananyag) 2/223 Ezt kell megtanulni! De nem így! Miért? Probléma
A PROGRAMOZÁS ALAPJAI 3. Készítette: Vénné Meskó Katalin
1 A PROGRAMOZÁS ALAPJAI 3 Készítette: Vénné Meskó Katalin Információk 2 Elérhetőség meskokatalin@tfkkefohu Fogadóóra: szerda 10:45-11:30 Számonkérés Időpontok Dec 19 9:00, Jan 05 9:00, Jan 18 9:00 egy
Kinek szól a könyv? A könyv témája A könyv felépítése Mire van szükség a könyv használatához? A könyvben használt jelölések. 1. Mi a programozás?
Bevezetés Kinek szól a könyv? A könyv témája A könyv felépítése Mire van szükség a könyv használatához? A könyvben használt jelölések Forráskód Hibajegyzék p2p.wrox.com xiii xiii xiv xiv xvi xvii xviii
Szoftvertervezé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.
C++ programozási nyelv
C++ programozási nyelv Gyakorlat - 13. hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2004. december A C++ programozási nyelv Soós Sándor 1/10 Tartalomjegyzék Objektumok
INFORMATIKAI ALAPISMERETEK
Informatikai alapismeretek középszint 0621 ÉRETTSÉGI VIZSGA 2007. május 25. INFORMATIKAI ALAPISMERETEK KÖZÉPSZINTŰ ÍRÁSBELI ÉRETTSÉGI VIZSGA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ OKTATÁSI ÉS KULTURÁLIS MINISZTÉRIUM
Adatszerkezetek 1. Dr. Iványi Péter
Adatszerkezetek 1. Dr. Iványi Péter 1 Adat Adat minden, amit a számítógépünkben tárolunk és a külvilágból jön Az adatnak két fontos tulajdonsága van: Értéke Típusa 2 Adat típusa Az adatot kódoltan tároljuk
A programozás alapjai előadás. Amiről szólesz: A tárgy címe: A programozás alapjai
A programozás alapjai 1 1. előadás Híradástechnikai Tanszék Amiről szólesz: A tárgy címe: A programozás alapjai A számítógép részegységei, alacsony- és magasszintű programnyelvek, az imperatív programozási
Informá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
Java II. I A Java programozási nyelv alapelemei
Java II. I A Java programozási nyelv alapelemei Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2008. 02. 19. Java II.: Alapelemek JAVA2 / 1 A Java formalizmusa A C, illetve az annak
Negatív alapú számrendszerek
2015. március 4. Negatív számok Legyen b > 1 egy adott egész szám. Ekkor bármely N 0 egész szám egyértelműen felírható N = m a k b k k=1 alakban, ahol 0 a k < b egész szám. Negatív számok Legyen b > 1
Programozás alapjai 1.Gy: Algoritmizálás P R O
Programozás alapjai 1.Gy: Algoritmizálás. P R O A L A G 1/13 B ITv: MAN 2018.09.20 Algoritmus leírási módszerek Szöveges leírás Pszeudokód Folyamatábra Struktogram Jackson diagram 2/13 Folyamatábra elemek
Algoritmizálás és adatmodellezés tanítása 1. előadás
Algoritmizálás és adatmodellezés tanítása 1. előadás Algoritmus-leíró eszközök Folyamatábra Irányított gráf, amely csomópontokból és őket összekötő élekből áll, egyetlen induló és befejező éle van, az
1. 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
Programozás alapjai. 7. előadás
7. előadás Wagner György Általános Informatikai Tanszék Jótanács (1) Tipikus hiba a feladat elkészítésekor: Jótanács (2) Szintén tipikus hiba: a file-ból való törléskor, illetve a file-nak új elemmel való
Programozás I. 1. előadás: Algoritmusok alapjai. Sergyán Szabolcs
Programozás I. 1. előadás: Algoritmusok alapjai Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar Alkalmazott Informatikai Intézet 2015. szeptember 7. Sergyán
AZ ALGORITMUSRÓL. (bevezetés a programozáshoz)
AZ ALGORITMUSRÓL (bevezetés a programozáshoz) A bemutató készítéséhez felhasznált tartalmi forrás: (Sz)ámítástechnika 1.4, Budapest, Kvassay Jenő Műszaki Szakközépiskola és TIKETT Nyomdaipari Kft. 1994.
Gyakorló 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ő
Bevezetés az informatikába Tételsor és minta zárthelyi dolgozat 2014/2015 I. félév
Bevezetés az informatikába Tételsor és minta zárthelyi dolgozat 2014/2015 I. félév Az informatika története (ebből a fejezetből csak a félkövér betűstílussal szedett részek kellenek) 1. Számítástechnika
Web-programozó Web-programozó
Az Országos Képzési Jegyzékről és az Országos Képzési Jegyzékbe történő felvétel és törlés eljárási rendjéről szóló 133/2010. (IV. 22.) Korm. rendelet alapján. Szakképesítés, szakképesítés-elágazás, rész-szakképesítés,
Occam 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
Adatok ábrázolása, adattípusok
Adatok ábrázolása, adattípusok Összefoglalás Adatok ábrázolása, adattípusok Számítógépes rendszerek működés: információfeldolgozás IPO: input-process-output modell információ tárolása adatok formájában
Programozás I gyakorlat
Programozás I. - 3. gyakorlat Operátorok, típuskonverziók, matematikai függvények Tar Péter 1 Pannon Egyetem M szaki Informatikai Kar Számítástudomány Alkalmazása Tanszék Utolsó frissítés: September 24,
I. 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,
Programozá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
Informatika tanítási módszerek
Informatika tanítási módszerek Programozás tanítási módszerek módszeres, algoritmusorientált; adatorientált; specifikációorientált; feladattípus-orientált; nyelvorientált; utasításorientált; matematikaorientált;
5. előadás. Programozás-elmélet. Programozás-elmélet 5. előadás
Elemi programok Definíció Az S A A program elemi, ha a A : S(a) { a, a, a, a,..., a, b b a}. A definíció alapján könnyen látható, hogy egy elemi program tényleg program. Speciális elemi programok a kövekezők:
Informatika tagozat osztályozóvizsga követelményei
Tartalom 9. évfolyam... 1 10. évfolyam... 4 11. évfolyam... 6 12. évfolyam... 8 9. évfolyam Az informatikai eszközök használata Az egészséges munkakörnyezet megteremtése Neumann elvű számítógép felépítése
Objektumorientá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ő
Programozá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
Programzás I. - 1. gyakorlat
Programzás I. - 1. gyakorlat Alapok Tar Péter 1 Pannon Egyetem Műszaki Informatikai Kar Számítástudomány Alkalmazása Tanszék Utolsó frissítés: September 15, 2007 1 tar@dcs.vein.hu Tar Péter (PE-MIK-DCS)
Készítette: Nagy Tibor István Felhasznált irodalom: Kotsis Domokos: OOP diasor Zsakó L., Szlávi P.: Mikrológia 19.
Készítette: Nagy Tibor István Felhasznált irodalom: Kotsis Domokos: OOP diasor Zsakó L., Szlávi P.: Mikrológia 19. Programkészítés Megrendelői igények begyűjtése Megoldás megtervezése (algoritmuskészítés)
7. 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
Történeti áttekintés
Történeti áttekintés Előzmények A számítástechnika kezdetén elterjedt (egyeduralkodó) volt a mérnökpult használata, a gép és az ember kommunikációja bináris nyelven zajlott. A gépi kódú programozás nem
Programozá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,
1. Mi a fejállományok szerepe C és C++ nyelvben és hogyan használjuk őket? 2. Milyen alapvető változókat használhatunk a C és C++ nyelvben?
1. Mi a fejállományok szerepe C és C++ nyelvben és hogyan használjuk őket? 2. Milyen alapvető változókat használhatunk a C és C++ nyelvben? 3. Ismertesse a névtér fogalmát! 4. Mit értünk a "változó hatóköre"
1. 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.
Programozási tételek. Dr. Iványi Péter
Programozási tételek Dr. Iványi Péter 1 Programozási tételek A programozási tételek olyan általános algoritmusok, melyekkel programozás során gyakran találkozunk. Az algoritmusok általában számsorozatokkal,
1. gyakorlat
Követelményrendszer Bevezetés a programozásba I. 1. gyakorlat Surányi Márton PPKE-ITK 2010.09.07. Követelményrendszer Követelményrendszer A gyakorlatokon a részvétel kötelező! Két nagyzárthelyi Röpzárthelyik
B I T M A N B I v: T M A N
Műszaki informatika Tesztek+Megoldások B I v: T 2015.04.19 M A N 1/42 Tesztek + Megoldások Alapfogalmi kitérő kérdéssor IPA kérdéssor CPA kérdéssor 2/42 Ellenőrző kérdések 1. 1. Melyik Neumann elv következménye
1. 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
PROGRAMOZÁSI NYELVEK (GYAKORLAT)
PROGRAMOZÁSI NYELVEK (GYAKORLAT) A következő részben olyan szabványos algoritmusokkal fogunk foglalkozni, amelyek segítségével a későbbiekben sok hétköznapi problémát meg tudunk majd oldani. MUNKAHELYZET-
Bevezetés a programozásba I 3. gyakorlat. PLanG: Programozási tételek. Programozási tételek Algoritmusok
Pázmány Péter Katolikus Egyetem Információs Technológiai Kar Bevezetés a programozásba I 3. gyakorlat PLanG: 2011.09.27. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Algoritmusok
Hardver leíró nyelvek (HDL)
Hardver leíró nyelvek (HDL) Benesóczky Zoltán 2004 A jegyzetet a szerzıi jog védi. Azt a BME hallgatói használhatják, nyomtathatják tanulás céljából. Minden egyéb felhasználáshoz a szerzı belegyezése szükséges.
Kifejezések. Kozsik Tamás. December 11, 2016
Kifejezések Kozsik Tamás December 11, 2016 Kifejezések Lexika Szintaktika Szemantika Lexika azonosítók (változó-, metódus-, típus- és csomagnevek) literálok operátorok, pl. + zárójelek: (), [], {},
Programozási nyelvek (ADA)
Programozási nyelvek (ADA) Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 1. előadás Hasznos weboldal http://kto.web.elte.hu Program felépítése Programegységek (program unit) eljárások (procedure)
INFORMATIKAI ALAPISMERETEK
Informatikai alapismeretek középszint 0721 ÉRETTSÉGI VIZSGA 2007. 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
Segédanyagok. Formális nyelvek a gyakorlatban. Szintaktikai helyesség. Fordítóprogramok. Formális nyelvek, 1. gyakorlat
Formális nyelvek a gyakorlatban Formális nyelvek, 1 gyakorlat Segédanyagok Célja: A programozási nyelvek szintaxisának leírására használatos eszközök, módszerek bemutatása Fogalmak: BNF, szabály, levezethető,
Programozási alapismeretek. 1. előadás. A problémamegoldás lépései. A programkészítés folyamata. Az algoritmus fogalma. Nyelvi szintek.
Tartalom 1. előadás programozás során használt nyelvek A specifikáció Algoritmikus nyelvek A problémamegoldás lépései 3/41 (miből?, mit?) specifikáció (mivel?, hogyan?) adat- + algoritmus-leírás 3. (a
KOVÁCS BÉLA, MATEMATIKA I.
KOVÁCS BÉLA, MATEmATIkA I. 1 I. HALmAZOk 1. JELÖLÉSEk A halmaz fogalmát tulajdonságait gyakran használjuk a matematikában. A halmazt nem definiáljuk, ezt alapfogalomnak tekintjük. Ez nem szokatlan, hiszen
Neumann János Számítógép-tudományi Társaság Programozás, robotprogramozás szakkör Három félév 3 * 8 foglalkozás
Neumann János Számítógép-tudományi Társaság Programozás, robotprogramozás szakkör Három félév 3 * 8 foglalkozás Első félév A modul időtartama: A modul célja: A modul tartalma: 8 foglalkozás, alkalmanként
Mit 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,
Programozási nyelvek a közoktatásban alapfogalmak II. előadás
Programozási nyelvek a közoktatásban alapfogalmak II. előadás Szintaxis, szemantika BNF szintaxisgráf absztrakt értelmező axiomatikus (elő- és utófeltétel) Pap Gáborné. Szlávi Péter, Zsakó László: Programozási
Széchenyi István Szakképző Iskola
A SZAKKÖZÉPISKOLAI SZAKMACSOPORTOS ALAPOZÓ OKTATÁS ISKOLAI PROGRAMJA 9 12. évfolyam Érvényes a 2003-2004-es tanévtől felmenő rendszerben Átdolgozva, utolsó módosítás: 2004. április 26. A szakmacsoportos
SZÁ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
Ítéletkalkulus. 1. Bevezet. 2. Ítéletkalkulus
Ítéletkalkulus Logikai alapfogalmak, m veletek, formalizálás, logikai ekvivalencia, teljes diszjunktív normálforma, tautológia. 1. Bevezet A matematikai logikában az állításoknak nem a tényleges jelentésével,
A program valamilyen feladat, probléma megoldására készül, általános szerkezete: INPUT ALGORITMUS OTUPUT
ELMÉLET I. Algoritmizálás A program valamilyen feladat, probléma megoldására készül, általános szerkezete: Ismert adatok Ismert adatok Keresett (kezdetben ismeretlen) adatok Más szavakkal: INPUT ALGORITMUS
Programozás BMEKOKAA146. Dr. Bécsi Tamás 2. előadás
Programozás BMEKOKAA146 Dr. Bécsi Tamás 2. előadás Szintaktikai alapok Alapvető típusok, ismétlés C# típus.net típus Méret (byte) Leírás byte System.Byte 1Előjel nélküli 8 bites egész szám (0..255) char