Bevezetés a programozásba középiskolásoknak

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

Download "Bevezetés a programozásba középiskolásoknak"

Átírás

1 1 I. Bevezeto ismeretek Fazekas Ildikó Bevezetés a programozásba középiskolásoknak mobidiák könyvtár

2 2 I. Bevezeto ismeretek mobidiák könyvtár SOROZATSZERKESZTO Fazekas István

3 3 I. Bevezeto ismeretek Fazekas Ildikó Bevezetés a programozásba középiskolásoknak mobidiák könyvtár Debreceni Egyetem

4 4 I. Bevezeto ismeretek Copyright Fazekas Ildikó, 2005 Copyright elektronikus közlés mobidiák könyvtár, 2005 mobidiák könyvtár Debreceni Egyetem Informatikai Kar 4010 Debrecen, Pf A mu egyéni tanulmányozás céljára szabadon letöltheto. Minden egyéb felhasználás csak a szerzo elozetes írásbeli engedélyével történhet. A mu A mobidiák önszervezo mobil portál (IKTA, OMFB-00373/2003) projekt keretében készült.

5 5 I. Bevezeto ismeretek Tartalomjegyzék Bevezetés 5 I. Bevezeto ismeretek 6 I. 1 Elvi felépítés...6 I. 2 Neumann-elvek...8 I. 3 Adatok tárolása...9 I. 4 Numerikus adatok tárolás...11 I Fixpontos számábrázolás...11 I Túlcsordulás és alulcsordulás...12 I Lebegopontos számábrázolás...15 I. 5 Karakteres adatok ábrázolása...16 II. Algoritmizálás és bevezetés a C nyelvbe...17 II.1 Algoritmusok...17 II.2 Algoritmusleíró eszközök...20 II.2.1 Folyamatábra...20 II.2.2 Mondatszeru leírás...23 II.2.3 Stuktogram...24 II.3 Ismerkedés a C nyelvvel...26 II.3.1 A programozási nyelvekrol...26 II.3.2 A BORLANDC keretrendszere...27 II.3.3 Mit kell tudni a C programokról?...27 II.3.4 A printf() függvény...31 II.3.5 Változók...33 II.3.6 A C nyelv típusai...34 II.3.7 Adatok bevitele billentyuzetrol...36 II.3.8 Operátorok...40 II.4 Elágazások a C nyelvben...42 II.4.1 Az if utasítás...42 II.4.2 Gyakorló feladatok elágazásokra...47 III. Megoldások...49 III.1 Bevezeto ismeretek...49 III.2 Ismerkedés a C nyelvvel...52 III.3 Elágazások a C nyelvben...55

6 6 I. Bevezeto ismeretek Bevezetés Ez a segédanyag azoknak a középiskolásoknak szól, akik még semmit nem tudnak a programozásról, de szeretnének vele megismerkedni. Az anyag elso része olyan ismereteket tartalmaz, amely ismeretek nem feltétlenül szükségesek az anyag további részeinek megértéséhez, de jelentosen megkönnyíthetik a megértést. A programozási ismeretek elsajátításához a C nyelvet használjuk. Természetesen a segédanyag azoknak is hasznos lehet, akik már jártasak a programozásban, és a C nyelvvel szeretnének megismerkedni.

7 6 I. Bevezeto ismeretek I. Bevezeto ismeretek I.1 Elvi felépítés A számítógépet napjainkban az élet nagyon sok területén használják az emberek. Nemcsak munkájukhoz, hanem egyre gyakrabban szórakozásra, kikapcsolódásra is. Lehetetlen elvárni tolük, hogy ismerjék a számítógépet teljes egészében: felépítését, muködését, a muködését vezérlo elveket, a számítógép programozását. Nagyon sokan csak azt tudják, hogyan kell bekapcsolni, és hogyan tudják elindítani a számukra szükséges programot (programokat), és hogyan használják azt. És ez így is van rendjén. Ahhoz, hogy tudjunk kávét fozni, nem szükséges ismerni sem a kávéfozo muködési elvét, sem a szerkezetét. Azért mégis jó lenne tisztázni, mi is a számítógép és mire lehet használni. Ahány embert megkérdezünk, annyiféle választ fogunk hallani. Lesz, aki munkaeszközként beszél róla, lesz, aki játékeszközként határozza meg, lesz, aki a szórakoztató eszközök közé sorolja. Mindenki a saját felhasználása szempontjából fog róla beszélni. Többen lesznek olyanok, akik megemlítik, hogy problémáik megoldásához hívják segítségül a számítógépet. A számítógép azonban nem tud problémát megoldani. Minden probléma még a legegyszerubb megoldásához is gondolkodásra van szükség. A számítógép, bármennyire intelligensnek nevezik is, nem tud gondolkodni. Csak azokat a feladatokat tudja megoldani, amelyekre megtanították. Kétségtelen azonban, hogy nagyon sok ilyen feladat van. Ahhoz, hogy a számítógép megoldja a feladatokat megfelelo formában kell a megoldás lépéseit közölni vele. A megoldás menetét olyan rendszerben kell közölni vele, amelyet a számítógép értelmezni tud. A megoldás menete az algoritmus, azaz a megoldás lépéseinek egymást követo rendje. Fontos, hogy az algoritmust pontosan írjuk le, hiszen a számítógép azokat a parancsokat hajtja végre, amelyeket közölnek vele. Hibás algoritmusnak kiszámíthatatlan következményei lehetnek. Ahhoz, hogy megfelelo algoritmust írjunk, nem kell muszaki pontossággal ismernünk a számítógépet, de a számítógép felépítésével legalább elméleti modell szintjén tisztában kell lennünk. Többféle felépítésu számítógép van. Tekintsük az eléggé elterjedt sín- v. buszrendszeruét: 1. ábra Számítógép elvi felépítése

8 7 I. Bevezeto ismeretek A feladatmegoldások szempontjából a számítógép muködését érdemes más szempontból megközelíteni: 2. ábra A számítógép felépítése a programok bonyolultsága alapján Mielott a feladatok megoldásának a módszereire térnénk, azaz algoritmusok készítésének problémáival foglalkoznánk, elevenítsünk fel néhány dolgot! I.2 Neumann elvek A számítógép legyen soros muködésu A számítógép legyen teljesen elektronikus és a kettes számrendszert használja! A számítógép belso memóriát tartalmazzon! Érvényesüljön a tárolt program elve! A számítógép legyen univerzális!

9 8 I. Bevezeto ismeretek I.3 Adatok tárolása Ismételjük át az adatok tárolásáról tanultakat: A számítógépen a legkisebb tárolási egység a byte, amely 8 bitbol áll. Lehet a byte-nál nagyobb egységeket szervezni: o félszó - 2 byte o szó - 4 byte o dupla szó - 8 byte Az adatok bináris (kettes számrendszerben felírt) formában kerülnek tárolásra, ezért nézzük át a kettes számrendszerrol tanultakat! Tetszoleges n jegyu, k alapú számrendszerbeli szám felírható a alakban, ahol 0 a i < k, a szám számjegyei. n 1 n k +a k a k +a k +a k 1 2 n 2 n 1 n Enne megfeleloen egy bináris szám a 1. 2 n-1 + a 2. 2 n a n a n alakban írható fel, ahol a i = 0 vagy a i = 1. Pl.: az bináris szám fent említett alakja Ezt használjuk fel számoknak egyik számrendszerbol másikba valóátírásához. Ha a fenti, kijelölt muveleteket végrehajtjuk, megkapjuk az bináris szám decimális (tízes számrendszerbeli) alakját: = 109 Ellenkezo irányú átalakítás: a decimális számot addig osztjuk kettovel, amíg hányadosként 0-t nem kapunk, s a maradékokat fordított sorrendben felírva áll elo a szám bináris alakja: A törtek átalakítása is hasonló módon történik. A bináris törtet is helyi érték helyesen írjuk fel. Pl.: a bináris 0,101 = Elvégezve a kijelölt muveletet, a 0,625 decimális számot kapjuk. A decimális törtet pedig 2-vel való szorzás segítségével alakíthatjuk át bináris törtté. A tört részt szorozzuk 2-vel és maradékként az egész részt tekintjük, s ez adja majd a bináris törtet. Az esetek túlnyomó részében végtelen törtet fogunk kapni. 1. példa Alakítsuk át a 0,63 decimális törtet bináris törtté! 0,63. 2 = 1,26 0,26. 2 = 0, 52 0,52. 2 = 1, 04 0,04. 2 = 0,08.

10 9 I. Bevezeto ismeretek a bináris alak 0, feladat a) Alakítsa át az alábbi decimális számokat bináris számokká: 23,48 45,5 b) Alakítsa át az alábbi bináris számokat decimális számokká: , ,111 Az elozoekben elmondott elvet követjük akkor is, ha az átalakítást a decimális és a hexadecimális (16-os számrendszerbeli) számok között végezzük. A hexadecimális számok leírására 16-féle jelet használunk: 0,, 9, A, B, C, D, E, F, ahol a betuk rendre 10-et, 11-et, 12-ot, 13-at, 14-et, 15-öt jelölnek. Pl.: az 1496 decimális szám hexadecimálissá való átalakítása: D8 93 D A 8E13 hexadecimális szám decimálissá alakítása: E = = Gyakran elofordul, hogy az átalakítást bináris és hexadecimális számok között kell elvégezni. Megoldásként adódik, hogy közbeiktatjuk a decimális számmá való átalakítást, de ez kissé hosszadalmas megoldás. Kihasználhatjuk a 2 4 = 16 összefüggést. A hexadecimális számnak binárissá való átalakításakor a hexadecimális szám minden számjegyét négyjegyu bináris számmá írjuk át, s ezeket egymás mellé írva kapjuk végül a kívánt bináris számot. 2. példa Alakítsuk bináris számmá a 8E13 hexadecimális számot! 8 E ? Az ellenkezo irányú átalakításnál binárisból hexadecimálist a bináris számot jobbról kezdve négyes csoportokba osztjuk, s minden csoportot átírunk egy hexadecimális számjeggyé, majd ezeket egymás mellé leírva kapjuk a számot. 3. példa Alakítsuk hexadecimális számmá az bináris számot! A E 7? 1AE7

11 10 I. Bevezeto ismeretek 2. feladat a) Alakítsa át az alábbi hexadecimális számokat bináris számokká! 8F12 D4C9 b) Alakítsa át az alábbi bináris számokat hexadecimális számokká! A bináris és hexadecimális számok körében a négy alapmuveletet ugyanolyan elv alapján végezhetjük, mint a tízes számrendszerben. Mivel a szorzás, osztás és kivonás is visszavezetheto az összeadásra, ezért csak az összeadás muveletét nézzük meg az említett két számrendszerben. Az összeadás elve: az összeadandó számok azonos helyi értéku számjegyeit összeadjuk, az összeget elosztva a számrendszer alapjával a maradék lesz az adott helyi értéku szám, az egész részt pedig továbbvisszük a következo helyi értékre. 4. példa Tekintsük az alábbi bináris összeadást, és az alábbi hexadecimális összeadást! 3. feladat a) Végezze el az alábbi bináris összeadásokat! b) Végezze el az alábbi hexadecimális muveleteket! 4F C82 F849 +B9DA +ABCD B6 +8C27 120DD Tehát számítógépen minden adatot bináris formában tárolunk. Az adatok tárolását szokás az adatok ábrázolásának is nevezni. Az adatokat az adatokat leíró jelek alapján két nagy csoportba oszthatjuk: numerikus adatok csak számjegyeket tartalmaznak és matematikai muveleteket lehet velük végezni. alfanumerikus karakteres adatok tetszoleges jeleket tartalmazhatnak.

