Bevezetés a programozásba Tartalomjegyzék

Méret: px
Mutatás kezdődik a ... oldaltól:

Download "Bevezetés a programozásba Tartalomjegyzék"

Átírás

1 Bevezetés a programozásba Tartalomjegyzék Bevezetés a programozásba...1 Tartalomjegyzék...1 A hardver és a szoftver jelentségének változása...2 A hardver és a szoftver kapcsolata: a számítógépek m#ködése...2 Számítógépek...2 A program végrehajtásának menete...2 A programozás alapjai...3 A gépi kód...3 Programozási nyelvek, fordító/értelmez...3 Programozási hibák, hibakeresés...3 A programozási nyelvek és módszerek változása...4 Programozási nyelvek...4 Csoportosításuk, jellemzésük...4 A fontosabb programnyelvek...5 A programozási módszerek...6 Adatok...7 Elemi (egyszer#) adattípusok...7 Összetett adatok...9 Változók...9 Algoritmikus programozás...10 Algoritmus...10 Algoritmus leíró módszerek:...10 Mondatszer# leírás (pszeudokód)...11 Folyamatábra (blokkdiagram)...12 Az alapvet vezérlési szerkezetek összehasonlítása...15 Elágazások...15 Ciklusok...15 Példa algoritmus készítésre...16 Elemi algoritmusok...18 Algoritmusok, amelyek egy sorozatból egy adatot állítanak el:...18 Elemek összegzése...18 Lineáris keresés...18 Maximum kiválasztása...18 Megszámlálás...19 Algoritmusok, amelyek egy sorozatból egy másik sorozatot állítanak el:...19 Kiválogatás...19 Rendezések...19 Minimum-elven alapuló rendezés...20 Buborék rendezés...20 Javított buborékos rendezés...21 Tovább javított buborékos rendezés

2 A hardver és a szoftver jelentségének változása A számítástechnika hajnalában (1950-es évek) a hardvernek sokkal nagyobb volt a jelentsége, hiszen akkoriban magának a számítógépnek, mint szerkezetnek az összeállítása és m#ködtetése jelentette a legnagyobb problémát. Akkoriban csak a hozzáért szakemberek jutottak számítógép közelébe, így nem is volt cél, hogy kimondottan felhasználóbarát programokat írjanak. Ahogy a technológia fejldött, úgy a számítógép (a hardver) egyre megbízhatóbbá és olcsóbbá vált, így fokozatosan eljutott a kisebb cégekhez, s mára a hétköznapi emberig. Tehát a felhasználók köre megváltozott: profi szakemberek helyett most gyermekek, tanárok, orvosok, titkárnk, pékek, és takarítónk ülnek a gépek eltt, és minden joggal elvárják, hogy a számítógépet a saját különböz céljaikra a lehet legkényelmesebben lehessen felhasználni, a legkevesebb tanulással. De mivel a számítógép hardvere csupán egy halom vas és m#anyag, ami önmagától semmi értelmes dologra nem képes, a fent említett hatalmas felhasználói igényeket a programoknak (szoftvereknek) kell biztosítani. A számítástechnika története során tehát a hangsúly áthelyezdött a hardverrl a szoftverre. Mára a szoftvergyártás (vagyis a programozás) jelents iparággá ntt. A hardver és a szoftver kapcsolata: a számítógépek m ködése Számítógépek A számítástechnika fejldése során számtalan különböz próbálkozás született arra, hogy miként lehetne a számításokat valamilyen géppel elvégeztetni. Mindközül a Neumann-elv gépek bizonyultak a legsikeresebbnek, a modern elektronika pedig megteremtette a digitális technológia alkalmazásának m#szaki feltételeit. A Neumann-elv# számítógépek lényege, hogy mind az adatok, mind az elvégzend feladat (kódolt utasítások formájában) a memóriában van eltárolva. A digitális szó azt jelenti, hogy mindent számokként ábrázolunk, és azokat dolgozzuk fel. A ma körülöttünk lév számítógépek mind ilyen elven m#ködnek, ezért ettl a ponttól számítógépen Neumann-elv# digitális számítógépet értünk. A program végrehajtásának menete A memória minden bájtja sorszámmal (címmel) rendelkezik, így a memória bármely rekesze (1 vagy több bájtja) megcímezhet, és így a processzor által közvetlenül elérhet. A CPU (központi feldolgozó és vezérl egység, a,,processzor'') feladata, hogy végighaladjon a program utasításain, és az elírt sorrendben végrehajtsa azokat. Az utasítások m#veleteket végeznek az adatokon. A processzor a következ lépésekben hajtja végre az utasításokat: 1. a soron következ utasítás gépi kódját lehívja a memóriából a CPU-ba, 2. dekódolás: megállapítja, hogy milyen adatokkal milyen m#veletet kell elvégezni, 3. beolvassa a memóriából a szükséges adatokat, végrehajtja az elírt utasítást, az eredményt pedig, ha szükséges, visszaírja a memóriába 2

3 A programozás alapjai A gépi kód A memóriában az utasítások kódolva tárolódnak, az adott processzor,,nyelvén'' (a különböz processzoroknak különböz utasításai vannak). Utasítás alatt itt egyszer#, elemi utasítást kell érteni, pl. 2 szám összeadása, szorzása, egy szám másolása egyik memóriarekeszbl a másikba. Minden utasításnak van egy kódja (ez lényegében egy szám). Az adott utasításhoz meg kell adni, hogy milyen adatokkal számol, pl. az általa használt adatok memóriacímét (azt a sorszámot, amely memória rekeszben elhelyezkedik). Így lehet a programot számokkal kódolni. Az így kapott kód a gépi kód. A programozás tehát lényegében ennek a gépi kódnak a megalkotása. Programozási nyelvek, fordító/értelmez Gépi kódban programozni nagy odafigyelést igényl, fáradtságos munka, amit nehéz megtanulni, könny# elhibázni. Ezért már korán rájöttek, hogy a programozó munkáját minél jobban meg kell könnyíteni. Ennek érdekében programozási nyelveket dolgoztak ki, hogy ne számokkal kelljen programozni, hanem sokkal ember-közelibb módon, olyan nyelven, amelyben számok (kódok és címek) helyett angol szavak szerepelnek. Egy ilyen nyelvet azonban nem,,ért meg'' a gép, ezért ezt le kell fordítani a gép nyelvére. Ehhez szükség van egy olyan segédprogramra, amely az általunk megírt programot gépi kóddá alakítja (ez a fordító, compiler), vagy lépésenként végrehajtja (ez az értelmez, interpreter). fordító (compiler) a program forrásszövegébl egy gépi kódú jellemzje programot (pl. OBJ) állít el, vagyis a programot lefordítja a gép nyelvére. szintaktikai (alaki) hibák kisz rése az elkészült program végrehajtási sebessége program hordozhatóság a fejlesztés nehézsége értelmez (interpreter) a program forrásszövegét sorról sorra ellenrzi, értelmezi, és végrehajtja. fordítási idben (+) futási idben (-) gyorsabb (+) lassabb (-) rosszabb (-) jobb (+) nehézkesebb (-) egyszer#bb (+) Programozási hibák, hibakeresés Természetesen egy magas szint# nyelven írt program írása közben is véthetünk hibákat. Ez lehet: szintaktikai hiba (alaki): a program nem felel meg az adott nyelv szabályainak. Pl. elírás, elfelejtettünk egy zárójelet... Az ilyen hibákat viszonylag könny# megtalálni. szemantikai hiba (tartalmi): a program lefordul, elindul, de nem azt csinálja, amit kell, esetleg menet közben le is áll a hiba miatt. Az ilyen hibák sok gondot okoznak, s poloska módjára búvnak meg a programban, ezért ezeket a hibákat a poloska angol megfelelje után bug-nak nevezik. Az ilyen hibák megtalálása és kiírtása (debuggolás)sokkal nehezebb feladat, erre külön segédprogramok (debugger-ek) állnak rendelkezésünkre. 3

