Rendszer és Szoftvertechnológia Tanszék

Slides:



Advertisements
Hasonló előadás
C# nyelvi áttekintő A „Programozás C# nyelven (Illés Zoltán)”
Advertisements

Összefoglalás 1. Pascal program szerkezete 2. Pascal típusai
Algoritmus és programozás
Bevezetés a programozásba
ADATBÁZIS KEZELÉS – Adattípusok
LEgyméretű tömbök, vektorok Alkalmazott Informatikai Tanszék SZÁMÍTÁSTECHNIKA I. dr.Dudás László 17./0. lVektorok definiálása lVektorok definiálása kezdőértékekkel.
LFüggvények Alkalmazott Informatikai Tanszék MŰSZAKI INFORMATIKA dr.Dudás László 20./0. lFüggvények deklarációja és prototípusa lA függvénydefiníció lHivatkozás.
Objective- C Bereczki Gréta Tamara
9. előadás (2005. április 26.) Parancssor argumentum kezelés példák (K&R) Fordítóprogramok A C előfordító 1.
JavaScript.
Hernyák Zoltán Magasszintű Programozási Nyelvek I.
Programozás alapjai.
Turbo Pascal Változók.
Programozás alapjai.
Csala Péter ANDN #4. 2 Tartalom  C# - ban előre definiált típusok  Változók  Változókkal műveletek  Elágazás  Ciklus.
Bevezetés a Java programozásba
Bevezetés a Java programozásba
10. előadás (2004. április 20.) A C előfordító (folytatás) Néhány hasznos compiler opció Egy tanulságos könyvtári függvény Változó hosszúságú argumentum.
11. előadás (2005. május 10.) A make segédprogram Alacsony szintű műveletek és bitmezők Fájl, katalógus rendszer hívások 1.
1 Programozás alapjai GEIAL312B (ANSI C) BSc (Bachelor of Science) / Alap képzés 2005/2006. őszi félév Miskolci Egyetem Általános Informatikai Tanszék.
6. előadás (2005. április 5.) Struktúrák Úniók Új adattípus definíálása Dinamikus memória foglalás 1.
5. előadás (2005. március 22.) Függvények definíciója, deklarációja, hívása Enumerációs adattípus 1.
4. előadás (2005. március 8.) Pointerek Pointer aritmetika
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 6. Gyakorlat const, static, dinamikus 2D.
C A C nyelv utasításai.
Mutatók, tömbök, függvények
Borland C/C++ mintapéldák
Borland C/C++ mintapéldák függvényekre. 1. példa Írjunk olyan függvényt amely egy számot kiirat.
Programozás I. Horváth Ernő 1. Elérhetőségek Bauer Péter Horváth Ernő Tanszéki honlap
PHP Webprogramozás alapjai
C++ Alapok, első óra Elemi típusok Vezérlési szerkezetek
Programozás I. Adatállományok dr Póder Margit f. docens Rendszer és Szoftvertechnológia Tanszék.
PHP I. Alapok. Mi a PHP? PHP Hypertext Preprocessor Szkriptnyelv –Egyszerű, gyors fejlesztés –Nincs fordítás (csak értelmező) Alkalmazási lehetőségek:
Programozás Az adatokról C# -ban.
C nyelv utasításai.
ELTE Adatokkal kapcsolatos fogalmak  Konstans: az az adat, amely a műveletvégzés során nem változtat(hat)ja meg értékét, mindvégig ugyanabban az „állapotban”
Programozási Nyelvek (C++) Gyakorlat Gyak 02.
Szoftvertechnológia alapjai Java előadások Förhécz András, doktorandusz tárgy honlap:
Programozási nyelvek Páll Boglárka.
A Pascal programozási nyelv alapjai
A Pascal programozási nyelv alapjai
Programozási nyelvek, Pascal
Szintaktikai, szemantikai szabályok
Készítette: Csíki Gyula
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
Hernyák Zoltán Programozási Nyelvek II.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
Visual Basic 2008 Express Edition
Java programozási nyelv Filekezelés
Objektum orientált programozás
Objektum orientált programozás
A Visual Basic nyelvi elemei
Fontos tudnivalók A MATLAB egy fajta objektummal dolgozik (Mátrix)
Függvények a C nyelvben 1 Függvényeket a következő esetekben szokás írni: Ha ugyanazt a tevékenységet többször is el kell végeznünk ugyanolyan típusú,
C Programozási alapok.
Programozás alapjai Csernoch Mária.
Ficsor Lajos A C++ programozási nyelv I. CPP1/ 1 Osztály és objektum fogalma.
Programtervezés, programozás I. 2.5 tömbök,stringek
Függvények, mutatók Csernoch Mária. Függvények függvény definíciója az értelmezési tartomány tetszőleges eleméhez hozzárendel egy értéket –függvény helyettesítési.
Informatikai gyakorlatok 11. évfolyam
Informatikai gyakorlatok 11. évfolyam
Programozási alapismeretek
Hernyák Zoltán Magasszintű Programozási Nyelvek I.
Programozási nyelvek alapfogalmai
Változók.
A struct, az union és az enum típus
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
Az objektum-orientáltság
Típusok, változók, konstansok
Függvénysablonok használata
Előadás másolata:

Rendszer és Szoftvertechnológia Tanszék Programozás I. 1.1, 1.2, 1.3. Rendszer és Szoftvertechnológia Tanszék

1.1. Első programunk elkészítése Program: Olyan terv vagy ütemterv, amely meghatározza a feltétlenül vagy feltételesen elvégzendő tevékenységeket. Számítógépi program: Olyan program, amely számítógép által végrehajtható alakban van kifejezve: utasításokat tartalmazó fileok együttese. (Például MS-DOS vagy Windows környezetben: az exe és com kiterjesztésű fileok .)

Egy egyszerű program elkészítése 1.1.1. mintapélda #include <stdio.h> void main (void) { printf ("Első próbaprogram !"); } Mentsük el az utasításokat az elso.cpp fileba. Forrásfile: Használjunk beszédes file-nevet, használjuk a cpp kiterjesztést.

1.2. Közelebbi pillantás a C++-ra Áttekintés: Az #include utasítás lehetővé teszi, hogy kihasználjuk a C++ utasításokat vagy programdefiníciókat tartalmazó fejlécfileok előnyét. Egy C++ program fő része a void main (void) utasítással kezdődik. A logikailag összetartozó részeket zárójelbe tesszük! A C programok egy vagy több függvényből állnak, melyek konkrét feladatot végző utasításokat tartalmaznak. Az eredményeknek a képernyőre történő kiírására a printf függvényt használjuk. Használjunk a programon belül megjegyzéseket, hogy leírják a program működését más programozók számára.

A programutasítások 1.1.1.a mintapélda: üzenet kiírása a képernyőre // Programozó: PM, készítés dátuma: // 2007.09.14. // #include <stdio.h> void main (void) { printf ("Első próbaprogram !"); } // után: nem tartalmaz végrehajtandó utasítást, ez egy megjegyzés-sor. Minden program elejére: mi a program feladata, ki és mikor készítette azt. A kapcsos zárójelek (csoportosító jelek) csoportosítják az összetartozó utasításokat. Az include előfeldolgozó utasítás A h (head= fej) kiterjesztésű fileokat fejléc (header) fileoknak nevezzük. A void main (void) a C++ programokban a program kiindulási helyét jelöli. A main (főprogram) azonosítja a főprogramot - csak egy lehet. A void használata:. A függvény nem ad vissza értéket. A printf

1.3. A programok változókban tárolnak információt Adat: (az adatfeldolgozás területén): Valamely tény, fogalom vagy utasítás olyan egyezményesen ábrázolt alakja, amely alkalmas arra, hogy emberek vagy automatikus eszközök továbbítsák, értelmezzék vagy feldolgozzák. Információ: Az adat jelentése. Típus: értelmezési tartomány.

Áttekintés Deklarálnunk kell a változókat: név és típus megadása A változó típusa megadja azt a típust (például egész szám, vagy tizedes értéket is tartalmazó szám), melyet a változó tárolni képes. (A típus egyben meghatározza azokat a műveleteket is, melyeket a programunk el tud végezni a változón). Egy változó értékadásához a C++ értékadás műveleti jelet (egyenlőségjelet) használjuk. NEM := A C++ nyelvben karakteres, egész és lebegőpontos konstansokat, továbbá string konstansokat használhatunk. Egy változó értékének a képernyőn való megjelenítéséhez a printf függvényt használjuk. beszédes változónevek…