12 11 I. Bevezeto ismeretek I.4 Numerikus adatok ábrázolása A numerikus, azaz számadatokon belül külön foglalkozunk az egész és a valós számokkal, mivel a számítógépen való ábrázolásuk is különbözo módon történik. Tekintsük eloször az egész számok ábrázolását! I.4.1 Fixpontos számábrázolás Az elnevezés onnan ered, hogy a bináris pont fix, azaz rögzített helyen van, általában az utolsó pozíció után. A pozitív számokat bináris alakjukban ábrázoljuk, és ha a szám az adott szóhosszt nem tölti ki, akkor a bináris jelsorozatot balról 0-kkal kell kiegészíteni. Pl.: ábrázoljuk a 35 decimális számot 1 byte-on! 35? 10011? Tegyük meg ugyanezt félszón, azaz 2 byte-on! Egész szám lehet pozitív és negatív is. Ezek megkülönböztetésére az elojel bit szolgál. Minden szóhosszúság esetén a bal szélso bit az elojel bit. Ennek tartalma pozitív számok esetén 0, negatív számok esetén 1. Határozzuk meg ezek után, hogy 1 byte-on melyik a legnagyobb ábrázolható pozitív szám! 0 A 0. bit ebben az esetben is az elojel bit lesz (a bitek számozása balról jobbra történik és 0-val kezdodik), tehát 7 bit marad magára a szám ábrázolására. Minden biten 2 jelet ábrázolhatunk, 0-át és 1-et. Tehát egy biten két szám ábrázolható, a 0 és az 1. Két biten a 00, 01, 10 és 11 számokat ábrázolhatjuk, tehát már összesen 4 számot. Három biten pedig a 000, 001, 010, 011, 100, 101, 110, 111 számokat, tehát már nyolc számot. Ha megfigyeljük, akkor látjuk, hogy 4 = 2 2, 8 = 2 3. Így 7 biten 2 7- féle számot ábrázolhatunk, azaz összesen 128-at. Melyik lesz a legnagyobb szám? A 127 (hiszen a 0-át is kell ábrázolni), azaz amikor mind a 7 bit tartalma 1. Tehát 1 byte-on féle számot tudunk ábrázolni. Ennek megfeleloen fél szó hosszúságon = szó hosszúságon = dupla szó hosszúságon = A negatív számokat kettes komplemensükkel ábrázoljuk. Ehhez tisztázzuk, mi is az a komplemens! Tekintsük a decimális 234 számot és vonjuk ki bol! Az eredmény A 766-ot a 234 szám tízes komplemensének nevezzük. Tehát a decimális számok körében egy szám tízes komplemense a számot úgy egészíti ki, hogy a számhoz legközelebbi, tole nagyobb 10 hatványt kapjuk. Pl.: a 2 tízes komplemense 8, mert = 10; 43 tízes komplemense 57, mert = 100; 8342 tízes komplemense 1658, mert =

13 12 I. Bevezeto ismeretek Általában egy p alapú számrendszerben egy szám p-s komplemense a számot úgy egészíti ki, hogy a számhoz legközelebbi, tole nagyobb p hatványt kapjuk. Tehát egy bináris szám 2-es komplemense a számot úgy egészíti ki, hogy a számhoz legközelebbi, tole nagyobb 2 hatványt kapjuk. Pl.: 1 2-es komplemense 1, mert 11 2-es komplemense 1 mert es komplemense 11, mert es komplemense 110, mert Láthatjuk, hogy egy bináris szám 2-es komplemensét úgy kapjuk meg, hogy a szám minden bitjét az ellenkezojére változtatjuk (azaz 0-ból 1 lesz, 1-bol pedig 0), majd az így kapott számhoz hozzáadunk 1-et. 5. példa Ábrázoljuk ezek után a -29-et egy byte-on! Eloször a szám elojel nélküli alakját ábrázoljuk binárisan: , majd képezzük a 2-es komplemensét! Változtassuk meg minden bit tartalmát az ellenkezojére és adjunk hozzá 1-et! Ellenorzés képen, ha ezt hozzáadjuk az eredeti számhoz, a kívánt eredményt kapjuk feladat Ábrázolja az alábbi decimális számokat a megadott hosszúságon! a) -54-et félszó hosszúságon b) -113-at egy byte-on

14 13 I. Bevezeto ismeretek c) -342-ot félszó hosszúságon 5. feladat Mely decimális számokat ábrázoltuk? a) b) c) d) I.4.2 Túlcsordulás és alul csordulás 6. példa Ábrázoljuk egy byte-on a decimális 123-at és 71-et, majd a bináris formákat adjuk össze szintén egy byte-on! 123? ? A 0. bit tartalma 1, tehát az ábrázolt szám negatív, azaz rossz az eredmény. Ok: az eredmény nem fér el egy byte-on. Ha az összeadást elvégezzük, az eredmény 9 jegyu szám lesz, ami nem fér el egy byte-on. Az ilyen esetekben a bal oldali számjegyek maradnak le. Ez okozta a hibás eredményt. Ezt a jelenséget túlcsordulásnak nevezzük. Tehát, ha egy szám nagyobb, mint az adott tárolási egységen ábrázolható legnagyobb szám, akkor a számítógép nem jelez hibát, hanem balról a fölösleges számjegyeket elhagyja. Ez gyakran elofordul számtani muveletek esetén kezdo programozók körében. Erre az esetre az a megoldás, ha nagyobb tárolási egységen ábrázoljuk a számot. Miért is foglalkozunk a komplemensekkel és a túlcsordulással? Ha még nem felejtettük el, az eredeti kiindulásunk az volt, hogy minden muveletet az összeadásra vezetünk vissza, s ezt próbáltuk tenni a kivonással is. 7. példa Végezzük el a decimális számrendszerben a háromjegyu számok körében (csak három számjegyet ábrázolhatok, a többi elvész) a következo kivonást = Az eredmény 591. Másképpen is megtehetem ezt: = ( ) 1000 = = 1591 ez 132 tízes komplemense Azt mondtuk, hogy csak három számjegyet ábrázolhatunk, így az 1 elvész, s az eredmény helyes lesz. Tehát a kivonás helyett a kivonandó komplemensét adtuk a kisebbítendohöz. Ilyen módon a kivonást visszavezettük az összeadásra. A fentiek természetesen minden számrendszerben igazak. Fontos!!!! Ez a módszer csak a túlcsordulás miatt alkalmazható. 8. példa Végezzük el 1 byte-on a következo bináris kivonást!

15 14 I. Bevezeto ismeretek Az elozo gondolatmenetet követve eloször képezzük a kivonandó 2-es komplemensét! Majd a komplemenst adjuk hozzá az eredeti számhoz! túlcsordul Ellenorzés képen alakítsuk át a bináris számokat decimális számokká és ellenorizzük az elvégzett muveletet! Tehát jól számoltunk. 6. feladat ? ? ? 66 Végezzük el az alábbi kivonásokat 2-es számrendszerben azon a tárolási egységen, amelyen a számok ábrázolhatóak. (a)-ban és c)-ben decimális, b)-ben hexadecimális számok olvashatóak.) a) 342 b) F9 c) A -92 I.4.3 Lebegopontos számábrázolás Ezt a fajta ábrázolást a valós számok ábrázolására használjuk. A valós számoknak van egész és tört része. A kérdés az, mennyi helyet hagyjunk az egész résznek és mennyit a tört résznek? Minden decimális szám felírható normál alakban: N = m. 10 k, ahol N a decimális szám m a mantissza, amelyre teljesül, hogy 0 m < 1 k a karakterisztika, amely azt mutatja meg, hogy a tizedesvesszot merre és mennyivel toljuk el. (Ha k > 0, akkor jobbra, ha k < 0, akkor balra) Pl.: 3934 = 0, ,68 = 0, ,00029 = 0, = - 0,

16 15 I. Bevezeto ismeretek - 0,0075 = - 0, A normál alakot bármely számrendszerben használhatjuk, úgy, hogy m-re igaz : 0 m < 1 és k-ra igaz : a számrendszer alapja k Pl.: a bináris számok körében 0, = 0, = - 0, ,001 = 0, , = - 0, A valós számok ábrázolásához legalább 2 byte szükséges, mert külön byte kell a karakterisztikának és külön byte(-ok) a mantisszának. 2 byte-on való ábrázolás: elojel bit elojel bit m k Az ábrázolás lépései: 1. A decimális számot felírjuk bináris alakban 2. Az így kapott bináris számot normál alakra hozzuk. 3. Ábrázoljuk a mantisszát úgy, hogy a 0. bit az elojel bit, de magát a számot jobbra igazítjuk, azaz ha a szám nem tölti ki az egész tároló helyet, akkor balról feltöltjük 0- kkal. 4. A karakterisztikát is bináris alakra hozzuk, és a 3. lépésben leírtakhoz hasonlóan ábrázoljuk 9. példa Ábrázoljuk 0 decimális 113,625 számot! A szám bináris alakja: ,101. A normálalak: 0, A karakterisztika bináris kódja : 111 A mantissza 11 számjegybol áll, így az ábrázolásához legalább két byte szükséges. elojel bit elojel bit m k Megjegyzés: a gyakorlatban nincs olyan tárolási egység, amely 3 byte-ból áll, ezt csak a példa kedvéért tekintettük. Ha a fenti mantisszát egy byte-on próbálnánk ábrázolni, a 11 számjegybol 4-et elveszítenénk. A karakterisztika változatlanul maradna és az eredeti számtól eltéro számot kapnánk eredményül. Azt az esetet, amikor a valós szám mantisszája nem fér ki az adott tárolási egységre, alulcsordulásnak nevezzük. Ez legalább olyan veszélyes bár ritkábban eloforduló hiba, mint a túlcsordulás.

17 16 I. Bevezeto ismeretek I.5 Karakteres adatok ábrázolása Mint korábban említettük, a számítógépen minden adatot bináris formában tárolunk. Ezért az alfanumerikus jeleket is kódolni kell bináris jelsorozattá. Kérdés, hány biten tároljunk egy karaktert? kevés hely kevés jelet tudunk tárolni sok hely pazarlás Az asztali számítógépeken leggyakrabban eloforduló kódrendszer az ASCII kódrendszer: Jellemzoi: American Standard Code for Information Interchange 8 bites rendszer 256 különbözo jel kódolására használható kétszer 128 jelre oszlik: elso 128 jel rögzített második 128 jel változhat, a különbözo országok speciális karaktereit tartalmazhatja. (Pl.: a magyar ékezetes betuket) Mára ez a 256 jel kevésnek bizonyult, ezért inkább kezd elterjedni a UNICODE kódrendszer. Ebben a kódrendszerben minden karaktert két byte-on ábrázolnak és így jel ábrázolására van lehetoség.

18 17 Algoritmizálás és bevezetés a C nyelvbe II. Algoritmizálás és bevezetés a C nyelvbe II. 1 Algoritmusok A bevezeto részben már szóltunk arról, a számítógépet azért találták ki, hogy segítségével problémákat lehessen megoldani. A számítógép nem helyettünk oldja meg a problémát, hiszen nem képes gondolkodni. Arra alkalmas, hogy egyszeru muveletek sorát (a programot) nagy sebességgel és nagy megbízhatósággal végrehajtsa. Az ember feladata az, hogy pontosan határozza meg a feladatot, és ha lehet még pontosabban határozza meg a feladat megoldásához vezeto lépések sorozatát. Azaz tanítsuk meg a számítógépet a megoldás módjára, mondjuk meg neki, hogy lépésrol lépésre mit csináljon. A feladat megoldásához vezeto lépéssorozatot nevezzük algoritmusnak. Az algoritmust valamelyik programnyelvre átírva készítünk programot, amit már a számítógép is ért. 10. példa Paprikás krumplit akarunk fozni és ennek a lépéseit azaz algoritmusát írjuk le! Ha nincs meg otthon minden hozzávaló, akkor menjünk el vásárolni, egyébként készítsük elo a hozzávalókat! Tisztítsuk meg és vágjuk fel a hagymát és a krumplit! Egy elég nagy edénybe tegyünk olajat és tegyük bele a felvágott hagymát! Gyújtsuk meg a gázt! Tegyük fel az edényt! Ismételjük, amíg nem pirul meg a hagyma kavarjuk meg és várjunk fél percet! Tegyük pele a piros paprikát! Kavarjuk össze! Tegyük bele a krumplit és a fuszereket! Öntsük fel vízzel! Ismételjük, amíg nem fott meg a krumpli Kavarjuk meg! Várjunk 2 percet! Tegyük bele a kolbászt (virslit)! Ismételjük, amíg nem fott meg a kolbász (virsli) Kavarjuk meg! Várjunk egy percet! Zárjuk el a gázt! Tálaljunk! A fenti algoritmus alapján megfogalmazhatjuk az algoritmussal szemben támasztott elvárásokat: egyértelmuen meghatározott lépések sorozatából álljon, azaz minden lépésnek legyen egyértelmu rákövetkezoje;

