Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Hernyák Zoltán Magasszintű Programozási Nyelvek I.

Hasonló előadás


Az előadások a következő témára: "Hernyák Zoltán Magasszintű Programozási Nyelvek I."— Előadás másolata:

1 Hernyák Zoltán Magasszintű Programozási Nyelvek I.
A számítógép programozása Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy Károly Főiskola Számítástudományi tsz 1

2 Deklaráció Deklaráció
A program írása közben azonosítókat használunk fel. Eleve ismert azonosítók (pl ‘int’) Általunk ‘kitalált’ azonosítók Mielőtt egy azonosítót felhasználnánk a program szövegében, azt meg kell magyaráznunk előtte Ezt DEKLARÁCIÓ-nak nevezzük 2

3 Adat-deklaráció Adat-deklaráció
A programunk futása során adatokkal dolgozunk Literálok (programszövegbe illesztett adatok) Nevesített literálok (konstansok) Változók 3

4 Konstans-deklaráció Konstans-deklaráció const double Pi = 3.14;
kulcsszó értékadó egyenlőség típus típusnak megfelelő kifejezés, kezdőérték az új azonosító (a konstans neve) 4

5 Konstans deklaráció példák
const double Pi = 3.14; const string nev = ”Hernyák Zoltán”; const bool Igaz = true; const char dirSeparator = ‘\\’; const int maxLetszam = 34; const int maxBevetel = maxLetszam * 3000; A kezdőérték kifejezés is lehet! De csak konstansokból és literálokból felépített kifejezés! 5

6 Konstans-deklaráció Konstansok A konstansoknak van
Típusuk (explicit módon megadva) Nevük (azonosító) Értékük (kezdőértékként megadva) A konstansokra a nevükkel hivatkozhatunk a kódban A konstansok nem szerepelhetnek értékadó utasítás bal oldalán, így értékük a program futása során nem változtatható meg 6

7 Változó-deklaráció Változó-deklaráció double sugar;
típus az új azonosító (a változó neve) string jelszo = String.Empty; típus a változó neve kezdőérték (nem kötelező) 7

8 Változó-deklaráció Változó-deklaráció A változóknak van
Típusuk (explicit módon megadva) Nevük (azonosító) Aktuális értékük A változó aktuális értékére a nevével lehet hivatkozni Amíg a változó nem kapott explicit módon a program futása során értéker, addig definiálatlan-nak tekintjük 8

9 Változó-deklaráció Változó-deklaráció
Definiálatlan változó értékére nem hivatkozhatunk! Ha mégis, akkor: (1) Futás közbeni hiba keletkezik, (2) Nemdeterminisztikus programműködést eredményez, (3) Szintaktikai hibát jelez a fordítóprogram 9

10 Értékadó utasítás Értékadó utasítás
A változók értékét értékadó utasítás révén változtathatjuk meg. A változók értékét tetszőleges sokszor megváltoztathatjuk A változó mindig csak a legutolsó ‘belehelyezett’ értékre ‘emlékszik’ Ezt az értéket aktuális értéknek nevezzük 10

11 Értékadó utasítás Értékadó utasítás változónév = kifejezés ;
Futás közben értékelődik ki, így szerepelhet benne - konstans - literál - változó - operátorok - függvényhívások Egy már deklarált változó neve Így ismert a típusa is A végeredmény típusa kikövetkeztethető 11

12 Értékadó utasítás Értékadó utasítás
A kifejezés eredmény-típusa és a változó típusa Meg kell egyezzen Vagy konvertálható kell legyen Léteznek implicit (automatikus) konverziók char string !!!!!!!!!!! NINCS!!!!!! egészeken belül a ‘nagyobb’ típus felé egész lebegőpontos 12

13 Értékadó utasítás példák
benzinAr = alapAr * 1.3; bevetel = eladottMenny * benzinAr; c = a * Math.Sin( alfa ); nev = ”Dr. ” + csaladnev + ‘ ‘ + keresztnev; x = y / 3; p = q % 4; 13

