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

Slides:



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

1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
Jt Java Feltételek, logikai kifejezések. jt 2 Logikai operátorok Logikai kifejezésekre alkalmazhatók a következő műveletek: 1. nem! 2. és&ill.&& 3. kizáró.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
Objective- C Bereczki Gréta Tamara
8. előadás (2005. április 19.) Pozicionálás fájlban (folyt.) I/O mechanizmus váltás Hibakezelő függvények Változók tárolási osztályai Parancssor-argumentumok.
JavaScript.
Hernyák Zoltán Magasszintű Programozási Nyelvek I.
Hernyák Zoltán Magasszintű Programozási Nyelvek I.
Bevezetés a Java programozásba
Bevezetés a Java programozásba
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.
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.
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. Ismétlés Utasítások csoportosítása.
Java Típuskonverziók.
A C++ programozási nyelvSoós Sándor 1/10 C++ programozási nyelv Gyakorlat - 5. hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet.
PHP Webprogramozás alapjai
C++ Alapok, első óra Elemi típusok Vezérlési szerkezetek
Programozás I Függvények általános jellemzői
Vizuális és web programozás II.
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.
A JavaScript bemutatása
Szintaktikai, szemantikai szabályok
Operátorok Értékadások
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.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
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 Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
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 Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
Javascript Microsoft által készített kiegészítése Statikus típusosság Nagy projektek Windows 8 fejlesztésénél WinRT egy részét ebben írták Nyílt forráskódú,
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.
Típuskonverzió a C++ nyelvben
Adatszerkezetek és algoritmusok 2008/ Algoritmus Az algoritmus szó eredete a középkori arab matematikáig nyúlik vissza, egy a i.sz. IX. században.
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.
TÁMOP /1-2F JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam Utasítás és blokk. Elágazás típusai, alkalmazása Kovács.
Informatikai gyakorlatok 11. évfolyam
Kifejezések C#-ban.
Programozási nyelvek típusossága.
Hernyák Zoltán Programozási Nyelvek II.
Beépített függvények használata programozáskor
Programozás C# -ban Elágazások.
Hernyák Zoltán Magasszintű Programozási Nyelvek I.
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
Változók.
Hernyák Zoltán Programozási Nyelvek II.
Hernyák Zoltán Magasszintű Programozási Nyelvek I.
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
Informatikai gyakorlatok 11. évfolyam
Algoritmus készítés.
Előadás másolata:

Hernyák Zoltán Magasszintű Programozási Nyelvek I. A számítógép programozása Hernyák Zoltán Web: http://dragon.ektf.hu/aroan, E-Mail: aroan@aries.ektf.hu Magasszintű Programozási Nyelvek I. Eszterházy Károly Főiskola Számítástudományi tsz http://aries.ektf.hu 1

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

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

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

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

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

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

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

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

É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

É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

É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

É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

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

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

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

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

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

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

Ú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

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

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

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