19 18 Algoritmizálás és bevezetés a C nyelvbe véges számú lépés után véget kell, hogy érjen; általános érvényu legyen, azaz ha a problémák csak a bemeno adatokban térnek el, akkor ugyanazzal az algoritmussal megoldhatóak legyenek; ugyanarra a bemeno adatra mindig ugyanazt a megoldást szolgáltassa. Mit is jelentenek ezek az elvárások az elobbi algoritmusunk esetében? egyértelmuen meghatározott lépések sorozatából álljon, azaz minden lépésnek legyen egyértelmu rákövetkezoje; Mindig pontosan tudjuk, hogy mi lesz a következo lépés. Pl.: Nem tehetem eloször a vizet az edénybe és csak utána az olajat és a hagymát, mert akkor elég rossz ízu kotyvalékot kapunk. véges számú lépés után véget kell, hogy érjen; Ez látszólag ellent mond az elozo feltételnek, azaz hogy minden lépésnek legyen egyértelmu rákövetkezoje. Az utolsó lépésnek az az egyértelmu rákövetkezoje, hogy nincs több lépés utána. Nem hagyhatjuk félbe az algoritmust, hogy addig kavarjuk, amíg nem fott meg a kolbász, mert ha nem zárjuk el a gázt, akkor annak beláthatatlan következményei lehetnek. Jobb esetben csak szénné ég az egész, rosszabb esetben a szomszédok hívják a tuzoltókat. általános érvényu legyen, azaz ha a problémák csak a bemeno adatokban térnek el, akkor ugyanazzal az algoritmussal megoldhatóak legyenek; Ha nem krumpli, hagyma, kolbász és fuszerek vannak otthon, hanem mondjuk marha lábszár, zöldség, fuszerek és leves tészta, akkor a fenti algoritmussal a paprikás krumpli helyett igen finom húslevest tudunk fozni. ugyanarra a bemeno adatra mindig ugyanazt a megoldást szolgáltassa. Krumpli, hagyma, kolbász és fuszerek esetén a fenti algoritmus eredménye mindig paprikás krumpli legyen és ne mondjuk kelkáposzta fozelék. A fenti algoritmusban láttuk, hogy a lépéseket különbözo módon hajtottuk végre. Volt, hogy a lépések egymás után szépen sorban következtek: Tegyük pele a piros paprikát! Kavarjuk össze! Tegyük bele a krumplit és a fuszereket! Az algoritmusokban az ilyen jellegu végre hajtást szekvenciának nevezzük. Tehát a szekvencia a lépések, utasítások egymás utáni végrehajtását jelenti. Volt olyan, amikor egy lépést egy feltételtol függoen hajtottunk végre vagy nem hajtottunk végre: Ha nincs meg otthon minden hozzávaló, akkor menjünk el vásárolni, egyébként készítsük elo a hozzávalókat! Az algoritmusban az ilyen jellegu végrehajtást elágazásnak (szelekció) nevezzük. Az elágazás tehát azt jelenti, hogy az algoritmust egy feltételtol függoen folytatjuk tovább valamilyen lépéssel. Az elágazás nem feltétlenül csak két irányú lehet, ha a feltétel kiértékelésének több eredménye is elképzelheto.

20 19 Algoritmizálás és bevezetés a C nyelvbe Pl.: Adjuk meg egy hónap napjainak a számát és mondjuk meg, hogy melyik hónapról lehet szó! Ha nap = 28 vagy nap = 29, akkor hónap = február Ha nap = 30, akkor hónap = április vagy június vagy szeptember vagy november Ha nap = 31 akkor hónap = január vagy március vagy május vagy július vagy augusztus vagy október vagy december egyébként nincs olyan hónap, amelyben ennyi nap van Olyan is elofordult, hogy ugyanazt a lépést többször hajtottuk végre: Ismételjük, amíg nem fott meg a krumpli Kavarjuk meg! Várjunk 2 percet! Ha ugyanazt a lépést többször, egymás után hajtjuk végre ciklusról (iterációról) beszélünk. A ciklusoknak két része van. Egy ciklus feltétel és egy ciklus mag. A feltételben mondjuk meg, hogy meddig hajtsa végre a ciklus magban megadott utasításokat. A ciklusoknak három fajtája van: Meghatározott lépésszámú ciklus A ciklus feltételben pontosan megmondjuk hányszor hajtsa végre a ciklus magban szereplo utasításokat a program. Ciklus ismételd n-szer ciklus feltétel Utasítás(ok) ciklus mag Ciklus vége, ahol n pozitív egész szám. Elöltesztelo ciklus A ciklus elején van a ciklus feltétel, s mielott az utasítások végre hajtásra kerülnek, a program megvizsgálja a feltételt. A ciklus magban lévo utasítások addig kerülnek végrehajtásra, amíg a feltétel igaz. Ciklus amíg feltétel, addig ciklus feltétel Utasítás(ok) ciklus mag Ciklus vége Mivel az utasítások végrehajtása elott kerül a feltétel kiértékelésre, elofordulhat az is, hogy ha a feltétel hamis, az utasítások egyszer sem kerülnek végrehajtásra. Hátultesztelo ciklus A ciklus feltétel a ciklus végén van. Ciklus Utasítás(ok) ciklus mag Ciklus vége ha feltétel. ciklus feltétel Ebben az esetben a ciklus magban lévo utasítások legalább egyszer végrehajtódnak. A ciklus akkor fejezodik be, ha a feltétel igaz. A meghatározott lépésszámú ciklus biztosan véget ér meghatározott lépésszám után. A másik két ciklusnál azonban vigyáznunk kell! Kezdo programozóknál gyakori hiba, hogy a feltétel a ciklus muködése során nem változik, így a program nem tud a ciklusból kilépni. Ezt az esetet nevezzük végtelen ciklusnak. Gondoskodnunk kell tehát arról, hogy a feltétel véges sok lépés után hamisra ill. igazra váltson.

21 20 Algoritmizálás és bevezetés a C nyelvbe A paprikás krumpli fozés esetében feltételeztük, hogy ismerjük az étel elkészítésének a módját, a recept a fejünkben van, tehát nem volt szükség adatok bevitelére. Az algoritmusok túlnyomó többségében azonban adatokkal dolgozunk és ezeket az adatokat be kell vinni a számítógépbe. Az algoritmusok a bevitt adatokat feldolgozzák, az adatokat átalakítják, új adatokat hoznak létre belolük, s azokat meg kell orizniük, ill. ki kell íratniuk. Az adatok lehetnek olyanok, amelyeknek a tartalma állandó, és lehetnek olyanok, amelyeknek a tartalma az algoritmus során meg változik. Pl.: készítsünk egy iskola tanulóiról nyilvántartást, s szerepeljen benne a tanulók születési dátuma és az életkora. Ebben az esetben a születési dátum tartalma nem változik az adatfeldolgozás során, míg az életkor tartalma a feldolgozás során minden évben megváltozik. Az állandó tartalmú adatokat konstansoknak, a változó tartalmú adatokat változóknak nevezzük. Mind a konstansok, mind a változók kaphatnak értéket az adatok beolvasása során, ill. az algoritmus muködése közben értékadás során. Az értékadás jele az algoritmusok leírásánál a :=. Olvasva: legyen egyenlo. (Vigyázzunk erre a jelre, mert vannak programozási nyelvek, ahol szintén ez az értékadás jele, pl.: Pascal, és vannak olyan nyelvek, ahol az érték adás jele az = jel, pl.: C.) Az értékadás bal oldalán áll az a konstans vagy változó, aminek értéket akarunk adni, a jobb oldalán pedig az a kifejezés áll, amelynek az értékét át akarjuk adni. A kifejezés tartalmazhat konstanst, változót, ill. ezekbol alkotott matematikai muveleteket. Ha a kifejezés változót is tartalmaz, akkor annak a változónak már kell értékkel rendelkeznie! Pl.: Írjunk algoritmust, amelyik beolvas két számot és kiszámítja az összegük kétszeresét, majd az eredményt kiírja! Be: a,b (a két számot beolvassuk az a és b változókba) c := 2*(a+b) (a c változónak adjuk a és b összege kétszeresének az értékét. A * a szorzás jele.) Ki: c (kiíratjuk a c változó tartalmát) II.2 Algoritmus leíró eszközök Az algoritmusok leírására többféle eszköz létezik. Nézzünk meg közülük hármat: folyamat ábra mondatszeru leírás stuktogram II Folyamat ábra A folyamat ábra nagyon szemléletes módszer. Geometriai alakzatok segítségével írja le az algoritmus muködését. Ellipszisbe írjuk a határszimbólumokat, azaz az algoritmus elejét és végét jelzik. START STOP A kezdo ellipszisbol csak egy nyíl vezethet ki, az algoritmust záró ellipszisbe csak egy nyíl vezethet be. Beolvasó, kiíró utasítások

22 21 Algoritmizálás és bevezetés a C nyelvbe Be: Ki: Ezekbe az alakzatokba pontosan egy nyíl vezethet be, és pontosan egy nyíl vezethet ki belolük. Muveletek végzése utasítás Egy téglalapba több utasítást is beírhatunk. Ennél a síkidomnál is egy be- és egy kivezeto nyíl szerepelhet. Elágazás feltétel igen nem A rombuszba egy bevezeto és két kivezeto nyíl lehet. Ha a feltétel igaz, akkor az algoritmus az igen ágon folytatódik, ha a feltétel hamis, akkor pedig a nem ágon. Elofordulhat, hogy a folyamat ábránk nem fér ki egy oldalra és másik oldalon kell folytatnunk. Erre szolgálnak a folytatás jelek: 1 1 Értelemszeruen az ugyanolyan sorszámú folytatás jelekbol pontosan ketto lehet. Az egyikbe egy bevezeto nyíl, a másikból egy kivezeto nyíl szerepelhet. Tekintsük most már a paprikás krumplifozo algoritmusunkat folyamat ábra segítségével leírva: Start Megvan hozzá minden? igen nem Menjünk el vásárolni! 1 2

23 22 Algoritmizálás és bevezetés a C nyelvbe 1 2 Készítsük elo a hozzávalókat! Tisztítsuk meg és vágjuk fel a hagymát és a krumplit! Egy elég nagy edénybe tegyünk olajat és tegyük bele a felvágott hagymát! Gyújtsuk meg a gázt! Tegyük fel az edényt! Megpirult a hagyma? nem Kavarjuk meg és várjunk fél percet! igen Tegyük bele a piros paprikát! Kavarjuk össze! Tegyük bele a krumplit és a fuszereket! Öntsük fel vízzel! Megfott a krumpli? nem Kavarjuk meg! Várjunk 2 percet! 3 igen

24 23 Algoritmizálás és bevezetés a C nyelvbe 3 Tegyük bele a kolbászt! Megfott a kolbász? nem Kavarjuk meg! Várjunk 1 percet! Zárjuk el a gázt! Tálaljunk! Stop 3. ábra Algoritmus folyamat ábrája Látjuk, hogy az algoritmus így elég szemléletes lett, de nem egyszeru dolog megszerkeszteni. II. 2.2 Mondatszeru leírás Az eredeti algoritmusunkat ezzel az eszközzel írtuk le, ezért most csak összefoglaljuk a használt jelöléseket: Az algoritmus kezdetét a Program név jelzi. A név helyére egy általunk adott nevet írhatunk. Az algoritmus végét a Program vége jelzi Adat bevitel: Be: Adat kiíratása: Ki: Értékadás. := olvasd: legyen egyenlo. Az értékadás baloldalán álló objektum felveszi az értékadás jobb oldalán álló értéket. Két irányú elágazás: Ha feltétel akkor utasítás(ok) különben utasítás(ok) elágazás vége Több irányú elágazás Ha feltétel 1. feltétel akkor utasítás(ok)

