1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.

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.
Tömbök C#-ban.
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
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
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
Abstract osztályok és interface-ek Beolvasás és kiíratás 7. gyakorlat.
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 6. Gyakorlat const, static, dinamikus 2D.
Tömbök ismétlés Osztályok Java-ban Garbage collection
Java Típuskonverziók.
A Java programozási nyelvSoós Sándor 1/17 Java programozási nyelv 4. rész – Osztályok II. Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai.
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.
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:
P ROGRAMOZÁS C# - BAN Kivételkezelés. P ÉLDA I. Nullával való osztás miatt kapjuk a hibaüzenetet.
P ROGRAMOZÁS I/O műveletek. S YSTEM.C ONSOLE A programjainknak fontos része a felhasználóval való kommunikáció. Adatokat kell kérni tőle, vagy közölnünk.
Programozás Az adatokról C# -ban.
A JavaScript bemutatása
Összetett adattípusok
Beolvasó utasítás Console.Read();  Int típusú adatot kapunk. Console.ReadLine();  String típusú adatot kapunk. Console.ReadKey();  Tetszőleges billentyű.
IV. Java programozási alapok
Összetett adattípusok a Pascal nyelvben
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.
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 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.
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ú,
Java programozási nyelv Adatbekérés konzolról
Objektum orientált programozás
C Programozási alapok.
2012. március 21. Paulik Áron.  Ha a függvényünk feladata olyan, hogy nem lenne értelme a visszatérési értéknek, vagy csak nincs rá szükség, void típusúként.
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.
Informatikai gyakorlatok 11. évfolyam
Kifejezések C#-ban.
Programozási nyelvek típusossága.
Hernyák Zoltán Programozási Nyelvek II.
Hernyák Zoltán Magasszintű Programozási Nyelvek I.
Hernyák Zoltán Magasszintű Programozási Nyelvek I.
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
Algoritmus készítés.
Előadás másolata:

1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy Károly Főiskola Számítástudományi tsz

2 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

3 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

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

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; 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!

6 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

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

8 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

9 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

10 É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

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

12 É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

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; benzinAr = alapAr * 1.3; bevetel = eladottMenny * benzinAr; c = a * Math.Sin( alfa ); nev = ”Dr. ” + csaladnev + ‘ ‘ + keresztnev; x = y / 3; p = q % 4;

14 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, … …

15 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 ); 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!

16 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);

17 Java kiviteli utasítás System.out.println("Hello World!"); System.out.println(”X=”+3+” Y=”+4); 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

18 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); } 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); }

19 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.

20 Ú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); } 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 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); } 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); }

22 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!

23 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() { … } static void Main() { … }