Változók deklarálása a programokban A C nyelvben az alábbi öt elemi típus áll a programozó rendelkezésére: Típus Kulcsszó karakter char egész int lebegőpontos float dupla lebegőpontos double érték nélküli void Típusmódosítók: short, long (tárolási hossz) signed, unsigned (az előjel értelmezése)

Skalár típusok a C-ben Aritmetikai típusok egész jellegű típusok char signed char int long int short int unsigned char unsigned int unsigned long int unsigned short int lebegőpontos típusok float double long double mutató típusok

Adattípusok a C nyelvben Méret (byte) Tárolt érték Vezérlő kar. char 1 -128 … +127 c, d unsigned char 0…255 d, u int 2 -32768…+32767 d unsigned 0…65535 u long 4 -2 147 483 648 ... 2 147 483 647 ld unsigned long a 0 ... 4 294 967 295 ld, lu float Pontosság: 7 tizedes f, e double 8 Pontosság: 15 tizedes lf, le long double 10 Pontosság: 19 tizedes

Mit jelent a pontosság ? Deklaráció: long egesz; float valos7; double valos15; Értékadás: A letárolt érték: egesz = 123456789.123; 123456789 valos7 = 123456789.123; 123456792.000 valos15= 123456789.123; 123456789.123

Mi a változó ? Mielőtt használnánk egy változót, programunknak deklarálnia kell azt. Egy változó deklarálásához meg kell adnunk a változó típusát és azt a nevet, melyet programunk használni fog a hivatkozásra.: void main (void) { int evszam, ho, nap; float testsuly, testsuly_atlag; long fizetes; } A névvel ellátott objektumokat a programozási nyelvekben változóknak szokás nevezni.

Változónevek: Szabály: a változónév betűvel vagy aláhúzás-jellel kezdődő alfanumerikus jelsorozat. A C++ különbséget tesz a kis és nagybetűk között, ékezetes betűket változónevekben nem használhatunk. Ajánlott: beszédes változónevek használata, csak kis betűk és számjegyek használata. Változó nevekhez nem használhatók az alábbi kulcsszavak: asm, auto, break, case, catch, char, class, const, continue, default, delete, do, double, else, enum, extern, float, for, friend, goto, if, inline, int, long, new, operator, private, protected, public, register, return, short, signed, sizeof, static, struct, void, volatile, while.

Változó típusa típus változónév; A változó típusának mindig azt a legkisebb típust választjuk, amelyik az adott feladatot problémamentesen megoldja. Lépések: milyen adatot kezelünk (szám, karakter, szöveg) mértékegység meghatározása értéktartomány meghatározása pontosság típus választás

Értékadás egy változónak Szintaktikája: változónév = érték ; Pl: evszam = 2001; testsuly = 73.5; fizetes = 52600; Értékadás deklaráláskor: a változók inicializálása int evszam=2001, ho, nap; float testsuly, testsuly_atlag=0; long fizetes =40000; //a minimálbér 2001-ben

Konstansok: olyan érték, mely a program futása alatt nem változik meg Karakter konstansok Egész konstansok Lebegőpontos konstansok Sztringliterálok (sztring konstansok) ‘a’, ‘9’, ‘Q’ Decimális, oktális, hexadecimális .2, -3.0, 11E3 ”Helló !”

Karakter konstansok A karakter konstansok aposztrófok közé zárt karakterek, pl: 'a', '9', 'B'. Az egy karaktert tartalmazó karakter konstans által képviselt számérték a karakter kódja. Bizonyos szabványos vezérlő- és speciális karakterek megadására az ún. escape szekvenciákat használjuk. Az escape szekvenciában a fordított osztásjel (backslash - \) karaktert speciális karakterek, illetve számok követik, pl. ‘\n’