25 24 Algoritmizálás és bevezetés a C nyelvbe 2. feltétel akkor utasítások(ok) n. feltétel akkor utasítás(ok) különben: utasítás(ok) elágazás vége Elöltesztelo ciklus Ciklus amíg feltétel utasítás(ok ciklus vége Hátultesztelo ciklus Ciklus utasítás(ok) ciklus vége ha feltétel Meghatározott lépésszámú ciklus Ciklus ismételd n-szer Utasítás(ok) Ciklus vége Az utasításokat és feltételeket egyszeru mondatokkal írhatjuk le. II Stuktogram Ennél az eszköznél az algoritmust egy téglalapba írjuk. A téglalapot felülrol lefelé haladva az algoritmusnak megfeleloen felosztjuk. Alkalmazható szimbólumok: Muveletek végzése Elágazás igaz feltétel hamis utasítás utasítás Elöltesztelo ciklusok feltétel ciklus mag

26 25 Algoritmizálás és bevezetés a C nyelvbe Hátultesztelo ciklus ciklus mag feltétel A paprikás krumpli fozés algoritmusa stuktogrammal szemléltetve: Megvan-e minden igen hozzávaló? nem Készítsük elo a Menjünk el vásárolni! Hozzávalókat! Tisztítsuk meg és vágjuk fel a hagymát és a krumplit! Egy elég nagy edénybe tegyünk olajat és tegyük bele a felvágott hagymát! Gyújtsuk meg a gázt! Tegyük fel az edényt! Megpirult e a hagyma? Kavarjuk meg és várjunk fél percet! Tegyük bele a piros paprikát! Kavarjuk össze! Tegyük bele a krumplit és a fuszereket! Öntsük fel vízzel! Megfott-e a krumpli? Kavarjuk meg! Várjunk 2 percet! Tegyük bele a kolbász! Megfott-e a kolbász? Kavarjuk meg! Várjunk 1 percet! Zárjuk el a gázt! Tálaljunk 4. ábra Algoritmus stuktogramja Ez sem túl egyszeru ábra. A továbbiakban az algoritmusok leírásánál az egyszerusége miatt mindig a mondatszeru leírást fogjuk alkalmazni.

27 26 Algoritmizálás és bevezetés a C nyelvbe II.3 Ismerkedés a C nyelvvel II A programozási nyelvekrol Ahhoz, hogy az algoritmusokat a számítógép megértse, szükség van egy programozási nyelvre. A programozási nyelvek a számítógépekkel együtt fejlodtek. Eloször mindent gépi kódban írtak meg, azaz mindent 1-ekkel és 0-kkal kódoltak. Ez egy ido után egyre nehezebb és fáradtságosabb lett. Ezért a programozási nyelveket is fejlesztették. Eloször az assembly szintu nyelvek alakultak ki, ilyen pl. az ASSEMBLER. Ezeknél a nyelveknél az utasítások leírására már angol szavak rövidítéseit is használták, de ezek még mindig eléggé gépközeli nyelvek voltak. Ez azt jelenti, hogy egy program megírása során jól kellett ismerni a gép hardverjét, a memóriabeli címeket ahhoz, hogy hatékonyan muködo program születhessen. Sok probléma megoldására azonban még ma is hatékony eszköz az ASSEMBLER. Ezek után alakultak ki a magas szintu programozási nyelvek. Ezekben a nyelvekben az utasításokat már angol szavakkal vagy azok rövidítéseivel írják le. Ilyen nyelv pl. a BASIC, FORTRAN, PL1, COBOL, PASCAL, C, C++, JAVA, stb. Mivel az így megírt programok emberi nyelven íródtak, ezért ezeket a számítógép számára érthetové kell tenni. Két nagy csoportja alakult ki a programozási nyelveknek: az interpreterrel rendelkezo nyelvek a fordítókkal rendelkezo nyelvek Interpreterrel rendelkezo nyelvek: ezek a programozók által megírt programokat a forráskódot vagy forrásprogramot soronként értelmezik interpretálják, végrehajtják az adott sorban lévo utasítás(oka)t, és lépnek a következo sorra. Ha hibát találnak, hibaüzenetet küldenek és megállnak. Miután a programozó kijavította hibát, kezdodik az egész elölrol. Minden futtatásnál újra értelmezi a programot. Ezért az ilyen nyelven megírt programok csak olyan gépeken futtathatók, amelyek rendelkeznek az adott nyelv értelmezojével. Az állandó értelmezés miatt az így muködo programok lassúak, sok helyet foglalnak (az értelmezonek a futás során a memóriában kell tartózkodnia), de lehetoséget biztosítanak a programmal való párbeszédre. Interpreteres programozási nyelvek pl. a BASIC, PERL, JAVA SCRIPT. Fordítókkal rendelkezo nyelvek: a forráskódot a fordító program eloször gépi kódú tárgykóddá (tárgyprogrammá) alakítja át. Igaz, hogy a tárgykód már gépi kódú program, de a számítógép még nem tudja futtatni. A futtatáshoz még szükséges, hogy a tárgykódot kibovítsék a futáshoz szükséges információkkal, programrészletekkel. Ezt a muveletet nevezzük szerkesztésnek. A szerkesztés eredménye a futtatható program. Ezek kiterjesztése általában.exe. A szerkesztett program futtatásához már nem szükséges, hogy a fordító program is jelen legyen a memóriában. Az ilyen programok gyorsabbak az interpreteres programokhoz képest. Ilyen nyelv pl. a PASCAL, C, C++, stb. Érdekesség a JAVA nyelv. Ennél a nyelvnél a forráskódot eloször a fordító egy virtuális gépi kóddá fordítja le. A virtuális ebben az esetben azt jelenti, hogy egy elképzelt processzor gépi kódjává alakítja a forráskódot. Ezután egy értelmezo alakítja át az adott gép processzorának megfelelo gépi kódra, majd futtatja. (Már vannak azonban olyan JAVA fejleszto programok is, amelyek képesek a JAVA programokat közvetlenül futtatható gépi kódú programokká alakítani.) Nézzük most már ezek után a C nyelvet. Minden programozási nyelv fejlodésen megy keresztül. A fejlodés azt jelenti, hogy a nyelv készítoi egyre újabb lehetoségekkel bovítik a

28 27 Algoritmizálás és bevezetés a C nyelvbe nyelvet. A továbbiakban a BORLAND cég által fejlesztett BORLANDC-t használjuk a C programozási nyelv megismeréséhez. (Mielott tovább mennénk célszeru ezt a gépünkre feltelepíteni.) II A BORLANDC keretrendszere Ahhoz, hogy meg tudjuk írni a programot, le tudjuk fordítani, meg tudjuk keresni az esetleges hibákat szükséges egy olyan valami, ami mindezt lehetové teszi. Ez lesz a keretrendszer. Indítsuk el a BORLANDC-t! Az indítás után a rendelkezésünkre áll az említett keretrendszer. Legfelül egy részben ismeros menüsor található. A középen lévo ablak a munkafelület, ahol majd írhatjuk a programjainkat. Ez tulajdonképpen egy szövegszerkeszto. A munkafelület alján látható az információs sor. Az ablak alján és jobb oldalán helyezkednek el a gördíto sávok, valamint itt található a kurzor helyzetjelzoje. Azt mutatja, hogy a kurzor hányadik oszlopban, ill. hányadik sorban van. Nézzük most végig a menü pontjait: File a szokásos file-muveletek végezhetok itt el. Edit a szokásos szövegszerkesztési muveletek találhatók ebben a pontban. Search megadott szövegre vagy hibára kereshetünk rá. Run az elkészült hibátlan forrásprogram különbözo futtatási lehetoségei vannak itt. Compile fordítási és szerkesztési lehetoségek. Debug nyomkövetési beállítási lehetoségek. Project projectek létrehozása, szerkesztése. Options megjelenítési, környezet beállítási lehetoségek. Window ablak.muveletek. Help segítség kérése. A menüt az F10 billentyu segítségével tehetjük aktívvá. Erre akkor lehet szükség, ha az egér rossz, ill. gyorsabb a billentyuket használni, mint az egeret. Az egyes menüpontok mellett szerepelnek azok a billentyu kombinációk, amelyekkel a parancsokat aktiválhatjuk. Az egyes menüpontok részleteivel a használat során fogunk megismerkedni, most a munkafelülettel ismerkedjünk! A munkafelületet szegélyezo keret bal felso sarkába kattintva az egérrel az aktív ablak bezáródik, de ugyanezt érjük el az Alt F3 billentyu-kombinációval is. Új ablakot a File menü New parancsával nyithatunk. Egyszerre több ablakot, munkafelületet is nyitvatarthatunk. Az ablakok között az F6 billentyuvel lépkedhetünk. 7. feladat: Zárjuk be a Noname00.cpp-t! Nyissunk meg újabb 3 ablakot és lépegessünk közöttük! Látjuk, hogy az aktív ablak kereti fehérek és dupla vonalúak, a többi halvány és egy vonallal szegélyezettek. A keret közepén az ablak, ill. a program neve áll. A C a NonameXX.cpp-t kínálja fel, de tetszolegesen új nevet adhatunk. A keret jobb sarkában egy sorszám és egy nyíl van. A sorszám azt mutatja, hányadik ablakot nyitottuk meg. Ha a nyíl alakú, akkor az ablakot nagyíthatjuk, ha? alakú, akkor kicsinyíthetjük. II Mit kell tudni a C programokról? A BORLANDC a programok fordításához, szerkesztéséhez, futtatásához különbözo állományokat, függvényeket használ. Illetve vannak, a programozó munkáját megkönnyítendo, függvények. Ezeket a függvényeket a programozónak már nem kell

29 28 Algoritmizálás és bevezetés a C nyelvbe megírnia, hanem hivatkozhat rájuk a programjában. Ilyen pl. a négyzetgyök kiszámítására szolgáló függvény. Ezek az állományok, függvények különbözo könyvtárakban vannak. A BORLANDC könyvtárai az alábbiak: BGI a képernyo kezeléséhez szükséges állományokat tartalmazza. BIN a forrásprogram lefordításához, szerkesztéséhez szükséges állományokat tartalmazza. INCLUDE a beépített függvényeket tartalmazza. LIB egyéb lehetoségek könyvtára. CLASSLIB állományai az osztályok kezelését teszi lehetové. Minden C nyelvu program egy vagy több függvénybol (alprogramból) áll. A függvények általában meghatározott feladatot hajtanak végre. A függvények közül egyet kötelezoen a main névvel kell ellátni. A program végrehajtása ennek a függvénynek az aktiválásával kezdodik. A C nyelv megismerését kezdjük egy egyszeru program megírásával! 8. feladat: Írassuk képernyore az alábbi szöveget: Ez az elso programom. A forrásprogram az alábbi: main() { printf("ez az elso programom.\n"); A forrásprogramban látjuk, hogy szerepel a main függvény. Minden függvény, így a main felépítése is hasonló. A függvény neve után kerek zárójelek között szerepelnek a függvény argumentumai, majd kapcsos zárójelek között a függvény törzse. A kerek zárójeleket abban az esetben is mindig oda kell írni, ha a függvénynek nincsen argumentuma, mint a feladatban a main függvénynek. A függvény törzsében szerepelnek a végrehajtandó utasítások. Ezek a beépített függvények (pl. printf) nem jelennek meg. Szövegünk megjelenítésére szükség van egy függvényre, ez a printf beépített függvény. Minden beépített függvény deklarációját (leírását) egy állomány tartalmazza. Ezek az állományok az INCLUDE alkönyvtárban találhatók. A printf függvény deklarációja az stdio.h állományban van. Ahhoz, hogy ezeket a függvényeket programjainkban használni tudjuk, szükségünk van az #include elofordító utasításra. Az elofordító utasítás után a megfelelo állomány nevét a < > jelek közé kell írni. Minden C nyelvu programban, amelyben beépített függvényeket fogunk használni, hasonló módon kell gondoskodnunk a függvények elérhetoségérol. A printf függvényben a kiírandó szöveget mindig jelek közé kell tenni. Ahhoz, hogy a programot futtatni tudjuk, le kell fordítani. Ehhez néhány környezeti változót szükséges be állítani. Mielott a beállításhoz hozzá kezdenénk, mentsük el programunkat ELSO:CPP néven! A mentést a szokásos módon, a File menü Save parancsával tehetjük meg. (A programjainkat célszeru egy erre a célra létre hozott könyvtárba elmenteni. A mentés után legyen ez a könyvtár az aktuális. A könyvtárak közötti váltást a File menü Change dir parancsával hajthatjuk végre.) Most már beállíthatjuk a környezeti változókat az Options menü Directories parancsával. A megjeleno ablak elso két sorába azt az elérési utat kell beállítani, ahol a BOLRLANDC alkönyvtárai megtalálhatók. A második két sorba pedig annak a könyvtárnak az elérési útját írjuk be, ahová dolgozni szeretnénk. Erre azért van

30 29 Algoritmizálás és bevezetés a C nyelvbe szükség, mert a fordító az itt megadott könyvtárakba hozza létre a lefordított és az összeszerkesztett programot. Ezeknek a programoknak a neve ugyanaz lesz, mint amilyen néven a forrásprogramot elmentettük, de a kiterjesztésük.obj, ill..exe lesz. (Figyeljünk a továbbiakban arra, hogy fordítás elott mindig mentsük el a programunkat, mert egyébként nonamexx néven hozza létre a fordító az elobb említett két állományt!) A BORLANDC általában megorzi ezeket a beállításokat, de ha a fordítás nem sikerül, mindig az legyen az elso, hogy megnézzük ezeket a beállításokat. Különösen akkor, ha nem egyedül használjuk a számítógépet, ill. a BORLANDC-t. Fordítani a Compile menü Compile parancsával vagy az Alt F9 billentyu-kombinációval lehet. A fordítás eredményeként egy sereg információ jelenik meg egy ablakban. A lefordított program neve, az állomány mérete, figyelmeztetések és a hibák száma. Ha a fordító hibá(ka)t talál, az(oka)t a Message ablakban jeleníti meg. Felsorolja, hogy hányadik sorban milyen hiba található. Nem kell feltétlenül megijedni, ha sok hiba üzenet jelenik meg. A hibák között lehetnek úgynevezett következmény hibák is. A következmény hiba egy korábbi hibának a következménye, s ha azt kijavítjuk, a következmény hiba magától megszunik. Ha hibátlan a programunk, a Run menü Run parancsával vagy a Ctrl F9 billentyukombinációval futtathatjuk. Az eredményt, jelen esetben az Ez az elso programom. szöveget nem látjuk a képernyon. A felhasználói képernyore a Windows menü User screen parancsával vagy az Alt F5 billentyu-kombinációval léphetünk át. Onnan tetszoleges billentyu leütésével lehet visszatérni. (Az eredmény megtekintése nem lesz mindig ilyen nehézkes, van néhány trükk, amivel egybol láthatjuk eredményeinket.) Az ELSO nevu programunk hibátlanul lefutott ugyan, de a fordító küldött egy figyelmeztetést (Warning). Erre a késobbiek során visszatérünk.) Ha most átlépünk abba a könyvtárba, ahová a programunkat elmentettük (és amit a Directories ablakban beállítottunk), akkor három ELSO nevu programot találunk. Az ELSO.CPP a forrásprogramunk. Ez egy egyszeru szövegállomány, amely bármelyik szövegszerkesztoben megnyitható. A fordító ebbol készíti el az ELSO.OBJ tárgyprogramot. Ez még nem futtatható, mert nincs összeszerkesztve. A Run parancs hatására készül el az ELSO.EXE futtatható program. Ahogy korábban már említettük, ez bárhol futtatható. Nem szükséges, hogy a számítógépen legyen C fordító program. 9. feladat: Nyissunk új lapot és két sorba írjuk ki, hogy Én vagyok, most írom az elso programom! A kipontozott részre a nevünket írjuk, és a második tagmondat kerüljön új sorba! A programot mentsük el ELSO1.CPP néven! A forrásprogram: main() { printf("én vagyok Fazekas Ildikó,\n"); printf("most írom az elso programom."); Ha az elso printf()-ben elhagyjuk a \n jelet, akkor a szövegek egy sorban jelennek meg. Tehát a \n-nek az a szerepe, hogy az ot követo kiírás új sorban kezdodik. Egyszerubben is elérhetjük ugyanezt az eredményt.:

31 30 Algoritmizálás és bevezetés a C nyelvbe main() { printf("én vagyok Fazekas Ildikó,\nMost írom az elso programom."); Látjuk, hogy egy ilyen egyszeru feladatnak többféle jó megoldása is lehet. Ez a késobbiekben még inkább így lesz. Soha nem mondhatjuk egy feladat megoldására, hogy csak az a jó. A futtatás után, ha az eredményt meg akarjuk nézni, eddig át kellett lépni a felhasználói felületre. Ha a program utolsó soraként beírjuk: getch();, akkor a program futása mindaddig áll, amíg -t (Enter) nem ütünk, és így megnézhetjük az eredményt. A getch() függvény a billentyuzetrol olvas be karaktereket. (Késobb részletesen lesz róla szó.) A conio.h-ban található, tehát a forráslista elejére be kell írnunk: #include <conio.h>. A conio.h tartalmazza a képernyo kezeléséhez szükséges függvényeket is. Így többek között a képernyo törlését végzo clrscr() függvényt is. 10. feladat: Nyissunk új lapot és a következo programot írjuk be és futtassuk, majd mentsük ELSO2.CPP néven! /* szöveg tabulálás*/ #include <conio.h> void main() { clrscr(); printf("helló világ,\nén vagyok F.I.\n\tMost írom az\n\telso programot."); getch(); A program elején a /* */ közötti szöveg a program futását nem befolyásolja. Ide magyarázó szöveget írhatunk. A \t-vel tabulálhatjuk a megjelenítendo szöveget. A tabulálás ugyanazt jelenti, mint a szövegszerkesztésnél tanultak esetében, nem egy, hanem több szóköz van a szövegek között. (A C-ben 8 karakternyi hely marad ki.) Figyeljük meg, hogy a fordító most nem küldött figyelmeztetést. (A fordítás eredményét közlo ablakban nem jelent meg a Warning figyelmezteto szöveg.) Ennek oka, hogy az ELSO2.CPP-megadtuk a main() függvény ún. visszatérési értékét (void). A C nyelv ugyanis minden függvény esetében visszatérési értéket vár. Ez nem meglepo, hiszen matematikából is azt tanultuk, hogy a függvények valamilyen értéket adnak vissza. Pl.: az f(x) = x 2 függvény az x négyzetének az értékét adja vissza. Természetesen léteznek olyan függvények a programozásban, amelyeknek nincs visszatérési értékük, hanem az eredményük valamilyen muvelet elvégzése. Ilyen pl. a printf(), amelynek eredményeként valamilyen kiírás jelenik meg a képernyon, vagy a clrscr() függvény, amelynek eredménye a letörölt képernyo. Ha egy függvénynek nincs visszatérési értéke, akkor a fordító számára azt a void (üres) típussal jelöljük. 11. feladat: Írjon programot, amely egy vers egy versszakát a képernyo közepére írja ki!

32 31 Algoritmizálás és bevezetés a C nyelvbe A megoldásban szereplo forrásprogram természetesen nem az egyetlen megoldás. Kevesebb printf() függvénnyel is megoldható. Itt csak a program áttekinthetosége miatt használtunk négy függvényt. Biztosan voltak olyanok, akik úgy írták meg a programot, hogy egy már meglévo programból kitörölték a fölösleges sorokat és beírták a szükséges újakat. Ez az alapveto programozói lustaság a késobbiekben hasznos lehet. Most azonban még ne legyünk restek új ablakot nyitni és a forrásprogramot újból beírni. Ezzel egyrészt gyakoroljuk a programírást, másrészt nem fordul elo olyan hiba, hogy az átírt programból fölösleges dolgok maradnak ott. Ha mégis egy már meglévo program átírásával akarunk új programot írni, a File menü Open parancsával nyissuk meg a programunkat. Gyorsabb azonban az F3 billentyu használata. Új néven a Save as paranccsal menthetünk. A Save all parancs hatására az összes megnyitott ablakunkban lévo programot elmenthetjük. A Change dir paranccsal könyvtárat válthatunk. Érdemes beállítani aktuális könyvtárként azt a könyvtárat, ahová dolgozunk. A programok elmentésekor vagy megnyitásakor az aktuális könyvtárat kínálja fel a rendszer, és nem kell minden ilyen muveletnél hosszú elérési utakat beírnunk, ill. nem fordul elo, hogy forrásprogramunkat nem megfelelo könyvtárba mentjük. II. 3 4 A printf() függvény Ennyi kitéro után térjünk vissza a printf() függvényhez. Már láttuk, hogy a függvény az argumentumában megadott karaktersorozatot írja a képernyore. Megismertük a \n és \t ún. escape (nem látható) vagy vezérlo karaktereket. További vezérlo karakterek: \n új sor \t vízszintes tabulállás \v függoleges tabulálás \a figyelmezteto hangjelzés \b visszalépés egy karakterrel \\ ennek segítségével írhatunk a karaktersorozatba \ jelet \? ennek segítségével írhatunk a karaktersorozatba? jelet \ ennek segítségével írhatunk a karaktersorozatba jelet \ ennek segítségével írhatunk a karaktersorozatba jelet A vezérlo karakterek hatásait kipróbálhatjuk, ha sorba beírjuk oket valamelyik eddig megírt programunkba. Természetesen nemcsak szöveges, hanem numerikus adatokat is írni szeretnénk a képernyore. 12. feladat: Írjuk programot, amely 3 szám összegét írja a képernyore és a programot OSSZEG1.CPP néven mentsük el! /*összeg*/ #include <conio.h> void main() { printf("három szám összege: %d",1+2+3); getch(); Ahhoz, hogy a C valóban el is végezze a kijelölt muveletet és ne csak szövegként (karakterláncként) értelmezze az kifejezést, meg kell adni a kiírandó adat típusát és formátumát. Ebben a példában a típus egész, és ezt szeretnénk kiíratni. Az argumentumban szereplo %d mutatja, hogy a kiírásban egy egész típusú adat fog következni, és majd az

33 32 Algoritmizálás és bevezetés a C nyelvbe idézojel után, attól vesszovel elválasztva következik a kiírandó érték. Ha itt egy muvelet szerepel, akkor a program a kiíratás elott elvégzi a kijelölt muveletet. Ha több numerikus értéket akarunk ugyanabban a printf() függvényben kiíratni, akkor azok típusainak megfelelo formátumokat az idézo jeleken belül a kiíratás sorrendjében kell felsorolnunk, a kiírandó adatokat pedig az idézo jelek után, egymástól vesszovel elválasztva soroljuk fel. Cseréljük most ki a %d formátumot %lf formátumra, és futtassuk a programot. Az eredmény helyett hibaüzenetet kapunk. Ennek oka, hogy a %lf hatására a printf() függvény valós típusú számot vár. A programban megadott szokásos formájú számokat viszont egész típusú számként érzékeli. (Ha véletlenül elfelejtették volna mi a különbség az egész és a valós típusú adatok ábrázolása között, lapozzanak vissza a bevezetésben a fix pontos és a lebego pontos számábrázoláshoz.) Kiküszöbölhetjük a hibát, ha legalább az egyik számot valós számként adjuk meg, azaz egy pontot (és egy 0-t) teszünk utána. Pl. a 2 helyett 2.0-t vagy 2.-t írunk. Alakítsuk át így a programunkat és mentsük el OSSZEG2.CPP néven. /*összeg2*/ #include <conio.h> void main() { printf("három szám összege: %lf",1+2.+3); getch(); 13. feladat: Írjunk programot, amely kiszámolja és képernyore írja három szám átlagát. Mentsük a programot ATLAG.CPP néven! Ezek után nézzük meg a printf() függvény általános alakját! printf( formátum sztring, argumentum lista); formátum sztring: a képernyore minden átalakítás nélkül kiírásra kerülo karaktersorozatokat és az argumentum listára vonatkozó konverziós eloírásokat tartalmaz. A konverziós eloírások meghatározzák az argumentumok értelmezési módját és megjelenítési formáját. Mindig % jellel kezdodnek és konverziós kóddal záródnak. A konverziós eloírás további részei elhagyhatók. % l f jelzo minimális mezoszélesség (a szám kiíratására felhasznált helyi érték a tizedes pontnak is számol egy helyet. Ha a szám nem fér el a kijelölt helyen, akkor bovíti a helyet és a szám a szükséges nagyságú helyen jelenik meg.) pontosság méret módosítás konverziós kód

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

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

Részletesebben

Harmadik gyakorlat. Számrendszerek

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

Részletesebben

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

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

Részletesebben

Segédlet az Informatika alapjai I. című tárgy számrendszerek fejezetéhez

Segédlet az Informatika alapjai I. című tárgy számrendszerek fejezetéhez Segédlet az Informatika alapjai I. című tárgy számrendszerek fejezetéhez Sándor Tamás, sandor.tamas@kvk.bmf.hu Takács Gergely, takacs.gergo@kvk.bmf.hu Lektorálta: dr. Schuster György PhD, hal@k2.jozsef.kando.hu

Részletesebben

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

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

Részletesebben

Assembly programozás: 2. gyakorlat

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

Részletesebben

Programozás alapjai gyakorlat. 2. gyakorlat C alapok

Programozás alapjai gyakorlat. 2. gyakorlat C alapok Programozás alapjai gyakorlat 2. gyakorlat C alapok 2016-2017 Bordé Sándor 2 Forráskód, fordító, futtatható állomány Először megírjuk a programunk kódját (forráskód) Egyszerű szövegszerkesztőben vagy fejlesztőkörnyezettel

Részletesebben

SZÁMÉRTÉKEK (ÁT)KÓDOLÁSA

SZÁMÉRTÉKEK (ÁT)KÓDOLÁSA 1 ELSŐ GYAKORLAT SZÁMÉRTÉKEK (ÁT)KÓDOLÁSA A feladat elvégzése során a következőket fogjuk gyakorolni: Számrendszerek közti átváltás előjelesen és előjel nélkül. Bináris, decimális, hexadexcimális számrendszer.

Részletesebben

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

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

Részletesebben

Programzás I. - 1. gyakorlat

Programzás I. - 1. gyakorlat Programzás I. - 1. gyakorlat Alapok Tar Péter 1 Pannon Egyetem Műszaki Informatikai Kar Számítástudomány Alkalmazása Tanszék Utolsó frissítés: September 15, 2007 1 tar@dcs.vein.hu Tar Péter (PE-MIK-DCS)

Részletesebben

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

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

Részletesebben

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

OOP I. Egyszerő algoritmusok és leírásuk. Készítette: Dr. Kotsis Domokos OOP I. Egyszerő algoritmusok és leírásuk Készítette: Dr. Kotsis Domokos Hallgatói tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk a számonkérendı anyag vázlatát képezik. Ismeretük

Részletesebben

1. Alapok. #!/bin/bash

1. Alapok. #!/bin/bash 1. oldal 1.1. A programfájlok szerkezete 1. Alapok A bash programok tulajnképpen egyszerű szöveges fájlok, amelyeket bármely szövegszerkesztő programmal megírhatunk. Alapvetően ugyanazokat a at használhatjuk

Részletesebben

4. Fejezet : Az egész számok (integer) ábrázolása

4. Fejezet : Az egész számok (integer) ábrázolása 4. Fejezet : Az egész számok (integer) ábrázolása The Architecture of Computer Hardware and Systems Software: An Information Technology Approach 3. kiadás, Irv Englander John Wiley and Sons 2003 Wilson

Részletesebben

5.1.4 Laborgyakorlat: A Windows számológép használata hálózati címeknél

5.1.4 Laborgyakorlat: A Windows számológép használata hálózati címeknél 5.1.4 Laborgyakorlat: A Windows számológép használata hálózati címeknél Célok Átkapcsolás a Windows Számológép két működési módja között. A Windows Számológép használata a decimális (tízes), a bináris

Részletesebben

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

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

Részletesebben

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

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

Részletesebben

2. Fejezet : Számrendszerek

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

Részletesebben

Kedves Diákok! A feladatok legtöbbször egy pontot érnek. Ahol ettől eltérés van, azt külön jelöljük.

Kedves Diákok! A feladatok legtöbbször egy pontot érnek. Ahol ettől eltérés van, azt külön jelöljük. Kedves Diákok! Szeretettel köszöntünk Benneteket abból az alkalomból, hogy a Ceglédi Közgazdasági és Informatikai Szakközépiskola informatika tehetséggondozásának első levelét olvassátok! A tehetséggondozással

Részletesebben

Bevezetés a programozásba

Bevezetés a programozásba Bevezetés a programozásba 1. Előadás Bevezetés, kifejezések http://digitus.itk.ppke.hu/~flugi/ Egyre precízebb A programozás természete Hozzál krumplit! Hozzál egy kiló krumplit! Hozzál egy kiló krumplit

Részletesebben

5. Fejezet : Lebegőpontos számok. Lebegőpontos számok

5. Fejezet : Lebegőpontos számok. Lebegőpontos számok 5. Fejezet : Lebegőpontos The Architecture of Computer Hardware and Systems Software: An InformationTechnology Approach 3. kiadás, Irv Englander John Wiley and Sons 2003 Wilson Wong, Bentley College Linda

Részletesebben

II. Mérés SZÉCHENYI ISTVÁN EGYETEM GYŐR TÁVKÖZLÉSI TANSZÉK

II. Mérés SZÉCHENYI ISTVÁN EGYETEM GYŐR TÁVKÖZLÉSI TANSZÉK Mérési Utasítás Linux/Unix jogosultságok és fájlok kezelése Linux fájlrendszerek és jogosultságok Linux alatt, az egyes fájlokhoz való hozzáférések szabályozása érdekében a fájlokhoz tulajdonost, csoportot

Részletesebben

SZÁMÍTÓGÉPEK BELSŐ FELÉPÍTÉSE - 1

SZÁMÍTÓGÉPEK BELSŐ FELÉPÍTÉSE - 1 INFORMATIKAI RENDSZEREK ALAPJAI (INFORMATIKA I.) 1 NEUMANN ARCHITEKTÚRÁJÚ GÉPEK MŰKÖDÉSE SZÁMÍTÓGÉPEK BELSŐ FELÉPÍTÉSE - 1 Ebben a feladatban a következőket fogjuk áttekinteni: Neumann rendszerű számítógép

Részletesebben

Dr. Oniga István DIGITÁLIS TECHNIKA 2

Dr. Oniga István DIGITÁLIS TECHNIKA 2 Dr. Oniga István DIGITÁLIS TECHNIKA 2 Számrendszerek A leggyakrabban használt számrendszerek: alapszám számjegyek Tízes (decimális) B = 10 0, 1, 8, 9 Kettes (bináris) B = 2 0, 1 Nyolcas (oktális) B = 8

Részletesebben

Gyakorló feladatok. /2 Maradék /16 Maradék /8 Maradék

Gyakorló feladatok. /2 Maradék /16 Maradék /8 Maradék Gyakorló feladatok Számrendszerek: Feladat: Ábrázold kettes számrendszerbe a 639 10, 16-os számrendszerbe a 311 10, 8-as számrendszerbe a 483 10 számot! /2 Maradék /16 Maradék /8 Maradék 639 1 311 7 483

Részletesebben

Számrendszerek. Bináris, hexadecimális

Számrendszerek. Bináris, hexadecimális Számrendszerek Bináris, hexadecimális Mindennapokban használt számrendszerek Decimális 60-as számrendszer az időmérésre DNS-ek vizsgálata négyes számrendszerben Tetszőleges természetes számot megadhatunk

Részletesebben

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Számelmélet I.

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Számelmélet I. Számelmélet I. DEFINÍCIÓ: (Osztó, többszörös) Ha egy a szám felírható egy b szám és egy másik egész szám szorzataként, akkor a b számot az a osztójának, az a számot a b többszörösének nevezzük. Megjegyzés:

Részletesebben

7. Laboratóriumi gyakorlat: Vezérlési szerkezetek II.

7. Laboratóriumi gyakorlat: Vezérlési szerkezetek II. 7. Laboratóriumi gyakorlat: Vezérlési szerkezetek II. A gyakorlat célja: 1. A shell vezérlő szerkezetei használatának gyakorlása. A használt vezérlő szerkezetek: if/else/fi, for, while while, select, case,

Részletesebben

5. Fejezet : Lebegőpontos számok

5. Fejezet : Lebegőpontos számok 5. Fejezet : Lebegőpontos The Architecture of Computer Hardware and Systems Software: An Information Technology Approach 3. kiadás, Irv Englander John Wiley and Sons 2003 Wilson Wong, Bentley College Linda

Részletesebben

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

Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai): Python Változók Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai): Név Érték Típus Memóriacím A változó értéke (esetleg más attribútuma is) a program futása alatt

Részletesebben

Fixpontos és lebegőpontos DSP Számrendszerek

Fixpontos és lebegőpontos DSP Számrendszerek Fixpontos és lebegőpontos DSP Számrendszerek Ha megnézünk egy DSP kinálatot, akkor észrevehetjük, hogy két nagy család van az ajánlatban, az ismert adattipus függvényében. Van fixpontos és lebegőpontos

Részletesebben

Programozás I. gyakorlat

Programozás I. gyakorlat Programozás I. gyakorlat 1. gyakorlat Alapok Eszközök Szövegszerkesztő: Szintaktikai kiemelés Egyszerre több fájl szerkesztése pl.: gedit, mcedit, joe, vi, Notepad++ stb. Fordító: Szöveges file-ban tárolt

Részletesebben

Programozás alapjai gyakorlat. 4. gyakorlat Konstansok, tömbök, stringek

Programozás alapjai gyakorlat. 4. gyakorlat Konstansok, tömbök, stringek Programozás alapjai gyakorlat 4. gyakorlat Konstansok, tömbök, stringek Házi ellenőrzés (f0069) Valósítsd meg a linuxos seq parancs egy egyszerűbb változatát, ami beolvas két egész számot, majd a kettő

Részletesebben

Matematikai alapok. Dr. Iványi Péter

Matematikai alapok. Dr. Iványi Péter Matematikai alapok Dr. Iványi Péter Számok A leggyakrabban használt adat típus Egész számok Valós számok Bináris számábrázolás Kettes számrendszer Bitek: és Byte: 8 bit 28 64 32 6 8 4 2 bináris decimális

Részletesebben

Informatika érettségi vizsga

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

Részletesebben

Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós augusztus 29. Széchenyi István Egyetem, Gy r

Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós augusztus 29. Széchenyi István Egyetem, Gy r Programozás alapjai (GKxB_INTM023) Széchenyi István Egyetem, Gy r 2019. augusztus 29. Feladat: írjuk ki az els 10 természetes szám négyzetét! #i n c l u d e i n t main ( v o i d ) { p r

Részletesebben

4. Laborgyakorlat. A fájlokról ezeket az adatokat, a fájlrendszer tárolja. Számunkra az 1, 3, 4. oszlopok lesznek az érdekesek.

4. Laborgyakorlat. A fájlokról ezeket az adatokat, a fájlrendszer tárolja. Számunkra az 1, 3, 4. oszlopok lesznek az érdekesek. Linux fájlrendszerek. 4. Laborgyakorlat Előző gyakorlaton, már volt szó a fájlrendszerekről, mikor a mount parancs -t kapcsolójáról volt szó. Linux alatt, az egyes fájlokhoz való hozzáférések miatt, a

Részletesebben

A függvény kód szekvenciáját kapcsos zárójelek közt definiáljuk, a { } -ek közti részt a Bash héj kód blokknak (code block) nevezi.

A függvény kód szekvenciáját kapcsos zárójelek közt definiáljuk, a { } -ek közti részt a Bash héj kód blokknak (code block) nevezi. Függvények 1.Függvények...1 1.1.A függvény deníció szintaxisa... 1..Függvények érték visszatérítése...3 1.3.Környezettel kapcsolatos kérdések...4 1.4.Lokális változók használata...4 1.5.Rekurzív hívások...5.kód

Részletesebben

18. Szövegszerkesztők

18. Szövegszerkesztők 18. Szövegszerkesztők A szövegszerkesztés olyan számítógépes művelet, amelynek során később nyomtatásban megjelenő szövegegységeket, dokumentumokat hozunk létre, majd azokat papírra kinyomtatjuk. A különböző

Részletesebben

Informatikai Rendszerek Alapjai

Informatikai Rendszerek Alapjai Informatikai Rendszerek Alapjai Egész és törtszámok bináris ábrázolása http://uni-obuda.hu/users/kutor/ IRA 5/1 A mintavételezett (egész) számok bináris ábrázolása 2 n-1 2 0 1 1 0 1 0 n Most Significant

Részletesebben

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

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

Részletesebben

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

Tömbök kezelése. Példa: Vonalkód ellenőrzőjegyének kiszámítása Tömbök kezelése Példa: Vonalkód ellenőrzőjegyének kiszámítása A számokkal jellemzett adatok, pl. személyi szám, adószám, taj-szám, vonalkód, bankszámlaszám esetében az elírásból származó hibát ún. ellenőrző

Részletesebben

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

Adatszerkezetek Tömb, sor, verem. Dr. Iványi Péter Adatszerkezetek Tömb, sor, verem Dr. Iványi Péter 1 Adat Adat minden, amit a számítógépünkben tárolunk és a külvilágból jön Az adatnak két fontos tulajdonsága van: Értéke Típusa 2 Adat típusa Az adatot

Részletesebben

1.1. A forrásprogramok felépítése Nevek és kulcsszavak Alapvető típusok. C programozás 3

1.1. A forrásprogramok felépítése Nevek és kulcsszavak Alapvető típusok. C programozás 3 Darvay Zsolt Típusok és nevek a forráskódban Állandók és változók Hatókörök és az előfeldolgozó Bevitel és kivitel Kifejezések Utasítások Mutatók Függvények Struktúrák és típusok Állománykezelés C programozás

Részletesebben

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

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

Részletesebben

C programozás. 1 óra Bevezetés

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

Részletesebben

C programozási nyelv

C programozási nyelv C programozási nyelv Előfeldolgozó utasítások Dr Schuster György 2011 május 3 Dr Schuster György () C programozási nyelv Előfeldolgozó utasítások 2011 május 3 1 / 15 A fordítás menete Dr Schuster György

Részletesebben

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

Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai): Javascript Változók Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai): Név Érték Típus Memóriacím A változó értéke (esetleg más attribútuma is) a program futása

