2018, Funkcionális programozás

Méret: px
Mutatás kezdődik a ... oldaltól:

Download "2018, Funkcionális programozás"

Átírás

1 Funkcionális programozás 3. előadás Sapientia Egyetem, Matematika-Informatika Tanszék Marosvásárhely, Románia 2018, tavaszi félév

2 Miről volt szó? A Haskell programozási nyelv főbb jellemzői: megjegyzések használata, mintaillesztés, feltételek megadása, szigorú, statikus típusosság, rekurzió, margó szabály halmazkifejezések lambda kifejezések magasabb rendű függvények magasabb rendű függvények részleges paraméterezése feltételes kifejezések

3 Miről lesz szó? GHC parancsok fenntartott szavak könyvtármodul importálása A Haskell további jellemzői: feltételek egymásba ágyazása a let...in, where kifejezések a case...of kifejezés függvénykompozícíó függvénykiértékelés a $ szimbólummal a $ és a. szimbólumok a tuple típus, könyvtárfüggvények a lista típus, könyvtárfüggvények operátorok, függvények listákon

4 GHC parancsok lehet rövidített formában is használni őket, a parancs kezdőbetűjével: :load fnev.hs az fnev.hs nevű állomány betöltése, :reload fnev.hs az fnev.hs nevű állomány újrabetöltése, :type kif a kif kifejezése típusának a lekérdezése, :t kif :? az összes GHC parancs lekérdezése, :quit kilépés a GHC-ből, :set +t a kiértékelés után a kifejezés típusa is megjelenik :unset +t az előző beálĺıtás visszavonása :set +s a kiértékelés után megjelenik az eltelt idő és a lefoglalt bájtok száma :!cd az aktuális könyvtár (directory) állapot lekérdezése :cd C:\Diak könyvtár (directory) változtatás...

5 Fenntartott szavak case class data default deriving do else if import in infix infixl infixr instance let module newtype of then type where

6 Könyvtármodul importálása import Data.Char > isdigit 3 > isdigit w True False > isalpha a > isalpha? True False my_isdigit :: Char -> Bool my_isdigit x = x >= 0 && x <= 9 > my_isdigit 3 True > import Data.List > tails "hello" ["hello","ello","llo","lo","o",""] > import Data.Complex > sum[3 :+ (-2.6), 11 :+ 3.4, 1 :+ (-2.41), (-8) :+ 4.11] 7.0 :+ 2.5

7 Feltételek egymásba ágyazása 1. feladat Vizsgáljunk egy számot: pozitív-e, osztható-e hattal, stb.? fugvp :: Int -> [Char] fugvp n n > 0, mod n 2 == 0, mod n 3 == 0 = "pozitiv, oszthato 6-al" n > 0, mod n 2 == 0, mod n 3 /= 0 = "pozitiv, nem oszthato 6-al" n > 0, mod n 2 == 1 = "pozitiv paratlan" n < 0, mod n 2 == 0 = "negativ paros" otherwise = "negativ paratlan" > fugvp 10 > fugvp 11 > fugvp (-10)

8 A let...in kifejezés 2. feladat Határozzuk meg egy másodfokú egyenlet valós gyökeit. gyok_ :: (Fractional a, Floating a, Ord a) => a -> a -> a -> (a, a) gyok_ a b c = let x1 = (-b + sqrt delta) / n x2 = (-b - sqrt delta) / n delta = b * b - 4 * a * c n = 2 * a in if delta < 0 then error "Komplex gyokok" else (x1, x2)

9 A case...of kifejezés 3. feladat Határozzuk meg egy számjegy 16-os számrendszerbeli alakját, ahol a kíıratást az A, B, C, D, E, F szimbólumok segítségével végezzük. szimb :: Int -> Char szimb c c >= 0 && c < 16 = case c of 10 -> A 11 -> B 12 -> C 13 -> D 14 -> E 15 -> F _ -> chr (c + 48) otherwise = error "rossz bemenet" > szimb 15 > szimb 19 F *** Exception: rossz bemenet

10 Függvénykompozíció A matematikából ismert művelet megfelelője. 4. feladat Határozzuk meg a paraméterként megadott számok közül a páratlan számokat. paratlanlista :: (Integral a) => [a] -> [a] paratlanlista ls = filter (not. even) ls > paratlanlista [1..20] [1,3,5,7,9,11,13,15,17,19] Nem kell explicit módon megadni a paramétert: paratlanlista1 :: (Integral a) => [a] -> [a] paratlanlista1 = filter (not. even) > paratlanlista1 [1..20] [1,3,5,7,9,11,13,15,17,19]

11 Függvénykompozíció Nem kell explicit módon megadni a paramétert a korábbi duplaz függvény esetében sem: duplaz2 :: (Num a) => a -> a duplaz2 = my_inc. my_inc > duplaz

12 Függvénykompozíció 5. feladat Vágjuk le a paraméterként megadott lista, karakterlánc első és utolsó karakterét. Alkalmazzuk az init, tail könyvtárfüggvényeket. > init [1..10] [1,2,3,4,5,6,7,8,9] > tail [1..10] [2,3,4,5,6,7,8,9,10] levag :: [a] -> [a] levag = init.tail > levag "gezakekazeg" "ezakekaze"

13 Függvénykiértékelés a $ szimbólummal A függvény kiértékelési sorrendjét tudjuk megváltoztatni. Fölöslegessé válik a zárójelezés: hamarabb kiértékelődik a $ két oldalán levő kifejezés, jobbról asszociatív (azaz előbb a jobboldalon levő kifejezés értékelődik ki). A $ oparátornak, az operátorok között legkisebb a prioritása. Meghatározza 2, majd hozzáadja a 3-t, majd az 5-t: > sqrt Összeadja a számokat és azután határozza meg 10 értékét: > sqrt ( ) Összeadja a számokat és azután határozza meg 10 értékét: > sqrt $

14 Függvénykiértékelés a $ szimbólummal Előbb alkalmazza az abs függvényt: > sqrt $ abs (-16) 4.0 Összeadja a számokat, alkalmazza az abs függvényt, majd meghatározza a négyzetgyököt: > sqrt $ abs $ (-16) Alkalmazza az abs függvényt, hozzáadja a 9-et, majd meghatározza a négyzetgyököt: > sqrt $ abs (-16)

15 A $ és a. szimbólumok A. szimbólummal elsősorban az függvényhívások össze-láncolását (kompozicíóját) lehet megvalósítani, a lényeg nem a kevesebb zárójelhasználat, bár az eredmény az, hogy kevesebb zárójelt kell használni. Előbb alkalmazza az abs függvényt: > (sqrt. abs) (-16) 4.0 Ugyanazt érem el, mint az előbbi, de kevesebb zárójellel: > sqrt. abs $