4 A programozási nyelvek és módszerek változása A számítástechnika története során a programok készítésének módszerei és eszközei is fejldtek A fbb állomások: gépi kód az adott gép processzorának,,nyelvén'' : számok (utasítás- és operandus kódok) sorozata assembly nyelv a gépi kód emberibb változata, ahol minden gépi kódú utasításnak egy kis angol neve van magas szint nyelvek (pl. PASCAL, C, C++, Java) könny# bennük ismétlési és döntési szerkezeteket, valamint alprogramokat készíteni integrált fejleszt eszközök olyan programfejleszt környezetek, amelyek megkönnyítik a programozásnál megszokott szerkesztés-fordítás-hibakeresés munkaciklust: a szövegszerkeszt (editor), fordító (compiler), és hibakeres (debugger) egy helyen találhatók és jól együttm#ködnek. vizuális fejleszteszközök olyan integrált programfejleszt környezetek, melyekben sok programozói feladat szinte néhány egérkattintásra egyszer#södök: pl. megrajzoljuk a leend program dialógus ablakjainak elemeit, a fejleszt eszköz pedig automatikusan legenerálja a megfelel kódot: (vagyis megírja helyettünk a program egy részét) dokumentációt készít... Programozási nyelvek Csoportosításuk, jellemzésük A nyelv által megoldandó probléma alapján 2 nagy csoportra oszthatjuk: leíró jelleg nyelvek egy állandó állapotot (tényeket) fogalmazhatunk meg bennük, nem pedig cselekvést. Pl. HTML (procedurális) programnyelvek algoritmikus cselekvést (tennivalók sorozatát) fogalmazunk meg bennük. Ilyen elven m#ködnek a Neumann elv# számítógépek. Innentl nyelven elssorban ilyen programnyelvet értünk. A nyelv absztrakciós szintje alapján is 2 nagy csoportra oszthatjuk: alacsony szint nyelvek nehezebb a programírás, de a lefordítandó program közelebb áll a gép nyelvéhez (a gépi kódhoz), így nehezen hordozható (más típusú gépekre), viszont több beleszólásunk van a gépközeli dolgokba. Pl. assembly. magas szint nyelvek könnyebb programot írni (pontosabban egy emberközeli probléma megfogalmazása könnyebb). A nyelv által nyújtott kényelem és a gép utasításkészlete közötti #rt a fordító vagy értelmez programnak kell áthidalnia. Pl. C, Java. 4

5 A fontosabb programnyelvek A ma is él, legelterjedtebb általános nyelvek: assembly gépi kódú programozást segít nyelv a megírt program nehezen hordozható ma már fleg az operációs rendszerek készíti, ill. a hardvergyártók programoznak ilyenben. PASCAL eredetileg a struktúrált programozás tanulónyelvének szánták továbbfejlesztett változata, a TURBO PASCAL a modulok, illetve ma már az OOP-t is támogatja a valós életben a C miatt nem tudott érvényesülni, illetve a DELPHI-ben él tovább DELPHI alapja az objektum-orientált Turbo Pascal f erssége a korszer# és hatékony vizuális fejlesztfelület f korlátja, hogy egy céghez (Borland), és egy platformhoz (Windows) kötdik. C közép szint# nyelvként szokták emlegetni, mert hatékony és könny# programozni minden (fontos) géptípusra van C fordító -> hordozható nyelv régen minden általánosat C-ben írtak, ma a helyét egyre jobban átveszi a C++, ami objektum orientált módszert (OOP) tesz lehetvé. ahol megmarad, az a rendszerprogramozás. C++ a C nyelv objektum-orientált továbbfejlesztése ma már a legtöbb géptípusra van C++ fordító is -> jól hordozható nyelv napjainkban minden (általános) programot ebben írnak Java egy képzeletbeli (virtuális) Java-gép programnyelve szintaktikája nagyon hasonlít a C++ -éhoz a nyelv szabványos részét képezik a leggyakrabban kell alapkönyvtárak, mint pl. a grafika, felhasználói felület, hálózat programozás, adatbáziskezelés. Java nyelven lehet appleteket írni, amelyek beszúrhatók HTML oldalakba is tökéletesen hordozható nyelv az Internet-programozás f nyelve. Érdekességképpen néhány régebbi programnyelv, amelyek elterjedtek voltak, de ma már csak elvétve találkozni velük: FORTRAN (FORmula TRANslator) tudományos számítások legmagasabb szint# adatstruktúra a tömb ma fleg nagygépeken, vagy régi programok mélyén használják COBOL emberközeli szintaktika adatbáziskezelés ma (szinte kizárólag) nagygépen használják 5

6 PROLOG ( = PROgramming in LOGic) matematikai logikán alapuló programozás logikai problémák megoldásánál hatékony, de másra nehézkesen használható mesterséges intelligencia kutatás LISP ( = LISt Processing) listafeldolgozás funkcionális programozás mai programok mélyén: pl. Emacs, AutoCAD SMALLTALK az els igazi objektum-orientált programozási nyelv interpreteres megoldás A programozási módszerek Moduláris programozás Strukturált programozás Objektumorientált programozás Moduláris programozás Jellemz"i: Top-down dekompozíció, majd Bottom-up kompozíció. Top-down dekompozíció: Top-down = felülrl lefelé (lebontás), A megoldandó feladat komplexitását kell csökkenteni, ezért osszuk fel részfeladatokra a feladatot. Ha a részfeladatok is túl bonyolultak, osszuk azokat is részfeladatokra, és tegyük mindaddig, amíg a részek átláthatóak nem lesznek. Ha ezeket leprogramozzuk, ezek lesznek a modulok. Ettl moduláris a programozás. Bottom-up kompozíció: Bottom-up = lentrl felfelé (összeépítés) Lentrl fölfelé felépítjük a programot. Nincs módszer és nincs technika arra, hogy az önmagában tökéletesen jól m#köd modulokból hogyan lehet jó programot összeállítani. A program helyességére nem tud pozitív választ adni. Moduláris programozás moduljai: Adatmodul vezérlmodul I/O modul A modulok szabványosíthatók, modulkönyvtárakban elhelyezhetk. Strukturált programozás Böhm és Jacopini tétele: Egy tetszleges algoritmus felépíthet a következ elemekbl: Szekvencia: egymás után végrehajtható utasítások sorozata. Szelekció: választás megadott tevékenységek közül. Iteráció: megadott tevékenységek ismételt végrehajtása. Szekvencia: Szelekció: Iteráció: 6

7 Átveszi a Top-down-t. A csak szekvenciából, szelekcióból és iterációból felépül programot strukturált programnak nevezzük. Minden strukturált (imperatív) program szerkezete egy szekvencia azzal a megkötéssel, hogy csak egy belépési és egy kilépési pontja van. A ciklusból való kiugrást (GOTO) nem használja. A szekvencián belül használható a szelekció és az iteráció is. Dijkstra dolgozta ki a strukturált programozás általános módszerét. Objektumorientált programozás Ez a módszer az objektum bevezetésével megszünteti a program kódjának és adatainak szétválását. Az objektumok felhasználásával egyszer# szerkezet#, jól kézben tartható programok készíthetk. Adatok Mivel a programok utasításai adatokon dolgoznak, ismerkedjünk meg elször ezekkel! Minden adattípusnál meg kell nézni, hogy milyen értékeket képes tárolni, hogyan ábrázolja a számítógép, és végül milyen m#veleteket végezhetünk velük. Elemi (egyszer ) adattípusok Numerikus (szám) típusok: fixpontos típus, és lebegpontos típus. Egész (fixpontos) típus: Ábrázolása kettes számrendszerben történik. Egy kettes számrendszerbeli számjegy - egy bit. Az ábrázolható számtartomány attól függ, hogy hány biten (n) történik a tárolás: ábrázolható számtartomány eljel nélküli 0 2 n -1 eljeles -2 n-1 2 n-1-1 Ha csak nem-negatív számokat kellene ábrázolni: a 2 bájtos tartomány. 16 bites eljeles egész esetében ez , vagyis A mai gépek általában 8, 16, 32, 64 biten tárolják az egész számokat. A negatív számokat olyan formában célszer# tárolni, hogy a gépi kivonás összeadással legyen helyettesíthet, mert akkor a számítógépnek csak az összeadást kell tudnia elvégezni. Az eljeles egész számok ábrázolására Neumann János dolgozta ki a kettes komplemens képzés (más néven nullára történ kiegészítés) módszerét. Komplemens képzés: a bináris szám minden jegyét átfordítjuk a másik jegyre. Például: (Ezt egyes komplemensnek is szokás nevezni.) Ha a komplemenshez még 1-et hozzáadunk kettes komplemens alak jön létre. Pl.: 89 = komplemens kettes komplemens Vegyük észre, hogy ha a számot és kettes komplemensét összeadjuk, akkor az adott méretben (példánkban 8 biten) az eredmény 0 lesz!