Részletesebben

Programozás alapjai (ANSI C)

Programozás alapjai (ANSI C) Programozás alapjai (ANSI C) 1. Előadás vázlat A számítógép és programozása Dr. Baksáné dr. Varga Erika adjunktus Miskolci Egyetem, Informatikai Intézet Általános Informatikai Intézeti Tanszék www.iit.uni-miskolc.hu

Részletesebben

ELSŐ LÉPÉSEK A SZÁMÍTÓGÉPEK RODALMÁBA AMIT A SZÁMÍTÓGÉPEKRŐL TUDNI ÉRDEMES

ELSŐ LÉPÉSEK A SZÁMÍTÓGÉPEK RODALMÁBA AMIT A SZÁMÍTÓGÉPEKRŐL TUDNI ÉRDEMES ELSŐ LÉPÉSEK A SZÁMÍTÓGÉPEK RODALMÁBA AMIT A SZÁMÍTÓGÉPEKRŐL TUDNI ÉRDEMES Számítógép = Univerzális gép! Csupán egy gép a sok közül, amelyik pontosan azt csinálja, amit mondunk neki. Hardver A számítógép

Részletesebben

Programozás alapjai 2.Gy: A C nyelv alapjai P R O

Programozás alapjai 2.Gy: A C nyelv alapjai P R O Programozás alapjai 2.Gy: A C nyelv alapjai. P R O A L A G 1/32 B ITv: MAN 2018.10.02 Code::Blocks Indítsa el mindenki! 2/32 1 Code::Blocks Új projekt 2 3 4 5 3/32 Code::Blocks Forráskód Kód fordítása:

Részletesebben

INFORMATIKAI ALAPISMERETEK

INFORMATIKAI ALAPISMERETEK Informatikai alapismeretek középszint 0721 ÉRETTSÉGI VIZSGA 2007. október 24. INFORMATIKAI ALAPISMERETEK KÖZÉPSZINTŰ ÍRÁSBELI ÉRETTSÉGI VIZSGA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ OKTATÁSI ÉS KULTURÁLIS MINISZTÉRIUM

Részletesebben

A PiFast program használata. Nagy Lajos

A PiFast program használata. Nagy Lajos A PiFast program használata Nagy Lajos Tartalomjegyzék 1. Bevezetés 3 2. Bináris kimenet létrehozása. 3 2.1. Beépített konstans esete.............................. 3 2.2. Felhasználói konstans esete............................

Részletesebben

Bevezetés az informatikába Tételsor és minta zárthelyi dolgozat 2014/2015 I. félév

Bevezetés az informatikába Tételsor és minta zárthelyi dolgozat 2014/2015 I. félév Bevezetés az informatikába Tételsor és minta zárthelyi dolgozat 2014/2015 I. félév Az informatika története (ebből a fejezetből csak a félkövér betűstílussal szedett részek kellenek) 1. Számítástechnika

Részletesebben

Számrendszerek. A római számok írására csak hét jelt használtak. Ezek segítségével, jól meghatározott szabályok szerint képezték a különböz számokat.

