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.
Összefoglalás 1. Pascal program szerkezete 2. Pascal típusai
Algoritmus és programozás
ADATBÁZIS KEZELÉS – Adattípusok
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.
Programozás alapjai.
Turbo Pascal Változók.
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
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.
4. előadás (2005. március 8.) Pointerek Pointer aritmetika
Mutatók, tömbök, függvények
Java Típuskonverziók.
C# Alapok Krizsán Zoltán.
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.
PHP Webprogramozás alapjai
Web-grafika (VRML) 10. gyakorlat Kereszty Gábor. Script típusok Elemi típusok: szám: egész vagy lebegőpontos – int / float – 1 / 1.1 string: ‘Hello World!’
C++ Alapok, első óra Elemi típusok Vezérlési szerkezetek
Vizuális és web programozás II.
A Java jellemzői Hordozható, platformfüggetlen forráskód és bájtkód szinten forráskód és bájtkód szinten Tisztán objektumorientált csak osztályok, illetve.
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
Beolvasó utasítás Console.Read();  Int típusú adatot kapunk. Console.ReadLine();  String típusú adatot kapunk. Console.ReadKey();  Tetszőleges billentyű.
Funkcionális programozás 2. gyakorlat
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.
Ismétlés.
Kifejezések. Algoritmus számol; Adott összeg; összeg:=0; Minden i:=1-től 5-ig végezd el Ha 2 | i akkor összeg:=összeg+2*i Ha vége Minden vége Algoritmus.
Programozási nyelvek, Pascal
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 Web: Magasszintű Programozási Nyelvek I. Eszterházy.
Hernyák Zoltán Programozási Nyelvek II.
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.
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.
Visual Basic 2008 Express Edition
Programozás. Programozási nyelvek: Gépi nyelv A számítástechnika őskorában egyedüli lehetőség volt a gép bitsorozattal való programozása. Minden processzor.
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)
C Programozási alapok.
Programozás alapjai Csernoch Mária.
Free pascal feladatok
Algoritmizálás, adatmodellezés
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás I. 3. gyakorlat.
TÁMOP /1-2F JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam Típusosztályok. Számosztályok. Math és StrictMath matematikai.
Elemi adattípusok.
Informatikai gyakorlatok 11. évfolyam
Kifejezések C#-ban.
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 Magasszintű Programozási Nyelvek I.
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
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

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

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

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

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

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

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

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

Típusrendszer Egész szám típusok C# Előjeles Előjel nélküli sbyte byte -128 ..127 sbyte byte 0 ..255 -32.768 .. 32.767 short ushort 0 .. 65.535 -2.147.483.648 .. int uint 0 .. 4.294.967.295 -9.223.372.036.854.775.808 .. long ulong 0 .. 18.446.744.073.709.551.615 9

Típusrendszer Valós szám típusok C# float double Egyéb típusok C# char ±1.5 * 10-45 .. 3.4 * 1038 7 szjegy double ±5.0 * 10-324 .. 1.7 * 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ő 0001.01.01 –től eltelt idő 10

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

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

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

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

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

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: -12.2321 Normál alak: 1.123E-12 Típusa mindig double Típusjelekkel lehet eltérni tőle: F,f : float 12.21F D,d : double 12.32D 16

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

Típusrendszer Karakter literálok C# 18

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 karakter-literál felismerés: @”c:\x20\n” @”c:\w20\w” 19

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

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

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

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

Típusrendszer Osztás, maradékképzés Maradékképzés ( % ) csak két egész között lehet! 8%5 3 (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 / 3 2.7 (mindig double) 8.0 / 3 2.66666666666 9 / 3.3 2.72727272727 24

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

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

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

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