8 Vessük össze ezt azzal a matematikában megismert ténnyel, hogy bármely számhoz a negatívját hozzáadva az eredmény 0 lesz! Tehát 89 kettes komplemense lesz a -89. A számítógépek többnyire a kettes komplementer képzésen alapuló eljárással végzik a kivonást. Negatív számok tárolása: láttuk az elbbiekben, hogy az x 0 esetben -x az x kettes komplemenseként állítható el. Lássunk egy 16 bites példát (x=12 16 biten ábrázolva): komplemens kettes komplemens (-x=-12) Még van egy probléma: hogyan tudjuk eldönteni, hogy egy ilyen szám pozitív-e vagy pedig egy másik pozitív szám kettes komplemense? A felírásból sehogy! Ezért megegyeztünk abban, hogy a nem negatív számok csak az alsó 15 bitet foglalják el, ilyen módon ezek kettes komplemensének legfels bitje 1 lesz, azaz ezek lesznek a negatív számok. A kettes komplemense is 0. Az negatív szám kettes komplemense : Tehát a k 16 bites egész: k Valós (lebegpontos) típus ábrázolható számtartomány egyszeres pontosságú dupla pontosságú A fixpontos számábrázolásnak 2 hátrányos tulajdonsága van: - kicsi az ábrázolható számtartomány - a pontosság ersen korlátozott: ha a szám végére képzeljük a tizedespontot, az egészek közötti értékek a gép számára nem léteznek. Azaz : 1/3=0 vagy 5/3=1 stb. A lebegpontos számábrázolás a számok hatványkitevs felírásán alapszik. Pl = = azaz Mp k A képletben k a számrendszer alapszáma (példánkban 10 ill. 2). Hogy egyértelm# legyen a felírás M<1 és a tizedesponttól jobbra álló els jegy nem 0. A lebegpontos szám a számítógépen a bináris számok hatványkitevs alakja. Ehhez a számot ún. kettes normál alakra kell hozni. Pl. /-12.25/ = = A szám kettes normál alakjának karakterisztikája 4 = így a szám kettes normál alakban: Az ábrázolás a következ módon történik: - els bit a szám eljele, - 7 biten a karakterisztika torzítva, - végül 3 bájton a mantissza. Karakter (character) típus ábrázolása kódolás 7/8 bit ASCII 2 byte UNICODE 8

9 A karakterek ábrázolása számítógépen a kódjukkal (bináris szám) történik! Szabványos kódrendszerek (ASCII, EBCDIC, UNICODE) a számítástechnika alappillérei. A kódrendszerek lényege, hogy minden karakterhez kölcsönösen egyértelm# megfeleltetéssel hozzá van rendelve egy 8 vagy 16 bites kódérték. A karaktereket a kódjukkal azonosítjuk. Összetett adatok Tömb Adott számú (általában azonos típusú) adat együttese. Dimenzió szerint: 1 dimenziós: vektor 2 dimenziós: mátrix több dimenziós Például számokból álló 5 elem# egydimenziós tömb: Indexelés: A tömb minden elemének van egy sorszáma, ami azonosítja az elemet. Ezt indexnek nevezzük. Rekord/ Struktúra Több, különböz típusú adat együttese. Az összegy#jtött adatok a rekord/struktúra mezit képzik. Objektum A rekordok/struktúrák továbbfejlesztése: az adattagokon (adatmezkön) kívül tagfüggvényeket (metódusokat) is tartalmaznak. Változók Programozás-technikai megközelítésben a változó egy névvel ellátott tároló hely a számítógép memóriájában. A változó értéke ennek a tároló helynek a pillanatnyi tartalma. A változó jellemzi: név típus tárbeli kezdcím érték A változókban tároljuk az adatokat, így egy változó típusa a benne tárolt adat típusával azonos. Tehát lehetnek elemi változók (egész, valós, karakter, mutató) és összetett változók (tömb, struktúra). A változók kezelésének elve: Adatterület a memóriában Név Típus Tárcím a egész 1526 b valós -112,86 c karakter M Ha valaki megértette már a változók használatát a programozásban, akkor megértette a programozás lényegét. (E. W. Dijkstra) 9

10 Algoritmikus programozás Algoritmus Az algoritmus olyan pontos elírás, amely megmondja, hogy milyen m#veleteket kell meghatározott sorrendben elvégezni, hogy megoldjuk a problémát. Az algoritmussal szemben támasztott legfontosabb követelmények: legyen idben és lépésszámban véges; legyen egyértelm : ugyanazon bemen adatokra minden esetben ugyanazt az eredményt szolgáltassa; legyen általános: ne csak egy konkrét feladatot oldjon meg, hanem lehetleg minél szélesebb problémaosztályt! (Pl. ne csak egy konkrét másodfokú egyenletet, hanem bármilyen másodfokú egyenletet oldjon meg!) Az egyes lépésekben elvégezhet" m(veletek Neumann-elv( számítógépek esetében: egyszer# utasítások: értékadás függvényhívás összetett utasítások: utasítás blokk (több utasítás egyben) vezérlési szerkezetek (program menetének befolyásolásához használhatók) elágazások: döntési szerkezetek ciklusok: ismétlési szerkezetek Bármilyen programozási módszert alkalmazunk és bármilyen nyelven írjuk is meg a programot, elször meg kell terveznünk a probléma megoldására szolgáló elemi lépések sorozatát, azaz az algoritmust! Algoritmusok tervezésére, leírására, szemléltetésére többféle eszköz létezik Algoritmus leíró módszerek: folyamatábra (blokkdiagram) mondatszer# leírás (pszeudokód) struktogram Jackson módszer A következkben 2 algoritmus leíró módszer kerül ismertetésre: a mondatszer# leírás és a folyamatábra. Mindkét esetben a legfontosabb szerkezetek jelöléseit adjuk meg: 1. adat be- és kivitel; 2. értékadás; 3. utasítássorozat (szekvencia); 4. feltételes elágazás (szelekció); 5. ismétlési szerkezet (iteráció); 6. eljárás vagy függvény megadása (deklaráció); 10