Számrendszerek. A római számok írására csak hét jelt használtak. Ezek segítségével, jól meghatározott szabályok szerint képezték a különböz számokat. Számrendszerek A római számok írására csak hét jelt használtak Ezek segítségével, jól meghatározott szabályok szerint képezték a különböz számokat Római számjegyek I V X L C D M E számok értéke 1 5 10

Részletesebben

Szkriptnyelvek. 1. UNIX shell

Szkriptnyelvek. 1. UNIX shell Szkriptnyelvek 1. UNIX shell Szkriptek futtatása Parancsértelmez ő shell script neve paraméterek shell script neve paraméterek Ebben az esetben a szkript tartalmazza a parancsértelmezőt: #!/bin/bash Szkriptek

Részletesebben

Információk. Ismétlés II. Ismétlés. Ismétlés III. A PROGRAMOZÁS ALAPJAI 2. Készítette: Vénné Meskó Katalin. Algoritmus. Algoritmus ábrázolása

Információk. Ismétlés II. Ismétlés. Ismétlés III. A PROGRAMOZÁS ALAPJAI 2. Készítette: Vénné Meskó Katalin. Algoritmus. Algoritmus ábrázolása 1 Információk 2 A PROGRAMOZÁS ALAPJAI 2. Készítette: Vénné Meskó Katalin Elérhetőség mesko.katalin@tfk.kefo.hu Fogadóóra: szerda 9:50-10:35 Számonkérés időpontok Április 25. 9 00 Május 17. 9 00 Június

Részletesebben

Webprogramozás szakkör

Webprogramozás szakkör Webprogramozás szakkör Előadás 5 (2012.04.09) Programozás alapok Eddig amit láttunk: Programozás lépései o Feladat leírása (specifikáció) o Algoritmizálás, tervezés (folyamatábra, pszeudokód) o Programozás

Részletesebben

Bevezetés a számítástechnikába

Bevezetés a számítástechnikába Bevezetés a számítástechnikába Beadandó feladat, kódrendszerek Fodor Attila Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein.hu 2010 október 12.

Részletesebben

Amit a törtekről tudni kell 5. osztály végéig Minimum követelményszint

Amit a törtekről tudni kell 5. osztály végéig Minimum követelményszint Amit a törtekről tudni kell. osztály végéig Minimum követelményszint Fontos megjegyzés: A szabályoknak nem a pontos matematikai meghatározását adtuk. Helyettük a gyakorlatban használható, egyszerű megfogalmazásokat

Részletesebben

Regionális forduló november 18.

Regionális forduló november 18. Regionális forduló 2017. november 18. 9-10. osztályosok feladata Feladat Egy e-mail kliens szoftver elkészítése lesz a feladatotok. Az elkészítendő alkalmazásnak az alábbiakban leírt specifikációnak kell

Részletesebben

Programozási segédlet

Programozási segédlet Programozási segédlet Programozási tételek Az alábbiakban leírtam néhány alap algoritmust, amit ismernie kell annak, aki programozásra adja a fejét. A lista korántsem teljes, ám ennyi elég kell legyen

Részletesebben

Kinek szól a könyv? A könyv témája A könyv felépítése Mire van szükség a könyv használatához? A könyvben használt jelölések. 1. Mi a programozás?

Kinek szól a könyv? A könyv témája A könyv felépítése Mire van szükség a könyv használatához? A könyvben használt jelölések. 1. Mi a programozás? Bevezetés Kinek szól a könyv? A könyv témája A könyv felépítése Mire van szükség a könyv használatához? A könyvben használt jelölések Forráskód Hibajegyzék p2p.wrox.com xiii xiii xiv xiv xvi xvii xviii

Részletesebben

A C programozási nyelv I. Bevezetés

A C programozási nyelv I. Bevezetés A C programozási nyelv I. Bevezetés Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv I. (bevezetés) CBEV1 / 1 A C nyelv története Dennis M. Ritchie AT&T Lab., 1972 rendszerprogramozás,

Részletesebben

Aritmetikai utasítások I.

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

Részletesebben

Webprogramozás szakkör

Webprogramozás szakkör Webprogramozás szakkör Előadás 4 (2012.03.26) Bevezető Mi is az a programozási nyelv, mit láttunk eddig (HTML+CSS)? Az eddig tanult két nyelven is mondhatni programoztunk, de ez nem a klasszikus értelemben

Részletesebben

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

B I T M A N B I v: T M A N Műszaki informatika Tesztek+Megoldások B I v: T 2015.04.19 M A N 1/42 Tesztek + Megoldások Alapfogalmi kitérő kérdéssor IPA kérdéssor CPA kérdéssor 2/42 Ellenőrző kérdések 1. 1. Melyik Neumann elv következménye

Részletesebben

Amit a törtekről tudni kell Minimum követelményszint

Amit a törtekről tudni kell Minimum követelményszint Amit a törtekről tudni kell Minimum követelményszint Fontos megjegyzés: A szabályoknak nem a pontos matematikai meghatározását adtuk. Helyettük a gyakorlatban használható, egyszerű megfogalmazásokat írtunk.

Részletesebben

Programozás II. 2. Dr. Iványi Péter

Programozás II. 2. Dr. Iványi Péter Programozás II. 2. Dr. Iványi Péter 1 C++ Bjarne Stroustrup, Bell Laboratórium Első implementáció, 1983 Kezdetben csak precompiler volt C++ konstrukciót C-re fordította A kiterjesztés alapján ismerte fel:.cpp.cc.c

Részletesebben

Máté: Számítógép architektúrák

Máté: Számítógép architektúrák Fixpontos számok Pl.: előjeles kétjegyű decimális számok : Ábrázolási tartomány: [-99, +99]. Pontosság (két szomszédos szám különbsége): 1. Maximális hiba: (az ábrázolási tartományba eső) tetszőleges valós

Részletesebben

A programozás alapjai előadás. A C nyelv típusai. Egész típusok. C típusok. Előjeles egészek kettes komplemens kódú ábrázolása

A programozás alapjai előadás. A C nyelv típusai. Egész típusok. C típusok. Előjeles egészek kettes komplemens kódú ábrázolása A programozás alapjai 1 A C nyelv típusai 4. előadás Híradástechnikai Tanszék C típusok -void - skalár: - aritmetikai: - egész: - eger - karakter - felsorolás - lebegőpontos - mutató - függvény - union

