Információs technológiák 4. Ea: A lélek. A csak szidható kézzelfoghatatlan
|
|
- Balázs Barta
- 8 évvel ezelőtt
- Látták:
Átírás
1 Információs technológiák 4. Ea: A lélek A csak szidható kézzelfoghatatlan 226/1 B ITv: MAN
2 Témakörök Szoftver alapok Operációs rendszerek Felhasználói programok Segédprogramok Programfejlesztő eszközök Ellenőrző kérdések 226/2
3 A szoftver A szoftver: Több, különböző célra megírt program összessége Csoportosítás funkció szerint: Rendszerszoftverek - Operációs rendszerek Felhasználói programok Segédprogramok Programfejlesztő eszközök Programozási nyelvek 226/3
4 A hardver és a szoftver kapcsolata Alkalmazói programok Programfejlesztő eszközök Segédprogramok Operációs rendszer H A R D V E R 226/4
5 A szoftverekkel kapcsolatos teendők Beszerzés Vásárlás, letöltés, speciális esetben: szoftver írás Telepítés Varázsló, Működési környezet beállítása Frissítés Verzió Eltávolítás Varázsló Vezérlőpult \ Programok telepítése vagy eltávolítása 226/5
6 Szoftverek jogállása 1. A számítógépes programokat szerzői jogi törvény védi (1999. évi LXXVI-os tv.), amely kimondja: Az eredeti számítógépes program az azt létrehozó személy vagy vállalat szellemi tulajdona. A számítógépes programok engedély nélküli másolása törvénybe ütköző cselekedet. Egy adott szoftver esetében a licenc szerződés határozza meg a szerzői jog tulajdonosa által megengedett szoftverhasználat feltételeit. A szoftver licenc szerződés amennyiben eltérően nem rendelkezik, a vevőnek csak egyetlen biztonsági másolat készítését engedélyezi, arra az esetre, ha az eredeti szoftver lemeze meghibásodna, vagy megsemmisülne. 226/6
7 Szoftverek jogállása 2. Illegális szoftver használat: valaki egy számítógépes programot jogosulatlanul másol le és használ, ezzel megsértve a szerzői jogi törvényt. A hamisítás a szerzői jogvédelem alá eső szoftver nem jogszerű sokszorosítása és eladása. Internet kalózkodás (warez): Egy szerzői jogvédelem alá eső szoftver a jogtulajdonos kifejezett engedélye nélkül felkerül egy nyilvános vagy korlátozott hozzáférésű kiszolgálóra, ahonnan ingyen, vagy díjazás fejében letölthetővé válik. A Business Software Alliance (BSA) egy nemzetközi szervezet, amely a vezető szoftvergyártók érdekeit képviseli és küzd a szoftverkalózkodás ellen. 226/7
8 Szoftverek jogállása Licenc típusok Jogdíjas (fizetni kell a használatáért) Shareware - kis ideig szabadon használható, aztán fizetni kell Freeware - ingyen használható, de csak saját célra, üzleti célra nem Public Domain - teljesen ingyenes bármilyen célra Demo - ingyen használható, de sok funkciója hiányzik (mentés, nyomtatás ) 226/8
9 Témakörök Szoftver alapok Operációs rendszerek Felhasználói programok Segédprogramok Programfejlesztő eszközök Ellenőrző kérdések 226/9
10 226/10
11 Operációs rendszerek Fogalma: Egymással együttműködő programokból álló szoftverrendszer, amelynek feladata: a számítógép hardver elemeinek összehangolt, hatékony működtetése, a hardver kényelmes használhatóságának biztosítása a gépet kezelő személyek felé, a gépen futó alkalmazások felé. Alkalmazások Felhasználók Operációs rendszer 226/11 HARDVER
12 Az operációs rendszer részei Alkalmazások API Shell Kernel CPU Memória Eszközök Kernel: Rendszermag Shell: Rendszerhéj Processzor kezelés Kapcsolattartás a felhasználóval Memória kezelés Eszközkezelés API Alkalmazói programozói interfész 226/12 A programok hogyan vehetik igénybe a kernel szolgáltatásait
13 Betöltődés Bootolás 1. Bekapcsolási önteszt processzor, memória, vezérlő-kártyák, háttértárak. 2. Betölthető operációs rendszer megkeresése 3. Betöltő program elindítása Kernel, Hardver elemek meghajtó programjai, Szolgáltatások elindítása, Bejelentkeztetés 226/13
14 Operációs rendszerek feladatai Erőforrások kihasználásának ütemezése, A számítógép adatforgalmának lebonyolítása, A kiadott parancsok értelmezése, végrehajtása, Hiba esetén a hiba javításának megpróbálása, ha nem megy: hibajelzés, Több felhasználó egyidejű munkájának megszervezése, Több számítógép együttműködésének megvalósítása, Adatvédelem, hozzáférési jogok ellenőrzése 226/14
15 Operációs rendszerek osztályozása (1) A működtetett számítógép teljesítménye szerint: személyi számítógépekhez mini gépekhez nagygépekhez Egy időben futó programok száma szerint: Egyprogramos üzemmódú Többprogramos üzemmódú A számítógéppel egyszerre dolgozó személyek száma szerint: Egy felhasználós üzemmód Több felhasználós üzemmód A felügyelt számítógépek száma szerint: Központosított (egy számítógép) Elosztott (hálózatot felügyelő) 226/15
16 Operációs rendszerek osztályozása (2) A felhasználó és a számítógép közötti kapcsolattartás alapján: Kötegelt (batch) feldolgozás, Interaktív feldolgozás szöveges üzemmód, menüs vezérlés, grafikus felületű kezelés 226/16
17 Operációs rendszerek osztályozása (3) A rendszer tárolása és indítása alapján: ROM memóriában tárolt rendszerek Régen: pl. Commodore C64 Ma: Telefonok, GPS rendszerek, autók számítógépei, Fix, nem változtatható, rugalmatlan megoldás Háttértárról betöltődő rendszerek Csak telepítés (installálás) után működőképesek! ROM-ban tárolt program kezdi a betöltést (bootolás) Hardver ellenőrzés Rendszerfájlok betöltése Hardver eszközök kezelőprogramjainak (driver) betöltése Programok elindítása (pl. víruskereső, tűzfal) 226/17
18 Operációs rendszerek UNIX Több felhasználós, több programos, nagygépes, szöveges/grafikus, DOS Egy felhasználós, egy programos, PC-s, szöveges WINDOWS Egy felhasználós, több programos, PC-s, grafikus LINUX Több felhasználós, több programos, PC-s, szöveges/grafikus Novell Netware Több felhasználós, több programos, elosztott 226/18
19 Operációs rendszerek megjelenése 1969 UNICS 1993 FreeBSD UNIX 1994 Linux Atari játékgépek 1994 Windows NT Commodore Windows DOS 1996 Windows CE 1982 ZX Spectrum 2000 Suse Linux 1983 Novell NetWare 2001 Windows XP 1984 Mac System Ubuntu Linux 1985 Windows Windows Vista 1987 IBM OS/ Windows Windows Windows 8 226/ Windows 10
20 Operációs rendszerek Unix család 1969 Bell labs: Thompson és Ritchie unatkozik, és elkezd írni egy működtető környezetet a sarokban álló PDP-7-re. Assembly nyelv, neve: UNICS 1970 Thompson utálja az assemblyt, ezért megalkotja a B magas szintű programozási nyelvet 1971 Ritchie megírja a C nyelvet 1973 C nyelven újraírják a működtető környezetet, és elnevezik UNIX-nak. Tartalma: Fájlrendszer (könyvtárak, fájlok), Parancsértelmező rendszer, Programokat és memóriát kezelő rendszer, Szövegszerkesztő program, C nyelvű programfejlesztő környezet 226/20
21 Operációs rendszerek Unix család 1978 CB UNIX 1981 UNIX System 1985 Mach (utolsó verzió: 1995, Mach 4) További UNIX származékok AIX Solaris HP-UX UnixWare IRIX Linux 226/21
22 Operációs rendszerek Linux család Andrew Tanenbaum: MINIX Sinclair számítógépen fut Nyílt forráskódú, tetszőlegesen alakítható 1991 Megjelenik a 386-os PC Linus Torvalds egyetemista átírja a MINIX-et 386-ra Freax, azt tudja, amit a Unix, de PC-n, és ingyen! 1992 Freax -> Linux 0.96 X Window kb. 100 ember fejleszti, de használja 1995 kb. 1 millió user 1999 kb 10 millió user Sok disztribúció: Debian, Gentoo, Inspire, Red Hat, SuSE, YelloDog 226/22
23 Operációs rendszerek DOS Disk Operating System - Lemezes Operációs Rendszer személyi számítógépekre, egy felhasználós, egy programos, szöveges üzemmódú, (utolsó frissítés: v6.22), Ma: Kellékek \ Parancssor. 226/23
24 Operációs rendszerek Windows Windows - Grafikus felhasználói felületű segédprogram, mely a DOS kezelését teszi könnyebbé! Windows nagy bukás! Windows néhány alkalmazással Windows tényleg működik! Windows nem csak angolul! 1995 Windows 95 - már önálló operációs rendszer 1998 Windows 98 (SE: stabil működés) 2000 Windows Windows XP 2006 Windows Vista 2008 Windows Windows Windows /24
25 Operációs rendszerek Mac OS Mac OS PC méretű, de attól eltérő architektúrájú gépek operációs rendszere 1984 Mac System 1 Apple Macintosh gépekre, Grafikus felület! 2001 Mac OS Mac OS X 2005 Magyarul is Verziók: Puma, Jaguar Panther, Tiger Leopard, Snow Leopard 226/25
26 Windows vs. MAC 226/26
27 Témakörök Szoftver alapok Operációs rendszerek Felhasználói programok Segédprogramok Programfejlesztő eszközök Ellenőrző kérdések 226/27
28 Felhasználói programok (1) Általános célú programok, melyekkel a felhasználó munkát végezhet, és új dokumentumokat hozhat létre. Csoportosításuk: Futtatási környezet alapján Windows (verzió), Linux Igényelt szaktudás alapján Elegendő az általános számítástechnikai képzettség Szövegszerkesztők, táblázatkezelők Speciális tudást igénylő programok Könyvelő, bérügyi programok, multimédiás alkalmazások 226/28
29 Felhasználói programok (2) Csoportosításuk: Funkció alapján Szövegszerkesztők Táblázatkezelők Adatbázis-kezelők Grafikai programok Multimédiás programok Kommunikációs programok Bemutató-készítő programok Tervezői rendszerek Játékok 226/29
30 Felhasználói programok (3) Szövegszerkesztők Alapvető funkciók: szövegírás, javítás, módosítás, szövegformázás, nyomtatás Pl: MS Word, OO Writer Táblázatkezelők Alapvető funkciók: táblázat létrehozás, számolás az adatokkal (képletek, függvények), diagramok készítése, nyomtatás Pl: MS Excel, OO Calc Adatbázis-kezelők Alapvető funkciók: adatbázis létrehozás, adatbevitel, adatmódosítás, lekérdezés készítés, jelentés készítés, adatvédelem Pl: MS Access, OO Base 226/30
31 Felhasználói programok (4) Grafikus programok rajzoló programok (rajzolás, átméretezés, forgatás, térhatások) képnézegetők (sokféle képformátum, konvertálás) animációs programok Multimédiás programok zenei programok (lejátszók, szerkesztők, zenekészítők) mozgókép (video) programok (lejátszók, szerkesztők, felvevők) ismeretterjesztő, oktató programok Kommunikációs programok Levelező programok Böngészők FTP programok (fájlátvivő programok) Chat programok 226/31
32 Felhasználói programok (5) Programcsomagok Több program együtt olcsóbban, mint külön-külön MS Office 2007 Professional: Word, Excel, PowerPoint, Access, Publisher, Outlook csak új géppel együtt, kb: Ft OpenOffice: Writer, Calc, Base, Impress Ingyen! 226/32
33 Témakörök Szoftver alapok Operációs rendszerek Felhasználói programok Segédprogramok Programfejlesztő eszközök Ellenőrző kérdések 226/33
34 Segédprogramok (1) Olyan programok, melyek segítik a felhasználók munkáját, de általában nem lehet velük új dokumentumot létre hozni. Csoportjaik (a teljesség igénye nélkül) Kommanderek: parancskiadást segítő kezelői felületek Total Commander Biztonságot növelő programok: Tűzfalak (Ashampoo) Víruskeresők (NOD32) Kémprogram keresők (SpyBot) Diagnosztikai programok Sandra Windows \ Kezelés 226/34
35 Segédprogramok (2) Ashampoo FireWall 226/35
36 Segédprogramok (3) Eset NOD32 Antivirus 226/36
37 Segédprogramok (4) Spybot 226/37
38 Segédprogramok (5) Sajátgép \ JobbKlikk \ Kezelés 226/38
39 Segédprogramok (6) Sajátgép \ JobbKlikk \ Kezelés 226/39
40 Segédprogramok (7) Archiváló programok: cd, dvd írók Nero ImgBurn Tömörítők WinRar ZIP Multimédia programok Kodekek Képnézők Lejátszók WinAmp Media Player Classic Átalakítók (konvertálók) 226/40
41 Témakörök Szoftver alapok Operációs rendszerek Felhasználói programok Segédprogramok Programfejlesztő eszközök Ellenőrző kérdések 226/41
42 226/42
43 Programfejlesztő eszközök A szoftverfejlesztés alapjai Programtervezési módszerek Algoritmus alapfogalmak A strukturált programozás alapjai A programkészítés alapjai Alapalgoritmusok 226/43
44 A szoftverfejlesztés alapjai A különböző szoftverek szűkebb értelemben vett fejlesztése elsősorban az informatikus feladata, de legtöbbször az informatikusnak és az adott terület szakemberének szorosan együtt kell működni az alkalmazás kifejlesztésében, tesztelésében és menedzselésében. Ezért nagyon fontos, hogy a nem informatikus szakemberek is tisztában legyenek a szoftverfejlesztés alapfogalmaival. 226/44
45 A programfejlesztés lépései Specifikáció elkészítése Algoritmus elkészítése Kódolás Program ellenőrzés: Szintaktikai Szemantikai Dokumentáció elkészítése: Programozói Felhasználói Karbantartás, verziókövetés 226/45 Igen START Be: Specifikáció Algoritmus készítés Kódolás Fordítás, végrehajtás Tesztelés Van hiba a programban? STOP Nem Dokumentáció készítés
46 Specifikáció Specifikáció: A feladat pontos megfogalmazása, Az algoritmussal szemben támasztott követelmények rendszere, A bemenő adatok és az eredmények részletes felsorolása. A kész programnak a specifikáció szerint kell működnie. 226/46
47 Algoritmus Az algoritmus, egy probléma megoldásának véges számú lépésben történő egyértelmű és teljes leírása. Az algoritmus nem kötődik konkrét számítógéphez, általában valamilyen algoritmus leíró nyelven szokták megfogalmazni. Top-down tervezési módszer: lépésenkénti finomítás A feladatot felbontjuk néhány önálló, elkülöníthető tevékenységre. Minden tevékenységet felbontunk további részekre. A felbontást addig végezzük, amíg el nem érkezünk az elemi tevékenységeket tartalmazó algoritmusig. 226/47
48 Kódolás Az algoritmust a számítógéppel egy programozási nyelv segítségével kell közölni. Azt a folyamatot, amely során egy algoritmus lépéseit egy programnyelv utasításaival leírjuk, kódolásnak nevezzük. Az algoritmust olyan részletességgel kell leírni, hogy a kódolás már egyszerűen elvégezhető legyen. 226/48
49 Fordítás, végrehajtás A kódolást követi a fordítás, majd a végrehajtás. Bármilyen gondosan végeztük a tervezést, és a kódolást, a program általában számos hibát tartalmaz. Szintaktika: a nyelvtan, szintaktikailag helyes valami, ha helyesen van leírva. Szemantika: a jelentés, szemantikailag helyes valami, ha helyesen működik. A programokat szintaktikailag tudja ellenőrizni a fordító, szemantikailag nem! A szemantikai hibák kiderítéséhez futtatni, tesztelni kell a programot. 226/49
50 Szemantikai hiba! 226/50
51 Tesztelés Két fontos terület: 226/51 Verifikáció: A szoftver megfelel-e specifikációjának? Hiányosság tesztelés: meg van-e minden funkció? Statisztikai teszt: tesztesetek Célok, bemenő adatok eredmények Működési mód, helyesség Mindenféle lehetséges elágazás kipróbálása Validáció: A szoftver kielégíti a kliens igényeit, megfelel a vásárló elvárásainak? Kényelem, érthetőség, megtanulhatóság, gyorsaság Naiv tan esete ( Marinéni )
52 Fejlesztői dokumentáció Olyan szinten ismerteti a programot, hogy hozzáértő személy szükség esetén el tudja végezni a módosításokat, a program fejlesztését, vagy az utólag felismert hibák javítását. Tartalma: 226/52 Részletes specifikáció, Futási környezet, Fejlesztői környezet (programozási nyelv), Részletes algoritmus, Forráskód, Teszt adatsorok, eredmények, A hatékonyság elemzése, Továbbfejlesztési lehetőségek.
53 Felhasználói dokumentáció A felhasználók számára készül Tartalma: A program rövid áttekintő leírása Futási környezet (hardver- és szoftverfeltételek, operációs rendszer, perifériák, stb.) A program telepítése, indítása, a használat leírása Bemenő adatok és eredmények Példafuttatás Hibaüzenetek, a hibák lehetséges okai 226/53
54 Program minőségi jellemzők Helyesség Hibatűrés Karbantarthatóság, bővíthetőség Újrafelhasználhatóság Kompatibilitás Felhasználó barátság Hordozhatóság Hatékonyság Ellenőrizhetőség 226/54
55 Programfejlesztő eszközök A szoftverfejlesztés alapjai Programtervezési módszerek Algoritmus alapfogalmak A strukturált programozás alapjai A programkészítés alapjai Alapalgoritmusok 226/55
56 Monolitikus programozás 1950 körül kezdődött Egyszerű programok Egy programot csak egy programozó írt Egy probléma megoldása mindig egyetlen lineáris kódsor Később bonyolultabb programokat is így próbáltak megírni Sok hiba, átláthatatlan kód, nehézkes javítás, módosítás Néhányan elkezdenek azzal foglalkozni, hogyan kellene programokat írni. 226/56
57 Moduláris programozás Bizonyos bonyolultság után a teendők átláthatatlanok, ezért részfeladatokra bontjuk azokat. A részfeladatokra ki kell dolgozni a megoldás menetét, majd az egyes részeket újra össze kell állítani, hogy azok együttműködve, egymásra épülve a teljes feladat megoldását szolgáltassák. A moduláris programozás olyan programozási mód, melyben a teljes program modulokból áll. Az egyes modulok jól meghatározott részfeladat megoldását végzik, kezelhető méretűek, egyértelmű céljuk van és jól definiáltan csatlakoznak a program többi moduljához. A modulokat szubrutinnak (alprogramnak) szokás nevezni. 226/57
58 Moduláris programozás 2. A moduláris programozás irányelvei: "Oszd meg és uralkodj" elv: A feladatokat egyértelműen le kell osztani modulokra. A modulok belső működésébe más modul nem szólhat bele. A modul a saját feladatának tökéletes elvégzéséért felelős. Fontos, hogy a modulok lehetőleg egymástól függetlenül működjenek, mert így a hibák kiszűrése egyszerűbb, a feladat átláthatóbb, könnyebben módosítható. Adatok (információ) elrejtésének elve: Az egyes modulok csak saját adataikon dolgozzanak, csak akkor használjanak közös adatokat, ha ez elkerülhetetlen. 226/58
59 Moduláris programozás 3. Felülről lefelé (top-down) tervezés esetén a megoldást felülről lefelé, fokozatosan, lépésenként finomítjuk. A feladatot részfeladatokra, a részfeladatokat ésszerű határokig ismét kisebb feladatokra bontjuk. A kialakított egységek interface-eken keresztül kommunikálnak, de csak a szintek közötti kommunikáció megengedett, a szinten belüli moduloké tilos! Teljes feladat Nagy, összetett programok esetén hatékony megoldás! 1.rész 2.rész 3.rész 226/59 A B C D E F G H I
60 Moduláris programozás 3. Az alulról felfelé (bottom-up) tervezés lényege, hogy már meglévő, kész modulokból építkezünk. Erre akkor kerül sor, ha bizonyos részfeladatokat egy előző feladat kapcsán már megoldottunk (gondolva a későbbi felhasználásokra is), vagy amikor egy rutingyűjteményt (szoftvert) vásároltunk. Pl.: Hardver közeli programozás. Vásárolunk egy kézi adatgyűjtő számítógépet, és a hozzá kapott kis programocskákból építünk fel egy használható kezelő programot. 226/60
61 Strukturált programozás A strukturált programozás jelenti valamennyi ma használatos programtervezési módszer alapját. Széles körben elfogadott az a nézet, hogy a strukturált programozás a programfejlesztés egyetlen lehetséges módja. A strukturált programok építőelemei (Dijkstra): 226/61 Szekvenciák (utasítássorok) Döntési szerkezetek (elágazások v. szelekciók) Iterációk (ismétlődő részek v. ciklusok) Az 1970-es évektől, amikor a strukturált programozás népszerű technikává vált, olyan új programozási nyelvek születtek, melyek támogatták, hangsúlyozták a módszer alkalmazását (Pascal, Ada).
62 Strukturált programozás 2. A csak szekvenciákból, szelekciókból és iterációkból építkező programot strukturált programnak nevezzük. A strukturált programozásban nem megengedett a feltétel nélküli ugrás, így többek között a ciklusból sem ugorhatunk ki. Ebből az is következik, hogy a program minden vezérlő szerkezetének (szekvencia, szelekció, iteráció) - és magának a teljes programnak is - egyetlen belépési és egyetlen kilépési pontja van, így a program lényegesen áttekinthetőbb. Böhm és Jacopini tétele (1966): A szekvencia, szelekció és az iteráció segítségével minden olyan algoritmus felépíthető, amelynek egy belépési és egy kilépési pontja van. 226/62
63 Strukturált programozás 3. A strukturált szemléletmód: A programot két részre osztjuk: Adatok, Műveletek. A tervezés különálló modellek segítségével történik: Adatmodellek az adatokhoz, Funkcionális modellek (algoritmusok) a műveletekhez. A megvalósításban az adatok és műveletek szigorúan elkülönülnek egymástól, és csak szükség esetén rendelődnek egymáshoz. Adatok Műveletek 226/63
64 Strukturált programozás 4. A strukturált programozás módszertana az 1980-as évekre rendszerfejlesztési, programtervezési technológiává vált, Megjelentek különböző algoritmus leíró módszerek, Elkezdték a módszertant oktatni, Sokan tanulták meg, Sokan írtak egyre komolyabb programokat. Ma általánosan elfogadott és támogatott nézet, hogy első programnyelvként érdemes valamilyen strukturált nyelvet megtanulni, és ezután ismerkedni más programozási nyelvekkel. 226/64
65 Objektum-orientált programozás Az objektum-orientált programozás (OOP) sok tekintetben a moduláris programozás továbbfejlesztett változata, mely lassan háttérbe szorítja a strukturált programozást. Az egyes elemeket itt nem moduloknak, hanem objektumoknak nevezzük, melyek tulajdonságaikban és egymáshoz való viszonyukban különböznek a moduloktól. Kialakulása: 80-as évek eleje Néhány OOP nyelv: 226/65 C++, Java, Delphi
66 Objektum-orientált programozás 2. Az objektum létrehozásakor definiáljuk a szerkezetét, és azokat az algoritmusokat, melyek leírják a viselkedését, így a későbbiekben mindent együtt kezelhetünk, ami az adott objektumhoz tartozik. Fő tulajdonságok: 226/66 Az adatokat összekapcsoljuk az azokat kezelő eljárásokkal és függvényekkel (metódusokkal), így kapjuk az alapegységet, az objektumot. Egy létre jövő objektum a korábban definiált objektumoktól adatokat és metódusokat vehet át (örökölhet). Az öröklődés az objektum-orientált nyelvekre jellemző speciális képesség.
67 Objektum-orientált programozás 3. Az objektumorientált megközelítés: A program együttműködő objektumok halmaza Az objektumok adatokkal (ismeretekkel) rendelkeznek Az objektumok feladatokat végeznek: kérésre végrehajtják a hozzájuk tartozó metódusokat. Objektum Objektum Adatok Metódusok Adatok Metódusok 226/67 Objektum Adatok Metódusok Objektum Adatok Metódusok
68 Programfejlesztő eszközök A szoftverfejlesztés alapjai Programtervezési módszerek Algoritmus alapfogalmak A strukturált programozás alapjai A programkészítés alapjai Alapalgoritmusok 226/68
69 Az algoritmusok építőelemei Az algoritmus alapvető összetevői, építőelemei: 226/69 Szekvencia: Két utasítás (programrész) közvetlen egymás után írása. Szelekció: Adott feltételtől függően más-más utasítás végrehajtása (elágazás) Iteráció: Egy utasítást (utasítás csoportot) feltételtől függően többször is végrehajtunk (ciklus) A strukturált programozás alaptétele (Dijsktra): Bármely program megadható ekvivalens strukturált program formájában is, amelyben a fenti három konstrukciós művelet szerepel.
70 Az algoritmusok építőelemei 2. Szelekciós műveletet a döntési pontokban végzünk: a döntés kimenetelétől függően a folyamat vagy az egyik, vagy a másik irányban folytatódik. A döntési pont egy feltételt (logikai kifejezés) tartalmaz, melynek igaz vagy hamis eredménye alapján ágaztatjuk el a folyamatot. Iterációnak egy vagy több művelet ismétlését nevezzük, az ismétlődés addig tart, amíg ezt valamilyen feltétel teljesülése meg nem állítja. Az iterációkat szekvenciákból és szelekciókból építjük fel. Az iteráció legalább egy szelekciót (döntési pontot) tartalmaz. A műveletek ismétlődése a döntési pontban megfogalmazott feltétel (logikai kifejezés) eredményétől függ. 226/70
71 Az algoritmusok jellemzői: Elvégezhető (elemi, végrehajtható lépésekből áll) Meghatározott (minden lépés pontosan definiált) Véges (véges számú lépés után véget ér) Meghatározott input halmazra érvényes Adekvát output halmazt eredményez (az adatok meghatározzák az eredményt) Egy feladatosztály megoldására szolgál 226/71
72 Algoritmusok szöveges megadása Tojásfőzés algoritmusa: Tedd a forró vízbe a tojásokat, 5 perc múlva vedd ki őket, tisztítsd meg, ha gondolod sózd meg őket, és edd meg! 226/72
73 Pszeudokód mondatszerű leírás Az algoritmust először mondatokkal fogalmazzuk meg. A rövidebb felíráshoz elhagyjuk a szabályos nyelvtani mondat szerkezetet. A pszeudokódban mondatszerű leírásban hiányos mondatok szerepelnek. A feltételes elágazásokhoz és ciklusokhoz tartozó utasításokat behúzással írjuk. Ezzel a strukturált elrendezéssel kiemeljük az algoritmus szerkezetét. 226/73
74 Pszeudokód mondatszerű leírás /74 Tegyél fel vizet forrni Vedd elő a tojásokat Ciklus amíg nem forr a víz figyeld a vizet Ciklus vége Tedd a vízbe a tojásokat Ciklus 5 percig: Nézd az órát Ciklus vége Vedd ki a tojásokat Törd fel a tojásokat Ha sósan szereted, akkor sózd meg őket Elágazás vége Edd meg a tojásokat
75 Folyamatábra A folyamatábra az algoritmus lépéseinek sorrendjét utasítástípusonként különböző geometriai alakzatok felhasználásával szemléltető ábra. Utasítástípusok: Kezdő és befejező utasítások. Be/kiviteli utasítások. Értékadó utasítások. Elágazások. Az utasítások sorrendjét nyilak jelzik. 226/75
76 Folyamatábra elemek START Igen N>I Nem STOP K:=0 K:=I Be: A,B S:=3*A/(B+2) Ciklus 1-től 5-ig Ki: C Be: A[i] 226/76
77 Folyamatábra Tojásfőzés START 1 Ciklus 1-től 5-ig Tégy fel vizet forrni Nézd az órát Vedd elő a tojásokat Vedd ki a tojásokat Figyeld a vizet Törd fel a tojásokat Nem Forr a víz? Igen Tedd vízbe a tojásokat Sósan szereted? Nem Igen Sózd meg 226/77 1 Edd meg a tojásokat STOP
78 Folyamatábra: Betyárkodás 226/78
79 Struktogram elemek Be: A Igaz feltétel Hamis szelekció Ki: S utasítás utasítás utasítás feltétel ciklusmag Elöl tesztelő ciklus ciklusmag feltétel Hátul tesztelő ciklus 226/79
80 Struktogram Tojásfőzés Tégy fel vizet forrni Vedd elő a tojásokat Figyeld a vizet Forr a víz? Tedd vízbe a tojásokat i := Nézd az órát Vedd ki a tojásokat Törd fel a tojásokat Sósan szereted? Nem Igen 226/80 Sózd meg Edd meg a tojásokat
81 Programfejlesztő eszközök A szoftverfejlesztés alapjai Programtervezési módszerek Algoritmus alapfogalmak A strukturált programozás alapjai A programkészítés alapjai Alapalgoritmusok 226/81
82 Programfejlesztő eszközök A strukturált programozás alapjai Adatok, változók Adatszerkezetek Értékadás, kifejezések Operátorok Elágazások, ciklusok 226/82
83 Változó A programokban az adatok változók formájában jelennek meg változókban tároljuk az adatokat. A változó névvel ellátott tároló hely a számítógép memóriájában. A változó értéke ezen tároló hely pillanatnyi értéke. A változó jellemzői: Neve azonosítója Típusa Értéke Tárbeli kezdőcíme 226/83
84 Típus Egy típus meghatározza a tároló tartalmának értelmezését. Egy nyelv egy típusának jellemzése: 226/84 Felvehető értékek halmaza, adatábrázolás Konstansai A típuson végezhető műveletek Rendelkezésre álló eljárások, függvények Elemi típusok: Egy értéket vehetnek fel egy adott tartományból Egész, valós, karakter, logikai, mutató Összetett típusok: Adatszerkezetek Tömb, karakterlánc, rekord, állomány
85 Változók Típus Pascal C Értelmezési tartomány Egész Integer Int Hosszú egész Longint Long -2,1milliárd.. +2,1milliárd Valós Real Float ±2*10 38, pontosság: 8 bit Valós Double Double ±5*10 320, pontosság: 16 bit Karakterlánc String Char[n] Pascal: 255 karakter C: Long méret Logikai Boolean true vagy false 226/85
86 Változók deklarálása Deklaráció: a változók bevezetése (kihirdetése) használat előtt. Eredménye: helyfoglalás a memóriában. Sok programnál megkell adni a változók típusát is. E szerint a programnyelv lehet: Típus nélküli nyelv: a változóhoz nem rendelünk típust, a futás során bármilyen értéket felvehet. Típusos nyelv esetén kötelező megadni a változók típusát. Erősen típusos nyelveknél már a fordítónak is ismernie kell a típust. Pl. Int a; Int a=10; Int a,b,c; Konstans: a programban előforduló állandó értékű adatokat konstansként deklaráljuk, és nevükkel hivatkozunk rájuk. 226/86
87 Programfejlesztő eszközök A strukturált programozás alapjai Adatok, változók Adatszerkezetek Értékadás, kifejezések Operátorok Elágazások, ciklusok 226/87
88 Tömb A legalapvetőbb, leggyakrabban használt adatszerkezet. Több, egyforma típusú elemből áll. Az egyes elemeket a tömb nevével, és a tömbön belüli helyükkel, az indexükkel azonosítjuk. Tömb: azonos névvel ellátott, sorszámmal megkülönbözetett változók csoportja. Lehet 1 dimenziós: vektor, 2 dimenziós: mátrix, több dimenziós. Műveletek: Elem kiválasztása indexeléssel (pl. A[2]), Egy elemre az összes művelet értelmes, ami az elemtípusra. 226/88
89 Sztring Sztring (string): Karakterekből álló speciális tömb, karakter sorozat Kezelése eltér a normál tömbök kezelésétől Műveletek: Hossz (karakterek száma) Összefűzés Keresés Beszúrás Rész kimásolása 226/89
90 Mutató Mutató pointer: 226/90 A memória egy adott helyére mutat, értéke a mutatott hely memóriacíme. Mindig valamilyen adott típusú objektumra mutat (pl. egész számra) A pointer és az általa mutatott objektum nem egyszerre keletkeznek és szűnnek meg, bizonyos értelemben teljesen önálló életet élnek. Deklaráció: meg kell adni, hogy pointer változóról van szó, és a hivatkozott adatok típusát. Ekkor csak a pointer (az általa tárolt memória cím) számára foglalódik hely, a mutatott objektumnak nem. Pl. Int *m;
91 Mutató 2. Két speciális, csak mutatókon értelmezett művelet: Ha A egy változó, akkor &A az A változó memóriacíme. Ha *M egy mutató típusú változó, akkor M az a memóriacím, amelyre *M mutat. A egy egész, értéke 10 Int A=10; Int *M; *M= *M+3; Kiír: A; Azt a változót, amire M mutat, növelem 3-al. M egy mutató M=&A; M A-ra mutat Kiír: *M; /91
92 Rekord / Struktúra Rekord / struktúra: 226/92 Szemantikailag összetartozó, egymáshoz rendelt, különböző típusú elemek halmaza. Minden elemének (mezőknek) saját neve van. Használatának előnye, hogy egy egységbe foglalja össze az összetartozó adatokat. Pl. Egy ember neve, fizetése A rekord használatához előbb egy új típust kell létrehozni, ezután lehet az új típusból változót deklarálni. Műveletek: Elemkiválasztás (pl. Ember[2].fizetés), A kiválasztott elemen a típusnak megfelelő összes művelet értelmezett.
93 Objektum Objektum: A rekordok/struktúrák továbbfejlesztése: logikailag összetartozó adatok és rajtuk dolgozó metódusok összessége. Jellemzők: Öröklődés: az utód osztály örökli az ős adatait, metódusait, valamint tartalmazhat újakat, és felülírhat régi metódusokat. Polimorfizmus többalakúság: ugyanarra az üzenetre (kérelemre), azaz metódus hívásra, különböző objektumok különbözőképpen reagálhatnak. Bezárás, az információ elrejtése: az adatokat csak interfészeken (metódusok) keresztül lehet elérni. 226/93
94 Változók Állományok A változók az adatok programfutás-közbeni tárolásának és kezelésének eszközei, de csak belső tárolásúak, azaz a memóriában léteznek. (Ha kikapcsoljuk a gépet, elveszítik értéküket) A gyakorlati programozáshoz a belső adattárolás nem elegendő, mert: Az adatokat két feldolgozás, programfutás között is meg kell őrizni. Az adatok mennyisége olyan nagy lehet, hogy egyszerre nem fér be a memóriába. A megoldás a külső tárolókon, a háttértárakon történő adattárolás. 226/94
95 Állomány Állomány (fájl): 226/95 A háttértáron tárolt adatok definiálására és kezelésére szolgáló adatszerkezet. Azonos típusú (mely lehet egyszerű vagy összetett) elemek sorozata (szekvenciája). Egyszerre egy elem férhető hozzá (írható vagy olvasható), ezt egy író-olvasó pointer (rekordmutató) jelöli ki. A fájl deklarálásakor a fájlhoz egy azonosítót rendelünk, ez a fájl változó. Ezt a "logikai" fájlt egy "fizikai", valamely periférián létező fájlhoz kell hozzárendelni. A logikai fájlt kezeljük, a változások megjelennek a fizikai fájlban is.
96 Speciális adatszerkezetek Sor: A sor adatszerkezetbe egyesével tehetjük be, és egyesével vehetjük ki az elemeket. Ahhoz az elemhez férünk hozzá legelőször, amelyiket először betettünk, ezért nevezik FIFO (first in first out) adatszerkezetnek. Műveletek: berakás, kivétel C, B, A C, B, A C B A Berak Kivesz 226/96
97 Speciális adatszerkezetek Verem: Verem esetén azt az elemet vehetjük ki legelőször, amelyiket utoljára tettük be. Működési módja miatt LIFO (last in first out) adatszerkezetnek nevezik. Műveletek: berakás, kivétel C, B, A A, B, C Berak C Kivesz B 226/97 A
98 Programfejlesztő eszközök A strukturált programozás alapjai Adatok, változók Adatszerkezetek Értékadás, kifejezések Operátorok Elágazások, ciklusok 226/98
99 Értékadás Értékadás: amikor egy változónak értéket adunk, vagy meglévő értékét módosítjuk. Szintaktikája (formája, alakja): 226/99 Változó = kifejezés Pl. a = 2*b c vagy a = a+1 Szemantikája (jelentése): Időbeliség! A kifejezés kiértékelődik, majd a változó felveszi értékül a kifejezés eredményét. Mivel előbb értékelődik ki a kifejezés és csak utána változik meg a változó értéke, ezért a változó szerepelhet a kifejezésben és ott a program a változó korábbi értékével számol. Fontos: mindig a bal oldal kap értéket! a=b b=a!
100 Kifejezések Kifejezés: értéket képviselő programelemek összekapcsolva operátorokkal, ahol a kifejezés elem lehet: Konstans, Változó, Függvényhívás, Zárójelezett kifejezés. Pl: 5*(a+2)-b A kifejezés tartalmaz egy konstanst (5), egy zárójelezett kifejezést (a+2), egy változót (b), valamint két operátort a szorzást (*), és a kivonást (-). A zárójelezett kifejezés tartalmaz egy változót (a), egy konstanst (2) és egy operátort az összeadást (+). 226/100
101 Kifejezések 2. 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 kifejezésben szereplő operátorok a teljes kifejezés kiértékelése szempontjából nem számítanak, hiszen a zárójelezett kifejezés külön értékelődik ki. Precedencia szintek: Minden operátor be van sorolva valamilyen precedencia szintre. Egy precedencia szinten lehet több operátor is. 226/101
102 Kifejezések 3. Precedencia szabályok: A különböző precedencia szintű operátorok esetén mindig a magasabb precedenciájú hajtódik végre először (tehát nem leírás sorrendjében!!). Az azonos precedencia szintű operátorok közül a leírás sorrendisége dönt. A legtöbb precedencia szint esetén a leírás sorrendjében, azaz balról-jobbra hajtódnak végre. Egyes precedencia szinteknél előfordul, hogy jobbrólbalra. 226/102
103 Programfejlesztő eszközök A strukturált programozás alapjai Adatok, változók Adatszerkezetek Értékadás, kifejezések Operátorok Elágazások, ciklusok 226/103
104 Operátorok Operátorok: 226/104 Egy operandusú operátorok: pl. logikai tagadás operátor, előjel operátor, növelő operátor, stb. Két operandusú operátorok: pl. összeadás, szorzás, stb. Három operandusú operátor: a C szerű nyelvekben létezik egy feltételes operátor, amely három operandusú A leggyakrabban használt operátorok (az első szint a legmagasabb): Szint 1: előjel operátor:-, logikai tagadás operátor:! Szint 2: szorzás: *, osztás: / Szint 3: összeadás: +, kivonás: - Szint 4: relációk: <, >, <=, >= Szint 5: értékadó operátorok (C szerű nyelvek esetén): =, +=, -=, *=, /=, stb. (jobbról-balra!!!)
105 Operátorok 2. Az egyes nyelvek ettől sokkal több operátort ismernek, és több precedencia szint is létezik. Általánosságban elmondható, hogy az egyoperandusú operátorok magasabb precedenciájúak, mint a kétoperandusúak. 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. 226/105
106 Operátorok 3. Példa1: 3+2*4-4/2*3 lépés 1.: legmagasabb precedenciájú a *, /,, balróljobbra értékelődik tehát első lépésben a 2*4 értékelődik ki. Ezután marad a: 3+8-4/2*3 lépés 2.: 4/2. Marad a 3+8-2*3 lépés 3.: 2*3. Marad a lépés 4: 3+8. Marad a 11-6 lépés 5: 11-6 Eredmény: 5 226/106
107 Operátorok 4. Példa2: 2+3-((5+3)/(2*4)+2)-1 lépés 1: A kifejezésben levő operátorok +, -, -, azaz mindegyik azonos precedenciájú, kiértékelésük balróljobbra történik: 2+3, marad a 5-((5+3)/(2*4)+2)-1 lépés 2: A kiértékelésben következő operátor jobb oldalán egy zárójelezett kifejezés áll, így a kivonás kiértékelése előtt ki kell értékelni a zárójelezett kifejezést. Következik: (5+3)/(2*4)+2 kiértékelése! 226/107
108 Operátorok 5. Kiindulás: 5-((5+3)/(2*4)+2)-1 (5+3)/(2*4)+2 kiértékelése: lépés 1: két operátor van: /, +. Magasabb precedenciájú a / ennek baloldalán egy zárójelezett kifejezés áll, tehát ki kell értékelni: lépés 1: 5+3. Marad: 8 / (2*4) +2 a / operátor jobboldali operandusa is zárójelezett kifejezés: (2*4) kiértékelése: lépés 2: 2*4. Marad: 8 / 8 +2 tehát az osztás: 8/8. Marad: 1+2 lépés 2: 1+2, eredménye tehát: 3 Eredmény: 5-((5+3)/(2*4)+2) /108
109 Operátorok : először az 5-3 hajtódik végre, eredmény: 2 lépés 3: 2-1, az eredmény ((5+3)/(2*4)+2)-1 = 1 226/109
110 Relációs operátorok Fontos: mindig a bal oldalról mondunk véleményt! < kisebb <= kisebb egyenlő = egyenlő <> nem egyenlő > nagyobb >= nagyobb egyenlő Az összehasonlítás eredménye igaz, vagy hamis lehet. Logikai operátorok: segítségükkel összetett logikai állításokat képezhetünk 226/110
111 Logikai operátorok 1. Logikai nem - tagadás Jele: NOT Jelentése: Igazból hamisat, hamisból igazat képez. A NOT(A) Igaz Hamis Hamis Igaz Logikai és Jele: AND Jelentése: Az összetett állítás akkor igaz, ha mindkét állítás igaz. A B A AND B Igaz Igaz Igaz Igaz Hamis Hamis Hamis Igaz Hamis Hamis Hamis Hamis 226/111
112 Logikai operátorok 2. Logikai megengedő vagy Jele: OR Jelentése: Az összetett állítás akkor igaz, ha legalább az egyik állítás igaz. A B A OR B Igaz Igaz Igaz Igaz Hamis Igaz Hamis Igaz Igaz Hamis Hamis Hamis Logikai kizáró vagy Jele: XOR Jelentése: Az összetett állítás akkor igaz, ha a két állítás különbözik. A B A XOR B Igaz Igaz Hamis Igaz Hamis Igaz Hamis Igaz Igaz Hamis Hamis Hamis 226/112
113 226/113
114 Logikai operátorok 3. Példák A=2, B=3 A < 5 OR B > 3 A > 5 AND B > 3 NOT(A > 5) AND B <= 3 NOT(A = 2) OR B <> 3 NOT(A = 2) AND NOT(B = 3) NOT(A < 4) AND ((B > 3) OR (B > 3)) ((A < 4) AND (A >= 2)) OR ((B > 2) AND NOT(B <> 3)) NOT(A <> 2) AND NOT(B <= 3) AND (A < 5 OR B > 3) (A > 5 AND B > 3) XOR ((B > 2) AND NOT(B <> 3)) 226/114 (NOT(A > 5) AND B <= 3) XOR (NOT(B <= 3) AND A > 5)
115 Programfejlesztő eszközök A strukturált programozás alapjai Adatok, változók Adatszerkezetek Értékadás, kifejezések Operátorok Elágazások, ciklusok 226/115
116 Feltételes művelet Egyágú elágazás Ha feltétel akkor utasítás Elágazás vége Ha a feltétel teljesül, akkor az utasítás végrehajtásra kerül, ha nem teljesül, akkor az elágazás vége után folytatódik a program. Az utasítás helyén több utasítás is állhat. igaz feltétel utasítás - hamis igaz feltétel utasítás hamis 226/116
117 Feltételes (kétágú) elágazás Ha feltétel akkor utasítás-i különben utasítás-h Elágazás vége Ha a feltétel teljesül, akkor az utasítás-i kerül végrehajtásra, ha nem akkor az utasítás-h. Mindkét esetben az elágazás vége után folytatódik a program. igaz feltétel hamis igaz feltétel hamis utasítás-i utasítás-h utasítás-i utasítás-h 226/117
118 Többágú feltételes elágazás Elágazás feltétel1 akkor utasítás1 feltétel2 akkor utasítás2. feltételn akkor utasításn különben utasítás0 Elágazás vége Ha az i-edik feltétel teljesül, akkor az utasítási kerül végrehajtásra, ha egyik feltétel sem teljesül, akkor az utasítás0. Bármely esetben az elágazás vége után folytatódik a program. feltétel1 utasítás1 226/118 feltétel1 utasítás1 feltétel2 utasítás feltételn utasításn különben utasítás0 feltétel2 feltételn utasítás0 utasítás2 utasításn
119 226/119
120 Elöltesztelő ciklus ciklus amíg feltétel ciklusmag ciklus vége Amíg a feltétel teljesül, addig a ciklusmag utasításai végrehajtásra kerülnek, ha már nem teljesül, akkor a ciklus vége után folytatódik a program. feltétel ciklusmag igaz feltétel utasítások hamis 226/120
121 Hátultesztelő ciklus ciklus ciklusmag amíg feltétel ciklus vége A ciklusmag mindaddig végrehajtásra kerül, amíg a feltétel teljesül. Ha már nem teljesül, akkor a ciklus vége után folytatódik a program. Egyszer a ciklusmag mindenféleképpen végrehajtódik! ciklusmag utasítások feltétel igaz feltétel hamis 226/121
122 Számláló ciklus ciklus i= 1..N utasítások ciklus vége A ciklusváltozó (i) a kezdeti értéktől a végértékig egyesével növekszik, közben minden értéknél végrehajtódik a ciklusmag. Ha a ciklusváltozó meghaladja a végértéket, a ciklus vége után folytatódik a program. i= 1..N ciklusmag hamis i=1..5 igaz utasítások 226/122
123 Visszafelé számláló ciklus ciklus i= N..1 visszafelé utasítások ciklus vége A ciklusváltozó (i) a kezdeti értéktől a végértékig egyesével csökken, közben minden értéknél végrehajtódik a ciklusmag. Ha a ciklusváltozó értéke a végérték alá csökken, a ciklus vége után folytatódik a program. i= N..1 ciklusmag hamis i=5..1 igaz utasítások 226/123
124 Egymásba ágyazott ciklusok Mátrix beolvasása i j i=1 j=1 h i=1..3 i j=1..5 i h i=i+1 Be: A[i,j] j<5 j=j+1 Be: A[i,j] i<3 226/124
125 Programfejlesztő eszközök A szoftverfejlesztés alapjai Programtervezési módszerek Algoritmus alapfogalmak A strukturált programozás alapjai A programkészítés alapjai Alapalgoritmusok 226/125
126 A programkészítés alapjai A strukturált programozás alapjai A programozás kialakulása A programkészítés menete Programnyelv ABC 226/126
127 Programnyelv generációk 1GL: Gépi kód 2GL: Assembly Generation Language 3GL: Magasszintű, procedurális nyelvek Utasítás-orientált (BASIC, PASCAL) Kifejezés-orientált (C) 4GL: Probléma-orientált nyelvek Funkcionális (LISP) Logikai (PROLOG) Adatbázis-kezelő (SQL) Objektum-orientált (C++, JAVA) 5GL: Természetes nyelvek 226/127
128 5GL Egy természetes nyelv 226/128
129 Gépi kód A gépi kódú (bináris kódú) program a számítógép számára végrehajtható utasítások sorozata, ezért futtatható programnak (executable program) is nevezik. Egy gépi kódú program adatokat és utasításokat is tartalmaz. Műveleti kód Címrész A műveletben részt vevő adatok helyének kódja /129 Összeadás Első szám helye Második szám helye Eredmény helye
130 Az igazi programozó kódja bináris! 226/130
131 Assembly A programozó az utasításokat egy szöveges állományba írja, ez az assembly forrásprogram. Ez nem futtatható, ezért gépi kódúvá kell alakítani. Assembler: program, amely elemzi és gépi kódúvá alakítja, lefordítja a forrásprogramot. További feladata, hogy információt adjon a forrásprogramban előforduló hibákról. MOV PUSH PUSH ADD CALL 0401C8 0401CA 0401CC 0401D0 0401D4 esp,4 eax,eax edx esp,1 esp, /131 Assembler
132 Alacsony szintű programnyelvek A gépi kód és az assembly olyan programozási nyelv, melyben a vezérlés és az adatstruktúra közvetlenül visszatükrözi a gép architektúráját. Előnyük: Gyors, és kis helyfoglalású program írható Vannak olyan erősen a hardverhez kötődő feladatok, amelyeket csak így lehet megoldani Hátrányuk: A programozónak sokat kell dolgoznia A kód nehezen érthető, módosítható Géptípusonként külön kell megírni a kódot 226/132
133 A gépi kódú program A számítógép a működése során gépi utasításokat (instrukciókat) hajt végre egymás után Az instrukciók csak primitív műveleteket tudnak végrehajtani. Például: regiszterekben tárolt egész számok összeadása egy regiszter tartalmának adott memóriacímre másolása stb. Az instrukciók gép-specifikusak, a processzorral együtt tervezik meg azokat 226/133
134 A gépi kódú programozás hátrányai Egy feladat megfogalmazása a gép nyelvén rendkívül aprólékos munka A gépi kódú programozáshoz a hardware elemek pontos ismerete szükséges Ha egy gép hardware összetétele megváltozik, a programot ennek megfelelően módosítani kell. Ha a programot egy másik processzorral épített gépen akarjuk futtatni, a programot teljesen újra kell írni, a gépi kódú programok nem hordozhatók! 226/134
135 A megoldás Az operációs rendszer (egyik szolgáltatásaként) elrejti a hardware elemek kezelésének részleteit (pl. egy lemez tartalmát file-rendszerként kezelhetjük) - de ez egy másik tárgy témája. A programok írására magas szintű programozási nyelvet használunk, amely processzor és - többnyire - hardware független utasításokat tartalmaz. A programok hordozhatók, egy másik processzorra változtatás nélkül áttehető a program 226/135
136 A megoldás 2. A programozási nyelv az emberi nyelvhez közelebb áll, mint a gépi nyelvhez - könnyebben megtanulható. A programozási nyelv utasításai bonyolultabb folyamatokat írnak le, mint az instrukciók - ugyanannak a problémának a leírása sokkal kevesebb utasítást igényel. A gyakran előforduló részfeladatokra előre elkészített programrészek (könyvtári rutinok) használhatók. ("Library") 226/136
137 A programozási nyelv A természetes nyelvhez hasonlít a felépítése Számos nyelv létezik, de mindegyiknek precíz definíciója van. Egy nyelv definíciójának összetevői: Alapelemek (szintaktikai egységek) - mint a természetes nyelvekben a szavak Formális szabályok az alapelemek összeépítésére (szintaktika)- mint a nyelvekben a nyelvtan A nyelvi szerkezetek jelentésének definíciói (szemantika) - mint a nyelvekben a használat szabályai 226/137
138 Megoldandó problémák Egyetlen processzor sem érti egyetlen magas szintű programozási nyelv utasításait sem! Megoldás: a programot le kell fordítani instrukciók sorozatára. A munka automatizálható: fordítóprogram (compiler) segítségével. Minden operációs rendszer - processzor párosra külön fordítóprogram kell. Ez azonban megoldja a gépfüggetlen programok írását. 226/138
139 Megoldandó problémák 2. Egy programot általában több részben (modulban) írunk meg Felhasználunk előre elkészített modulokat is (könyvtári rutinokat) Megoldás: ezeket össze kell építeni a linker (tárgykódú szerkesztő) program segítségével 226/139
140 A programkészítés alapjai A strukturált programozás alapjai A programozás kialakulása A programkészítés menete Programnyelv ABC 226/140
141 A programkészítés menete 1. # include <stdio.h> void main ( ) { printf ( Helló Világ! \n ); } Elkészítjük a program forráskódját Ez egy (esetleg több) szövegfájl Ehhez egy szövegszerkesztő programot használunk Szövegszerkesztő (editor) A file kiterjesztése általában utal a használt programozási nyelvre. Pl.: proba.c 226/141
142 A programkészítés menete 2. # include <stdio.h> void main ( ) { printf ( Helló Világ! \n ); } Fordítóprogram 1CF7 B00C 37DA 4107 FAC4 660D 00F1 300BD 1FF0 35BB 337DD 239C 410F 396A C44D 006A Lefordítjuk a programot a fordítóprogrammal (compiler) Szövegszerkesztő (editor) 226/142 A tárgykódú modul egy speciális szerkezetű bináris file, amelynek formátuma már nem függ a programozási nyelvtől. Kiterjesztése általában.obj vagy.o
143 A programkészítés menete 3. # include <stdio.h> void main ( ) { printf ( Helló Világ! \n ); } Szövegszerkesztő (editor) 226/143 Fordítóprogram 1CF7 B00C 37DA 4107 FAC4 660D 00F1 300BD 1FF0 35BB 337DD 239C 410F 396A C44D 006A 410F 396D 5CF3 B00A 3CDA 4107 FAC4 660D 00F1 300BD CCD4 BAF0 337DD 239C 33F5 0B6A A tárgykódú modulokhoz hozzávesszük a könyvtári modulokat A linker összeszerkeszti Linker A végeredmény a futtatható (exe) program
144 Megjegyzések A forrásprogram szövegfájl, elkészítéséhez szövegszerkesztő (text editor) és nem dokumentum szerkesztő alkalmas. Windows alatt például a "Jegyzettömb" alkalmazás, és nem a Word. Az előző ábrák azt az esetet mutatják, amikor parancssoros felületen, az egyes programok egyedi indításával készítjük el a programot. Ma már a legegyszerűbb fejlesztőeszközök is integrálják az editor, compiler, a linker és a hibakereső (debugger) programokat, ezzel egyszerűsítve a munkát. 226/144
145 Egy C nyelvű fejlesztő környezet Lépések: 1. Programírás 2. Mentés (pld.c) 3. Fordítás (pld.exe) 4. Futtatás 226/145
146 Megjegyzések 2. Mivel egy valóságos program több tárgykódú modulból és esetenként több könyvtár felhasználásával szerkeszthető össze, a linkernek fel kell sorolni a szükséges modulokat. Erre is tartalmaz eszközöket egy integrált fejlesztő eszköz. Az előbb vázolt eszközök csak egyszerű programok és nem alkalmazások fejlesztését teszik lehetővé. 226/146 Egy programozási nyelv például általában nem tartalmaz ablakos felhasználói felület készítésére alkalmas eszközöket. (Ez alól részben kivétel a Java nyelv.) Valódi alkalmazások fejlesztésére összetettebb (és drágább) fejlesztő környezet szükséges.
147 A program és az alkalmazás különbsége 1. A program egy technikai fogalom: algoritmusok számítógépes megvalósítása. Az alkalmazás felhasználó vagy felhasználók egy csoportjának a munkáját vagy egyéb tevékenységét segítő számítógépes rendszer. Egy alkalmazás legfontosabb részei: 226/147 Program vagy programok rendszere Működtető környezet (hardware/software) Adatok Dokumentációk A program tehát egy szűkebb fogalom, mint az alkalmazás (A tárgy keretében a gyakorlás érdekében programokat írunk.)
148 A program és az alkalmazás különbsége 2. Az alkalmazás mindig felhasználó(k) érdekében készül. Az alkalmazás kifejlesztése vagy megvásárlása pénzbe kerül, tehát termék, áru. A termékek megfelelő minőségű gyártásához szükséges ismeretek együttesét szoftver technológiának hívjuk. A mai szóhasználatban a software szó a legtöbbször alkalmazást jelöl. 226/148
149 A programkészítés alapjai A strukturált programozás alapjai A programozás kialakulása A programkészítés menete Programnyelv ABC 226/149
150 A programozási nyelvek megjelenése /150 FORTRAN FORmula TRANslator COBOL COmmon Business Oriented Language ALGOL Algorithmic Language BASIC Beginner s All purpose Symbolic Instruction Code Pascal C Dennis Ritchie C++ Perl Java Delphi: Pascalból, objektum orientált PHP Hypertext Preprocessor C#
151 Fontosabb programnyelvek 1. Assembly Gépi kódú programozást segítő nyelv A megírt program nehezen hordozható Ma már főleg az operációs rendszerek készítői, ill. a hardvergyártók programoznak ilyenben. Pascal Eredetileg a strukturá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 226/151
152 Fontosabb programnyelvek 2. C 226/152 Közép szintű nyelvként szokták emlegetni, mert egyesíti az assembly és a magas szintű nyelvek elemeit. Hatékony és könnyű programozni Kis terjedelmű nyelv: kevés utasítás 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 lehetővé. Ahol megmarad, az a rendszerprogramozás.
153 Fontosabb programnyelvek 3. 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 226/153
154 Fontosabb programnyelvek /154
155 Fontosabb programnyelvek 4. 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ázis-kezelés. Java nyelven lehet appleteket írni, amelyek beszúrhatók HTML oldalakba is Tökéletesen hordozható nyelv Az Internet-programozás fő nyelve. 226/155
156 A programozók csoportosítása Pascal C C++ Visual Basic JAVA 226/156
157 Programfejlesztő eszközök A szoftverfejlesztés alapjai Programtervezési módszerek Algoritmus alapfogalmak A strukturált programozás alapjai A programkészítés alapjai Alapalgoritmusok 226/157
158 Programfejlesztő eszközök Alapalgoritmusok Összegzés Megszámlálás Kiválasztás Kiválasztásos rendezés Összefésülés Szétválogatás 226/158
159 Összegzés Feladat: Adott egy számhalmaz, határozzuk meg a számok összegét Megoldás: Egy változó értékét beállítjuk 0-ra (kinullázzuk) Ciklus segítségével végigmegyünk a sorozat elemein, és a kinullázott változóhoz rendre hozzáadjuk a sorozat aktuális elemét. Az eredmény az eredetileg kinullázott változó aktuális értéke. 226/159
160 Összegzés Pszeudokód: Be: N ciklus i= 1.. N ismétel Be: A[ i ] ciklus vége Összeg = 0 ciklus i= 1.. N ismétel Összeg = Összeg + A[ i ] ciklus vége Ki: Összeg 226/160
161 Összegzés Struktogram: Be: n i = 1.. n Be: A [ i ] s = 0 i = 1.. n s = s + A[ i ] Ki: s Tömb elemszámának beolvasása Tömbelemek beolvasása Összeg változó (s) kinullázása Összegzés Eredmény kiírása 226/161
162 Összegzés 1 START Be: n n: elemek száma s = 0 i = 0 s: összeg i = 0 i: ciklusváltozó i= i /162 i= i + 1 Be: A[ i ] i < n Nem 1 Igen A: elemek tömbje s= s + A [ i ] Nem i < n Ki: s STOP Igen
163 Programfejlesztő eszközök Alapalgoritmusok Összegzés Megszámlálás Kiválasztás Kiválasztásos rendezés Összefésülés Szétválogatás 226/163
164 Megszámlálás Feladat: Adott egy számhalmaz, és egy feltétel. Határozzuk meg, hogy az adatok közül hány darab tesz eleget a feltételnek. Feltétel: a szám legyen kisebb 10-nél Megoldás: Kinullázunk egy változót. Ciklus segítségével végigmegyünk a tömb elemein. Megvizsgáljuk őket, és ha a tömbelem a feltételnek megfelel, a kinullázott változóhoz hozzáadunk egyet. Az eredmény az eredetileg kinullázott változó aktuális értéke. 226/
165 Megszámlálás Pszeudokód: Struktogram: Be: N ciklus i= 1.. N ismétel Be: A[ i ] ciklus vége S = 0 ciklus i=1.. N ismétel Ha A[ i ] < 10 akkor S = S+1; ciklus vége Ki: S 226/165 Igen Be: n i = 1.. n Be: A [ i ] db = 0 i = 1.. n db=db+1 A[i] < 10 Ki: db Nem
166 Megszámlálás START db: darabszám 1 db = 0 i = 0 Be: n i= i + 1 i = 0 i= i + 1 Nem A[i] < 10 Igen db = db /166 Be: A[ i ] i < n Nem 1 Igen Nem i < n Ki: db STOP Igen
167 Programfejlesztő eszközök Alapalgoritmusok Összegzés Megszámlálás Kiválasztás Kiválasztásos rendezés Összefésülés Szétválogatás 226/167
168 Kiválasztás Feladat: Adott egy számhalmaz, és egy feltétel. Határozzuk meg, hogy melyik adat tesz eleget leginkább a feltételnek. Feltétel: a legkisebb szám 226/ Megoldás: Egy változóba (MIN) berakjuk a tömb első elemének az értékét. Ezután a 2. elemtől kezdve egy ciklussal végignézzük a tömb elemeit, és ha a vizsgált elem kisebb a MINértékénél, akkor berakjuk az értékét a MIN-változóba, így a MIN-értéke az addig megvizsgált elemek közül mindig a legkisebbet tartalmazza. Eredmény: a MIN változó értéke.
169 Kiválasztás Pszeudokód: Struktogram: Be: N ciklus i= 1.. N ismétel Be: A[i] ciklus vége MIN = A[1] ciklus i= 2.. N ismétel Ha A[i] < MIN akkor MIN = A[i]; ciklus vége Ki: MIN 226/169 Be: n i < n Be: A [ i ] m = A [1] i = 2.. n Igen A[i] < m m=a [i] Ki: m Nem
170 Kiválasztás START m: legkisebb elem 1 m=a [1] i = 1 Be: n i = 0 i= i + 1 Nem i= i + 1 A[i] < m Igen m = A [i] 226/170 Be: A[ i ] i < n Nem 1 Igen Nem i < n Ki: m STOP Igen
171 Programfejlesztő eszközök Alapalgoritmusok Összegzés Megszámlálás Kiválasztás Kiválasztásos rendezés Összefésülés Szétválogatás 226/171
172 Kiválasztásos rendezés Feladat: Adott egy számhalmaz, és valamilyen rendezési szempont (rendezési kulcs). Rendezzük sorba az adatokat. Szempont: növekvő sorrend /172
173 Kiválasztásos rendezés Feladat: Adott egy tömb, rendezzük az elemeit növekvő sorrendbe. Módszer: Keressük ki a legkisebb elemet, és tegyük azt a tömb első helyére. Lépjünk egy hellyel odébb (második elem), és keressük ki a maradék elemek közül a legkisebbet. Tegyük ezt a második helyre. Lépjünk eggyel odébb, 226/173
174 Kiválasztásos rendezés Megoldás: Visszavezetjük a rendezést a kiválasztásra Két egymásba ágyazott ciklust alkalmazunk. A külső (I-változójú) azt vezérli, hogy hányadik helyre keressük a megfelelő adatot. A belső (J-változójú) a maradék elemek közül választja ki a megfelelőt. Ha csere szükséges, akkor azt egy segédváltozó (C) bevezetésével valósítjuk meg 226/174
175 Kiválasztásos rendezés Csere: Kiindulás: A B C lépés: C = A 2. lépés: A = B 3. lépés: B = C Végeredmény: /175
176 Kiválasztásos rendezés Kiindulás: Külső ciklus: i melyik helyre keressük a legkisebb elemet Belső ciklus: j végigmegy az i-től magasabb indexű elemeken 226/176 i=1, j= j= Nincs csere Nincs csere j= Csere i=2, j= Csere j= Csere i=3, j= Csere Végeredmény:
177 Kiválasztásos rendezés Pszeudokód: Be: N c1-ciklus i= 1.. N ismétel Be: A[i] c1-vége ck-ciklus i=1.. N-1 ismétel cb-ciklus j= i+1.. N ismétel ha A[j] < A[i] akkor C:=A[i], A[i]:= A[ j], A[ j]:=c feltétel vége cb-vége ck-vége c2-ciklus i= 1.. N ismétel Ki: A[i] c2-vége 226/177 Struktogram: Be: n i = 1.. n Be: A [ i ] m = A [1] i = 1.. n-1 j = i+1.. n Igen c=a[i] A[i]=A[ j] A[ j]=c i = 1.. n A[ j]<a[i] Nem Ki: A [i]
178 Rendezés 226/178 START Be: n i = 0 i= i + 1 Be: A[ i ] i < n Nem 1 Igen Nem 1 i = 1 j = i + 1 c = A [i] A[i] = A[ j] A[ j] = c Nem Nem A[ j]<a[i] j < n i < n-1 2 Igen Igen Igen j = j+1 i = i+1 c: segédváltozó 2 i = 0 i= i + 1 Ki: A[ i ] i < n Nem STOP Igen
179 Programfejlesztő eszközök Alapalgoritmusok Összegzés Megszámlálás Kiválasztás Kiválasztásos rendezés Összefésülés Szétválogatás 226/179
180 Összefésülés Feladat: Adott két vagy több rendezett számhalmaz. Egyesítsük úgy az adatokat, hogy az eredmény halmaza is rendezett legyen /180
181 Összefésülés Két tömb elemeinek összefésülése növekvő sorrendben: 1-re beállítjuk két segédváltozó értékét, ezek jelzik, hogy a két kiinduló tömb hányadik elemét vizsgáljuk meg. Indítunk egy ciklust, melynek lépésszáma a két tömb elemszámának az összege, így tudunk majd mindkét kiinduló tömb elemein végigmenni. A ciklusban megállapítjuk, hogy a segédváltozók által jelzett tömbelemek közül melyik a kisebb, és ezt az elemet áttesszük az eredmény tömbbe, és amelyik kiinduló tömbből áttettük az elemet, annak a segédváltozóját megnöveljük 1-el. Eredmény az eredmény tömb. 226/181
182 Összefésülés Pszeudokód: Be: N ciklus i= 1.. N ismétel Be: A[i] ciklus vége Be: M ciklus i= 1.. M ismétel Be: B[i] ciklus vége 226/182 j= 1, k= 1 ciklus i= 1.. N+M ismétel ha A[ j] < B[k] akkor C[i] = A[ j] j= j+1 különben C[i] = B[k] k= k+1 feltétel vége ciklus vége ciklus i= 1.. N+M ismétel Ki: C[i] ciklus vége
183 Összefésülés 2 START Be: n 1 Be: m i = 0 j = 1 k = 1 i = 0 i = 0 i = i + 1 i= i + 1 Be: A[ i ] i= i + 1 Be: B[ i ] Igen C[i]=A[ j] j = j+1 A[ j]<b[k] Nem C[i]=B[k] k = k+1 Nem 226/183 i < n 1 Igen Nem i < m 2 Igen i < n+m Nem 3 Igen
184 Összefésülés 226/184 3 i = 0 i= i + 1 Ki: C[ i ] i < n+m Nem STOP Igen Be: n i = 1.. n Be: A [ i ] j = 1, k = 1 i = 1.. n+m A[ j]<b[k] Igen Be: m i = 1.. m C[i]=A[ j] j = j+1 Be: B [ i ] i = 1.. n+m Ki: C[ i ] Nem C[i]=B[k] k = k+1
185 Programfejlesztő eszközök Alapalgoritmusok Összegzés Megszámlálás Kiválasztás Kiválasztásos rendezés Összefésülés Szétválogatás 226/185
186 Szétválogatás Feladat: Adott egy számhalmaz, és egy (vagy több) feltétel. Válogassuk szét az adatokat a feltételnek megfelelően több halmazba Feltétel: páros és páratlan számok /186
187 Szétválogatás Páros vagy páratlan számok: 1-re beállítjuk két segédváltozó értékét, ezek jelzik, hogy a két eredmény tömb (páros, páratlan) hányadik helyére kerül a kiinduló tömb aktuálisan vizsgált eleme. Ciklus segítségével végigmegyünk a kiinduló tömbön. Ha az aktuális elem 2-vel elosztva 0 maradékot ad (páros), akkor a páros tömbbe, a segédváltozója által jelzett helyre rakjuk, és a segédváltozót növeljük 1-el. Ha a maradék 1, akkor a vizsgált elem a páratlan tömbbe kerül, és ennek segédváltozóját növeljük meg. Eredmény a két eredmény tömb. 226/187
188 Szétválogatás Be: N ciklus i= 1.. N ismétel Be: A[i] ciklus vége j= 1, k= 1 ciklus i= 1.. N ismétel ha A[i] mod 2 = 0 akkor B[ j] = A[i] j= j+1 különben C[k] = A[i] k= k+1 feltétel vége ciklus vége 226/188 Pszeudokód: ciklus i= 1.. j-1 ismétel Ki: B[i] ciklus vége ciklus i= 1.. k-1 ismétel Ki: C[i] ciklus vége
189 Szétválogatás START Be: n i = 0 1 i = 0 j = 1 k = 1 i = i i = 0 i= i + 1 Be: A[ i ] i < n Nem 226/189 1 Igen Igen B[ j]=a[ i] j = j+1 Nem A[i] mod 2=0 Nem i < n 2 C[k]=A[ i] k = k+1 Igen i= i + 1 Ki: B[ i ] i < j-1 Nem 3 Igen
190 Szétválogatás 226/190 3 i = 0 i= i + 1 Ki: C[ i ] i < k-1 Nem STOP Igen Be: n i = 1.. n Be: A [ i ] j = 1, k = 1 i = 1.. n A[i] mod 2=0 Igen Nem B[ j]=a[i] j = j+1 i = 1.. j-1 Ki: B[ i ] i = 1.. k-1 Ki: C[ i ] C[k]=A[i] k = k+1
191 226/191
192 Információs technológiák Ellenőrző kérdések 226/192
193 Ellenőrző kérdések Melyik nem operációs rendszer? A: AIX B: LINUX C: COBOL D: UNIX E: OS/2 2. Milyen jogállású programra igaz az alábbi leírás: Kis ideig szabadon használható, aztán fizetni kell érte. A: Jogdíjas B: Shareware C: Freeware D: Public Domain 226/193
194 Ellenőrző kérdések Melyik operációs rendszer verziói a következők: Puma, Jaguar, Leopard, Tiger? A: UNIX B: LINUX C: MAC D: Windows 4. Melyek a kernel feladatai? Processzor kezelés Memória kezelés Eszközkezelés Kapcsolattartás a felhasználóval 226/194
195 Ellenőrző kérdések Írja a vonalak fölé a megfelelő fogalmakat!? Programnév.c 6. Számozza be az egyes lépések sorrendjét. Kezdje a legkorábbival! Mentés Programírás Futtatás Algoritmus alkotás Fordítás 226/195
196 Ellenőrző kérdések Felhasználói program (F), segédprogram (S), vagy egyéb program (E)? Tűzfal: Táblázatkezelő: Tömörítő: Rajzoló program: Linux: Víruskereső: Java: Böngésző: CD-író program: 226/196
197 Ellenőrző kérdések Melyik alkalmazói programcsoportra jellemzőek a következő kifejezések: cella, képlet, függvény? A: Szövegszerkesztő D: A és B csoportra B: Táblázatkezelő E: B és C csoportra C: Adatbázis-kezelő F: C és D csoportra 9. Melyik alkalmazói programcsoportra jellemzőek a következő kifejezések: rekord, jelentés? A: Szövegszerkesztő D: A és B csoportra B: Táblázatkezelő E: B és C csoportra C: Adatbázis-kezelő F: C és D csoportra 226/197
198 Ellenőrző kérdések Igaz vagy Hamis az állítás? Az első Windowst a Microsoft adta ki, 1974-ben. A freeware jogállású program teljesen ingyenes bármilyen célra. A UNIX-ot eredetileg UNICS-nak nevezték. A felhasználói programok operációs rendszer nélkül is futtathatók. Az operációs rendszer nem program. A C nyelv középszintű programozási nyelv. Az assembly nyelven írt programot az assemblerrel fordítják le gépi kódúra. Az ADD utasítás egy gépi kódú utasítás. A kémprogram kereső olyan program, ami ellen védekezni kell. 226/198
199 Ellenőrző kérdések Mi az operációs rendszer? A: A hardver elemeket összefogó keretrendszer. B: Műtéteknél használt beavatkozási környezet. C: A hardver és a szoftver közötti programok gyűjteménye. D: A számítógép alapvető működéséért felelős programcsomag. 12. Melyik a kakukktojás? A: szövegszerkesztő B: képszerkesztő C: böngésző D: operációs rendszer E: táblázatkezelő 226/199
200 Ellenőrző kérdések Word, Excel, PowerPoint. Mik ezek? A: szövegszerkesztő programok B: a Microsoft által gyártott hardverek C: alkalmazói programok D: segédprogramok 14. Melyik a kakukktojás? A: word B: excel C: firefox D: access E: powerpoint 226/200
201 Ellenőrző kérdések Melyik állítás igaz a compilerre? A: Egyszerre lefordítja az egész forrásprogramot B: Egyszerre a forrásprogram egyetlen utasítását fordítja és hajtja végre C: Kimenete minden esetben gépi kód D: A forrásnyelven megírt programot lefordítja és rögtön végrehajtja 16. Jelölje be az összes állítást, mely igaz a változóra! A: A változó egy memóriaterület, melynek változhat az értéke B: A változó logikailag tovább nem bontható, elemi egység C: A változót azonosítani kell D: A változónak meg kell adni a típusát 226/201
202 Ellenőrző kérdések Mit csinál a programszerkesztő (linker)? A: A linkerrel a forrásprogramot szerkeszthetjük meg B: A linker a külön lefordított tárgykódú modulokból kapcsolja össze a futtatható kódot. C: A linkerrel tárgykódú programot lehet írni D: A linkerrel végrehajtható kódot lehet írni 18. Tegye helyes sorrendbe a programfejlesztés lépéseit! 226/202 Dokumentálás Kódolás Algoritmus készítés Specifikáció készítés
203 Ellenőrző kérdések Jelölje be az összes helyes párosítást! A: Editor Programszerkesztő B: Bináris kód Gépi kód C: Fortran Magas szintű programnyelv D: Interpreter Fordító 20. Mi a szekvencia? Jelölje be az összes jó választ! A: Választás megadott tevékenységek között B: Megadott tevékenységek feltételtől függő, ismételt végrehajtása. C: Egymás után végrehajtandó tevékenységek sorozata D: Feltétel nélküli, időben egyszerre végrehajtandó tevékenységek 226/203
204 Ellenőrző kérdések Igaz vagy Hamis az állítás? 226/204 A linker ugyanaz, mint az editor. A memória tartalma a program futása közben nem változik. A fordító kiszűri a szemantikai hibákat. Az assembly alacsony szintű programozási nyelv. Egy algoritmusnak több kezdési pontja is lehet. Az assembly nyelv előnye, hogy gyorsabb és kisebb helyfoglalású program írható vele. Egy gépi kódú program csak gépi kódú utasításokat tartalmaz, adatokat nem. A fordítóprogram output-ja a forráskód. A magas szintű nyelv gépi kódja az assembly.
205 Ellenőrző kérdések Mit ír le az alábbi pszeudokód? 23. Mi jellemzi a szoftver minőségét? Jelölje be az összes jó választ! A: Program mérete B: Szabványosság C: Felhasználóbarátság D: Hibatűrés 226/205 Ha feltétel, akkor utasítás Elágazás vége A: Szekvenciát B: Egyágú szelekciót C: Elöltesztelő ciklust D: Növekményes ciklust
206 Ellenőrző kérdések Igaz vagy Hamis az állítás? A hátultesztelő ciklusra jellemző, hogy a ciklusmag egyszer mindenképpen végrehajtódik. A strukturált algoritmusra nem jellemző a többágú szelekció alkalmazása. Az algoritmus minden lépésének egyértelműen végrehajthatónak kell lennie. A folyamatábra az algoritmus leírására szolgáló, mondatszerű elemekből felépülő jelölésrendszer. A pszeudokód egy programozási nyelv. Az algoritmus egy adott tevékenység ismételt végrehajtása, mely a feladat megoldását célozza. 226/206
207 Ellenőrző kérdések Beolvasáskor az a változó 4-es értéket kap. Kövesse a folyamatábrát! Mit ír ki az algoritmus? A: 15, 7 B: 7, 14 C: 5, 15 D: 21, 14 E: 5, 19 F: 6, 19 G: 12, 17 H: 20, /207 START s=3 be: a Igen a < 5 Nem s= s+3 a= a+1 s= s+a s < 12 Igen Nem ki: a, s STOP
208 Ellenőrző kérdések Mikor jelent meg az első magas szintű programnyelv? A: 1944 B: 1954 C: 1964 D: Kinek a nevéhez kötődik a strukturált programozás alaptétele? A: Bill Gates B: Neumann János C: Böhm-Jacopini D: Dijsktra 226/208
209 Ellenőrző kérdések Értékelje ki a kifejezéseket! 3+5*2-6*2/3 4*(5-3)/2 6/3*2+4/2*3 5+6*2-3*(7-2)*2 29. Igaz vagy Hamis az állítás? (2 > 3 or 5 <= 4) (5 = 3 and 3 > 2) (4 < 6 and 5 < 4 xor 3 < 5) (not(3 = 5) or 6 > 3 and 2 < 3) 226/209
210 Ellenőrző kérdések Melyik programozási módszer alkalmazza az öröklődés lehetőségét? A: Moduláris programozás B: Gépi kódú programozás C: Strukturált programozás D: Objektum-orientált programozás 31. Melyik adatszerkezet valósítja meg a FIFO elvet? A: Sor B: Verem C: Struktúra D: Állomány 226/210
211 Ellenőrző kérdések Melyik adatszerkezeten értelmezhető az & és a * művelet? A: String B: Tömb C: Struktura D: Mutató 33. Írja be a megfelelő fogalom betűjelét! 226/211 Különböző típusú elemek halmaza Egyforma típusú elemek halmaza Adatok és metódusok halmaza A: Objektum B: Tömb C: Rekord
212 Ellenőrző kérdések Mi a helyes viszonya az alábbi fogalmaknak? A: Algoritmus < Alkalmazás < Program B: Algoritmus < Program < Alkalmazás C: Alkalmazás < Program < Algoritmus D: Alkalmazás < Algoritmus < Program 35. A változó (melyik igaz?) A: a memória egy adott helyére mutató programelem. B: egymáshoz tartozó adatok elnevezése. C: értéket képviselő programelem. D: névvel ellátott tároló hely a számítógép memóriájában. 226/212
213 Ellenőrző kérdések Alakítson ki két kategóriát, nevezze el azokat, és sorolja az alábbi típusokat az egyes kategóriákba! Kategóriák: Típusok: A: Int E: Real B: Állomány F: String C: Rekord G: Tömb D: Long H: Double 226/213
214 Ellenőrző kérdések Jelölje meg azokat a fogalmakat, amelyek a következő meghatározáshoz kapcsolódnak! Azt az elemet vehetjük ki legelőször, amelyiket utoljára tettük be. A: FIFO B: LIFO C: Sor D: Verem 38. Melyik ciklust kell alkalmazni a következő feladat megoldására: 226/214 Addig kell beolvasni számokat, még a számok kisebbek egy megadott értéknél! A: Elöltesztelő ciklus B: Hátultesztelő ciklus C: Számláló ciklus
215 Ellenőrző kérdések Ábrát rajzolunk programmal. Az E betű 1 egységnyi rajzolást jelent, a B betű balrafordulást (rajzolás nélkül), a J betű jobbra fordulást (rajzolás nélkül). A legelső E betű hatására mindig balról jobbra haladva rajzolódik egy egységnyi vonal. Egy kis minta ábra, és programja: A: Mit rajzol ki a következő program: EBEEJE? B: Mit rajzol ki a következő program: EBEJEJEBE? C: Írja meg az egységnyi oldalú négyzet megrajzolásához szükséges programot! 226/215 EBEBBEE
216 Ellenőrző kérdések Egészítse ki a következő mondatokat! 226/216 A logikai IGAZ értéket 0-val, a logikai HAMIS értéket... jelöljük. Ha egy reláció teljesül akkor logikai értéke..., ha nem teljesül akkor... lesz. A logikai ÉS művelet eredménye csak akkor egy, ha... komponens értéke egy. A logikai VAGY művelet eredménye csak akkor nulla, ha... komponens értéke nulla. A logikai ÉS művelet eredménye..., ha egy komponens értéke HAMIS. A logikai VAGY művelet eredménye..., ha egy komponens értéke IGAZ.
217 Ellenőrző kérdések Egészítse ki a következő mondatokat! Értékadáskor mindig a oldal kapja meg a oldalon álló kifejezés értékét. Ha egy kifejezés több operátort is tartalmaz, akkor a kiértékelésük sorrendjét a határozzák meg. A. szereplő operátorok a teljes kifejezés kiértékelése szempontjából nem számítanak, mert azok külön értékelődnek ki. A különböző.. operátorok esetén mindig a.. hajtódik végre először, ha ez azonos, a. dönt. 226/217
218 Ellenőrző kérdések Kövesse a struktogramot! Mit ír ki az algoritmus? A: 11 B: 13 C: 15 D: 21 E: 23 F: 24 G: 26 H: 30 s = 4, n = 5 i = 1.. n Igen s < 10 Nem s=s+n s=s+i Ki: s 226/218
219 Ellenőrző kérdések Igaz vagy Hamis az állítás? 226/219 Az Assembly magas szintű programnyelv. Alacsony szintű programnyelven könnyebb programozni. A szemantika a programozás nyelvtani szabályrendszere. A szemantikai hibákat kijelzi a fordítóprogram. A forráskódot compilerrel fordítjuk le gépi kódra. Létezik végtelen számú lépésből álló algoritmus. A kinullázás egy változónak nulla érték adását jelenti. A pszeudokód egy téglalap alakú ábra egy algoritmus leírására.
220 Ellenőrző kérdések Adott egy tömb, elemei: [ -5, 9, 6, -3, -7, 1 ] Mely algoritmus adja a legnagyobb értéket eredményül, a tömbön lefuttatva? A: Összegzés B: Megszámlálás (5-nél nagyobb elemek) C: Kiválasztás (legnagyobb elem) 45. Mely önálló elemekből épül fel egy folyamatábra? A: Adatbevitel D: Adatkivitel B: Szelekció E: Kezdőpont, végpont C: Művelet F: Iteráció 226/220
221 Ellenőrző kérdések Alakítson ki két kategóriát, és sorolja az alábbi tesztelési megállapításokat az egyes kategóriákba! Kategóriák: Megállapítások: A: A program lassú B: Nehéz kezelni a programot C: A program hibás eredményt ad D: Zavaró az ablakok színösszeállítása E: Hiányzik a nyomtatás funkció F: Nem lehet kiválasztani a szükséges adatot G: A rendezés menü nem működik 226/221
222 Ellenőrző kérdések Ábrát rajzolunk programmal. Az E betű 1 egységnyi rajzolást jelent, a B betű balrafordulást (rajzolás nélkül), a J betű jobbra fordulást (rajzolás nélkül), a C ciklust: C(művelet, ismétlésszám). A legelső E betű hatására mindig balról jobbra haladva rajzolódik egy egységnyi vonal. Egy kis minta ábra, és programja: A: Mit rajzol ki a következő program: EBC(EJ,2)EBE? B: Mit rajzol ki a következő program: EC(BE,2)C(EJ,3)C(E,2)? C: Írja meg az egységnyi oldalú négyzet megrajzolásához szükséges legrövidebb programot! 226/222 EBEC(B,2)C(E,2)
223 Ellenőrző kérdések Jelölje be az összes helyes párosítást! A: Editor Programszerkesztő B: Bináris kód Gépi kód C: Fortran Magas szintű programnyelv D: Interpreter Fordító 226/223
224 226/224
225 Felhasznált irodalom IHM: IT Alapismeretek elektronikus jegyzet Szijártó Miklós: Informatika I. elektronikus jegyzet Knuth, D.E: A számítógép-programozás művészete 1-3, Műszaki Könyvkiadó, Budapest, Brian W. Kernighan Dennis M. Ritchie: A C programozási nyelv, Műszaki Könyvkiadó, 1988 Wirth, N: Algoritmusok + Adatstruktúrák = Programok, Műszaki Könyvkiadó, Budapest, /225
226 VÉGE VÉGE 226/226
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
RészletesebbenOperációs rendszer ismeretek
2015 Operációs rendszer ismeretek A számítógépes munka feltételei Hardver: a számítógépet alkotó mechanikus és elektronikus eszközök összefoglaló neve. Szoftver: a számítógépet működtető programok. Operációs
RészletesebbenA tananyag. Témakörök. Optimum. Tudja meghatározni a numerikus, és karakteres adtok tárolt alakját.
Informatika helyi tanterv a PEDELLUS NOVITAS Kiadó Informatika 9-10. tankönyvéhez Szerzők: Kiss Albert,Ludányiné Prém Judit tankönyv+munkafüzet - kerettantervre épülő A tananyag Óraszám: 2 éves tantárgy
RészletesebbenADATBÁZISKEZELÉS ADATBÁZIS
ADATBÁZISKEZELÉS 1 ADATBÁZIS Az adatbázis adott (meghatározott) témakörre vagy célra vonatkozó adatok gyűjteménye. - Pl. A megrendelések nyomon követése kereskedelemben. Könyvek nyilvántartása egy könyvtárban.
RészletesebbenSzé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észletesebbenSZAKDOLGOZAT. Kiss Albert
SZAKDOLGOZAT Kiss Albert Debrecen 2009 Debreceni Egyetem Informatikai Kar A VIZUÁLIS PROGRAMOZÁS TANÍTÁSA A DEBRECENI MECHWART ANDRÁS GÉPIPARI ÉS INFORMATIKAI SZAKKÖZÉPISKOLÁBAN Témavezető: Nyakóné dr.
RészletesebbenMinden jog fenntartva, beleértve bárminemű sokszorosítás, másolás és közlés jogát is.
2 Minden jog fenntartva, beleértve bárminemű sokszorosítás, másolás és közlés jogát is. Kiadja a Mercator Stúdió Felelős kiadó a Mercator Stúdió vezetője Lektor: Gál Veronika Szerkesztő: Pétery István
RészletesebbenÓravázlat. az ECDL oktatócsomaghoz. 5. modul. Adatbáziskezelés. Krea Kft. 1034 Budapest, Szőlő u 21. Tel/fax: 250-5570 / 387-2557 E-mail: krea@krea.
Óravázlat az ECDL oktatócsomaghoz 5. modul Adatbáziskezelés Krea Kft. 1034 Budapest, Szőlő u 21. Tel/fax: 250-5570 / 387-2557 E-mail: krea@krea.hu A vázlatot összeállította: Pintyőke László Lektorálta:
RészletesebbenMinden jog fenntartva, beleértve bárminemű sokszorosítás, másolás és közlés jogát is.
2 Minden jog fenntartva, beleértve bárminemű sokszorosítás, másolás és közlés jogát is. Kiadja a Mercator Stúdió Felelős kiadó a Mercator Stúdió vezetője Lektor: Pétery Tamás Szerkesztő: Pétery István
RészletesebbenSZOFTVER = a számítógépet működtető és az azon futó programok összessége.
SZOFTVEREK SZOFTVER = a számítógépet működtető és az azon futó programok összessége. Programok Programnak nevezzük egy algoritmus valamelyik számítógépes programnyelven való leírását, amely a számítógép
RészletesebbenAlgoritmusok. Hogyan csináljam?
Algoritmusok Hogyan csináljam? 1 Az algoritmus fogalma Algoritmusnak olyan pontos előírást nevezünk, amely megmondja, hogy bizonyos feladat megoldásakor milyen műveleteket milyen meghatározott sorrendben
RészletesebbenVirtualBox, Debian telepítés
VirtualBox, Debian telepítés 1 VirtualBox Az Oracle VirtualBox egy x86-alapú (azaz AMD vagy Intel rendszerekre kifejlesztett), több platformon is futtatható virtualizációs program. A segítségével virtuális
RészletesebbenInformatika. Magyar-angol két tanítási nyelvű osztály tanterve. 9. évfolyam
Informatika Magyar-angol két tanítási nyelvű osztály tanterve Óratervi táblázat: Évfolyam 9. 10. 11. 12. 13. Heti óraszám 2 1 2 - - Éves óraszám 74 37 74 - - Belépő tevékenységformák 9. évfolyam Hardver
RészletesebbenProgramozás elmélet tananyag
2016/04/01 01:25 1/41 Programozás elmélet tananyag < Programozás elmélet Programozás elmélet tananyag Szerző: Sallai András Copyright Sallai András, 2011, 2013, 2014 Licenc: GNU Free Documentation License
RészletesebbenOperációs rendszerek MINB240 V3+2+0-5 kredit KF Nagyváradi Anett 0. előadás Bevezetés
Üzleti környezetre k optimalizált lt rendszerek SANB107 IBM System i IBM System p rendszerének ismertetése Csütörtökönként 12:45-től blokkosítva A102-es teremben http://morpheus.pte.hu/~varady/ Várady
RészletesebbenMegnevezés Verzió Méret (byte) SHA-1 lenyomat
Megnevezés Verzió Méret (byte) SHA-1 lenyomat PARTNERR7.NTF v7.5 7 077 888 0B8D79B4279663DE9842AC1 8EACF394148EDA4BD REGISTERR7.NTF v7.5 1 966 080 880001F1AB141B908898907A 118386458C3B7E76 SABLONR7.NTF
RészletesebbenOperációs rendszerek MINB240 V2+2+0
Operációs rendszerek MINB240 V2+2+0 Dr Iványi Péter Nagyváradi Anett Radó János Nagyváradi Anett Elérhetőségek Rendszer és Szoftvertechnológia Tanszék Boszorkány út B138 Tel.: 3634-es mellék anettn@morpheus.pte.hu
RészletesebbenBevezetés a C++ programozásba
Bevezetés a C++ programozásba A program fogalma: A program nem más, mint számítógép által végrehajtható utasítások sorozata. A számítógépes programokat különféle programnyelveken írhatjuk. Ilyen nyelvek
RészletesebbenInformatika szintmérő-érettségi tételek 2015. február
1.oldal (18) Rendszer karbantartása Rendszerkarbantartás fogalma: Minden operációs rendszer tartalmaz eszközöket a hardver- és a szoftverkomponensek karbantartására. Idesoroljuk a hardveralkotók szoftveres
RészletesebbenRendszertervezés 2. IR elemzés Dr. Szepesné Stiftinger, Mária
Rendszertervezés 2. IR elemzés Dr. Szepesné Stiftinger, Mária Rendszertervezés 2. : IR elemzés Dr. Szepesné Stiftinger, Mária Lektor : Rajki, Péter Ez a modul a TÁMOP - 4.1.2-08/1/A-2009-0027 Tananyagfejlesztéssel
Részletesebben3. Gyakorlat Ismerkedés a Java nyelvvel
3. Gyakorlat Ismerkedés a Java nyelvvel Parancssori argumentumok Minden Java programnak adhatunk indításkor paraméterek, ezeket a program egy tömbben tárolja. public static void main( String[] args ) Az
RészletesebbenTö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észletesebbenDr. Pétery Kristóf: Excel 2003 magyar nyelvű változat
2 Minden jog fenntartva, beleértve bárminemű sokszorosítás, másolás és közlés jogát is. Kiadja a Mercator Stúdió Felelős kiadó a Mercator Stúdió vezetője Lektor: Gál Veronika Szerkesztő: Pétery István
RészletesebbenAz informatika alapjai. 10. elıadás. Operációs rendszer
Az informatika alapjai 10. elıadás Operációs rendszer Számítógépek üzemmódjai Az üzemmód meghatározói a számítógép adottságai: architektúra hardver kiépítés, térbeli elhelyezés, szoftver, stb. Üzemmód
RészletesebbenIT TERMÉKEK TANÚSÍTÁSA
RG_0140.fmx v.2.01 CD2E4A5EB23A9DB2DE2A4F95820958DFA4869790 RG_0150.fmx v.2.01 A288B76997952CA18C18316CE61A3D595EE071E5 RG_0151.fmx v.2.01 70F70BC8E467DC6E0F176FE64DB2295634E8533E rg_0157.fmx v.2.01 730016671CA42824C2D7CA504E44492AA390005F
RészletesebbenA Szekszárdi I. Béla Gimnázium Helyi Tanterve
A Szekszárdi I. Béla Gimnázium Helyi Tanterve Négy évfolyamos gimnázium Informatika Készítette: a gimnázium reál munkaközössége 2015. Tartalomjegyzék Alapvetés...3 Egyéb kötelező direktívák:...6 Informatika
RészletesebbenSzakmai program 2015
2015 Célok és feladatok a szakközépiskolai képzésben A szakközépiskolában folyó nevelés-oktatás továbbépíti, kiszélesíti és elmélyíti az általános iskolai tantárgyi követelményeket. A szakközépiskolában
Részletesebbenszellemi termékek programokat BIOS alaplapi frissíthető beállításokat ellenőrzését betöltőrekord beolvasó Feladata 2. Operációs rendszer fogalmát
Szoftverek A szoftver (software) fogalma kétféleképpen is megközelíthető: - tágabb értelemben szoftvernek nevezzük a számítógép működtetéséhez szükséges szellemi termékek összességét (programok, adatok,
RészletesebbenINFORMATIKAI ALAPISMERETEK
Informatikai alapismeretek középszint 0521 É RETTSÉGI VIZSGA 2005. október 24. INFORMATIKAI ALAPISMERETEK KÖZÉPSZINTŰ ÍRÁSBELI ÉRETTSÉGI VIZSGA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ OKTATÁSI MINISZTÉRIUM I. rész
Részletesebben4. Programozási nyelvek osztályozása. Amatőr és professzionális
4. Programozási nyelvek osztályozása. Amatőr és professzionális programozási nyelvek. Számítási modellek (Neumann-elvű, automataelvű, funkcionális, logikai). Programozási nyelvekkel kapcsolatos fogalmak
RészletesebbenDigitális technika II. (vimia111) 5. gyakorlat: Tervezés adatstruktúra-vezérlés szétválasztással, vezérlőegység generációk
Digitális technika II. (vimia111) 5. gyakorlat: Tervezés adatstruktúra-vezérlés szétválasztással, vezérlőegység generációk Elméleti anyag: Processzoros vezérlés általános tulajdonságai o z induló készletben
RészletesebbenA tömörítési eljárás megkezdéséhez jelöljük ki a tömöríteni kívánt fájlokat vagy mappát.
Operációs rendszerek Windows Xp (13-16 óra) FÁJLTÖMÖRÍTŐ PROGRAMOK KEZELÉSE A tömörítés fogalma A tömörítő eljárás során az állomány felhasználásának szempontjából két műveletet hajtunk végre. Az állományok
RészletesebbenCsatlakozás az IBM i rendszerhez IBM i Access for Windows: Telepítés és beállítás
IBM i Csatlakozás az IBM i rendszerhez IBM i Access for Windows: Telepítés és beállítás 7.1 IBM i Csatlakozás az IBM i rendszerhez IBM i Access for Windows: Telepítés és beállítás 7.1 Megjegyzés A kiadvány
RészletesebbenAZ 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.
RészletesebbenAlkalmazott modul: Programozás
Eötvös Loránd Tudományegyetem Informatikai Kar Alkalmazott modul: Programozás Feladatgyűjtemény Összeállította: Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Frissítve: 2015.
RészletesebbenEszterházy Károly Főiskola Matematikai és Informatikai Intézet. Adatszerkezetek és algoritmusok. Geda Gábor
Eszterházy Károly Főiskola Matematikai és Informatikai Intézet Adatszerkezetek és algoritmusok Geda Gábor Eger, 2012 Készült a TÁMOP-4.1.2-08/1/A-2009-0038 támogatásával. 2 Tartalomjegyzék 1. Előszó 4
RészletesebbenMáté: Számítógép architektúrák 2010.12.01.
Máté: Számítógép architektúrák... A feltételes ugró utasítások eldugaszolják a csővezetéket Feltételes végrehajtás (5.5 5. ábra): Feltételes végrehajtás Predikáció ió C pr. rész Általános assembly Feltételes
RészletesebbenPrezentáció használata
Prezentáció használata A számítógép alkalmazásának egyik lehetséges területe, amikor a számítógépet mint segédeszközt hívjuk segítségül, annak érdekében, hogy előadásunk vagy ismertetőnk során elhangzottakat
RészletesebbenDr. Pétery Kristóf: AutoCAD LT 2007 Fóliák, tulajdonságok
2 Minden jog fenntartva, beleértve bárminemű sokszorosítás, másolás és közlés jogát is. Kiadja a Mercator Stúdió Felelős kiadó a Mercator Stúdió vezetője Lektor: Gál Veronika Szerkesztő: Pétery István
RészletesebbenC programnyelv 1. Kedves Kollegina, Kolléga!
C programnyelv 1 Kedves Kollegina, Kolléga! A jegyzetet Önnek készítettem azért, hogy referencia anyaga legyen a Programnyelv és a Programfejlesztés tárgyakhoz. Szeretném a segítségét igénybe venni abból
RészletesebbenProgramozás III CSOMAGOK. Az összetartozó osztályok és interfészek egy csomagba (package) kerülnek.
Programozás III CSOMAGOK Az összetartozó osztályok és interfészek egy csomagba (package) kerülnek. A Java is csomagok halmaza: csomagokban van a fejlesztő környezet és az osztálykönyvtárak is: rt.jar fájl
RészletesebbenDr. Pétery Kristóf: Word 2003 magyar nyelvű változat
2 Minden jog fenntartva, beleértve bárminemű sokszorosítás, másolás és közlés jogát is. Kiadja a Mercator Stúdió Felelős kiadó a Mercator Stúdió vezetője Lektor: Gál Veronika Szerkesztő: Pétery István
RészletesebbenTestLine - Szoftverek, vírusok fakt Minta feladatsor
2016.05.29. 17:39:59 Ha megvásárolunk egy szoftvert, akkor nem csak a felhasználás jogát vesszük meg, 1. hanem a tulajdonjogot is. (1 helyes válasz) 0:21 gyszerű Igaz Hamis Makróvírusok (2 jó válasz) 2.
RészletesebbenBártfai Barnabás. Office 2010
Bártfai Barnabás Office 2010 BBS-INFO Kiadó, 2011. 4 Office 2010 Bártfai Barnabás, 2011. Minden jog fenntartva! A könyv vagy annak oldalainak másolása, sokszorosítása csak a szerző írásbeli hozzájárulásával
RészletesebbenOperációs rendszerek - bevezető
Operációs rendszerek - bevezető Szabó Adrienn Informatika 1 2011 őszi félév Tartalom Operációs rendszerekről általában Bevezető Operációs rendszerek A Windows története Kezdetek Sikerek A Linux története
Részletesebbenma és holnap Szabad Szoftver Konferencia 2010. október 8. Szeged Szalai Kálmán előadása
ma és holnap Szabad Szoftver Konferencia 2010. október 8. Szeged Szalai Kálmán előadása tegnap, LibreOffice holnap Szabad Szoftver Konferencia 2010. október 8. Szeged Szalai Kálmán előadása Az előadóról
RészletesebbenTartalomjegyzék 5 TARTALOMJEGYZÉK
Tartalomjegyzék 5 TARTALOMJEGYZÉK Bevezető... 13 1. Általános tudnivalók... 14 1.1. Az operációs rendszer... 14 1.2. Tudnivalók a Windows-ról... 15 1.2.1. Honnan kapta nevét a Windows?... 15 1.2.2. A Windows,
RészletesebbenInformatika. Középszintű érettségi vizsga témakörök. 1. Információs társadalom. 2. Informatikai alapismeretek hardver
Informatika Középszintű érettségi vizsga témakörök 1. Információs társadalom 1.1. A kommunikáció 1.1.1. A kommunikáció általános modellje Ismerje a kommunikáció modelljét és tudjon gyakorlati példákat
RészletesebbenAz MS Access adatbázis-kezelő program
Az adatbázis-kezelő program A tananyagban az alapfogalmak és a tervezési megoldások megismerése után a gyakorlatban is elkészítünk (számítógépes) adatbázisokat. A számítógépes adatbázisok létrehozásához,
RészletesebbenInformatikus informatikus 54 481 04 0010 54 07 Térinformatikus Informatikus T 1/9
A 10/2007 (II. 27.) SzMM rendelettel módosított 1/2006 (II. 17.) OM rendelet 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 alapján. Szakképesítés,
RészletesebbenSzoftver alapfogalmak
Szoftver alapfogalmak Azon a programok algoritmusok, eljárások, és hozzájuk tartozó dokumentációk összessége, melyek a számítógép működéséhez szükségesek. (nem kézzel fogható, szellemi termékek) Algoritmus
Részletesebbenerettsegizz.com Érettségi tételek
erettsegizz.com Érettségi tételek Az informatika fejlődéstörténete, jogi ismeretek Információ és társadalom Az informatika fejlődéstörténete a XX. Században, napjainkban Jogi ismeretek, szerzőjog, szoftver
RészletesebbenFELHASZNÁLÓI KÉZIKÖNYV
FELHASZNÁLÓI KÉZIKÖNYV srftp v2.1.4 A SoftReal Automatizált Fájl Átvitele Ezen dokumentumban szereplő információk külön értesítés nélkül változhatnak, és a SoftReal Kft. részéről semmilyen kötelezettséget
RészletesebbenAdatbázisok I 2012.05.11. Adatmodellek komponensei. Adatbázis modellek típusai. Adatbázisrendszer-specifikus tervezés
Adatbázisok I Szemantikai adatmodellek Szendrői Etelka PTE-PMMK Rendszer és Szoftvertechnológiai Tanszék szendroi@pmmk.pte.hu Adatmodellek komponensei Adatmodell: matematikai formalizmus, mely a valóság
RészletesebbenA hierarchikus adatbázis struktúra jellemzői
A hierarchikus adatbázis struktúra jellemzői Az első adatbázis-kezelő rendszerek a hierarchikus modellen alapultak. Ennek az volt a magyarázata, hogy az élet sok területén első közelítésben elég jól lehet
RészletesebbenRelációs algebra áttekintés és egy táblára vonatkozó lekérdezések
Relációs algebra áttekintés és egy táblára vonatkozó lekérdezések Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 2.4. Relációs algebra (áttekintés) 5.1.
RészletesebbenProgramozás I. Metódusok C#-ban Egyszerű programozási tételek. Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu
Programozás I. 3. előadás Tömbök a C#-ban Metódusok C#-ban Egyszerű programozási tételek Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar Szoftvertechnológia
RészletesebbenAccess 2013 Lekérdezéstől testre szabásig TARTALOM 1
TARTALOM 1 2 TARTALOM Minden jog fenntartva, beleértve bárminemű sokszorosítás, másolás és közlés jogát is. Kiadja a Mercator Stúdió Felelős kiadó a Mercator Stúdió vezetője Lektor: Pétery Tamás Szerkesztő:
RészletesebbenMicrosoft Office 2000
Dr. Pétery Kristóf Microsoft Mercator Stúdió 2011. Minden jog fenntartva, beleértve bárminemű sokszorosítás, másolás és közlés jogát is. Kiadja a Mercator Stúdió Felelős kiadó a Mercator Stúdió vezetője
RészletesebbenA Gyorstelepítés rövid leírását lásd a hátsó borítón.
Felhasználói kézikönyv A Gyorstelepítés rövid leírását lásd a hátsó borítón. Mindenki másnál több felhasználót védünk a legtöbb online fenyegetéssel szemben. Környezetünk védelme mindannyiunk érdeke. A
RészletesebbenSzoftverprototípus készítése. Szoftverprototípus készítése. Szoftverprototípus készítése 2011.10.23.
Szoftverprototípus készítése Dr. Mileff Péter A prototípus fogalma: a szoftverrendszer kezdeti verziója Mi a célja? Arra használják, hogy bemutassák a koncepciókat, kipróbálják a tervezési opciókat, jobban
RészletesebbenKaspersky Internet Security Felhasználói útmutató
Kaspersky Internet Security Felhasználói útmutató ALKALMAZÁS VERZIÓJA: 16.0 Tisztelt Felhasználó! Köszönjük, hogy termékünket választotta. Reméljük, hogy ez a dokumentum segít a munkájában, és választ
RészletesebbenBevezetés a C++ programozási nyelvbe
Miskolci Egyetem Általános Informatikai Tanszék Bevezetés a C++ programozási nyelvbe Oktatási segédlet Összeállította: Ficsor Lajos 2001. 1. A C++ programozási nyelv története A C++ programozási nyelv
RészletesebbenGate Control okostelefon-alkalmazás
Gate Control okostelefon-alkalmazás GSM Gate Control Pro 20/1000 modulokhoz HASZNÁLATI ÚTMUTATÓ v1.1.1.0 és újabb alkalmazásverzióhoz Dokumentumverzió: v1.5 2016.05.18 Termék rövid leírása A GSM Gate Control
RészletesebbenTERMÉKTERVEZÉS PANDUR BÉLA TERMÉKTERVEZÉS
TERMÉKTERVEZÉS A SZOFTVERFEJLESZTÉS STRUKTÚRÁJA Szoftverfejlesztés: magában foglalja mindazon elveket, módszereket és eszközöket, amelyek célja a programok megbízható és hatékony elkészítésének támogatása.
RészletesebbenAz EuroOffice irodai programcsomag
Az EuroOffice irodai programcsomag Az EuroOffice egy ingyenes és nyílt forráskódú, az 1479/2011-es kormányhatározatnak 100%-ban eleget tevő, gyártói támogatással rendelkező irodai szoftver, amely az OpenOffice.or
RészletesebbenSzámítógép rendszerek. 4. óra. UNIX fejlődéstörténet
Számítógép rendszerek 4. óra UNIX fejlődéstörténet 1960-as évek A Massachusetts Institute of Technology, az AT&T Bell Labs, és a General Electric közösen fejleszti a Multics (Multiplexed Information and
RészletesebbenMercator Stúdió 2010.
Dr. Pétery Kristóf ECDL és számítógép kezelői vizsga előkészítő az NJSZT Syllabus 4 alapján Windows XP és Office 2003 használatával Mercator Stúdió 2010. Minden jog fenntartva, beleértve bárminemű sokszorosítás,
Részletesebben54 481 01 1000 00 00 CAD-CAM
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észletesebbenINFORMATIKAI ALAPISMERETEK
ÉRETTSÉGI VIZSGA 2008. május 26. INFORMATIKAI ALAPISMERETEK EMELT SZINTŰ ÍRÁSBELI VIZSGA 2008. május 26. 8:00 I. Időtartam: 60 perc Pótlapok száma Tisztázati Piszkozati OKTATÁSI ÉS KULTURÁLIS MINISZTÉRIUM
RészletesebbenBlonde. Szépségszalon, Szolárium, Spa, Fitness. Ügyviteli Rendszer. Funkcionális Specifikáció. Verzió 1.1
Blonde Szépségszalon, Szolárium, Spa, Fitness Ügyviteli Rendszer Funkcionális Specifikáció Verzió 1.1 Blonde Funkcionális Specifikáció v1.1 2012.01.12 1 Tartalomjegyzék 1. Bevezetés 3 1.1. A dokumentum
RészletesebbenOktatáskutató és Fejlesztő Intézet TÁMOP-3.1.1-11/1-2012-0001 XXI. századi közoktatás (fejlesztés, koordináció) II. szakasz. Fejlesztőfeladatok
Oktatáskutató és Fejlesztő Intézet TÁMOP-3.1.1-11/1-2012-0001 XXI. századi közoktatás (fejlesztés, koordináció) II. szakasz Fejlesztőfeladatok MATEMATIKA 4. szint 2015 Oktatáskutató és Fejlesztő Intézet
Részletesebben8. osztály. Felhasznált tankönyv: Pedellus Tankönyvkiadó, Debrecen, 2009; 2009
8. osztály Évi óraszám: 36 óra Órakeret Javasolt óraszámfelosztás témakörök szerint: I.Táblázatkezelés 10 óra II. Szövegszerkesztés 8 óra III.Internet, adatgyűjtés 5 óra IV.Algoritmizálás 4 óra V.Adatbázis
RészletesebbenBánsághi Anna anna.bansaghi@mamikon.net. 1 of 67
SZOFTVERTECHNOLÓGIA Bánsághi Anna anna.bansaghi@mamikon.net 5. ELŐADÁS - RENDSZERTERVEZÉS 1 1 of 67 TEMATIKA I. SZOFTVERTECHNOLÓGIA ALTERÜLETEI II. KÖVETELMÉNY MENEDZSMENT III. RENDSZERMODELLEK IV. RENDSZERARCHITEKTÚRÁK
RészletesebbenA VERTESZ VEGA 2.0 energiagazdálkodó és SCADA rendszere
A VERTESZ VEGA 2.0 energiagazdálkodó és SCADA rendszere www.vertesz.hu 1 VEGA 2.0 Energiagazdálkodó rendszer A VERTESZ Elektronika VEGA 2.0 energiagazdálkodó rendszerének feladata, hogy segítse a gazdasági
RészletesebbenIBM Data Server ügyfelek telepítése
IBM DB2 10.1 for Linux, UNIX, Windows IBM Data Server ügyfelek telepítése GC22-1152-00 IBM DB2 10.1 for Linux, UNIX, Windows IBM Data Server ügyfelek telepítése GC22-1152-00 Megjegyzés Az információk
RészletesebbenA Gyorstelepítés rövid leírását lásd a hátsó borítón.
Felhasználói kézikönyv A Gyorstelepítés rövid leírását lásd a hátsó borítón. Környezetünk védelme mindannyiunk érdeke. A Symantec eltávolította a borítót erről a kézikönyvről, hogy csökkentse termékei
RészletesebbenNemzeti Alaptanterv Informatika műveltségterület Munkaanyag. 2011. március
Nemzeti Alaptanterv Informatika műveltségterület Munkaanyag 2011. március 1 Informatika Alapelvek, célok Az információ megszerzése, megértése, feldolgozása és felhasználása, vagyis az információs műveltség
RészletesebbenElôszó a magyar kiadáshoz A Kiadó Elôszó
Elôszó a magyar kiadáshoz A C programnyelvet eredetileg a Bell Laboratóriumban az UNIX operációs rendszerhez, az alatt fejlesztették ki PDP-11_ számítógépen. A kifejlesztése óta eltelt évek során bebizonyosodott,
RészletesebbenFordítóprogramok felépítése, az egyes programok feladata. A következő jelölésmódot használjuk: program(bemenet)(kimenet)
Fordítóprogramok. (Fordítóprogramok felépítése, az egyes komponensek feladata. A lexikáliselemző működése, implementációja. Szintaktikus elemző algoritmusok csoportosítása, összehasonlítása; létrehozásuk
RészletesebbenHelyzet: 1853, London, Soho, kolerajárvány, 700 halott Kérdés: honnan ered a járvány? Adatok: az elhunytak neve, lakhelye Megoldás dr.
Alapfogalmak... - az információáradat idejét éljük - az összes információ több mint 2/3-a valamilyen módon helyhez kötött - a mindennapi életben feltett kérdések nagy része helyhez kötött Hol van a legjobb
RészletesebbenTanúsítványok használata StarOffice 8 alkalmazásból
Tanúsítványok használata StarOffice 8 alkalmazásból Windows tanúsítványtárban és kriptográfia eszközökön található tanúsítványok esetén A termék támogatásának befejezése miatt a dokumentáció nem kerül
RészletesebbenADATBÁZIS-KEZELÉS ALAPOK I.
ADATBÁZIS-KEZELÉS ALAPOK I. AZ ADATBÁZIS FOGALMA Az adatbázis tágabb értelemben egy olyan adathalmaz, amelynek elemei egy meghatározott tulajdonságuk alapján összetartozónak tekinthetők. Az adatbázis-kezelőknek
RészletesebbenOperációs rendszer ismeretek
2014 Operációs rendszer ismeretek A számítógépes munka feltételei Hardver: a számítógépet alkotó mechanikus és elektronikus eszközök összefoglaló neve. Szoftver: a számítógépet működtető programok. Operációs
RészletesebbenInformatika-érettségi_emelt 11.-12. évfolyam Informatika
11. évfolyam A tanév célja a középszintű érettségire való felkészítés, az emelt szintű érettségire való felkészülésnek a megalapozása. A középszintű érettségi elősegíti az eligazodást és a munkába állást
Részletesebben1. BEVEZETÉS... 5 2. A RENDSZER ELEMEI, ARCHITEKTÚRÁJA... 5
EntryProx Beléptető Rendszer FELHASZNÁLÓI KÉZIKÖNYV v.1.0.7. EntryProx Beléptető Rendszer TARTALOM 1. BEVEZETÉS... 5 2. A RENDSZER ELEMEI, ARCHITEKTÚRÁJA... 5 3. A RENDSZER ÜZEMBE HELYEZÉSE... 7 3.1. Az
RészletesebbenMinden jog fenntartva, beleértve bárminemű sokszorosítás, másolás és közlés jogát is.
2 Minden jog fenntartva, beleértve bárminemű sokszorosítás, másolás és közlés jogát is. Kiadja a Mercator Stúdió Felelős kiadó a Mercator Stúdió vezetője Lektor: Pétery Dorottya Szerkesztő: Pétery István
RészletesebbenAdatbázisok* tulajdonságai
Gazdasági folyamatok térbeli elemzése 4. előadás 2010. 10. 05. Adatbázisok* tulajdonságai Rendezett, logikailag összefüggő és meghatározott szempont szerint tárolt adatok és/vagy információk halmaza Az
RészletesebbenINFORMATIKA ZÁRÓSZIGORLAT TEMATIKA
INFORMATIKA ZÁRÓSZIGORLAT TEMATIKA 1. a) A Neumann-elvű számítógép: CPU, Neumann ciklus, operatív memória, I/O. A DMA és regiszterei, IRQ és megszakításkezelés, a memóriába ágyazott és a külön kezelt perifériacímzés.
RészletesebbenSZÉCHENYI ISTVÁN EGYETEM
SZÉCHENYI ISTVÁN EGYETEM JEDLIK ÁNYOS GÉPÉSZ-, INFORMATIKAI ÉS VILLAMOSMÉRNÖKI INTÉZET INFORMATIKA TANSZÉK A féléves programozási feladatok készítésének általános szabályai INFORMATIKA TANSZÉK 2011 Tartalomjegyzék
RészletesebbenOperációs rendszerek. A Windows NT felépítése
Operációs rendszerek A Windows NT felépítése A Windows NT 1996: NT 4.0. Felépítésében is új operációs rendszer: New Technology (NT). 32-bites Windows-os rendszerek felváltása. Windows 2000: NT alapú. Operációs
RészletesebbenAdatstruktúrák Algoritmusok Objektumok
Adatstruktúrák Algoritmusok Objektumok A számítógépes problémamegoldás modellezésének módszerei. Programozási elvek és módszerek: imperatív, strukturált, moduláris, objektumorientált programozás. Programozási
RészletesebbenELŐADÁS 2016-01-05 SZÁMÍTÓGÉP MŰKÖDÉSE FIZIKA ÉS INFORMATIKA
ELŐADÁS 2016-01-05 SZÁMÍTÓGÉP MŰKÖDÉSE FIZIKA ÉS INFORMATIKA A PC FIZIKAI KIÉPÍTÉSÉNEK ALAPELEMEI Chip (lapka) Mikroprocesszor (CPU) Integrált áramköri lapok: alaplap, bővítőkártyák SZÁMÍTÓGÉP FELÉPÍTÉSE
RészletesebbenSIRIUS SOROZAT. On-line UPS 10 20 kva egy/egy fázisú és három/egy fázisú 10 40 kva és 100 120 kva három/három fázisú
SIRIUS SOROZAT On-line UPS 10 20 kva egy/egy fázisú és három/egy fázisú 10 40 kva és 100 120 kva három/három fázisú HELYI ÉRDEKŰ HÁLÓZAT (LAN) PÉNZTÁR GÉPEK IPARI PLC-K SZERVEREK TELEKOMMUNIKÁCIÓS ESZKÖZÖK
Részletesebben1. oldal, összesen: 29 oldal
1. oldal, összesen: 29 oldal Bevezetõ AXEL PRO Nyomtatványkitöltõ Program Az AXEL PRO Nyomtatványkitöltõ egy olyan innovatív, professzionális nyomtatványkitöltõ és dokumentum-szerkesztõ program, mellyel
RészletesebbenDr. Illés Zoltán zoltan.illes@elte.hu
Dr. Illés Zoltán zoltan.illes@elte.hu Operációs rendszerek kialakulása Op. Rendszer fogalmak, struktúrák Fájlok, könyvtárak, fájlrendszerek Folyamatok Folyamatok kommunikációja Kritikus szekciók, szemaforok.
RészletesebbenUtasítások. Excel VII. Visual Basic programozás alapok. A Visual Basic-kel megoldható feladatok típusai Objektumok, változók Alprogramok
Alkalmazott Informatikai Intézeti Tanszék MŰSZAKI INFORMATIKA Dr.Dudás László 0. Excel VII. Visual Basic programozás alapok A Visual Basic-kel megoldható feladatok típusai Objektumok, változók Alprogramok
RészletesebbenErdélyi Magyar TudományEgyetem (EMTE
TARTALOM: Általánosságok Algoritmusok ábrázolása: Matematikai-logikai nyelvezet Pszeudokód Függőleges logikai sémák Vízszintes logikai sémák Fastruktúrák Döntési táblák 1 Általánosságok 1. Algoritmizálunk
RészletesebbenA Polycom RealPresence Group Series készülékek és tartozékok szoftverének és opcióinak telepítése. Áttekintés
A Polycom RealPresence Group Series készülékek és tartozékok szoftverének és opcióinak telepítése Áttekintés A Polycom szoftver frissítésével vagy további rendszeropciók vásárlásával az Önök szervezete
RészletesebbenTöltőfunkció Kezelési Utasítás
METRISoft Mérleggyártó KFT PortaWin (PW2) Jármű mérlegelő program 6800 Hódmezővásárhely Jókai u. 30 Telefon: (62) 246-657, Fax: (62) 249-765 e-mail: merleg@metrisoft.hu Web: http://www.metrisoft.hu Módosítva:
Részletesebben