11 Mondatszer leírás (pszeudokód) Az anyanyelvi megfogalmazáshoz hasonló, de annál tömörebb leírási mód. Az élnyelv pontatlanságait próbáljuk vele kizárni, de még egyszer#en értelmezhet marad. 1. BE: változók [az adatokkal szemben állított követelmények] KI: kifejezések [a kiírás formájára vonatkozó követelmények] 2. Értékadás: változó=kifejezés Az utasítás hatására a változó felveszi a kifejezés aktuális értékét. 3. Utasítás sorozat: Egymás alá írással adjuk meg az egymás után végrehajtandó utasításokat. 4. Feltételes elágazások: a) Egyágú HA feltétel AKKOR utasítás (Ha a feltétel teljesül, akkor az utasítás végrehajtásra kerül, ha nem teljesül, akkor az után folytatódik a program. Az utasítás helyén több utasítás is állhat.) b) Kétágú Ha feltétel AKKOR utasítás 1 KÜLÖNBEN utasítás 2 (Ha a feltétel teljesül, akkor az utasítás 1 kerül végrehajtásra, ha nem akkor az utasítás 2. Mindkét esetben az után folytatódik a program.) c) Többágú ELÁGAZÁS feltétel 1 ESETÉN utasítás 1 feltétel 2 ESETÉN utasítás 2... feltétel n ESETÉN utasítás n EGYÉB ESETBEN utasítás (Ha az i-edik, feltétel i teljesül, akkor az utasítás i kerül végrehajtásra, ha egyik feltétel sem teljesül, akkor az utasítás. Bármely esetben az után folytatódik a program. A feltételeknek egymást kizárónak kell lennie, azaz legfeljebb egy teljesülhet közülük.) 5. Ismétlési szerkezetek (ciklusok): a) Elöltesztel" CIKLUS AMÍG feltétel ciklusmag (Amíg a feltétel teljesül, addig a ciklusmag végrehajtásra kerül, ha már nem teljesül, akkor a után folytatódik a program.) 11

12 b) Hátultesztel" CIKLUS ciklusmag AMÍG feltétel (A ciklusmag mindaddig végrehajtásra kerül, amíg a feltétel teljesül. Ha már nem teljesül, akkor a után folytatódik a program. Egyszer a ciklusmag mindenféleképpen végrehajtódik!) 6. Eljárás vagy függvény megadás: ELJÁRÁS eljárás_neve (paraméterek) utasítások Az eljárás vagy függvény hívása nevének és paramétereinek leírásával történik meg. A program egy kitüntetett szerep# eljárás (vagy függvény), neve meghatározott: PROGRAM utasítás sorozat PROGRAM VÉGE (A C programokban ennek a kitüntetett szerep( eljárásnak a main() függvény felel meg, amely a belépési pont.) Folyamatábra (blokkdiagram) Az egyik legkorábban kialakult megadási mód. Alapjeleit maga Neumann János dolgozta ki. Az egyes szerkezeti elemek között nyilakkal jelöljük a végrehajtási sorrendet. Ennek köszönheten igen vadul ugráló programok is születhetnek, minden átgondolt szerkezet nélkül. Az értékadó utasítás illetve valamilyen eljárás téglalapba, az egy vagy többágú kiválasztás rombuszba vagy lapos hatszögbe, az adatáramlás paralelogrammába, a vezérl utasítások körbe kerülnek. Az ismétlési szerkezeteket elrejtve tartalmazza az ábra. Csak nagy odafigyeléssel és következetességgel érhetjük el a strukturáltságot. 1. Adat be- és kivitel: BE: változó KI: kifejezés 2. M veletvégzés: változó= kifejezés 12

13 Lehet értékadó, de másfajta utasítás is. Példánkban utasításként az értékadás szerepel: a változó felveszi a kifejezés aktuális értékét. 3. Utasítás sorozat: A nyilak által meghatározott irányban haladva kell végrehajtanunk az utasításokat. 4. Feltételes elágazás: I feltétel H utasítás1 utasítás2 Ha a feltétel teljesül, akkor az utasítás 1 kerül végrehajtásra, ha nem, akkor az utasítás 2. Mindkét esetben folytatódik a program. Megfelel a kétágú feltételnek. Egyágú esetén nincs utasítás a hamis ágban. A többágú elágazás is összeépíthet ebbl. 5. Ismétlési szerkezet: A hátul tesztel ciklus a következképpen építhet fel: ciklusmag feltétel I H 13

14 A ciklusmag mindaddig végrehajtásra kerül, amíg a feltétel teljesül. Ha nem teljesül, akkor folytatódik a program. (Egyszer a ciklusmag mindenféleképpen végrehajtódik!) 6. Eljárás megadás: eljárásnév utasítások Külön blokkdiagramot készítünk számára. Az eljárás hívása az eljárásnév ovális dobozba írásával történik. A program egy kitüntetett szerep# eljárás, kezdpontja a START, végpontja a VÉGE: START eljárásnév utasítások VÉGE 14

15 Az alapvet vezérlési szerkezetek összehasonlítása Elágazások Egyágú elágazás: blokkdiagram Kétágú elágazás: blokkdiagram I Ha feltétel akkor utasítások Elágazás vége algoritmus leíró nyelv algoritmus leíró nyelv H I Ha feltétel akkor utasítások különben utasítások Elágazás vége Ciklusok Elöl tesztel"s ciklus: Elször megvizsgálja a feltételt (belépési feltétel), és csak akkor hajtja végre a ciklusmagban lév utasításokat, ha a feltétel igaz. Vegyük észre, hogy ha kiinduláskor már hamis a belépési feltétel, akkor egyszer sem fut le a ciklustörzs. blokkdiagram algoritmus leíró nyelv H Ciklus amíg feltétel ciklusmag Ciklus vége Hátul tesztel"s ciklus: Elször végrehajtja a ciklusmagban lév utasításokat, majd megvizsgálja a feltételt, és ha ez igaz, akkor újra végrehajtja a ciklustörzset. Vegyük észre, hogy a ciklusmag mindenképp lefut egyszer. blokkdiagram algoritmus leíró nyelv I H Ciklus ciklusmag amíg feltétel Ciklus vége 15

16 Példa algoritmus készítésre Egy egyszer# feladat megoldásával szemléltetjük a két algoritmus leíró módszert. Feladat.: adjuk össze 1-tl 100-ig a számokat! A feladat megoldása elöl tesztel ciklussal: START A=1 S=0 n A<100 A<101 Ki:S az összeg S=S+A STOP i A=A+1 PROGRAM A=1 S=0 CIKLUS AMÍG A<=100 S=S+A A=A+1 Ki:S [Az összeg 1-100] PROGRAM VÉGE 16

17 A feladat megoldása hátul tesztel ciklussal: START A=1 S=0 S=S+A A=A+1 A<101 i n Ki:S az összeg STOP PROGRAM A=1 S=0 CIKLUS S=S+A A=A+1 AMÍG A<=100 Ki:S [egész, Összeg 1-100] PROGRAM VÉGE 17

18 Elemi algoritmusok A számítógépes feladatmegoldás során az algoritmus megtervezésekor bizonyos elemi tevékenységek gyakran felmerülnek megoldandó feladatként. Az ezeket megoldó elemi algoritmusokat (programozási tételeket) mutatjuk meg a következkben. Az algoritmusokat mondatszer# leírással adjuk meg. Algoritmusok, amelyek egy sorozatból egy adatot állítanak el: Elemek összegzése Adott egy N elem# tartalmazza. ELJÁRÁS ÖSSZEGZÉS (A[],N,S) S= 0 I=0 CIKLUS AMÍG I< N S= S +A[I] I=I+1 Lineáris keresés A számsorozat. Határozzuk meg az elemek összegét! A végeredményt az S Adott egy N elem# A sorozat, és egy, az elemein értelmezett, T tulajdonság. Döntsük el, hogy van-e olyan eleme a sorozatnak, amely rendelkezik a T tulajdonsággal, és ha van, akkor hányadik! (Ha nincs ilyen tulajdonságú elem, akkor a sorszám értéke legyen -1!) ELJÁRÁS Lineáris_ keresés (A[],N,T,SORSZAM) SORSZAM=-1 I=0 CIKLUS AMÍG I < N ÉS A[I] NEM T tulajdonságú I= I+1 Ha I < N akkor SORSZAM=I Maximum kiválasztása Az elbbi feladat egy speciális eseteként, egy adott sorozat legnagyobb (vagy esetleg legkisebb) elemének megkeresése is gyakran elfordul. Adott N elem# A számsorozatból keressük ki a legnagyobb elemet! ELJÁRÁS MAXIMUM (A[],N,MAX) MAX= A[0] I=1 CIKLUS AMÍG I < N HA MAX< A[I] AKKOR MAX=A[I] I=I+1 18