Részletesebben

Digitális technika VIMIAA01 9. hét Fehér Béla BME MIT

Digitális technika VIMIAA01 9. hét Fehér Béla BME MIT BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK Digitális technika VIMIAA01 9. hét Fehér Béla BME MIT Eddig Tetszőleges

Részletesebben

Digitális technika VIMIAA01 9. hét

Digitális technika VIMIAA01 9. hét BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK Digitális technika VIMIAA01 9. hét Fehér Béla BME MIT Eddig Tetszőleges

Részletesebben

BASH SCRIPT SHELL JEGYZETEK

BASH SCRIPT SHELL JEGYZETEK BASH SCRIPT SHELL JEGYZETEK 1 TARTALOM Paraméterek... 4 Változók... 4 Környezeti változók... 4 Szűrők... 4 grep... 4 sed... 5 cut... 5 head, tail... 5 Reguláris kifejezések... 6 *... 6 +... 6?... 6 {m,n}...

Részletesebben

Programozás C- és Matlab nyelven C programozás kurzus BMEKOKAM603 Előfeldolgozó rendszer Tömbök. Dr. Bécsi Tamás 4. Előadás

Programozás C- és Matlab nyelven C programozás kurzus BMEKOKAM603 Előfeldolgozó rendszer Tömbök. Dr. Bécsi Tamás 4. Előadás Programozás C- és Matlab nyelven C programozás kurzus BMEKOKAM603 Előfeldolgozó rendszer Tömbök Dr. Bécsi Tamás 4. Előadás A?: operátor Nézzük meg a következő kifejezést: if (a>b) z=a; else z=b; Ez felírható

Részletesebben

A C programozási nyelv I. Bevezetés

A C programozási nyelv I. Bevezetés A C programozási nyelv I. Bevezetés Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv I. (bevezetés) CBEV1 / 1 A C nyelv története Dennis M. Ritchie AT&T Lab., 1972 rendszerprogramozás,

Részletesebben

Írjon olyan programot a standard könyvtár alkalmazásával, amely konzolról megadott valós adatokból meghatározza és kiírja a minimális értékűt!

Írjon olyan programot a standard könyvtár alkalmazásával, amely konzolról megadott valós adatokból meghatározza és kiírja a minimális értékűt! Írjon olyan programot a standard könyvtár alkalmazásával, amely konzolról megadott valós adatokból meghatározza és kiírja a minimális értékűt! valós adatokat növekvő sorrendbe rendezi és egy sorba kiírja

Részletesebben

M-Fájlok létrehozása MATLAB-ban

M-Fájlok létrehozása MATLAB-ban M-Fájlok létrehozása MATLAB-ban 1 Mi az M-fájl Annak ellenére, hogy a MATLAB rendkívül kifinomult és fejlett számológépként használható, igazi nagysága mégis abban rejlik, hogy be tud olvasni és végrehajtani

Részletesebben

az Excel for Windows programban

az Excel for Windows programban az Excel for Windows táblázatkezelőblázatkezel programban Mit nevezünk nk képletnek? A táblt blázatkezelő programok nagy előnye, hogy meggyorsítj tják és könnyebbé teszik a felhasználó számára a számítási

Részletesebben

Készítette: Nagy Tibor István

Készítette: Nagy Tibor István Készítette: Nagy Tibor István A változó Egy memóriában elhelyezkedő rekesz Egy értéket tárol Van azonosítója (vagyis neve) Van típusa (milyen értéket tárolhat) Az értéke értékadással módosítható Az értéke

Részletesebben

Adatbázis és szoftverfejlesztés elmélet

Adatbázis és szoftverfejlesztés elmélet Adatbázis és szoftverfejlesztés elmélet Témakör 4. Összefoglalás 1. A kódolás eszközei Általános szövegszerkesztő Programozói szövegszerkesztő Fejlesztői környezet Vizuális fejlesztői környezet Általános

Részletesebben

A számrendszerekrl általában

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

Részletesebben

I. ALAPALGORITMUSOK. I. Pszeudokódban beolvas n prim igaz minden i 2,gyök(n) végezd el ha n % i = 0 akkor prim hamis

I. ALAPALGORITMUSOK. I. Pszeudokódban beolvas n prim igaz minden i 2,gyök(n) végezd el ha n % i = 0 akkor prim hamis I. ALAPALGORITMUSOK 1. Prímszámvizsgálat Adott egy n természetes szám. Írjunk algoritmust, amely eldönti, hogy prímszám-e vagy sem! Egy számról úgy fogjuk eldönteni, hogy prímszám-e, hogy megvizsgáljuk,

Részletesebben

Elemi matematika szakkör

Elemi matematika szakkör Elemi matematika szakkör Kolozsvár, 2015. október 5. 1.1. Feladat. Egy pozitív egész számot K tulajdonságúnak nevezünk, ha számjegyei nullától különböznek és nincs két azonos számjegye. Határozd meg az

Részletesebben

1. fogalom. Add meg az összeadásban szereplő számok elnevezéseit! Milyen tulajdonságai vannak az összeadásnak? Hogyan ellenőrizzük az összeadást?

1. fogalom. Add meg az összeadásban szereplő számok elnevezéseit! Milyen tulajdonságai vannak az összeadásnak? Hogyan ellenőrizzük az összeadást? 1. fogalom Add meg az összeadásban szereplő számok 73 + 19 = 92 összeadandók (tagok) összeg Összeadandók (tagok): amiket összeadunk. Összeg: az összeadás eredménye. Milyen tulajdonságai vannak az összeadásnak?

Részletesebben

POSZEIDON dokumentáció (1.2)

POSZEIDON dokumentáció (1.2) POSZEIDON dokumentáció (1.2) Bevezetés a Poszeidon rendszer használatába I. TELEPÍTÉS Poszeidon alkalmazás letölthető: www.sze.hu/poszeidon/poszeidon.exe Lépések: FUTTATÁS / (FUTTATÁS) / TOVÁBB / TOVÁBB

Részletesebben

A feladatok legtöbbször egy pontot érnek. Ahol ettől eltérés van, azt külön jelöljük.

A feladatok legtöbbször egy pontot érnek. Ahol ettől eltérés van, azt külön jelöljük. Szeretettel üdvözlünk Benneteket abból az alkalomból, hogy a Ceglédi Közgazdasági és Informatikai Szakközépiskola informatika tehetséggondozásának első levelét olvassátok! A tehetséggondozással az a célunk,

Részletesebben

I+K technológiák. Számrendszerek, kódolás

I+K technológiák. Számrendszerek, kódolás I+K technológiák Számrendszerek, kódolás A tárgyak egymásra épülése Magas szintű programozás ( számítástechnika) Alacsony szintű programozás (jelfeldolgozás) I+K technológiák Gépi aritmetika Számítógép

Részletesebben

Programozás 1. Dr. Iványi Péter

Programozás 1. Dr. Iványi Péter Programozás 1. Dr. Iványi Péter 1 C nyelv B.W. Kernighan és D.M. Ritchie, 1978 The C Programming language 2 C nyelv Amerikai Szabványügy Hivatal (ANSI), 1983 X3J11 bizottság a C nyelv szabványosítására

Részletesebben

SZÁMÍTÁSOK A TÁBLÁZATBAN

SZÁMÍTÁSOK A TÁBLÁZATBAN SZÁMÍTÁSOK A TÁBLÁZATBAN Az Excelben az egyszerű adatok bevitelén kívül számításokat is végezhetünk. Ezeket a cellákba beírt képletek segítségével oldjuk meg. A képlet: olyan egyenlet, amely a munkalapon

Részletesebben

1. tétel. A kommunikáció információelméleti modellje. Analóg és digitális mennyiségek. Az információ fogalma, egységei. Informatika érettségi (diák)

1. tétel. A kommunikáció információelméleti modellje. Analóg és digitális mennyiségek. Az információ fogalma, egységei. Informatika érettségi (diák) 1. tétel A kommunikáció információelméleti modellje. Analóg és digitális mennyiségek. Az információ fogalma, egységei Ismertesse a kommunikáció általános modelljét! Mutassa be egy példán a kommunikációs

Részletesebben

Kifejezések. Kozsik Tamás. December 11, 2016

Kifejezések. Kozsik Tamás. December 11, 2016 Kifejezések Kozsik Tamás December 11, 2016 Kifejezések Lexika Szintaktika Szemantika Lexika azonosítók (változó-, metódus-, típus- és csomagnevek) literálok operátorok, pl. + zárójelek: (), [], {},

Részletesebben

Pásztor Attila. Algoritmizálás és programozás tankönyv az emeltszintű érettségihez

Pásztor Attila. Algoritmizálás és programozás tankönyv az emeltszintű érettségihez Pásztor Attila Algoritmizálás és programozás tankönyv az emeltszintű érettségihez 3. ADATTÍPUSOK...26 3.1. AZ ADATOK LEGFONTOSABB JELLEMZŐI:...26 3.2. ELEMI ADATTÍPUSOK...27 3.3. ÖSSZETETT ADATTÍPUSOK...28

Részletesebben

Hardverközeli programozás 1 1. gyakorlat. Kocsis Gergely 2015.02.17.

Hardverközeli programozás 1 1. gyakorlat. Kocsis Gergely 2015.02.17. Hardverközeli programozás 1 1. gyakorlat Kocsis Gergely 2015.02.17. Információk Kocsis Gergely http://irh.inf.unideb.hu/user/kocsisg 2 zh + 1 javító (a gyengébbikre) A zh sikeres, ha az elért eredmény

Részletesebben

WebResponder információs füzetek

WebResponder információs füzetek WebResponder információs füzetek Költözés 2010.07.20. Balogh Attila http://webrepsonder.net Oldal:2 MI SZÜKSÉG ERRE? Ahogy észrevehetted, a WebResponder rendszerét kissé átalakítottuk figyelembe véve a

Részletesebben

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

B I T M A N B I v: T M A N Műszaki informatika IPA Tesztek+Megoldások B I v: T 2014.02.15 M A N 1/41 Ellenőrző kérdések Alapfogalmi kitérő kérdéssor IPA kérdéssor 2/41 Ellenőrző kérdések 1. 1. Melyik Neumann elv következménye a

Részletesebben

Minden egész szám osztója önmagának, azaz a a minden egész a-ra.

Minden egész szám osztója önmagának, azaz a a minden egész a-ra. 1. Számelmélet Definíció: Az a egész szám osztója a egész számnak, ha létezik olyan c egész szám, melyre = ac. Ezt a következőképpen jelöljük: a Tulajdonságok: Minden egész szám osztója önmagának, azaz

Részletesebben

Járműfedélzeti rendszerek II. 1. előadás Dr. Bécsi Tamás

Járműfedélzeti rendszerek II. 1. előadás Dr. Bécsi Tamás Járműfedélzeti rendszerek II. 1. előadás Dr. Bécsi Tamás A tárgy órái Előadás hetente (St101) csüt. 8:15 Bécsi Tamás C elmélet Ajánlott irodalom Dennis Ritchie: A C programozási nyelv Gyakorlat hetente

Részletesebben

A továbbiakban Y = {0, 1}, azaz minden szóhoz egy bináris sorozatot rendelünk

A továbbiakban Y = {0, 1}, azaz minden szóhoz egy bináris sorozatot rendelünk 1. Kódelmélet Legyen X = {x 1,..., x n } egy véges, nemüres halmaz. X-et ábécének, elemeit betűknek hívjuk. Az X elemeiből képzett v = y 1... y m sorozatokat X feletti szavaknak nevezzük; egy szó hosszán

Részletesebben

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

A 2016/2017 tanévi Országos Középiskolai Tanulmányi Verseny első forduló javítási-értékelési útmutató. INFORMATIKA II. (programozás) kategória Oktatási Hivatal A 2016/2017 tanévi Országos Középiskolai Tanulmányi Verseny első forduló javítási-értékelési útmutató INFORMATIKA II. (programozás) kategória Kérjük a tisztelt tanár kollégákat, hogy a

Részletesebben