16 A $ és a. szimbólumok Előbb alkalmazza a head függvényt, majd a toupper függvényt és utána a : konstruktort, azaz épít egy új listát aminek az első eleme S : > import Data.Char > let fugvnb x = (toupper. head) x : tail x > fugvnb "sapientia" "Sapientia" > let fugvkb x = (tolower. head $ x) : tail x > fugvkb "SAPIENTIA" "sapientia"

17 A $ és a. szimbólumok A words a paraméterként megadott stringet szavakra bontja: > let list = words "sapientia hungarian university marosvasarhely" ["sapientia","hungarian","university","marosvasarhely"] > map fugvnb list ["Sapientia","Hungarian","University","Marosvasarhely"]... és a fenti példa más formái, lambda kifejezéssel: > ( map ( \ x -> ((toupper.head) x : tail x) ). words) "sapientia hungarian university marosvasarhely" > map (\ x -> ((toupper. head) x : tail x) ) (words "sapientia hungarian university marosvasarhely") > map (\ x -> ((toupper.head) x : tail x) ) $ words "sapientia hungarian university marosvasarhely"

18 A $ és a. szimbólumok Mit csinálnak az alábbi függvényhívások, ahol az atlag a számok átlagát meghatározó függvény? atlag :: (Floating a) => [a] -> a atlag ls = (sum ls) / fromintegral (length ls) > (atlag. filter (> 4.5)) [6.5, 7.4, 8.9, 9.5, 3.5, 6.3, 4.2] > atlag $ filter (> 4.5) [6.5, 7.4, 8.9, 9.5, 3.5, 6.3, 4.2] > (take 4. reverse. filter odd ) [1..20] > take 4. reverse. filter odd $ [1..20] > take 4 ( reverse ( filter odd [1..20])) > take 4 $ reverse $ filter odd $ [1..20]

19 A rendezett n-es (tuple) típus különböző típusú elemek halmaza, ahol, az elemek száma rögzített. Jelölésére a kerek zárójelt használjuk: (). > let my_tuple = ("Marika", 3, 8.75) > let (nev, evf, jegy) = my_tuple > print nev > "Marika" > print evf > 3 > print jegy > 8.75 egy 2 elemű tuple típuson alkalmazhatóak az fst és snd könyvtárfüggvények: > let my_tuple1 = ("Marika", 8.75) > fst my_tuple1 > "Marika" > snd my_tuple1 > 8.75

20 A tuple típus 6. feladat Határozzuk meg egy másodfokú egyenlet gyökeit. Az eredmény tuple típusú érték legyen. gyok :: Double -> Double -> Double -> (String, Double, Double) gyok a b c = if delta < 0 then error "Komplex gyokok" else if delta == 0 then ("egyforma gyokok: ", x1, x1) else ("ket gyok: ", x1, x2) where x1 = (-b + sqrt delta) / nev x2 = (-b - sqrt delta) / nev delta = b * b - 4 * a * c nev = 2 * a > gyok ("ket gyok",-1.0,-2.0) > gyok ("egyforma gyokok, ",-2.0,-2.0)

21 A tuple típus 7. feladat Definiáljunk egy Pont típusú értéket és írjunk három függvényt: definiáljuk a kezdőpontot, mozgassuk el a pontot, határozzuk meg két pont között a távolságot. type Szin = String type Pont = (Double, Double, Szin) kezdop :: Szin -> Pont kezdop szin = (0, 0, szin) > p1 = kezdop "fekete" > p2 = mozgat p > tavolsag p1 p mozgat :: Pont -> Double -> Double -> Pont mozgat (x, y, szin) xtav ytav = (x + xtav, y + ytav, szin) tavolsag :: Pont -> Pont -> Double tavolsag (x1, y1, szin1) (x2, y2, szin2) = sqrt (dx * dx + dy * dy) where dx = x2 - x1 dy = y2 - y1

22 A lista típus ugyanolyan típusú elemek sorozata, ahol az elemek száma változó. Jelölésére a szögletes zárójelt használjuk: [], sorszámozásuk nullától kezdődik. [] - egy üres listát mintáz, [x] - egy egyelemű listát mintáz, [x, y] - egy kételemű listát mintáz, (k : ve) - egy olyan listát mintáz, melynek első eleme k, ve pedig a lista vége, ahol k elem, ve lista típusú, Függvények listákon, lista elemeinek összege (sum), lista hossza (length), lista elemeinek megfordítása (reverse), stb: > sum [3, 2, 10, 7, 5] 27 > length [3, 2, 10, 7, 5] 5 > reverse [3, 2, 10, 7, 5] [5,7,10,2,3]

23 Operátorok listákon (:) :: a -> [a] -> [a] hozzáad egy új elemet a listához, amelyet a lista elejére tesz, a típusdefiníció általános lista feldolgozását teszi lehetővé, hozzárendeli a lista első elemét egy azonosítóhoz, a lista többi elemét, pedig egy másik nevű azonosítóhoz rendeli hozzá > ls1 = [1,2,3,4] > ls1_1 = 0: ls1 > print t1_1 [0, 1, 2, 3, 4] > ls2 = "apientia" > ls2_1 = S : ls2 > print ls2_1 "Sapientia" > k: ve = "Hello Vilag" > print k H > print ve "ello Vilag" > ls3 = [[1,2,3,4], [1,2,3], [1,2]] > ls3_1 = [1..5]: ls3 > print ls3_1 [[1,2,3,4,5], [1,2,3,4], [1,2,3], [1,2]]

24 Operátorok listákon > ls4 = [0,5..40] > print ls4 [0, 5, 10, 15, 20, 25, 30, 35, 40] > ls6 x = [2^x, length (show (2 ^ x))] > print ls6 10 [1024,4] > ls5 = [-3, ] > print ls5 [-3, -6, -9, -12, -15, -18] > ls6_1 x = 3^x: length(show (3^x)): (ls6 x) > print ls6_1 10 [59049, 5, 1024, 4] > ls7 = [ a.. z ] > ls8 = [ A.. Z ] ++ ls7 > print ls8 "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" > ls8!! 2 C

25 Függvények listákon head :: [a] -> a visszatéríti egy lista első elemét, nem alkalmazható üres listára, a típusdefiníció általános lista feldolgozását teszi lehetővé. my_head :: [a] -> a my_head [] = error "ures lista" my_head (k: ve) = k > my_head [1..10] 1 > my_head ["alma", "korte", "barack", "szilva"] "alma" > head [1..10] -- a konyvtarfuggveny 1

26 Függvények listákon tail :: [a] -> [a] egy listát térít vissza, amelyben nem szerepel az eredeti lista első eleme, nem alkalmazható üres listákra. my_tail :: [a] -> [a] my_tail [] = error "ures lista" my_tail (k: ve) = ve > my_tail [1..10] [2,3,4,5,6,7,8,9,10] > my_tail ["alma", "korte", "barack", "szilva"] ["korte", "barack", "szilva"] > tail [1..10] -- a konyvtarfuggveny [2,3,4,5,6,7,8,9,10]