19 Megszámlálás A tulajdonság elfordulása mellett az is kérdés lehet, hogy hány elem rendelkezik ezzel az adott tulajdonsággal. Legyen adott egy N elem# A sorozat és egy, az elemein értelmezett, T tulajdonság. Határozzuk meg a T tulajdonsággal rendelkez elemek számát! ELJÁRÁS MEGSZÁMLÁLÁS(A[],N,DB) DB= 0 I=0 CIKLUS AMÍG I < N Ha A[I] T tulajdonságú AKKOR DB= DB+1 I=I+1 PÉLDA: Ha a sorozat: 1, 3, 5, 7 a tulajdonság a párosság, akkor DB=0. Ha a sorozat: 1, 2, 4, 8 a tulajdonság a párosság, akkor DB=3. Algoritmusok, amelyek egy sorozatból egy másik sorozatot állítanak el: Kiválogatás Egy sorozat elemei közül azokat válogatjuk ki egy új sorozatba, amelyek megfelelnek egy adott tulajdonságnak. Legyen adott egy N elem# A sorozat és egy, az elemein értelmezett, T tulajdonság. Gy#jtsük ki a B sorozatba az A sorozat T tulajdonságú elemeit! A készül sorozat elemszáma DB lesz. (Ha az A sorozatban nincs T tulajdonságú elem, akkor DB 0 lesz!) Rendezések ELJÁRÁS KIVÁLOGATÁS (A[],N,T,B[],DB) DB=0 I= 0 CIKLUS AMÍG I < N HA A[I] T tulajdonságú AKKOR B[DB]=A[I] DB=DB+1 I=I+1 Gyakran a rendezett elemekkel való m#veletvégzés sokkal hatékonyabb, mint rendezetlen elemek esetében. Ezért nagyon fontosak a sorozat elemeit más sorrendbe elállító algoritmusok. A kívánt rendezési irány lehet növekv vagy csökken Valamennyi ismertetésre kerül rendezési algoritmusban a növekv sorrend elérése a cél. A többféle rendezési módszer közül a legismertebbek algoritmusát adjuk meg. A rendezéseket mindig helyben, új sorozat létrehozása nélkül kell megoldani. Ha két sorozattag között a reláció nem a kívánt rendezettség szerinti, akkor a tagok felcserélésére van szükség. 19

20 Két elem cseréjét a következkben az alábbi módon jelöljük: EGYIK A csere megvalósításához egy segéd változót használunk: MÁSIK. EGYIK MÁSIK jelentése tehát: segéd= egyik egyik= másik másik= segéd Minimum-elven alapuló rendezés A minimumkereséses rendezés lényege az, hogy egy adott intervallumban - amely kezdetben a teljes sorozat - megkeressük a legkisebb elemet, s azt tesszük az els helyre. A következ lépésben eggyel sz#kítjük az intervallumot (megnöveljük a sorozat alsó határát jelöl indexet), és ismét a legkisebb elemet visszük elre. Végül a rendezend adatok elfogynak, a sorozat végére érünk. A mindenkori legkisebb elem keresése lineáris módszerrel történik. (Ha a kívánt sorrend a csökken rendezettség, akkor a maximum-elv# rendezési algoritmust használjuk, ami csak a relációban különbözik.) ELJÁRÁS Minimum_elv (A[], N) I=0 CIKLUS AMÍG I < N-1 J=I+1 CIKLUS AMÍG J < N HA A[I] > A[J] AKKOR A[I] A[J] J=J+1 I=I+1 Buborék rendezés A buborék rendezés mindig két szomszédos elemet vizsgál, s ha azok a kívánt rendezettségnek nem megfelel relációban vannak, felcseréli ket, majd tovább lépve újabb elempárt vizsgál. Az elejétl a végéig ismételten végigpásztázva az egész sorozatot, eljutunk a rendezett állapotig, amikor már nincs szükség cserére. A bels ciklus egy lefutása után a legnagyobb elem az utolsó helyre kerül. ELJÁRÁS BUBORÉK_ELV(A[],N) I=1 CIKLUS AMÍG I < N J=0 CIKLUS AMÍG J < N-I HA A[J] > A[J+1] AKKOR A[J] J=J+1 I=I+1 A[J+1] 20

21 Javított buborékos rendezés Ha a buborékos rendezésnél egy teljes bels ciklus lefutása alatt egyetlen csere sem volt, akkor a sorozat már rendezett. Ilyenkor feleslegesek a további összehasonlítások. A CSERE változó jelzi azt, hogy a bels ciklusban kellett-e cserélni. A bels ciklus indulása eltt, elkészítésként, a változót nullázzuk, és csak akkor lesz újra 1 az értéke, ha cserére volt szükség. Tehát, ha az összes szomszédos elem-pár a kívánt rendezettségnek megfelel relációban van, akkor a CSERE változó értéke 0 marad. ELJÁRÁS JOBB_BUBORÉK(A[],N) CSERE = 1 CIKLUS AMÍG CSERE ==1 CSERE = 0 J=0 CIKLUS AMÍG J<N-1 HA A[J]>A[J+1] AKKOR A[J] J=J+1 CSERE =1 A[J+1] Tovább javított buborékos rendezés Mivel a bels ciklus egyszeri lefutása után a legnagyobb elem az utolsó helyen áll, ezt az elemet már felesleges vizsgálni. Ebben az algoritmusban a bels ciklus minden alkalommal eggyel kevesebb elemre fut le, mert a DB változót a bels ciklus befejezdése után csökkentjük. ELJÁRÁS LEGJOBB_BUBORÉK(A[],N) CSERE = 1 DB = N CIKLUS AMÍG CSERE == 1 CSERE = 0 J=0 CIKLUS AMÍG J< DB -1 HA A[J]>A[J+1] AKKOR A[J] J=J+1 DB = DB-1 CSERE =1 A[J+1] 21

Távoktatás PROGRAMOZÁSI ALAPFOGALMAK ÉS ALGORITMUSOK

Távoktatás PROGRAMOZÁSI ALAPFOGALMAK ÉS ALGORITMUSOK Budapesti Mszaki Fiskola Regionális Oktatási és Innovációs Központ Távoktatás PROGRAMOZÁSI ALAPFOGALMAK ÉS ALGORITMUSOK Segédlet Készítette: Burián Ágnes Villamosmérnök és mszaki menedzser szak 5. félév

Részletesebben

Programozás alapjai (ANSI C)

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

Részletesebben

Java programozási nyelv

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

Részletesebben

Adatbázis és szoftverfejlesztés elmélet. Programozási tételek

Adatbázis és szoftverfejlesztés elmélet. Programozási tételek Adatbázis és szoftverfejlesztés elmélet Témakör 8. 1. Egy sorozathoz egy érték hozzárendelése Az összegzés tétele Összefoglalás Programozási tételek Adott egy számsorozat. Számoljuk és írassuk ki az elemek

Részletesebben

Programozási segédlet

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

Részletesebben

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) 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észletesebben

B I T M A N B I v: T M A N

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

Részletesebben

Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):

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

Részletesebben

Programozási nyelvek 6. előadás

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

Részletesebben

Programozás I. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar szeptember 10.

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 /

Részletesebben

Algoritmusok. Dr. Iványi Péter

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

Részletesebben

Programozási tételek. Dr. Iványi Péter

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,

Részletesebben

Programozás I. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar szeptember 10.

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 /

Részletesebben

Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):

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

Részletesebben

Történeti áttekintés

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

Részletesebben

Programozási nyelvek a közoktatásban alapfogalmak I. előadás

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)

Részletesebben

Programozás alapjai Bevezetés

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

Részletesebben

Egyszerű programozási tételek

Egyszerű programozási tételek Egyszerű programozási tételek 2. előadás Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar 2011. szeptember 15. Sergyán (OE NIK) AAO 02 2011. szeptember 15.

Részletesebben

PROGRAMOZÁSI TÉTELEK

