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 Fejlesztői környezetek
Kezdjünk programozni! Fejlesztői környezetek Parancssori eszközök Forráskód begépelése tetszőleges editorral Parancssori fordító (compiler) indítása Parancssori szerkesztő (linker) indítása Parancssori nyomkövető (debugger) indítása 2

3 Fejlesztői környezetek
Kezdjünk programozni! Fejlesztői környezetek IDE = Integrált Fejleszőti Környezet (Integrated Development Environment) Forráskód begépelése belső editorral Belső fordító aktivizálása menüpontból Belső linker aktivizálása menüpontból Belső debugger indítása, események követése a forráskód ablakban Beépített súgó olvasása aktivizálása (környezetérzékeny módon) 3

4 Kezdjünk programozni! Input adatok Program Output adatok 4
Billentyűzet Helyi file (.xml, .dat, .txt, …) Adatbázis (SQL) Input adatok Memória Processzor Program Képernyő Helyi file (.xml, .dat, .txt, …) Adatbázis (SQL) Output adatok 4

5 Adatok megjelenési formája
Kezdjünk programozni! Adatok megjelenési formája Az adatoknak mindig van típusuk is! A program szövegében: Nevesített konstans Literál Változó 5

6 Típusrendszer Alapvető típusok
Azok a típusok, melyeket a programozási nyelv eleve tartalmaz Alapvető építőkövek további típusok létrehozásához De már közvetlenül is felhasználhatóak Általában igazodnak a processzor és a memória szervezéséhez, az alapvető gépi kódú utasításokhoz 6

7 Típusrendszer Típusok Egészek Érték-típusok Valósak Logikai Karakter
String Referencia- típusok Tömbök Osztályok 7

8 Típusrendszer Egész szám típusok Csak egész számokat jelölhetnek
Különböznek méretben Hány byte-t foglalnak el a memóriában (1 byte, 2 byte, 4 byte, 8 byte, …) Előjeles számok is lehetnek, vagy csak nemnegatív számok Mekkora számokat jelölhetnek (az előzőekből meghatározható) 8

9 Típusrendszer Egész szám típusok C# Előjeles Előjel nélküli sbyte byte
sbyte byte short ushort int uint long ulong 9

10 Típusrendszer Valós szám típusok C# float double Egyéb típusok C# char
±1.5 * * 1038 7 szjegy double ±5.0 * * 10308 15 szjegy Egyéb típusok C# char 1 karakter 16 bites Unicode bool logikai true / false string szöveg Unicode karakterlánc DateTime dátum + idő –től eltelt idő 10

11 Típusrendszer Típus-alias nevek C# 11

12 Kezdjünk programozni! Literál Nincs neve
Van értéke -> ez a típusát meghatározza Van típusa (implicit módon kerül meghatározásra, fordító végzi) A program szövegében ugyanazon érték használata esetén többször is ki kell írni a literált. kerulet = 2 * sugar * 3.14; 12

13 Típusrendszer Logikai literálok C# true = IGAZ false = HAMIS 13

14 Egész szám literálok C#
Típusrendszer Egész szám literálok C# Egész számok megadása a program szövegében Alapvetően 10-es számrendszer, pl -14 Lehetőség 16-os számrendszer használatára ( pl: 0x1F ) Az egész literálok típusát a fordítóprogram határozza meg: A lehető legkisebb tárolási típus (int-el kezdve) Lehetőleg előjeles int uint long ulong 14

15 Egész szám literálok C#
Típusrendszer Egész szám literálok C# A fordítóprogram típusmeghatározása befolyásolható típusjelekkel a szám végén. A típusjelek kis és nagybetűs változatban is használhatóak Mindkét jel esetén a sorrend nem számít L l = long -> long, ulong U u = unsigned -> uint, ulong mindkét betű -> ulong Pl: 123U 123u 123LU 123Lu 123uL 123ul 15