27 Függvények listákon init :: [a] -> [a] egy listát térít vissza, amelyben nem szerepel az eredeti lista utolsó eleme, nem alkalmazható üres listákra. my_init :: [a] -> [a] my_init [] = error "ures lista" my_init [k] = [] my_init (k: ve) = (k: my_init ve) > my_init [1..10] [1,2,3,4,5,6,7,8,9] > init [1..10] -- a konyvtarfuggveny [1,2,3,4,5,6,7,8,9]

28 Függvények listákon last :: [a] -> a meghatározza egy lista utolsó elemét. my_last :: [a] -> a my_last [] = error "ures lista" my_last [k] = k my_last (k: ve) = my_last ve > my_last [1..10] 10 my_last "hello" o

29 Függvények listákon sum :: Num a => [a] -> a összeadja a lista elemeit. my_sum1 :: Num a => [a] -> a my_sum1 [] = 0 my_sum1 (k: ve) = k + my_sum1 ve my_sum2 :: Num a => [a] -> a my_sum2 [] = 0 my_sum2 ls = head ls + my_sum2 (tail ls) > my_sum1 [1..10] 55 > my_sum2 [1..10] 55 > sum [1..10] -- a konyvtarfuggveny 55

30 Függvények listákon összeadja a lista elemeit, harmadik verzió: my_sum3 :: Num a => [a] -> a my_sum3 ls = my_ssum3 ls 0 where my_ssum3 [] res = res my_ssum3 (k: ve) res = my_ssum3 ve (k + res) > my_sum3 [1..10] 55 > my_sum3 [9.8, 3.55, 4.9] Komplex számok összeadása: > import Data.Complex > my_sum3 [3 :+ (-2.3), 3 :+ 2.1, 8.54 :+ 1.3] :

2016, Funkcionális programozás

2016, Funkcionális programozás Funkcionális programozás 2. előadás Sapientia Egyetem, Műszaki és Humántudományok Tanszék Marosvásárhely, Románia mgyongyi@ms.sapientia.ro 2016, tavaszi félév Miről volt szó? Programozási paradigmák: imperatív,

Részletesebben

2019, Funkcionális programozás. 2. el adás. MÁRTON Gyöngyvér

2019, Funkcionális programozás. 2. el adás. MÁRTON Gyöngyvér Funkcionális programozás 2. el adás Sapientia Egyetem, Matematika-Informatika Tanszék Marosvásárhely, Románia mgyongyi@ms.sapientia.ro 2019, tavaszi félév Mir l volt szó? Követelmények, osztályozás Programozási

Részletesebben

2019, Funkcionális programozás. 4. el adás. MÁRTON Gyöngyvér

2019, Funkcionális programozás. 4. el adás. MÁRTON Gyöngyvér Funkcionális programozás 4. el adás Sapientia Egyetem, Matematika-Informatika Tanszék Marosvásárhely, Románia mgyongyi@ms.sapientia.ro 2019, tavaszi félév Mir l volt szó? GHC parancsok fenntartott szavak

Részletesebben

2019, Funkcionális programozás. 5. el adás. MÁRTON Gyöngyvér

2019, Funkcionális programozás. 5. el adás. MÁRTON Gyöngyvér Funkcionális programozás 5. el adás Sapientia Egyetem, Matematika-Informatika Tanszék Marosvásárhely, Románia mgyongyi@ms.sapientia.ro 2019, tavaszi félév Mir l volt szó? a Haskell kiértékelési stratégiája

Részletesebben

2018, Funkcionális programozás

2018, Funkcionális programozás Funkcionális programozás 6. előadás Sapientia Egyetem, Matematika-Informatika Tanszék Marosvásárhely, Románia mgyongyi@ms.sapientia.ro 2018, tavaszi félév Miről volt szó? Haskell modulok, kompilálás a

Részletesebben

2018, Funkcionális programozás

2018, Funkcionális programozás Funkcionális programozás 10. előadás Sapientia Egyetem, Matematika-Informatika Tanszék Marosvásárhely, Románia mgyongyi@ms.sapientia.ro 2018, tavaszi félév Miről volt szó? a foldl és foldr függvények lista

Részletesebben

FUNKCIONÁLIS PROGRAMOZÁS GYAKORLAT JEGYZET

FUNKCIONÁLIS PROGRAMOZÁS GYAKORLAT JEGYZET FUNKCIONÁLIS PROGRAMOZÁS GYAKORLAT JEGYZET Szerkesztette: Balogh Tamás 2013. május 17. Ha hibát találsz, kérlek jelezd a info@baloghtamas.hu e-mail címen! Ez a Mű a Creative Commons Nevezd meg! - Ne add

Részletesebben

2018, Funkcionális programozás