PROGRAMOZÁSI TÉTELEK PROGRAMOZÁSI TÉTELEK Összegzés tétele Adott egy N elemű számsorozat: A(N). Számoljuk ki az elemek összegét! S:=0 Ciklus I=1-től N-ig S:=S+A(I) Megszámlálás tétele Adott egy N elemű sorozat és egy - a sorozat

Részletesebben

Bevezetés a programozásba I.

Bevezetés a programozásba I. Bevezetés a programozásba I. 3. gyakorlat Tömbök, programozási tételek Surányi Márton PPKE-ITK 2010.09.21. ZH! PlanG-ból papír alapú zárthelyit írunk el reláthatólag október 5-én! Tömbök Tömbök Eddig egy-egy

Részletesebben

AZ ALGORITMUS. az eredményt szolgáltatja

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

Részletesebben

Algoritmusok, adatszerkezetek, objektumok

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.

Részletesebben

Assembly programozás: 2. gyakorlat

Assembly programozás: 2. gyakorlat Assembly programozás: 2. gyakorlat Számrendszerek: Kettes (bináris) számrendszer: {0, 1} Nyolcas (oktális) számrendszer: {0,..., 7} Tízes (decimális) számrendszer: {0, 1, 2,..., 9} 16-os (hexadecimális

Részletesebben

Az algoritmusok alapelemei

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.

Részletesebben

Szoftver-mérés. Szoftver metrikák. Szoftver mérés

Szoftver-mérés. Szoftver metrikák. Szoftver mérés Szoftver-mérés Szoftver metrikák Szoftver mérés Szoftver jellemz! megadása numerikus értékkel Technikák, termékek, folyamatok objektív összehasonlítása Mér! szoftverek, programok CASE eszközök Kevés szabványos

Részletesebben

C programozás. { Márton Gyöngyvér, 2009 } { Sapientia, Erdélyi Magyar Tudományegyetem } http://www.ms.sapientia.ro/~mgyongyi

C programozás. { Márton Gyöngyvér, 2009 } { Sapientia, Erdélyi Magyar Tudományegyetem } http://www.ms.sapientia.ro/~mgyongyi C programozás Márton Gyöngyvér, 2009 Sapientia, Erdélyi Magyar Tudományegyetem http://www.ms.sapientia.ro/~mgyongyi 1 Könyvészet Kátai Z.: Programozás C nyelven Brian W. Kernighan, D.M. Ritchie: A C programozási

Részletesebben

Adatbázis rendszerek Gy: Algoritmusok C-ben

Adatbázis rendszerek Gy: Algoritmusok C-ben Adatbázis rendszerek 1. 1. Gy: Algoritmusok C-ben 53/1 B ITv: MAN 2015.09.08 Alapalgoritmusok Összegzés Megszámlálás Kiválasztás Kiválasztásos rendezés Összefésülés Szétválogatás Gyorsrendezés 53/2 Összegzés

Részletesebben

Bánsághi Anna 2014 Bánsághi Anna 1 of 68

Bá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észletesebben

OOP 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 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észletesebben

A programozás alapjai előadás. Amiről szólesz: A tárgy címe: A programozás alapjai

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

Részletesebben

A számrendszerekrl általában

A számrendszerekrl általában A számrendszerekrl általában Készítette: Dávid András A számrendszerekrl általában Miért foglalkozunk vele? (Emlékeztet) A mai számítógépek többsége Neumann-elv. Neumann János a következ elveket fektette

Részletesebben

Előfeltétel: legalább elégséges jegy Diszkrét matematika II. (GEMAK122B) tárgyból

Előfeltétel: legalább elégséges jegy Diszkrét matematika II. (GEMAK122B) tárgyból ÜTEMTERV Programozás-elmélet c. tárgyhoz (GEMAK233B, GEMAK233-B) BSc gazdaságinformatikus, programtervező informatikus alapszakok számára Óraszám: heti 2+0, (aláírás+kollokvium, 3 kredit) 2019/20-es tanév

Részletesebben

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 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

Részletesebben

B I T M A N B I v: T M A N

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

Részletesebben

ELEMI PROGRAMOZÁSI TÉTELEK

ELEMI PROGRAMOZÁSI TÉTELEK ELEMI PROGRAMOZÁSI TÉTELEK 1. FELADATMEGOLDÁS PROGRAMOZÁSI TÉTELEKKEL 1.1 A programozási tétel fogalma A programozási tételek típusalgoritmusok, amelyek alkalmazásával garantáltan helyes megoldást adhatunk

Részletesebben

Algoritmusok tervezése

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,

Részletesebben

1. előadás. Lineáris algebra numerikus módszerei. Hibaszámítás Számábrázolás Kerekítés, levágás Klasszikus hibaanalízis Abszolút hiba Relatív hiba

1. előadás. Lineáris algebra numerikus módszerei. Hibaszámítás Számábrázolás Kerekítés, levágás Klasszikus hibaanalízis Abszolút hiba Relatív hiba Hibaforrások Hiba A feladatok megoldása során különféle hibaforrásokkal találkozunk: Modellhiba, amikor a valóságnak egy közelítését használjuk a feladat matematikai alakjának felírásához. (Pl. egy fizikai

Részletesebben

Programozá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 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észletesebben

Algoritmizálás. Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar

Algoritmizálás. Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar Algoritmizálás Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar horvath@inf.u-szeged.hu 0.1. Az algoritmikus tudás szintjei Ismeri (a megoldó algoritmust) Érti Le tudja pontosan

Részletesebben

Széchenyi István Szakképző Iskola

Széchenyi István Szakképző Iskola A SZAKKÖZÉPISKOLAI SZAKMACSOPORTOS ALAPOZÓ OKTATÁS EMELT SZINTŰ ISKOLAI PROGRAMJA 11-12. évolyam Érvényes a 2003-2004-es tanévtől felmenő rendszerben Átdolgozva, utolsó módosítás: 2004. április 26. Az

Részletesebben

Programozás I. 1. előadás: Algoritmusok alapjai. Sergyán Szabolcs

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

Részletesebben

ALGORITMIKUS SZERKEZETEK ELÁGAZÁSOK, CIKLUSOK, FÜGGVÉNYEK

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.

Részletesebben

LEBEGŐPONTOS SZÁMÁBRÁZOLÁS

LEBEGŐPONTOS SZÁMÁBRÁZOLÁS LEBEGŐPONTOS SZÁMÁBRÁZOLÁS A fixpontos operandusoknak azt a hátrányát, hogy az ábrázolás adott hossza miatt csak korlátozott nagyságú és csak egész számok ábrázolhatók, a lebegőpontos számábrázolás küszöböli

Részletesebben

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! 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észletesebben

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

Bevezetés a programozásba. 5. Előadás: Tömbök Bevezetés a programozásba 5. Előadás: Tömbök ISMÉTLÉS Specifikáció Előfeltétel: milyen körülmények között követelünk helyes működést Utófeltétel: mit várunk a kimenettől, mi az összefüggés a kimenet és

Részletesebben

Funkcionális és logikai programozás. { Márton Gyöngyvér, 2012} { Sapientia, Erdélyi Magyar Tudományegyetem }

Funkcionális és logikai programozás. { Márton Gyöngyvér, 2012} { Sapientia, Erdélyi Magyar Tudományegyetem } Funkcionális és logikai programozás { Márton Gyöngyvér, 2012} { Sapientia, Erdélyi Magyar Tudományegyetem } http://www.ms.sapientia.ro/~mgyongyi ` 1 Jelenlét: Követelmények, osztályozás Az első 4 előadáson

Részletesebben

Informatika érettségi vizsga

Informatika érettségi vizsga Informatika 11/L/BJ Informatika érettségi vizsga ÍRÁSBELI GYAKORLATI VIZSGA (180 PERC - 120 PONT) SZÓBELI SZÓBELI VIZSGA (30 PERC FELKÉSZÜLÉS 10 PERC FELELET - 30 PONT) Szövegszerkesztés (40 pont) Prezentáció-készítés

Részletesebben

Programzás I. - 1. gyakorlat

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)

Részletesebben

Adatszerkezetek Tömb, sor, verem. Dr. Iványi Péter

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

Részletesebben

The Architecture of Computer Hardware and Systems Software: An InformationTechnology Approach 3. kiadás, Irv Englander John Wiley and Sons 2003

The Architecture of Computer Hardware and Systems Software: An InformationTechnology Approach 3. kiadás, Irv Englander John Wiley and Sons 2003 . Fejezet : Számrendszerek The Architecture of Computer Hardware and Systems Software: An InformationTechnology Approach. kiadás, Irv Englander John Wiley and Sons Wilson Wong, Bentley College Linda Senne,

Részletesebben

2. Fejezet : Számrendszerek

2. Fejezet : Számrendszerek 2. Fejezet : Számrendszerek The Architecture of Computer Hardware and Systems Software: An Information Technology Approach 3. kiadás, Irv Englander John Wiley and Sons 2003 Wilson Wong, Bentley College

Részletesebben

Tartalom Keresés és rendezés. Vektoralgoritmusok. 1. fejezet. Keresés adatvektorban. A programozás alapjai I.

Tartalom Keresés és rendezés. Vektoralgoritmusok. 1. fejezet. Keresés adatvektorban. A programozás alapjai I. Keresés Rendezés Feladat Keresés Rendezés Feladat Tartalom Keresés és rendezés A programozás alapjai I. Hálózati Rendszerek és Szolgáltatások Tanszék Farkas Balázs, Fiala Péter, Vitéz András, Zsóka Zoltán

Részletesebben

C programozás. 1 óra Bevezetés

C programozás. 1 óra Bevezetés C programozás 1 óra Bevezetés A C nyelv eredete, fő tulajdonságai 1. Bevezető C nyelv alapelemei többsége a BCPL (Basic Combined Programming Language {1963}) Martin Richards B nyelv Ken Thompson {1970}

Részletesebben

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

Programozás I. 3. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar Programozás I. 3. gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor 1 Primitív típusok Típus neve Érték Alap érték Foglalt tár Intervallum byte Előjeles egész 0 8 bit

Részletesebben

A C# programozási nyelv alapjai

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

Részletesebben

Keresés és rendezés. A programozás alapjai I. Hálózati Rendszerek és Szolgáltatások Tanszék Farkas Balázs, Fiala Péter, Vitéz András, Zsóka Zoltán

Keresés és rendezés. A programozás alapjai I. Hálózati Rendszerek és Szolgáltatások Tanszék Farkas Balázs, Fiala Péter, Vitéz András, Zsóka Zoltán Keresés Rendezés Feladat Keresés és rendezés A programozás alapjai I. Hálózati Rendszerek és Szolgáltatások Tanszék Farkas Balázs, Fiala Péter, Vitéz András, Zsóka Zoltán 2016. november 7. Farkas B., Fiala

Részletesebben

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?

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

Részletesebben

Felvételi tematika INFORMATIKA

Felvé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észletesebben

Nézzük tovább a lexikai egységeket!

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ő

Részletesebben

Algoritmizálás, adatmodellezés 1. előadás

Algoritmizálás, adatmodellezés 1. előadás Algoritmizálás, adatmodellezés 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 induló élből

Részletesebben

9. előadás. Programozás-elmélet. Programozási tételek Elemi prog. Sorozatszámítás Eldöntés Kiválasztás Lin. keresés Megszámolás Maximum.

9. előadás. Programozás-elmélet. Programozási tételek Elemi prog. Sorozatszámítás Eldöntés Kiválasztás Lin. keresés Megszámolás Maximum. Programozási tételek Programozási feladatok megoldásakor a top-down (strukturált) programtervezés esetén három vezérlési szerkezetet használunk: - szekvencia - elágazás - ciklus Eddig megismertük az alábbi

Részletesebben

Rendezések. A rendezési probléma: Bemenet: Kimenet: n számot tartalmazó (a 1,a 2,,a n ) sorozat

Rendezések. A rendezési probléma: Bemenet: Kimenet: n számot tartalmazó (a 1,a 2,,a n ) sorozat 9. Előadás Rendezések A rendezési probléma: Bemenet: n számot tartalmazó (a 1,a 2,,a n ) sorozat Kimenet: a bemenő sorozat olyan (a 1, a 2,,a n ) permutációja, hogy a 1 a 2 a n 2 Rendezések Általánosabban:

Részletesebben

A program valamilyen feladat, probléma megoldására készül, általános szerkezete: INPUT ALGORITMUS OTUPUT

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

Részletesebben

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 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észletesebben

Bevezetés az informatikába gyakorló feladatok Utoljára módosítva:

Bevezetés az informatikába gyakorló feladatok Utoljára módosítva: Tartalom 1. Számrendszerek közti átváltás... 2 1.1. Megoldások... 4 2. Műveletek (+, -, bitműveletek)... 7 2.1. Megoldások... 8 3. Számítógépes adatábrázolás... 12 3.1. Megoldások... 14 A gyakorlósor lektorálatlan,

Részletesebben

Adatszerkezetek 1. Dr. Iványi Péter

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

Részletesebben

Bevezetés az informatikába gyakorló feladatok Utoljára módosítva:

Bevezetés az informatikába gyakorló feladatok Utoljára módosítva: Tartalom 1. Számrendszerek közti átváltás... 2 1.1. Megoldások... 4 2. Műveletek (+, -, bitműveletek)... 7 2.1. Megoldások... 8 3. Számítógépes adatábrázolás... 10 3.1. Megoldások... 12 A gyakorlósor lektorálatlan,

Részletesebben

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 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

Részletesebben

OOP #1 (Bevezetés) v1.0 2003.03.07. 18:39:00. Eszterházy Károly Főiskola Információtechnológia tsz. Hernyák Zoltán adj.

OOP #1 (Bevezetés) v1.0 2003.03.07. 18:39:00. Eszterházy Károly Főiskola Információtechnológia tsz. Hernyák Zoltán adj. OOP #1 (Bevezetés) v1.0 2003.03.07. 18:39:00 Eszterházy Károly Főiskola Információtechnológia tsz. Hernyák Zoltán adj. e-mail: aroan@ektf.hu web: http://aries.ektf.hu/~aroan OOP OOP_01-1 - E jegyzet másolata

Részletesebben

I. el adás, A számítógép belseje

I. el adás, A számítógép belseje 2008. október 8. Követelmények Félévközi jegy feltétele két ZH teljesítése. Ha egy ZH nem sikerült, akkor lehetséges a pótlása. Mindkét ZH-hoz van pótlás. A pótzh körülbelül egy héttel az eredeti után

Részletesebben

Programozás I. Egyszerű programozási tételek. Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu

Programozás I. Egyszerű programozási tételek. Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Programozás I. 3. előadás Egyszerű programozási tételek Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar Alkalmazott Informatikai Intézet 2015. szeptember

Részletesebben

Készítette: Nagy Tibor István

Ké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észletesebben

Irányítástechnika 1. 9. Elıadás. PLC-k programozása

Irányítástechnika 1. 9. Elıadás. PLC-k programozása Irányítástechnika 1 9. Elıadás PLC-k programozása Irodalom - Helmich József: Irányítástechnika I, 2005 - Zalotay Péter: PLC tanfolyam - Jancskárné Anweiler Ildikó: PLC programozás az IEC 1131-3 szabvány

Részletesebben

Bevezetés az informatikába

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.

Részletesebben

Adatok ábrázolása, adattípusok

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

Részletesebben

Vektorok. Octave: alapok. A fizika numerikus módszerei I. mf1n1a06- mf1n2a06 Csabai István

Vektorok. Octave: alapok. A fizika numerikus módszerei I. mf1n1a06- mf1n2a06 Csabai István Vektorok A fizika numerikus módszerei I. mf1n1a06- mf1n2a06 Csabai István Octave: alapok Az octave mint számológép: octave:##> 2+2 ans = 4 Válasz elrejtése octave:##> 2+2; octave:##> + - / * () Hatványozás:

Részletesebben

Bevezetés a C programozásba

Bevezetés a C programozásba Bevezetés a C programozásba Programozás I. Széchenyi István Egyetem, Gy r 2015. szeptember 5. Számítógép lehet ségei Tisztázandó kérdések: Mit tud a számítógép? (programnyelvek, programok,... ) A feladat

Részletesebben

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

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós április 4. Széchenyi István Egyetem, Gy r Programozás (GKxB_INTM021) Széchenyi István Egyetem, Gy r 2018. április 4. Számok rendezése Feladat: Fejlesszük tovább úgy a buborék rendez algoritmust bemutató példát, hogy a felhasználó adhassa meg a

Részletesebben

Tamás Péter (D. 424) Mechatronika, Optika és Gépészeti Informatika Tanszék (D 407)

Tamás Péter (D. 424) Mechatronika, Optika és Gépészeti Informatika Tanszék (D 407) Tamás Péter (D. 424) Mechatronika, Optika és Gépészeti Informatika Tanszék (D 407) 1 Előadás Bevezetés az informatikába Adatszerkezetek Algoritmusok, programozási technológiák Számítástudomány alapjai

Részletesebben

ÁTVÁLTÁSOK SZÁMRENDSZEREK KÖZÖTT, SZÁMÁBRÁZOLÁS, BOOLE-ALGEBRA

ÁTVÁLTÁSOK SZÁMRENDSZEREK KÖZÖTT, SZÁMÁBRÁZOLÁS, BOOLE-ALGEBRA 1. Tízes (decimális) számrendszerből: a. Kettes (bináris) számrendszerbe: Vegyük a 2634 10 -es számot, és váltsuk át bináris (kettes) számrendszerbe! A legegyszerűbb módszer: írjuk fel a számot, és húzzunk

Részletesebben

Aritmetikai utasítások I.

Aritmetikai utasítások I. Aritmetikai utasítások I. Az értékadó és aritmetikai utasítások során a címzési módok különböző típusaira látunk példákat. A 8086/8088-as mikroprocesszor memóriája és regiszterei a little endian tárolást

Részletesebben

Struktúra nélküli adatszerkezetek

Struktúra nélküli adatszerkezetek Struktúra nélküli adatszerkezetek Homogén adatszerkezetek (minden adatelem azonos típusú) osztályozása Struktúra nélküli (Nincs kapcsolat az adatelemek között.) Halmaz Multihalmaz Asszociatív 20:24 1 A

Részletesebben

SZÁMRENDSZEREK KÉSZÍTETTE: JURÁNYINÉ BESENYEI GABRIELLA

SZÁMRENDSZEREK KÉSZÍTETTE: JURÁNYINÉ BESENYEI GABRIELLA SZÁMRENDSZEREK KÉSZÍTETTE: JURÁNYINÉ BESENYEI GABRIELLA BINÁRIS (kettes) ÉS HEXADECIMÁLIS (tizenhatos) SZÁMRENDSZEREK (HELYIÉRTÉK, ÁTVÁLTÁSOK, MŰVELETEK) A KETTES SZÁMRENDSZER A computerek világában a

Részletesebben

Számítógép architektúra

Számítógép architektúra Budapesti Műszaki Főiskola Regionális Oktatási és Innovációs Központ Székesfehérvár Számítógép architektúra Dr. Seebauer Márta főiskolai tanár seebauer.marta@roik.bmf.hu Irodalmi források Cserny L.: Számítógépek

Részletesebben

A programozás alapjai

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,

Részletesebben

Objektumorientált paradigma és a programfejlesztés

Objektumorientált paradigma és a programfejlesztés Objektumorientált paradigma és a programfejlesztés Vámossy Zoltán vamossy.zoltan@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar Ficsor Lajos (Miskolci Egyetem) prezentációja alapján Objektumorientált

Részletesebben

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. 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)