16 Valós szám literálok C#
Típusrendszer Valós szám literálok C# Valós számok megadása a program szövegében Alapvetően 10-es számrendszer, pl -14 Tizedespont használata (tizedesvessző nem jó!) Vagy tizedestört alakban írjuk fel, vagy normál alakban Tizedestört: Normál alak: E-12 Típusa mindig double Típusjelekkel lehet eltérni tőle: F,f : float F D,d : double D 16

17 Típusrendszer Karakter literálok C# Egyetlen karakter megadása
Aposztrófok között kell megadni Karakter értékének megadása ‘A’ Vezérlő karakter ‘\n’ Hexadecimális karakterkód ‘\x1F’ Unicode karakterkód ‘\u0F12’ ‘\U1F010F12’ 17

18 Típusrendszer Karakter literálok C# 18

19 Típusrendszer String literálok C#
Közönséges szöveg idézőjelek között ”hello” Betű szerinti szöveg @”C:\hello.txt” A közönséges szöveg karakterliterálok sorozata ”C:\\Program\x20Files\World of Warcraft\\wow.exe” ”c:\\x20” ”C:\x20” A betű szerinti szövegben nincs speciális 19

20 Kezdjünk programozni! Nevesített konstans
Van neve (azonosító, azonosító névképzési szabályai) Van típusa (egész, tört, logikai, …) Van értéke (típusának megfelelően) Értéke a program futása során nem változhat meg A program szövegében az értékre a konstans nevével hivatkozhatunk const double Pi = 3.14; 20

21 Kezdjünk programozni! Változó Van neve (azonosító)
Típusát deklarálni kell Értékét többször is meg lehet változtatni értékadó utasítás segítségével A program szövegében a neve a legutoljára ‘belehelyezett’ értéket jelöli (aktuális érték) Nincs kezdőértéke!! double sugar; sugar = 13.43; kerulet = 2 * sugar * 3.14; 21

22 Típusrendszer Numerikus kifejezések C#
Konstansok, változók, literálok + OPERÁTOROK összeadás + kivonás - szorzás * osztás / maradékképzés % 22

23 Típusrendszer Összeadás, kivonás, szorzás
long + int eredménye ?? Nincs minden variációra kidolgozva automatikus (implicit) típuskonverzió a számítás idejére mindig a nagyobb (tartalmazó) típus felé long + int long + long long int + double double + double double 23

24 Típusrendszer Osztás, maradékképzés
Maradékképzés ( % ) csak két egész között lehet! 8% (az eredmény mindig int) Osztás két egész között = egész osztás 8 / 3 2 (az eredmény mindig int) Osztás ha valamelyik nem egész = tényleges osztás 8.1 / (mindig double) 8.0 / 9 / 24

25 Típusrendszer Összehasonlító operátorok < > == <= >= !=
< > == <= >= != Infix bináris operátor operandus operátor operandus Eredménye logikai típusú adat (igaz vagy hamis) Példák: sugar <= 10 a_oldal > 0 szam != 2 25

26 Típusrendszer Logikai operátorok Tagadás ! ÉS && VAGY ||
true && false false true || false true !true false 10<sugar<20 hibás 10<sugar && sugar<20 jó 26

27 Típusrendszer Karakter és string operátorok Összefüzés +
karakter + karakter string string + karakter string karakter + string string string + string string Valójában nincs ennyiféle összefüzés operátor, de van implicit típuskonverzió karakter string irányban 27

28 Típusrendszer Karakter és string operátorok
Összehasonlító operátorok karakterek között <= >= == != < > Összehasonlító operátorok stringek között Egyenlőségvizsgálat == Nem-egyenlőség vizsgálata != (két string egyenlő, ha rendre megegyeznek a karakterek (kis-nagybetű is számít!) Az egyéb összehasonlítások: sok nyelvben függvényekkel vannak megvalósítva 28


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

Hasonló előadás


Google Hirdetések