2018, Funkcionális programozás Funkcionális programozás 7. előadás Sapientia Egyetem, Matematika-Informatika Tanszék Marosvásárhely, Románia mgyongyi@ms.sapientia.ro 2018, tavaszi félév Miről volt szó? összefésüléses rendezés (merge

Részletesebben

Funkcionális és logikai programozás. { Márton Gyöngyvér, 2012} { Sapientia, Erdélyi Magyar Tudományegyetem }

Funkcionális és logikai programozás. { Márton Gyöngyvér, 2012} { Sapientia, Erdélyi Magyar Tudományegyetem } Funkcionális és logikai programozás { Márton Gyöngyvér, 2012} { Sapientia, Erdélyi Magyar Tudományegyetem } http://www.ms.sapientia.ro/~mgyongyi ` 1 Jelenlét: Követelmények, osztályozás Az első 4 előadáson

Részletesebben

Alapok. tisztán funkcionális nyelv, minden függvény (a konstansok is) nincsenek hagyományos változók, az első értékadás után nem módosíthatók

Alapok. tisztán funkcionális nyelv, minden függvény (a konstansok is) nincsenek hagyományos változók, az első értékadás után nem módosíthatók Haskell 1. Alapok tisztán funkcionális nyelv, minden függvény (a konstansok is) nincsenek hagyományos változók, az első értékadás után nem módosíthatók elég jól elkerülhetők így a mellékhatások könnyebben

Részletesebben

2016, Funkcionális programozás

2016, Funkcionális programozás Funkcionális programozás 11. előadás Sapientia Egyetem, Műszaki és Humántudományok Tanszék Marosvásárhely, Románia mgyongyi@ms.sapientia.ro 2016, tavaszi félév Miről volt szó? Haskell I/O műveletek, feladatok:

Részletesebben

2018, Funkcionális programozás

2018, Funkcionális programozás Funkcionális programozás 1. előadás Sapientia Egyetem, Matematika-Informatika Tanszék Marosvásárhely, Románia mgyongyi@ms.sapientia.ro 2018, tavaszi félév Követelmények, osztályozás Előadás, jelenlét:

Részletesebben

Tulajdonságalapú tesztelés

Tulajdonságalapú tesztelés Tulajdonságalapú tesztelés QuickCheck A QuickCheck Haskell programok automatikus, tulajdonságalapú tesztelésére használható. Programspecifikáció: program által teljesítendő tulajdonságok Nagy számú, a

Részletesebben

Java II. I A Java programozási nyelv alapelemei

Java II. I A Java programozási nyelv alapelemei Java II. I A Java programozási nyelv alapelemei Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2008. 02. 19. Java II.: Alapelemek JAVA2 / 1 A Java formalizmusa A C, illetve az annak

Részletesebben

FUNKCIONÁLIS PROGRAMOZÁS ELŐADÁS JEGYZET

FUNKCIONÁLIS PROGRAMOZÁS ELŐADÁS JEGYZET FUNKCIONÁLIS PROGRAMOZÁS ELŐADÁS JEGYZET Szerkesztette: Balogh Tamás 2013. május 30. Ha hibát találsz, kérlek jelezd a info@baloghtamas.hu e-mail címen! Ez a Mű a Creative Commons Nevezd meg! - Ne add

Részletesebben

Adattípusok, vezérlési szerkezetek. Informatika Szabó Adrienn szeptember 14.

Adattípusok, vezérlési szerkezetek. Informatika Szabó Adrienn szeptember 14. Informatika 1 2011 Második előadás, vezérlési szerkezetek Szabó Adrienn 2011. szeptember 14. Tartalom Algoritmusok, vezérlési szerkezetek If - else: elágazás While ciklus For ciklus Egyszerű típusok Összetett

Részletesebben

2018, Diszkrét matematika

2018, Diszkrét matematika Diszkrét matematika 5. előadás mgyongyi@ms.sapientia.ro Sapientia Egyetem, Matematika-Informatika Tanszék Marosvásárhely, Románia 2018, őszi félév Miről volt szó az elmúlt előadáson? Python alapfogalmak:

Részletesebben

2018, Diszkrét matematika

2018, Diszkrét matematika Diszkrét matematika 3. előadás mgyongyi@ms.sapientia.ro Sapientia Egyetem, Matematika-Informatika Tanszék Marosvásárhely, Románia 2018, őszi félév Miről volt szó az elmúlt előadáson? számtartományok: természetes

Részletesebben

BASH script programozás II. Vezérlési szerkezetek

BASH script programozás II. Vezérlési szerkezetek 06 BASH script programozás II. Vezérlési szerkezetek Emlékeztető Jelölésbeli különbség van parancs végrehajtása és a parancs kimenetére való hivatkozás között PARANCS $(PARANCS) Jelölésbeli különbség van

Részletesebben

Operációs Rendszerek II. labor. 2. alkalom

Operációs Rendszerek II. labor. 2. alkalom Operációs Rendszerek II. labor 2. alkalom Mai témák (e)grep Shell programozás (részletesebben, példákon keresztül) grep Alapvető működés: mintákat keres a bemeneti csatorna (STDIN vagy fájl) soraiban,

Részletesebben

Szkriptnyelvek. 1. UNIX shell

Szkriptnyelvek. 1. UNIX shell Szkriptnyelvek 1. UNIX shell Szkriptek futtatása Parancsértelmez ő shell script neve paraméterek shell script neve paraméterek Ebben az esetben a szkript tartalmazza a parancsértelmezőt: #!/bin/bash Szkriptek

Részletesebben

Informatika terméktervezőknek

Informatika terméktervezőknek Informatika terméktervezőknek C# alapok Névterület (namespace) using Osztály (class) és Obejtumok Metódus (function, procedure, method) main() static void string[] arg Szintaxis // /* */ \n \t Névadások

Részletesebben

Java II. I A Java programozási nyelv alapelemei

Java II. I A Java programozási nyelv alapelemei Java2 / 1 Java II. I A Java programozási nyelv alapelemei Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2009. 02. 09. Java II.: Alapelemek JAVA2 / 1 A Java formalizmusa A C, illetve

Részletesebben

Programozás alapjai. 5. előadás

Programozás alapjai. 5. előadás 5. előadás Wagner György Általános Informatikai Tanszék Cserélve kiválasztásos rendezés (1) A minimum-maximum keresés elvére épül. Ismétlés: minimum keresés A halmazból egy tetszőleges elemet kinevezünk

Részletesebben

Imperatív programozás

Imperatív programozás Imperatív programozás 6. Előadás Python típusok (folytatás) Függvények Típusok + műveleteik Listák - mutable (változtatható) - heterogén lista >>> lista = ["szo", 12, 3.5] >>> lista[1] 12 >>> lista[1:3]

Részletesebben

BASH SCRIPT SHELL JEGYZETEK

BASH SCRIPT SHELL JEGYZETEK BASH SCRIPT SHELL JEGYZETEK 1 TARTALOM Paraméterek... 4 Változók... 4 Környezeti változók... 4 Szűrők... 4 grep... 4 sed... 5 cut... 5 head, tail... 5 Reguláris kifejezések... 6 *... 6 +... 6?... 6 {m,n}...

Részletesebben

Smalltalk 2. Készítette: Szabó Éva

Smalltalk 2. Készítette: Szabó Éva Smalltalk 2. Készítette: Szabó Éva Blokkok Paraméter nélküli blokk [műveletek] [ x := 5. 'Hello' print. 2+3] Kiértékelés: [művelet] value az értéke az utolsó művelet értéke lesz, de mindet kiírja. x :=

Részletesebben

Komputeralgebra Rendszerek

Komputeralgebra Rendszerek Komputeralgebra Rendszerek Programozás Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék 2014. február 23. TARTALOMJEGYZÉK 1 of 28 TARTALOMJEGYZÉK I 1 TARTALOMJEGYZÉK 2 Értékadás MAPLE -ben SAGE -ben 3

Részletesebben

2016, Diszkrét matematika

2016, Diszkrét matematika Diszkrét matematika 11. előadás Sapientia Egyetem, Műszaki és Humántudományok Tanszék Marosvásárhely, Románia mgyongyi@ms.sapientia.ro 2016, őszi félév Miről volt szó az elmúlt előadáson? legnagyobb közös

Részletesebben

S z á m í t ó g é p e s a l a p i s m e r e t e k

S z á m í t ó g é p e s a l a p i s m e r e t e k S z á m í t ó g é p e s a l a p i s m e r e t e k 7. előadás Ami eddig volt Számítógépek architektúrája Alapvető alkotóelemek Hardver elemek Szoftver Gépi kódtól az operációs rendszerig Unix alapok Ami

Részletesebben

FUNKCIONÁLIS PROGRAMOZÁS

FUNKCIONÁLIS PROGRAMOZÁS FUNKCIONÁLIS PROGRAMOZÁS A funkcionális programozás néhány jellemzője Funkcionális programozás 1-2 Funkcionális, más néven applikatív programozás Funkcionális = függvényalapú, függvényközpontú Applikatív

Részletesebben

van neve lehetnek bemeneti paraméterei (argumentumai) lehet visszatérési értéke a függvényt úgy használjuk, hogy meghívjuk

van neve lehetnek bemeneti paraméterei (argumentumai) lehet visszatérési értéke a függvényt úgy használjuk, hogy meghívjuk függvények ismétlése lista fogalma, használata Game of Life program (listák használatának gyakorlása) listák másolása (alap szintű, teljes körű) Reversi 2 Emlékeztető a függvények lényegében mini-programok,

Részletesebben

Karakterkészlet. A kis- és nagybetűk nem különböznek, a sztringliterálok belsejét leszámítva!

Karakterkészlet. A kis- és nagybetűk nem különböznek, a sztringliterálok belsejét leszámítva! A PL/SQL alapelemei Karakterkészlet Az angol ABC kis- és nagybetűi: a-z, A-Z Számjegyek: 0-9 Egyéb karakterek: ( ) + - * / < > =! ~ ^ ; :. ' @ %, " # $ & _ { }? [ ] Szóköz, tabulátor, kocsivissza A kis-

Részletesebben

A C# programozási nyelv alapjai

A C# programozási nyelv alapjai A C# programozási nyelv alapjai Tisztán objektum-orientált Kis- és nagybetűket megkülönbözteti Ötvözi a C++, Delphi, Java programozási nyelvek pozitívumait.net futtatókörnyezet Visual Studio fejlesztőkörnyezet

Részletesebben

A C programozási nyelv I. Bevezetés

A C programozási nyelv I. Bevezetés A C programozási nyelv I. Bevezetés Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv I. (bevezetés) CBEV1 / 1 A C nyelv története Dennis M. Ritchie AT&T Lab., 1972 rendszerprogramozás,

Részletesebben

Operációs rendszerek. 11. gyakorlat. AWK - szintaxis, vezérlési szerkezetek UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Operációs rendszerek. 11. gyakorlat. AWK - szintaxis, vezérlési szerkezetek UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED AWK - szintaxis, vezérlési szerkezetek Operációs rendszerek 11. gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Csuvik

Részletesebben

2016, Diszkrét matematika

2016, Diszkrét matematika Diszkrét matematika 8. előadás Sapientia Egyetem, Műszaki és Humántudományok Tanszék Marosvásárhely, Románia mgyongyi@ms.sapientia.ro 2016, őszi félév Miről volt szó az elmúlt előadáson? a Fibonacci számsorozat

Részletesebben

2018, Diszkre t matematika. 8. elo ada s

2018, Diszkre t matematika. 8. elo ada s Diszkre t matematika 8. elo ada s MA RTON Gyo ngyve r mgyongyi@ms.sapientia.ro Sapientia Egyetem, Matematika-Informatika Tansze k Marosva sa rhely, Roma nia 2018, o szi fe le v MA RTON Gyo ngyve r 2018,

Részletesebben

Funkcioná lis prográmozá s Start

Funkcioná lis prográmozá s Start Start Ez a jegyzet a tudásom és a http://pnyf.inf.elte.hu/fp/index.xml szerint készült, előfordulhatnak benne hibák, de igyekszem megértetni. Elsőnek érdemes elolvasni, kis leírás a Haskell programnyelvről:

Részletesebben

Szoftvertervezés és -fejlesztés I.

Szoftvertervezés és -fejlesztés I. Szoftvertervezés és -fejlesztés I. Operátorok Vezérlési szerkezetek Gyakorlás 1 Hallgatói Tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk a számonkérendő anyag vázlatát képezik.

Részletesebben

2015, Diszkrét matematika

2015, Diszkrét matematika Diszkrét matematika 4. előadás Sapientia Egyetem, Műszaki és Humántudományok Tanszék Marosvásárhely, Románia mgyongyi@ms.sapientia.ro 2015, őszi félév Miről volt szó az elmúlt előadáson? Számtartományok:

Részletesebben

length (s): Az s karaklerlánc hossza, substr(s,m,n): Az s mezőben levő karakterláncnak az m-edik karakterétől kezdődő, n darab karaktert vágja ki.

length (s): Az s karaklerlánc hossza, substr(s,m,n): Az s mezőben levő karakterláncnak az m-edik karakterétől kezdődő, n darab karaktert vágja ki. 9. Gyakorlat AWK 2 length (s): Az s karaklerlánc hossza, substr(s,m,n): Az s mezőben levő karakterláncnak az m-edik karakterétől kezdődő, n darab karaktert vágja ki. Ha az n-et elhagyjuk, akkor az m-ediktől

Részletesebben

Oktatási segédlet 2014

Oktatási segédlet 2014 Oktatási segédlet 2014 A kutatás a TÁMOP 4.2.4.A/2-11-1-2012- 0001 azonosító számú Nemzeti Kiválóság Program Hazai hallgatói, illetve kutatói személyi támogatást biztosító rendszer kidolgozása és működtetése

Részletesebben

A függvény kód szekvenciáját kapcsos zárójelek közt definiáljuk, a { } -ek közti részt a Bash héj kód blokknak (code block) nevezi.

A függvény kód szekvenciáját kapcsos zárójelek közt definiáljuk, a { } -ek közti részt a Bash héj kód blokknak (code block) nevezi. Függvények 1.Függvények...1 1.1.A függvény deníció szintaxisa... 1..Függvények érték visszatérítése...3 1.3.Környezettel kapcsolatos kérdések...4 1.4.Lokális változók használata...4 1.5.Rekurzív hívások...5.kód

Részletesebben

C# gyorstalpaló. Készítette: Major Péter

C# gyorstalpaló. Készítette: Major Péter C# gyorstalpaló Készítette: Major Péter Adattípusok Logikai változó Egész szám (*: előjel nélküli) Lebegőponto s szám Típus Típusnév másképpen (egyenértékű) Helyigény (bit) Példa bool Boolean 8 (!) true,

Részletesebben

Algoritmizálás és adatmodellezés tanítása 1. előadás

Algoritmizálás és adatmodellezés tanítása 1. előadás Algoritmizálás és adatmodellezés tanítása 1. előadás Algoritmus-leíró eszközök Folyamatábra Irányított gráf, amely csomópontokból és őket összekötő élekből áll, egyetlen induló és befejező éle van, az

Részletesebben

file./script.sh > Bourne-Again shell script text executable << tartalmat néz >>

file./script.sh > Bourne-Again shell script text executable << tartalmat néz >> I. Alapok Interaktív shell-ben vagy shell-scriptben megadott karaktersorozat feldolgozásakor az első lépés a szavakra tördelés. A szavakra tördelés a következő metakarakterek mentén zajlik: & ; ( ) < >

Részletesebben

Objektumorientált Programozás III.

Objektumorientált Programozás III. Objektumorientált Programozás III. Vezérlési szerkezetek ismétlés Matematikai lehetőségek Feladatok 1 Hallgatói Tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk a számonkérendő

Részletesebben

Funkcionális Nyelvek 2 (MSc)

Funkcionális Nyelvek 2 (MSc) Funkcionális Nyelvek 2 (MSc) Páli Gábor János pgj@elte.hu Eötvös Loránd Tudományegyetem Informatikai Kar Programozási Nyelvek és Fordítóprogramok Tanszék Tematika A (tervezett) tematika rövid összefoglalása

Részletesebben

Python tanfolyam Python bevezető I. rész

Python tanfolyam Python bevezető I. rész Python tanfolyam Python bevezető I. rész Mai tematika Amiről szó lesz (most): Interpretált vs. fordított nyelvek, GC Szintakszis Alaptípusok Control flow: szekvencia, szelekció, iteráció... Függvények

Részletesebben

Logikai és funkcionális programozás funkcionális programozás modul

Logikai és funkcionális programozás funkcionális programozás modul Logikai és funkcionális programozás funkcionális programozás modul A laborfeladatok írásához a Clean nyelvet használtuk a program ingyenesen letölthető a ftp://ftp.cs.kun.nl/pub/clean illetve a http://www.cs.kun.nl/~clean

Részletesebben

Komputeralgebra rendszerek

Komputeralgebra rendszerek Komputeralgebra rendszerek III. Változók Czirbusz Sándor czirbusz@gmail.com Komputeralgebra Tanszék ELTE Informatika Kar 2009-2010 ősz Index I 1 Szimbolikus konstansok kezelés A konstansok Nevek levédése

Részletesebben

A C programozási nyelv I. Bevezetés

A C programozási nyelv I. Bevezetés A C programozási nyelv I. Bevezetés Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv I. (bevezetés) CBEV1 / 1 A C nyelv története Dennis M. Ritchie AT&T Lab., 1972 rendszerprogramozás,

Részletesebben

Occam 1. Készítette: Szabó Éva

Occam 1. Készítette: Szabó Éva Occam 1. Készítette: Szabó Éva Párhuzamos programozás Egyes folyamatok (processzek) párhuzamosan futnak. Több processzor -> tényleges párhuzamosság Egy processzor -> Időosztásos szimuláció Folyamatok közötti

Részletesebben

Komputeralgebra rendszerek

Komputeralgebra rendszerek Komputeralgebra rendszerek III. Változók Czirbusz Sándor czirbusz@gmail.com Komputeralgebra Tanszék ELTE Informatika Kar 2009-2010 ősz Index I 1 Szimbolikus konstansok kezelés A konstansok Nevek levédése

Részletesebben

Felvételi vizsga mintatételsor Informatika írásbeli vizsga

Felvételi vizsga mintatételsor Informatika írásbeli vizsga BABEȘ BOLYAI TUDOMÁNYEGYETEM MATEMATIKA ÉS INFORMATIKA KAR A. tételsor (30 pont) Felvételi vizsga mintatételsor Informatika írásbeli vizsga 1. (5p) Egy x biten tárolt egész adattípus (x szigorúan pozitív

Részletesebben

Kifejezések. Kozsik Tamás. December 11, 2016

Kifejezések. Kozsik Tamás. December 11, 2016 Kifejezések Kozsik Tamás December 11, 2016 Kifejezések Lexika Szintaktika Szemantika Lexika azonosítók (változó-, metódus-, típus- és csomagnevek) literálok operátorok, pl. + zárójelek: (), [], {},

Részletesebben

2017, Diszkrét matematika

2017, Diszkrét matematika Diszkrét matematika 10. előadás Sapientia Egyetem, Matematika-Informatika Tanszék Marosvásárhely, Románia mgyongyi@ms.sapientia.ro 2017, őszi félév Miről volt szó az elmúlt előadáson? a prímszámtétel prímszámok,

Részletesebben

INFORMATIKA javítókulcs 2016

INFORMATIKA javítókulcs 2016 INFORMATIKA javítókulcs 2016 ELMÉLETI TÉTEL: Járd körbe a tömb fogalmát (Pascal vagy C/C++): definíció, egy-, két-, több-dimenziós tömbök, kezdőértékadás definíciókor, tömb típusú paraméterek átadása alprogramoknak.

Részletesebben

Programozás C- és Matlab nyelven C programozás kurzus BMEKOKAM603 Előfeldolgozó rendszer Tömbök. Dr. Bécsi Tamás 4. Előadás

Programozás C- és Matlab nyelven C programozás kurzus BMEKOKAM603 Előfeldolgozó rendszer Tömbök. Dr. Bécsi Tamás 4. Előadás Programozás C- és Matlab nyelven C programozás kurzus BMEKOKAM603 Előfeldolgozó rendszer Tömbök Dr. Bécsi Tamás 4. Előadás A?: operátor Nézzük meg a következő kifejezést: if (a>b) z=a; else z=b; Ez felírható

Részletesebben

2018, Diszkrét matematika

2018, Diszkrét matematika Diszkrét matematika 12. előadás mgyongyi@ms.sapientia.ro Sapientia Egyetem, Matematika-Informatika Tanszék Marosvásárhely, ománia 2018, őszi félév Miről volt szó az elmúlt előadáson? a diszkrét logaritmus,

Részletesebben

Imperatív programozás

Imperatív programozás Imperatív programozás 2. Előadás Python alapok Elérhetőség Tejfel Máté Déli épület, 2.616 matej@elte.hu http://matej.web.elte.hu Python Script nyelv Értelmezett (interpretált) Dinamikus típusrendszer Gyors

Részletesebben

AWK programozás, minták, vezérlési szerkezetek

AWK programozás, minták, vezérlési szerkezetek 10 AWK programozás, minták, vezérlési szerkezetek AWK futtatási módok AWK parancs, közvetlen programkódmegadás: awk 'PROGRAMKÓD' FILE példa: ls -l awk '{print $1, $5}' a programkód helyére minden indentálás

Részletesebben

Webprogramozás szakkör

Webprogramozás szakkör Webprogramozás szakkör Előadás 5 (2012.04.09) Programozás alapok Eddig amit láttunk: Programozás lépései o Feladat leírása (specifikáció) o Algoritmizálás, tervezés (folyamatábra, pszeudokód) o Programozás

Részletesebben

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós március 3. Széchenyi István Egyetem, Gy r

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós március 3. Széchenyi István Egyetem, Gy r Programozás (GKxB_INTM021) Széchenyi István Egyetem, Gy r 2018. március 3. Függvények Mi az a függvény (function)? Programkód egy konkrét, azonosítható, paraméterezhet, újrahasznosítható blokkja Miért

Részletesebben

Apple Swift kurzus 3. gyakorlat

Apple Swift kurzus 3. gyakorlat Készítette: Jánki Zoltán Richárd Dátum: 2016.09.20. Apple Swift kurzus 3. gyakorlat Kollekciók: Tömb: - let array = [] - üres konstans tömb - var array = [] - üres változó tömb - var array = [String]()

Részletesebben

Szövegek C++ -ban, a string osztály

Szövegek C++ -ban, a string osztály Szövegek C++ -ban, a string osztály A string osztály a Szabványos C++ könyvtár (Standard Template Library) része és bár az objektum-orientált programozásról, az osztályokról, csak később esik szó, a string

Részletesebben

2018, Diszkrét matematika

2018, Diszkrét matematika Diszkrét matematika 4. előadás mgyongyi@ms.sapientia.ro Sapientia Egyetem, Matematika-Informatika Tanszék Marosvásárhely, Románia 2018, őszi félév Miről volt szó az elmúlt előadáson? számtartományok: racionális

Részletesebben

2016, Diszkrét matematika

2016, Diszkrét matematika Diszkrét matematika 7. előadás Sapientia Egyetem, Műszaki és Humántudományok Tanszék Marosvásárhely, Románia mgyongyi@ms.sapientia.ro 2016, őszi félév Miről volt szó az elmúlt előadáson? az ord, chr függvények

Részletesebben

Programozási nyelvek (ADA)

Programozási nyelvek (ADA) Programozási nyelvek (ADA) Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 1. előadás Hasznos weboldal http://kto.web.elte.hu Program felépítése Programegységek (program unit) eljárások (procedure)

Részletesebben

OOP I. Egyszerő algoritmusok és leírásuk. Készítette: Dr. Kotsis Domokos

OOP I. Egyszerő algoritmusok és leírásuk. Készítette: Dr. Kotsis Domokos OOP I. Egyszerő algoritmusok és leírásuk Készítette: Dr. Kotsis Domokos Hallgatói tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk a számonkérendı anyag vázlatát képezik. Ismeretük

Részletesebben

Programozás burritokkal

Programozás burritokkal Monádok (folytatás) Programozás burritokkal [2..21] Programozás monádokkal: Programstrukturálás type IO α = World (α, World) -- putstr :: String IO () -- getline :: IO String (>>=) :: IO α (α IO β) IO

Részletesebben

Funkcionális programozás

Funkcionális programozás Funkcionális programozás Horváth Zoltán E-mail: hz@inf.elte.hu Eötvös Lóránd Tudományegyetem, Budapest Programozási Nyelvek és Fordítóprogramok Tanszék Ajánlott irodalom Plasmeijer et al.: Programming

Részletesebben

Mit tudunk már? Programozás alapjai C nyelv 4. gyakorlat. Legnagyobb elem keresése. Feltételes operátor (?:) Legnagyobb elem keresése (3)

Mit tudunk már? Programozás alapjai C nyelv 4. gyakorlat. Legnagyobb elem keresése. Feltételes operátor (?:) Legnagyobb elem keresése (3) Programozás alapjai C nyelv 4. gyakorlat Szeberényi Imre BME IIT Mit tudunk már? Típus fogalma char, int, float, double változók deklarációja operátorok (aritmetikai, relációs, logikai,

Részletesebben

2016, Diszkrét matematika

2016, Diszkrét matematika Diszkrét matematika 2. előadás Sapientia Egyetem, Műszaki és Humántudományok Tanszék Marosvásárhely, Románia mgyongyi@ms.sapientia.ro 2016, őszi félév Miről volt szó az elmúlt előadáson? Követelmények,

Részletesebben

Programozás alapjai C nyelv 4. gyakorlat. Mit tudunk már? Feltételes operátor (?:) Típus fogalma char, int, float, double

Programozás alapjai C nyelv 4. gyakorlat. Mit tudunk már? Feltételes operátor (?:) Típus fogalma char, int, float, double Programozás alapjai C nyelv 4. gyakorlat Szeberényi Imre BME IIT Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I. 2005.10.10.. -1- Mit tudunk már? Típus fogalma char, int, float,

Részletesebben

Kifejezések. Kozsik Tamás. December 11, 2016

Kifejezések. Kozsik Tamás. December 11, 2016 Kifejezések Kozsik Tamás December 11, 2016 Kifejezés versus utasítás C/C++: kifejezés plusz pontosvessző: utasítás kiértékeli a kifejezést jellemzően: mellékhatása is van például: értékadás Ada: n = 5;

Részletesebben

Feldspar: Nyelv digitális jelfeldolgozáshoz

Feldspar: Nyelv digitális jelfeldolgozáshoz Feldspar: Nyelv digitális jelfeldolgozáshoz Eötvös Loránd Tudományegyetem, Budapest Támogatja: Ericsson, KMOP-1.1.2-08 Feldspar funkcionális beágyazott nyelv Feldspar digitális jelfeldolgozáshoz párhuzamossághoz

Részletesebben

Tömbök kezelése. Példa: Vonalkód ellenőrzőjegyének kiszámítása

Tömbök kezelése. Példa: Vonalkód ellenőrzőjegyének kiszámítása Tömbök kezelése Példa: Vonalkód ellenőrzőjegyének kiszámítása A számokkal jellemzett adatok, pl. személyi szám, adószám, taj-szám, vonalkód, bankszámlaszám esetében az elírásból származó hibát ún. ellenőrző

Részletesebben

C# Nyelvi Elemei. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) C# Nyelvi Elemei / 18

C# Nyelvi Elemei. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) C# Nyelvi Elemei / 18 C# Nyelvi Elemei Tóth Zsolt Miskolci Egyetem 2013 Tóth Zsolt (Miskolci Egyetem) C# Nyelvi Elemei 2013 1 / 18 Tartalomjegyzék 1 Object 2 Típusok 3 String 4 RegEx Tóth Zsolt (Miskolci Egyetem) C# Nyelvi

Részletesebben

AWK programozás, minták, vezérlési szerkezetek

AWK programozás, minták, vezérlési szerkezetek 10 AWK programozás, minták, vezérlési szerkezetek AWK adatvezérelt szkriptnyelv text processing, adat kiterjesztés, tagolt adatok automatizált soronkénti feldolgozása a forrásállományt soronként beolvassa

Részletesebben

Lineáris belsőpontos Newton-iteráció

Lineáris belsőpontos Newton-iteráció Lineáris belsőpontos Newton-iteráció Implementáció Haskellben Dr. Érdi Gergő http://gergo.erdi.hu/ Az alábbiakban összeállítunk egy Haskell modult, amely a belsőpontos Newton-iteráció algoritmusával old

Részletesebben

Forráskód formázási szabályok

Forráskód formázási szabályok Forráskód formázási szabályok Írta: Halmai Csongor, Webcenter Bt. A php és html kódrészletek Ugyanazon fájlon belül nem szerepelhet php kód és html tartalom. E kettő különválasztására smarty-t vagy más

Részletesebben

Bevezetés a programozásba II. 5. Előadás: Másoló konstruktor, túlterhelés, operátorok

Bevezetés a programozásba II. 5. Előadás: Másoló konstruktor, túlterhelés, operátorok Bevezetés a programozásba II 5. Előadás: Másoló konstruktor, túlterhelés, operátorok Emlékeztető struct Vektor { int meret, *mut; Vektor(int meret); int szamlal(int mit); }; int Vektor::szamlal(int mit)

Részletesebben

Cekla. Készítette Doxygen Tue Sep :13:44

Cekla. Készítette Doxygen Tue Sep :13:44 Cekla Készítette Doxygen 1.7.1 Tue Sep 20 2011 14:13:44 TARTALOMJEGYZÉK 1 Tartalomjegyzék 1. Cekla C++ könyvtár deklaratív C++-hoz 1 2. Modulmutató 1 2.1. Modulok............................................

Részletesebben

Algoritmizálás + kódolás C++ nyelven és Pascalban

Algoritmizálás + kódolás C++ nyelven és Pascalban Algoritmizálás + kódolás nyelven és ban Motiváció A Programozási alapismeretek tárgyban az algoritmizáláshoz struktogramot, a kódoláshoz nyelvet használunk, a Közismereti informatikában (a közoktatásban

Részletesebben

Vezérlési szerkezetek

Vezérlési szerkezetek Vezérlési szerkezetek Szelekciós ok: if, else, switch If Segítségével valamely ok végrehajtását valamely feltétel teljesülése esetén végezzük el. Az if segítségével valamely tevékenység () végrehajtását

Részletesebben

Járműfedélzeti rendszerek II. 2. előadás Dr. Bécsi Tamás

Járműfedélzeti rendszerek II. 2. előadás Dr. Bécsi Tamás Járműfedélzeti rendszerek II. 2. előadás Dr. Bécsi Tamás 4.11. A C előfeldolgozó rendszer A fordítás első lépése a C esetében a különböző nyelvi kiterjesztések feldolgozása: másik állomány tartalmának

Részletesebben

Listák, szótárak, fájlok Listák, szótárak, fájlok

Listák, szótárak, fájlok Listák, szótárak, fájlok lista fogalma, használata listák másolása (alap szintű, teljes körű) szótárak fogalma, használata adatbázis alkalmazás fejlesztése műveletek fájlokkal (megnyítás, írás, olvasás, lezárás) rejtjelező alkalmazás

Részletesebben

C# feladatok gyűjteménye

C# feladatok gyűjteménye C# feladatok gyűjteménye Készítette: Fehérvári Károly I6YF6E Informatika tanár ma levelező tagozat 1) Feladat: ALAPMŰVELETEK Készítsünk programot, amely bekér két egész számot. Majd kiszámolja a két szám

Részletesebben

Programozás BMEKOKAA146. Dr. Bécsi Tamás 3. előadás

Programozás BMEKOKAA146. Dr. Bécsi Tamás 3. előadás Programozás BMEKOKAA146 Dr. Bécsi Tamás 3. előadás Vezérlési szerkezetek Elágazás Gyakran előfordul, hogy meg kell vizsgálnunk egy állítást, és attól függően, hogy igaz vagy hamis, a programnak más-más

Részletesebben

C programozási nyelv

C programozási nyelv C programozási nyelv Előfeldolgozó utasítások Dr Schuster György 2011 május 3 Dr Schuster György () C programozási nyelv Előfeldolgozó utasítások 2011 május 3 1 / 15 A fordítás menete Dr Schuster György

Részletesebben

1. Alapok. Programozás II

1. Alapok. Programozás II 1. Alapok Programozás II Elérhetőség Név: Smidla József Elérhetőség: smidla dcs.uni-pannon.hu Szoba: I916 2 Irodalom Bjarne Stroustrup: A C++ programozási nyelv 3 Irodalom Erich Gamma, Richard Helm, Ralph

Részletesebben

Bánsághi Anna 2014 Bánsághi Anna 1 of 68

Bánsághi Anna 2014 Bánsághi Anna 1 of 68 IMPERATÍV PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 3. ELŐADÁS - PROGRAMOZÁSI TÉTELEK 2014 Bánsághi Anna 1 of 68 TEMATIKA I. ALAPFOGALMAK, TUDOMÁNYTÖRTÉNET II. IMPERATÍV PROGRAMOZÁS Imperatív

Részletesebben

Programozás BMEKOKAA146. Dr. Bécsi Tamás 2. előadás

Programozás BMEKOKAA146. Dr. Bécsi Tamás 2. előadás Programozás BMEKOKAA146 Dr. Bécsi Tamás 2. előadás Szintaktikai alapok Alapvető típusok, ismétlés C# típus.net típus Méret (byte) Leírás byte System.Byte 1Előjel nélküli 8 bites egész szám (0..255) char

Részletesebben

SZÁMÍTÁSOK A TÁBLÁZATBAN

SZÁMÍTÁSOK A TÁBLÁZATBAN SZÁMÍTÁSOK A TÁBLÁZATBAN Az Excelben az egyszerű adatok bevitelén kívül számításokat is végezhetünk. Ezeket a cellákba beírt képletek segítségével oldjuk meg. A képlet: olyan egyenlet, amely a munkalapon

Részletesebben

Tisztán funkcionális adatszerkezetek

Tisztán funkcionális adatszerkezetek Tisztán funkcionális adatszerkezetek Bevezetés A hatékony adatszerkezetek általában... [..] language-independent only in the sense of Henry Ford: Programmers can use any language as they want, as long

Részletesebben

SQL*Plus. Felhasználók: SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP (dolgozó), DEPT (osztály) "közönséges" felhasználók

SQL*Plus. Felhasználók: SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP (dolgozó), DEPT (osztály) közönséges felhasználók SQL*Plus Felhasználók: SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP dolgozó), DEPT osztály) "közönséges" felhasználók Adatszótár: metaadatokat tartalmazó, csak olvasható táblák táblanév-prefixek:

Részletesebben

Tisztán funkcionális adatszerkezetek (folytatás)

Tisztán funkcionális adatszerkezetek (folytatás) Tisztán funkcionális adatszerkezetek (folytatás) FingerTree (intuíció) [2..26] FingerTree (intuíció) [3..26] FingerTree (intuíció) [4..26] FingerTree (intuíció) [5..26] FingerTree (intuíció) [6..26] FingerTree

Részletesebben

1. Alapok. #!/bin/bash

1. Alapok. #!/bin/bash 1. oldal 1.1. A programfájlok szerkezete 1. Alapok A bash programok tulajnképpen egyszerű szöveges fájlok, amelyeket bármely szövegszerkesztő programmal megírhatunk. Alapvetően ugyanazokat a at használhatjuk

Részletesebben