14 Be-, és kiviteli utasítások
I/O utasítások Be-, és kiviteli utasítások A program bizonyos adatokat a futásához nem a program kódjában tárol, hanem külső helyről olvas be Ez lehet Billentyűzet Adatbázis-szerver, disk-file, XML, … Egér, joystick, kormány, … Digitalizáló-pad, … 14

15 I/O utasítások C# beviteli utasítás
System.Console.ReadLine() fv, ez mindig string-et ad vissza string s = Console.ReadLine(); Más adattípusok esetén konvertálás szükséges ( futási hibát okozhatnak! ): int x = int.Parse( s ); double d = double.Parse( s ); double x = int.Parse( s ); Az egyéb típusok char, bool is működhetnek hasonló konvertálási eljárással! 15

16 I/O utasítások C# kiviteli utasítás System.Console.WriteLine(…) fv
Console.WriteLine(”Hello Vilag!”); Összetett kiírás formátum-string-el: Console.WriteLine(”X={0}, Y={1}, Osszeg={2}”,x,y,x+y); 16

17 Java kiviteli utasítás
I/O utasítások Java kiviteli utasítás System.out.println("Hello World!"); System.out.println(”X=”+3+” Y=”+4); String összefűzés operátora Az egész literálok itt implicit módon típuskonvertálva vannak string-re 17

18 Példaprogram 2 egész szám összegének kiírására (demó)
Működő programok Példaprogram 2 egész szám összegének kiírására (demó) static void Main() { Console.WriteLine(”Kérem az A értékét:”); string s = Console.ReadLine(); int a = int.Parse( s ); Console.WriteLine(”Kérem a B értékét:”); s = Console.ReadLine(); int b = int.Parse( s ); int c = a+b; Console.WriteLine(”Összeg={0}”,c); } 18

19 Működő programok Szekvencia vezérlési szerkezet …
A program utasításait nem tetszőleges sorrendben fogja a rendszer végrehajtani, hanem abban a sorrendben, amelyben azok a forráskódban szerepelnek. Ez a végrehajtási elvet SZEKVENCIA-szabálynak nevezzük. 19

20 Újradeklarálás gond lenne…
Működő programok Újradeklarálás gond lenne… static void Main() { Console.WriteLine(”Kérem az A értékét:”); string s = Console.ReadLine(); int a = int.Parse( s ); Console.WriteLine(”Kérem a B értékét:”); s = Console.ReadLine(); int b = int.Parse( s ); int c = a+b; Console.WriteLine(”Összeg={0}”,c); } 20

21 Minden azonosítónak van hatásköre
Működő programok Minden azonosítónak van hatásköre static void Main() { Console.WriteLine(”Kérem az A értékét:”); string s = Console.ReadLine(); int a = int.Parse( s ); Console.WriteLine(”Kérem a B értékét:”); s = Console.ReadLine(); int b = int.Parse( s ); int c = a+b; Console.WriteLine(”Összeg={0}”,c); } 21

22 Minden azonosítónak van hatásköre
Működő programok Minden azonosítónak van hatásköre A hatáskör lehet lokális: - függvény belsejében deklarált azonosító - a hatáskör a deklaráció helyétől a befoglaló blokk végéig tart - ezen szakaszban az azonosító nem deklarálható újra - az ilyen azonosítókat a befoglaló blokkon kívül nem lehet felhasználni! 22

23 Működő programok A főprogram:
Egy Main() nevű függvényt kell készítenünk A program végrehajtása a Main() első utasításánál kezdődik, A Main() blokk belsejében lévő utasításokat a szekvencia-szabály szerint hajtja végre A program futása befejeződik, ha a végrehajtás eléri a Main() blokkjának végét static void Main() { } 23


Letölteni ppt "Hernyák Zoltán Magasszintű Programozási Nyelvek I."

Hasonló előadás


Google Hirdetések