Részletesebben

Bevezetés. Dr. Iványi Péter

Bevezetés. Dr. Iványi Péter Bevezetés Dr. Iványi Péter Programozási készség Számos munka igényel valamilyen szintű programozási készséget Grafikus a képfeldolgozót, Zenész a szintetizátort, Programozó a számítógépet programozza.

Részletesebben

Programozás I gyakorlat

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,

Részletesebben

3. gyakorlat. Kettes számrendszer: {0, 1} Tízes számrendszer: {0, 1, 2,..., 9} 16-os (hexadecimális számrendszer): {0, 1, 2,..., 9, A, B, C, D, E, F}

3. gyakorlat. Kettes számrendszer: {0, 1} Tízes számrendszer: {0, 1, 2,..., 9} 16-os (hexadecimális számrendszer): {0, 1, 2,..., 9, A, B, C, D, E, F} 3. gyakorlat Számrendszerek: Kettes számrendszer: {0, 1} Tízes számrendszer: {0, 1, 2,..., 9} 16-os (hexadecimális számrendszer): {0, 1, 2,..., 9, A, B, C, D, E, F} Alaki érték: 0, 1, 2,..., 9,... Helyi

Részletesebben

Az informatika kulcsfogalmai

Az informatika kulcsfogalmai Az informatika kulcsfogalmai Kulcsfogalmak Melyek azok a fogalmak, amelyek nagyon sok más fogalommal kapcsolatba hozhatók? Melyek azok a fogalmak, amelyek más-más környezetben újra és újra megjelennek?