Lebegőpontos konstans: Olyan decimális szám, amely előjeles valós számot reprezentál. A valós szám általában egészrészből, tizedes törtrészből és kitevőből tevődik össze. Az egész- és törtrészt tizedespont (.) kapcsolja össze, a kitevő az e vagy az E betűt követi. Az egész vagy a törtrész elhagyható - de egyszerre csak az egyik ! A tizedespont vagy az {e,E} a kitevővel együtt elhagyható, de csak az egyik ! C++ nyelv Matematikai értelmezés .2 0,2 -5. -5,0 98.55 98,55 -6e-3 -0,006 12E2 1200,0 3.1415925 3,1415925

Gyakorló feladat A következő fixpontos, illetve lebegőpontos konstansok közül melyeket adtunk meg helyesen a C nyelv értelmezése szerint: a./ -236 b./ -5000 c./ 0.0567E-7 d./ E+5 e./ 5,765 f./ 1/3 g./ 3,745.67 h./ 0. i./ .15

Konstansok definiálása Formája: const [típusnév] azonosító = érték; (Csak C++-ban alkalmazható). Ha a típusnevet elhagyjuk, akkor int az alapértelmezés. Példa: const int ev = 2001;

Konstansok definiálása A másik megoldás: az előfordító #define utasításával létrehozott makrók hordoznak konstans értéket. #define NULLA 0 #define EGY 1 #define SOK 5 Figyelem: nincs a sor végén pontosvessző ! A #define konstansok a definiálás helyétől a file végéig fejtik ki hatásukat, vagy az #undef direktívával megszüntethetjük a hozzárendelést. Ezután újradefiniálásra van mód. A fenti példát folytatva: #undef SOK #define SOK 100

Változó tárolókapacitásának túllépése A változó típusa meghatározza a tárolható értékek körét. Ha egy változónak ezen tartományon kívüli értéket adunk, akkor túlcsordulási hiba keletkezik. 1.3.1. mintapélda. Túlcsordulási hiba illusztrálása #include <stdio.h> void main (void) { // Túlcsordulási hiba illusztrálása int egesz = 50000; long nagy_egesz = 5000000000; printf ("\nAz egesz tartalma: %d",egesz); printf ("\nA nagy_egesz tartalma: %ld",nagy_egesz); }

Ellenőrző kérdések Mit jelent a változók deklarálása ? Mit ad meg a változó típusa ? Mire ügyeljünk a C++ nyelvben használt változók elnevezésénél ? Miért nem lehet változónévként használni az alábbi szavakat: break, delete, void. Milyen konstansokat használhatunk a C++ nyelvben ? Hogyan lehet ezeket deklarálni ? Miben különbözik a 'w' és a "w" konstans ? Hány byte kell a tárolásukhoz ? Az A betű (nagy A) kódja 65. Azonosak-e az alábbi konstansok: 65, 'A', 0101, 0x41 Írja fel az alábbi számokat lebegőpontos konstansként: 0,157 -1 56000 65,897 Milyen típusú konstansokat használunk a C++ nyelvben ? Írjon fel mindegyikre egy-egy példát. Az alábbi felsorolásban melyek karakter konstansok: 'a', b, "c", 89, "89", '8' Mi a stringliterál ? Írjon fel egy példát. Mikor keletkezik túlcsordulási hiba ? Mi az oka annak, hogy programjainkban pontossági hibák keletkezhetnek ?

A fordítóprogram megértése Gépi nyelv , Programnyelv, - szövegszerkesztő, - forráskód, - fordítóprogram, - végrehajtható program. A szintaktikai hibák: a forrásprogramok készítésekor be kell tartanunk bizonyos formai szabályokat, melyeket szintaktikai szabályoknak nevezünk. A fordítóprogram csak a szintaktikailag helyes programból képes futtatható programot készíteni. Definíció: A szintaxis a nyelv formális szabályainak összessége. Definíció: Szemantika: szintaktikailag helyes nyelvi szerkezethez tartozó jelentés.

Munka integrált fejlesztési környezetben Új forrásfile szerkesztése, mentése, régi állományok előkeresése, módosítása, nyomtatás. Szerkesztési parancsok, pl.: másolás, áthelyezés, törlés, cursor mozgató parancsok, stb. Fordítóprogram aktivizálása: Comlipe, Make, Build all parancsok Futtatás (Run), futtatás nyomkövetéssel (Trace) Opciók (Options) A Help használata

Borland C++ parancsok rövid áttekintés !