Részletesebben

Térinformatikai algoritmusok Elemi algoritmusok

Térinformatikai algoritmusok Elemi algoritmusok Cserép Máté Analóg programozásnak nevezzük azt, amikor egy feladat megoldásához egy már ismert és megoldott feladat megoldását használjuk fel. Általában nem pontosan ugyanazt a feladatot oldottuk meg korábban,

Részletesebben

Informatika tanítási módszerek

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;

Részletesebben

Java II. I A Java programozási nyelv alapelemei

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

Részletesebben

Web-programozó Web-programozó

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,

Részletesebben

Harmadik gyakorlat. Számrendszerek

Harmadik gyakorlat. Számrendszerek Harmadik gyakorlat Számrendszerek Ismétlés Tízes (decimális) számrendszer: 2 372 =3 2 +7 +2 alakiérték valódi érték = aé hé helyiérték helyiértékek a tízes szám hatványai, a számjegyek így,,2,,8,9 Kettes

Részletesebben

Hatékonyság 1. előadás

Hatékonyság 1. előadás Hatékonyság 1. előadás Mi a hatékonyság Bevezetés A hatékonyság helye a programkészítés folyamatában: csak HELYES programra Erőforrásigény: a felhasználó és a fejlesztő szempontjából A hatékonyság mérése

Részletesebben

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

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós február 18. Széchenyi István Egyetem, Gy r Programozás (GKxB_INTM021) Széchenyi István Egyetem, Gy r 2018. február 18. Minimum és maximumkeresés u s i n g n a m e s p a c e s t d ; i n t main ( ) { c o u t

Részletesebben

5-6. ea Created by mrjrm & Pogácsa, frissítette: Félix

5-6. ea Created by mrjrm & Pogácsa, frissítette: Félix 2. Adattípusonként különböző regisztertér Célja: az adatfeldolgozás gyorsítása - különös tekintettel a lebegőpontos adatábrázolásra. Szorzás esetén karakterisztika összeadódik, mantissza összeszorzódik.

Részletesebben

Összetett programozási tételek Rendezések Keresések PT egymásra építése. 10. előadás. Programozás-elmélet. Programozás-elmélet 10.

Összetett programozási tételek Rendezések Keresések PT egymásra építése. 10. előadás. Programozás-elmélet. Programozás-elmélet 10. Összetett programozási tételek Sorozathoz sorozatot relő feladatokkal foglalkozunk. A bemenő sorozatot le kell másolni, s közben az elemekre vonatkozó átalakításokat lehet végezni rajta: Input : n N 0,

Részletesebben