Funkcionális Nyelvek 2 (MSc)

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

Download "Funkcionális Nyelvek 2 (MSc)"

Átírás

1 Funkcionális Nyelvek 2 (MSc) Páli Gábor János Eötvös Loránd Tudományegyetem Informatikai Kar Programozási Nyelvek és Fordítóprogramok Tanszék

2 Tematika

3 A (tervezett) tematika rövid összefoglalása Monádok, monádtípusok, ezek kombinációja Tulajdonságalapú tesztelés Konkurens és párhuzamos programozás (tisztán funkcionális nyelvben) Perzisztens (tisztán funkcionális) adatszerkezetek Hatékonyság funkcionális nyelvekben Beágyazott nyelvek Interaktív funkcionális programok [3..30]

4 Monádok

5 Programozás monádokkal bevezetés https://byorgey.wordpress.com/2009/01/12/ abstraction-intuition-and-the-monad-tutorial-fallacy/ [5..30]

6 Programozás burritokkal [6..30]

7 Programozás burritokkal [7..30]

8 Programozás burritokkal [8..30]

9 Programozás burritokkal [9..30]

10 Programozás burritokkal [10..30]

11 Programozás burritokkal [11..30]

12 Programozás burritokkal [12..30]

13 Mi nem a monád? A következő állítások mindegyike hamis: A monádok nem tisztán funkcionálisak. A monádok programbeli hatásokat modelleznek. A monádok az állapotról szólnak. A monádok utasítások sorbarendezését teszik lehetővé. A monádok az I/O-t modellezik. A monádok működéséhez szükséges a lusta kiértékelés. A monádok segítségével lehet trükkösen mellékhatásokat használni. A monádok egy beágyazott nyelv a Haskelleben belül. A monádokat csak matematikusok érthetik meg. [13..30]

14 A monád fogalmának megértése 8 egyszerű lépésben 1. Ne olvassuk tutorialokat! 2. Ne olvassuk tutorialokat! 3. Tanuljunk a Haskell típusairól ( Nyelvek típusrendszere tárgy)! 4. Tanuljuk meg a típusosztályokat ( Funkcionális nyelvek tárgy)! 5. Tanulmányozzuk a Typeclassopediát! 6. Tanulmányozzuk a monádok definícióját! 7. Programozzunk monádokkal ( beadandók)! 8. Ne írjunk tutorialokat! brent-yorgey/tc.pdf [14..30]

15 Programozás monádokkal programstruktúrálás Tegyük fel, hogy meg szeretnénk írni egy tisztán funkcionális nyelven az alábbi algoritmussal rendelkező programot: Írjuk ki a képernyőre, hogy "Provide me a word> ". Olvassuk be a felhasználó által begépelt szót. Az adott szótól függően tegyük a következőt: Ha palindróma, akkor írjuk ki a képernyőre, hogy "Palindrome." Ha nem palindróma, akkor írjuk ki a képernyőre, hogy "Not a palindrome." Adottak: putstr :: String -> World -> World getline :: World -> (String, World) [15..30]

16 Programozás monádokkal programstruktúrálás ($) :: (a -> b) -> a -> b f $ x = f x program :: World -> World program w = (\(s, w) -> if (s == reverse s) then putstr "A palindrome." w else putstr "Not a palindrome." w) $ getline $ putstr "Provide me a word> " $ w [16..30]

17 Programozás monádokkal programstruktúrálás ( >) :: a -> (a -> b) -> b x > f = f x program :: World -> World program w = w > putstr "Provide me a word> " > getline > \(s, w) -> if (s == reverse s) then putstr "A palindrome." w else putstr "Not a palindrome." w [17..30]

18 Programozás monádokkal programstruktúrálás type IO a = World -> (a, World) -- putstr :: String -> IO () -- getline :: IO String (>>=) :: IO a -> (a -> IO b) -> IO b (f >>= g) w = (g x) w where (x, w ) = f w (>>) :: IO a -> IO b -> IO b f >> g = f >>= \_ -> g program :: IO () program = putstr "Provide me a word> " >> getline >>= \s -> if (s == reverse s) then putstr "A palindrome." else putstr "Not a palindrome." [18..30]

19 Programozás monádokkal programstruktúrálás main :: IO () main = do putstr "Provide me a word> " s <- getline if (s == reverse s) then putstr "A palindrome." else putstr "Not a palindrome." [19..30]

20 Programozás monádokkal a Monad típusosztály -- Control.Monad class Monad (m :: * -> *) where return :: a -> m a (>>=) :: m a -> (a -> m b) -> m b (>>) :: m a -> m b -> m b x >> f = x >>= \_ -> f fail :: String -> m a fail s = error s (>=>) :: Monad m => (a -> m b) -> (b -> m c) -> (a -> m c) f >=> g = \x -> f x >>= g return >=> f === f f >=> return === f (f >=> g) >=> h === f >=> (g >=> h) + run függvény [20..30]

21 Programozás monádokkal a do szintaktika Átírási szabályok: do { e1; e2 } --> e1 >> do { e2 } do { p <- e1; e2 } --> e1 >>= \x -> case x of p -> do { e2 } _ -> fail "error" do { let p = e1; e2 } --> let p = e1 in do { e2 } do { e } --> e Például: do { do x <- f; x <- f f >>= \x -> y <- g; y <- g g >>= \y -> z <- h; --> z <- h --> h >>= \z -> let t = (x,y,z); let t = (x,y,z) let t = (x,y,z) in return t return t return t } [21..30]

22 Milyen monádok léteznek? data IO a =? Az IO monáddal tetszöleges mellékhatást tudunk modellezni, ez a "jolly joker". Például: putstrln: írás a szabványos kimenetre getline: olvasás a szabványos bemenetröl IORef: módosítható hivatkozások, mutatók IOError: kivétel(kezelés) IOArray: hatékony, felülírható elemeket tartalmazó tömb forkio: (konkurens) szálak létrehozása run függvény: a futtató rendszer, unsafeperformio [22..30]

23 Ilyen monádok léteznek? data [a] = [] a:[a] instance Monad [] where return x = [x] xs >>= f = concat [ f x x <- xs ] fail _ = [] multiplytonm :: (Num a, Eq a, Enum a) => a -> [(a,a)] multiplytonm n = do x <- [1..n] y <- [x..n] if (x * y == n) then return (x,y) else fail "Not applicable." multiplyton n = [ (x,y) x <- [1..n], y <- [x..n], x * y == n ] [23..30]

24 Az Identity monád type Identity a = a -- a -> (a -> b) -> b (>>=) :: Identity a -> (a -> Identity b) -> Identity b x >>= f = f x -- a -> a return :: a -> Identity a return x = x -- a -> a runidentity :: Identity a -> a runidentity x = x [24..30]

25 Az Identity monád -- Control.Monad.Identity data Identity a = I a runidentity :: Identity a -> a runidentity (I x) = x instance Monad Identity where return x = I x x >>= f = f (runidentity x) [25..30]

26 Az Identity monád (példa) m :: Int -> Identity Int m x = return (x * x) m :: Int -> Identity Int m x = do return (x * x) return (x * 2) return (x * 3) m :: Int -> Identity Int m n = do x <- m n y <- return (x * n) m y y = runidentity (m 4) [26..30]

27 A Maybe monád data Maybe a = Just a Nothing (>>=) :: Maybe a -> (a -> Maybe b) -> Maybe b (Just x) >>= f = f x Nothing >>= f = Nothing return :: a -> Maybe a return x = Just x testmaybe :: Maybe Int testmaybe = Just 3 >>= \x -> Just 4 >>= \y -> return (x + y) [27..30]

28 A Reader monád type Reader e a = e -> a -- (e -> a) -> (a -> (e -> b)) -> (e -> b) (>>=) :: Reader e a -> (a -> Reader e b) -> Reader e b (x >>= f) e = f (x e) e -- a -> (e -> a) return :: a -> Reader e a return x = \e -> x -- e -> e ask :: Reader e e (ask) e = e -- (e -> a) -> e -> a runreader :: Reader e a -> e -> a runreader f x = f x [28..30]

29 A Reader monád -- Control.Monad.Reader data Reader e a = R (e -> a) runreader :: Reader e a -> e -> a runreader (R f) x = f x instance Monad (Reader e) where return x = R (\e -> x) x >>= f = R (\e -> let x = runreader x e in runreader (f x ) e) ask :: Reader e e ask = R (\e -> e) [29..30]

30 A Reader monád (példa) type Identifier = String type Bindings a = Data.Map.Map Identifier a valueof :: Identifier -> Bindings a -> a valueof name binds = maybe (error "Not found") id (Data.Map.lookup name binds) bindings :: [(Identifier, a)] -> Bindings a bindings = Data.Map.fromList -- getvaluesm :: [Identifier] -> Bindings a -> [a] getvaluesm :: [Identifier] -> Reader (Bindings a) [a] getvaluesm ids = do binds <- ask return [ valueof id binds id <- ids ] getvalues :: [Identifier] -> Bindings a -> [a] getvalues ids names = runreader (getvaluesm ids) names [30..30]

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

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

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

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

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

Programozás II. 2. Dr. Iványi Péter

Programozás II. 2. Dr. Iványi Péter Programozás II. 2. Dr. Iványi Péter 1 C++ Bjarne Stroustrup, Bell Laboratórium Első implementáció, 1983 Kezdetben csak precompiler volt C++ konstrukciót C-re fordította A kiterjesztés alapján ismerte fel:.cpp.cc.c

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

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

Haladó DBMS ismeretek 1

Haladó DBMS ismeretek 1 Haladó DBMS ismeretek 1 Hasznos információk A tantárgy weboldala: it.inf.unideb.hu/honlap/halado_oracle1 Oracle Junior képzés Gyakorlatok és a neptun Gyakorlat követelmények Ajánlott irodalom Juhász István

Részletesebben

Java programozási nyelv

Java programozási nyelv Java programozási nyelv 2. rész Vezérlő szerkezetek Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. szeptember A Java programozási nyelv Soós Sándor 1/23 Tartalomjegyzék

Részletesebben

ISA szimulátor objektum-orientált modell (C++)

ISA szimulátor objektum-orientált modell (C++) Budapesti Műszaki és Gazdaságtudományi Egyetem ISA szimulátor objektum-orientált modell (C++) Horváth Péter Elektronikus Eszközök Tanszéke 2015. február 12. Horváth Péter ISA szimulátor objektum-orientált

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

í ö ő í ú ö ö í íí ü Ú Í Á ú ü í ö í ő í ö ő ű Í í ö ü ü ő ő ú í ő í ő ü ü ő Í ő Í í ü ö ö ö ö í ű ő ö ö ö í ü í Ó ö í ő ő í í ő Ó Ú Ő Íő Ő Ó ő ö ő ü ű í í ü ú Ő Í ő ő ő í ü ő É í Ő í ü ü ö ő í ü ö ö ü

Részletesebben

Í ö Í ű ú ö ö ú ö É í í ö Ó ű í ö ö í ö ö ö í í ö í í ö ö í ö ö ö ű í ö ö ö ö ö ö ö ú ö í ö ö í ö ö ö ö ö ú ű ű ú ö ö í ö É í ö ö í ö ö ö ú ű ö ö í ö ú ű ö ö í í ú ö ö í ö í í ö ö ö ú ö ö ö ö Í ö ú ö ú

Részletesebben

Ő Ö ö Ö É Á Ü É ó É ó ü É É Ö Ö Á É Ő ú É Á ú Ő Ö Ü Ö Ö ü ó ó ü Ü ű ö ú ó Á í ó ö ö ö ö ó ü í í Á í Ó í ó ü Ö ö ú ó ó ö ü ó ó ö í í ű ö ó í ü í ö í í ű ö ü Ő ü ú Ö ö ó ö ó ö ö ö ü ó ö í ó Ö ö Ő ü Ö Ö ü

Részletesebben

ö ú í í í ő ű Ü Ű Í í Ő Á Á Ö Ő Ű Í ö ú í í í ú ő ö ű í í í ö Ó ő í í í ö ú í ö ö ö ö Ü ő ö ö ö ú ű ő ú ű ö ö ú ö ö ő Ü ö ö í í ő ö í í í í í í ö ö í ö ö í í ő í ő ö ő í ú í ö í ö í í ö ű ö ö Ó Ü ö ő ő

Részletesebben

ú ű ö ö ü ü Í ö ö ö ö É Í É ú ú É ú ú ö É ö Í Ü ú Í ö ö Í ú ö ö ö ö ü ö ö ú ü Ü ö ü Í ö ö ű ö ö Í ű ú ö ö ö ö Í ö ö ű ö ö Í ü Í ü ú Í É ö ö ü ö ö Ü ö ö Í ü Í ö ü Í Í ö Í ö Í ü ö ú Í ú Í ö É ú Í ö ö Í É

Részletesebben

ü ó Ö ü í ü ü ü ö É ó ó í ó ó ö ó ö ö ö í í ű ü ü ü Í í ü ü ü ö í ó í ó ó í ó í É ü ö í Í É í ö ú í ó í ö ö ó í ö ó ó ó ö ó ö í í ó ó í ó ó Ö í ö ö ó ö ó ú ó ö ó í ó ó í í ü ó í ö ó ó ü ü ó ö ó ú í ó í

Részletesebben

ü Ü ö ö ú Í ó í í ó ó ó ü ó ű ó í ó ó í ö ó ö ú ü ö Í í í ó ó ó ó Í ó ü ű ó í ó ó í ó Í í ó ü ö ú ó ó ó í í ó í í ű í ü ö í ó í ö í ú ó í ú ü ú Í í ü Í í í ó ü ö í ó í ó ü ö ó Í í í ó Í É ó ó ó Í í ö ö

Részletesebben

ö Á ö É É ü ü É É Ő ö É ö Á ó ü É Ó Ö Á ú é ü ö é Ö é ü é é ü ü é é Ü é ö ö Ö ö é Á é é é é é ó é é é é ü é ö ö ö í é ü ú é é é ü ü é é é ü é é ö é ö é é ó ö ü é é é é ó ó ö í ó é ó é é é ó é é é ű ö é

Részletesebben

Á Ó Á Ü ő ű Ú ö í ő Ó ú ö Á ú Ű Ó ű Ó í ű ö í ö ő ö ö í ö ö ő É ö Á ű Ó ö Á Ó ö í Á í í ö ű ö ú ö ö ú ö Ú ö ű Ó Ú ö Á í Ó í í Í í í Í ö Ú ö Á ú í Ó ő í ú ö Á ú Á í ú ö Á ú í ö Á ú í Ó ö ű Ó Ú Ú ű ő ö ü

Részletesebben

Á Á É Á Ü ö ű ű ő í ő ö ő í ő ö í É ő í ű ö ő ő í ö ü ő ő ü ő ü í ö ö ü ö ü ő ő ü ü ő ü ö ő ő ő ő íő ö ö ö ü ő ő ő ő í ú ő ő í ü ö ő í ű ü ö ő ő ő ő í ú ö ö ő ö ö ö ö ü ő ő ö ő ő í í ő ö ü ö í ö ö ö ö

Részletesebben

ó Í ó ó Ü ó ő Ú ő É ó É Í ő Ö ő ő ó Íó ó Ú ó É Ö ó ő ő Ú Íő ő ő ő ő ő Ú ő ó ó ő ő ő ő ó ő ő ő ő ő ő Í ő ő ó ő ő ó ő Í ő ó ő ő ő ő ő ó ó ó ő ő ó ő ő ő ő ő ő ó ő ő ő ó ő ő Á ű ő ő ő ő ő ő Í ó ő ő ő ő ó ó

Részletesebben

Á Á Í ó ó ó ö ó Ü ö ú Í ó ö ö ó ú ö ó ö ö Ü ö ú ó ó ó ó ö ü ó ö ö ü Ü ö ö ú ó ó ö ú ö ó ó ó ó ö ó ö ó ö ó ö ű ö ö ö ű ö ö ű ö ö ö ű ö ö ó ö ö ó ó ü ö ö ű ö ö ö ó ö ű ö Ü ö ö ú ó ö ó ü ü ö ü ü ö Í ö ü ö

Részletesebben

ó ő ó ó ö ö ú Á Í ö ó ő ö ú Í ó ü ó ő ö ú ö ó ő ó ő ü ő ű ö ö ü ő ü ó Ó ö ó ó ő ő ő ö Í ó ö ö ö ó ő ö ő Í ü ö ö ö ö ö ö ő ö ö ö ö ú ú ű ö ű ó ó ö ö ő ű ö ú ö ö ö ö ö ó Á ö ö ö ő ő ó ő ő Ö ő ú ó ö ú ú ű

Részletesebben

É ő ő íí í ú í ő Ő ő ü ü ü ü ü Ü Ü ő ő ő ő í ő ő ő í íí í ő ű í Ó Ó Ó í Ö Ö í Á Ö Ü Ö É í Ö í ő Ö Ö Ö Á í Á ő ő ő ő É Í Í ő ú Ú ú Ö í ő Á Ö ő Í Í ő ű í ő ú ü íí í Ö ő ő ő ő Í ő ő ő ő í ő ő ő ő í É É í

Részletesebben

ö Ö ö Ö ö ö ö ö ö ö ö Ö ö Ö ö ö ö ö ö ű ö ö ö ö Ö ö Ő Ü ö ö Ö Ö ö ö ö ö ö ö ö ö Ü ö ö ö ű ö ö ö ö ű ö ű ö Ö Ü Ü ö ö ú Ű ÍŐ Ö Ő ÍŐ ö ö ö ö ű ö Ö Ö Ó ö ö Ö ö ö Ö ö ö Ö ö ű ö ö É ö ö Í Á Á Ő ű ö ű ú Ö Ü Á

Részletesebben

í ö Ö Á í ö í í ö í ö ö í í ö ö ö ö í í ö í ö í ö í ü í í ö í í í í í ö ö í í í ú ö í í ö Á Á Á ü ú í ö Á í í í ö í í ü ö ö ö ö í ö í í í ú í í ű ú í í í í ö í ű í ö ö ü ö ű ö ö í í í í í ö ü í ö í ö ű

Részletesebben

ű í ö ö Á ü ü ö ö ö í í É ú ú ö ö ű í ö ü ö ú ü ű ú ö í í ú ö ú í ö ü í í ö í Á Ó É í ű ö ü ö ü ú ü ö ü ú ű ö ü ű ü í ü ű ü ü ö ű í ü í ö ü í í í í ö í ö ö ö Á ű ú ű ö ö ű í ö ö í ú í í ű í ö ú ö ö í Á

Részletesebben

ö é Ö é ü ö é ü ö é Ö é ü í ü ü ü é é ü é é Ö ö é é é é ö ü ö ü ö é é ö é é ö é é ö ö é í é ü é é é í é ö é é ö é ö é ü é ü ú é é é é é í é é é é ö ö é é ö ö é é í í é í é ü ö ü Á é ö Á í ö í é ö ü ö é

Részletesebben

É ö ö Í Í Í Ó Í Í Á Ó Á Ü Ú Í Á Á ű Á Ó Í Í É Á Ó Á Á ö ö Á Í Á Á ö ö ű ö ö Í Í ű Ö ű ö ö ű Í Í Ü ö ö Ó ű Í ö ö Í ö ö Ó ö Ö Í ö ö Ö ö ű ö ö Ó Í ű Ó ö ö ű ö ű Ö Ü Ö ű ű ö ö ö ö ö ö Íö ö Í Ö Ó ű ö ű ö ö

Részletesebben

Ő Ö Ü Ö Ö ő ü ó í ü ü ő ü ó Ö ó ő ó ó ő ó ő í ő í ü ő ö ö ö ü í ü ö ö ö ö Ö ő ő Ö ő í ó ő ó ő Ö í ő ő ő ő ü ő ő ö ó ű ö ó ö ú ő ő ó ü ö í ü ö ö ó í ú ő ó ő í ö ö ö í ő ö ő ő ó ü ö ú ü ő ó ó ő ó ő ó í í

Részletesebben

É É É Ó Ö É í Ö ő ü ó ő ó ű Á ű ó ő ó ü ó ő ű ő Ö ü É É É ó É ó ü ű í Ö ü ó ű í ó ő ó ő ü ó ü ő ó É Í ő ő ő Ú ó ő ő ő ó ű ó ő ó ü ő ő ő í ü ő ü ő ó Ü ő ó ő ő ó ő Ú ő ő ó ő í ó ő ü ó Í ő ő ü ő É í ő ü ó

Részletesebben

ú Ö ü ő ő ú ú ű ő í ó ó í ó ú ő ü ú ű ő í ó ó í ó ű í ó ő Í ő ü ú ő ő í ó ú Ö ő Ü ó ő ő É ó ó ó ó ő ő ú ű ő í ó ú ű ő ú ú ő ű ő í ő ó í ű ő ü ú ó ő ő ó ű ő ő í í í í ó ű ú ő Á ó ő Á ú ó ó ő ó í ó ű í í

Részletesebben

ú ő ó ú ö ő ü ú ö ő ó ó ó ü ő í ö í ó ú ő ó ó ó ú ó ú ó ő ő ö ö ő ó ú ó ő ó ő í Á Á ö ö ó ő ú ö ő ú ó í ő ü ü ü í ú ü ü ü ó ú í ü í ó ő ó ő í ú ü ú ó ü ü ö ó ü ó í ü ó ő ö ö í ü ú ó ő ó í ó ő ó í ó ó í

Részletesebben

Á ó ü ő Ö Á ü ó ü ő Í ü Í Ó ü ő ő ó ó ó Í ó ü ó ő ő ó ó ü ú Í ő ő ó Ó ő ó ü ó Á ü ó ő ó Í Á Í ő ó ó ó ő ő Á ó ó ú ő Í ő ű ó Ó ü ó ó ú ó ő ú ü ő ó ó ó ő ó ó Ö ó ó ő ó ő ó ő ü ű ő ó ó ő ú ő ú ü Í ü ő ó ó

Részletesebben

ü ö Ö ü ó ü ó ó ó Á Ő É ö Ö ü ó ü ú ó ó ó ö ó í í ö ú Ó É ö Ö ü ó ü ü ó ó ó ö ó í ü ö Ö ó ü ü ü ó ó ó ö ó ü í í í ó í ú ű ű ü ű ú í ü ö ö í ö ú ü ó ú ú ű í ü ö ö ó ú ó í ü ú ó ü ó ó ű ó í ü ű ü í ű í

Részletesebben

Í ú ó ú ó ú ó ó Á ó ó ö ű ú Á ú ó ó ó Í ó ö ö ö Í ö ó ó ö ó ó ó ö ó ö ö ö ö ó ö ó ö ó ü ó ó ü ó ü ö ö ö ö Ő ó ó Íó ó ó ü ó ű ó ó ű ű ó ö ü ö ú ö ü ű ö ö ö ö ó ú ö ö ö ü Í Í Í Á ó ó ú ü ú Á ü ö Á ó ü ó

Részletesebben

Példa: Aktuális könyvtár tartalmának fájlba mentése, melynek neve az aktuális dátum és idő: ls l > `date+%f_%h-%m`.txt

Példa: Aktuális könyvtár tartalmának fájlba mentése, melynek neve az aktuális dátum és idő: ls l > `date+%f_%h-%m`.txt Beépített változók (paraméterezés): $# - paraméterek száma $1...9 - az adott paraméter értéke $0 - az adott héjprogram neve $* - az összes paraméter egyben Idézőjelek típusai: ' ' - belső szöveg stringként

Részletesebben

Fordítás Kódoptimalizálás

Fordítás Kódoptimalizálás Fordítás Kódoptimalizálás Kód visszafejtés. Izsó Tamás 2016. október 20. Izsó Tamás Fordítás Kódoptimalizálás / 1 Aktív változók Angol irodalomban a Live Variables kifejezést használják, míg az azt felhasználó

Részletesebben

Delphi programozás I.

Delphi programozás I. Delphi programozás I. Konzol alkalmazások készítése Delphiben A Delphi konzol alkalmazása (console application) olyan 32 bites program, amely nem grafikus felületen, hanem egy szöveges konzol ablakban

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

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

Java programozási nyelv 6. rész Java a gyakorlatban

Java programozási nyelv 6. rész Java a gyakorlatban Java programozási nyelv 6. rész Java a gyakorlatban Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2004. október A Java programozási nyelv Soós Sándor 1/16 Tartalomjegyzék

Részletesebben

XML adatkezelés. 11. témakör. Az XQuery nyelv alapjai. XQuery. XQuery célja egy imperatív lekérdező nyelv biztosítása. XQuery.

XML adatkezelés. 11. témakör. Az XQuery nyelv alapjai. XQuery. XQuery célja egy imperatív lekérdező nyelv biztosítása. XQuery. XML adatkezelés 11. témakör Az nyelv alapjai ME GEIAL dr Kovács Lászl szló célja egy imperatív lekérdező nyelv biztosítása SQL XPath XSLT (nem XML) XDM Forrás XML processzor Eredmény XML 1 jellemzői --

Részletesebben

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

Bánsághi Anna 2014 Bánsághi Anna 1 of 35 IMPERATÍV PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 4. ELŐADÁS - ADATFOLYAMOK KEZELÉSE 2014 Bánsághi Anna 1 of 35 TEMATIKA I. ALAPFOGALMAK, TUDOMÁNYTÖRTÉNET II. IMPERATÍV PROGRAMOZÁS Imperatív

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

A Feldspar fordító, illetve Feldspar programok tesztelése

A Feldspar fordító, illetve Feldspar programok tesztelése A Feldspar fordító, illetve Feldspar programok tesztelése [KMOP-1.1.2-08/1-2008-0002 társfinanszírozó: ERFA] Leskó Dániel Eötvös Loránd Tudományegyetem Programozási Nyelvek és Fordítóprogramok Tanszék

Részletesebben

Bevezetés, a C++ osztályok. Pere László

Bevezetés, a C++ osztályok. Pere László Programozás módszertan II. p. Programozás módszertan II. Bevezetés, a C++ osztályok Pere László (pipas@linux.pte.hu) PÉCSI TUDOMÁNYEGYETEM TERMÉSZETTUDOMÁNYI KAR INFORMATIKA ÉS ÁLTALÁNOS TECHNIKA TANSZÉK

Részletesebben

Büki András UNIX/Linux héjprogramozás Büki András: UNIX/Linux héjprogramozás Büki András Felelõs kiadó a Kiskapu Kft. ügyvezetõ igazgatója 2002 Kiskapu Kft. 1081 Budapest Népszínház u. 29. Tel: (+36-1)

Részletesebben

C programozás. 1 óra Bevezetés

C programozás. 1 óra Bevezetés C programozás 1 óra Bevezetés A C nyelv eredete, fő tulajdonságai 1. Bevezető C nyelv alapelemei többsége a BCPL (Basic Combined Programming Language {1963}) Martin Richards B nyelv Ken Thompson {1970}

Részletesebben

Dinamikus programozás vagy Oszd meg, és uralkodj!

Dinamikus programozás vagy Oszd meg, és uralkodj! Dinamikus programozás Oszd meg, és uralkodj! Mohó stratégia Melyiket válasszuk? Dinamikus programozás vagy Oszd meg, és uralkodj! Háromszögfeladat rekurzívan: c nj := a nj ha 1 j n c ij := a ij + max{c

Részletesebben

Matematikai statisztikai programcsomagok gyakorlat

Matematikai statisztikai programcsomagok gyakorlat Matematikai statisztikai programcsomagok gyakorlat Statisztikai programok 2. PÓTZH MEGOLDÁS Matematikus BSC képzés 2010.12.09. Állományok: Adott két SAS adatállomány cdr_pot.sas7bdat és a custinform_pot.sas7bdat.

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

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

A szemantikus elemzés helye. A szemantikus elemzés feladatai. A szemantikus elemzés feladatai. Deklarációk és láthatósági szabályok

A szemantikus elemzés helye. A szemantikus elemzés feladatai. A szemantikus elemzés feladatai. Deklarációk és láthatósági szabályok A szemantikus elemzés helye Forrásprogram Forrás-kezelő (source handler) Lexikális elemző (scanner) A szemantikus elemzés feladatai Fordítóprogramok előadás (A, C, T szakirány) Szintaktikus elemző (parser)

Részletesebben

Programozás(A szakirány) II. beadandó feladat Farkas András HP6S15 1. csoport Veszprémi Anna / Hudoba Péter

Programozás(A szakirány) II. beadandó feladat Farkas András HP6S15 1. csoport Veszprémi Anna / Hudoba Péter Programozás(A szakirány) II. beadandó feladat 2014.05.05. Farkas András HP6S15 fafee@fafeecorp.com 1. csoport Veszprémi Anna / Hudoba Péter Feladat: Egy szöveges állományban bekezdésekre tördelt szöveg

Részletesebben

Programozás alapjai C nyelv 8. gyakorlat. Mutatók és címek (ism.) Indirekció (ism)

Programozás alapjai C nyelv 8. gyakorlat. Mutatók és címek (ism.) Indirekció (ism) Programozás alapjai C nyelv 8. gyakorlat Szeberényi Imre BME IIT Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I. 2005.11.07. -1- Mutatók és címek (ism.) Minden változó és függvény

Részletesebben

Mutatók és címek (ism.) Programozás alapjai C nyelv 8. gyakorlat. Indirekció (ism) Néhány dolog érthetőbb (ism.) Változók a memóriában

Mutatók és címek (ism.) Programozás alapjai C nyelv 8. gyakorlat. Indirekció (ism) Néhány dolog érthetőbb (ism.) Változók a memóriában Programozás alapjai C nyelv 8. gyakorlat Szeberényi mre BME T Programozás alapjai. (C nyelv, gyakorlat) BME-T Sz.. 2005.11.07. -1- Mutatók és címek (ism.) Minden változó és függvény

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

Ö Á Í Í ű ű ú ű ű ű ű ú ú ú ú ű ű ű ű ű ű ű ű ű ú ű ú ú ú ű ú Á ú ű ű Ó ú ű ű ű ú Ó ú ű ú É ú ú ú ű ű ú ű ú Ú Á ú É ú Ó ú ú ú ú ű ű ű ú É Á É É ű ű Í ú ú Ó Í ű Í ű ű ú ű ű ű É ű ú Á ű ű ú Í ű Á ű ú ú É

Részletesebben

ö ö ö ö ö ö ö ű ű ö ö ö ö ö Ő ö Ó Ú ö Ö ö ö ö ö Ö Ő ö ö Í Ó Ó Ő ö ö ö ö ö Ő Ő Ó Ő É ö Ú ö ö Ő ö ö ö ö ö ö ö Ő ö Ő É ö Ő ö ö Ő ö ö ö Ó ű ö ö ö Ő ö ö ö Í Ő Ó Í ö ö ö ö Ő Ő Ő Ő Í Ó Ő Ő Í Ő ö ö ö ö ö Ő Ő ö

Részletesebben

Ú ű ü ü Ü ű É É Ö Ö Á ü ü ü ű É ú Á Ö Ü ü ü ű É Á É Ű ű Ü Ü ű ü ű ü ű ü Ü ü ü Ű Á Á Á ű ú ű Á Ó Ó É Á Ó Á Ó ű ü ü ű ű ü ú ú ü ü ü ű ü ű Ü ű ü ü ú ü Ö ü ú ú ü ü ü ü ű ú ü Ó ü Ó Ó ü ü Ó ü ü Ó ű ű ú ű ű ü

Részletesebben

Bevezetés a programozásba

Bevezetés a programozásba Bevezetés a programozásba 1. Előadás Bevezetés, kifejezések http://digitus.itk.ppke.hu/~flugi/ Egyre precízebb A programozás természete Hozzál krumplit! Hozzál egy kiló krumplit! Hozzál egy kiló krumplit

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

INFORMATIKAI ALAPISMERETEK

INFORMATIKAI ALAPISMERETEK Informatikai alapismeretek emelt szint 1021 ÉRETTSÉGI VIZSGA 2011. május 13. INFORMATIKAI ALAPISMERETEK EMELT SZINTŰ ÍRÁSBELI ÉRETTSÉGI VIZSGA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ NEMZETI ERŐFORRÁS MINISZTÉRIUM

Részletesebben

Függvények. Programozás alapjai C nyelv 7. gyakorlat. LNKO függvény. Függvények(2) LNKO függvény (2) LNKO függvény (3)

Függvények. Programozás alapjai C nyelv 7. gyakorlat. LNKO függvény. Függvények(2) LNKO függvény (2) LNKO függvény (3) Programozás alapjai C nyelv 7. gyakorlat Szeberényi Imre BME IIT Függvények C program egymás mellé rendelt függvényekből áll. A függvény (alprogram) jó absztrakciós eszköz a programok

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

Fejlett programozási nyelvek C++ Iterátorok

Fejlett programozási nyelvek C++ Iterátorok Fejlett programozási nyelvek C++ Iterátorok 10. előadás Antal Margit 2009 slide 1 Témakörök I. Bevezetés II. Iterátor definíció III. Iterátorok jellemzői IV. Iterátorkategóriák V. Iterátor adapterek slide

Részletesebben

Gráfalgoritmusok és hatékony adatszerkezetek szemléltetése

Gráfalgoritmusok és hatékony adatszerkezetek szemléltetése Gráfalgoritmusok és hatékony adatszerkezetek szemléltetése Készítette: Bognár Gergő Témavezető: Veszprémi Anna Eötvös Loránd Tudományegyetem Informatikai Kar Algoritmusok és Alkalmazásaik Tanszék Budapest,

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

Adatbázisok II. Jánosi-Rancz Katalin Tünde tsuto@ms.sapientia.ro 327A

Adatbázisok II. Jánosi-Rancz Katalin Tünde tsuto@ms.sapientia.ro 327A Adatbázisok II. 6 Jánosi-Rancz Katalin Tünde tsuto@ms.sapientia.ro 327A XQUERY 6 XQUERY jellemzői XML dokumentumok lekérdezésére szolgáló lekérdezőnyelv W3C szabvány 2007 óta; a böngészők és ABKR értik

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

C programozás. 6 óra Függvények, függvényszerű makrók, globális és

C programozás. 6 óra Függvények, függvényszerű makrók, globális és C programozás 6 óra Függvények, függvényszerű makrók, globális és lokális változók 1.Azonosítók A program bizonyos összetevőire névvel (azonosító) hivatkozunk Első karakter: _ vagy betű (csak ez lehet,

Részletesebben

Programozás I. - 11. gyakorlat

Programozás I. - 11. gyakorlat Programozás I. - 11. gyakorlat Struktúrák, gyakorlás Tar Péter 1 Pannon Egyetem M szaki Informatikai Kar Rendszer- és Számítástudományi Tanszék Utolsó frissítés: November 16, 2009 1 tar@dcs.vein.hu Tar

Részletesebben

Objektumorientált paradigma és a programfejlesztés

Objektumorientált paradigma és a programfejlesztés Objektumorientált paradigma és a programfejlesztés Vámossy Zoltán vamossy.zoltan@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar Ficsor Lajos (Miskolci Egyetem) prezentációja alapján Objektumorientált

Részletesebben

Az arrow struktúra. Patai Gergely április 1.

Az arrow struktúra. Patai Gergely április 1. Az arrow struktúra Patai Gergely 2008. április 1. 1. Kiinduló motiváció A funkcionális nyelvek alapvető építőeleme a függvény. Egyszerű függvényekből különböző kombinátorok segítségével bonyolultabb függvények

Részletesebben

Programozás II gyakorlat. 6. Polimorfizmus

Programozás II gyakorlat. 6. Polimorfizmus Programozás II gyakorlat 6. Polimorfizmus Típuskonverziók C-ben: void * ptr; int * ptr_i = (int*)ptr; Ez működik C++-ban is. Használjuk inkább ezt: int * ptr_i = static_cast(ptr); Csak egymással

Részletesebben

Az MTA Cloud a tudományos alkalmazások támogatására. Kacsuk Péter MTA SZTAKI

Az MTA Cloud a tudományos alkalmazások támogatására. Kacsuk Péter MTA SZTAKI Az MTA Cloud a tudományos alkalmazások támogatására Kacsuk Péter MTA SZTAKI Kacsuk.Peter@sztaki.mta.hu Tudományos alkalmazások és skálázhatóság Kétféle skálázhatóság: o Vertikális: dinamikusan változik

Részletesebben

Á Í Á Ó É ö á í á ő á á Á ő ő á ő á í á ő á á á á í ő ö í á á í á á ö ő á í ő áí á á ő á í í á ú ü ö á ú ö á í á á á ö á á ő á á á ő á ő á ú ü á ő á í ő ő ő áí á á ö ő á ő á á ő ő á í á ő á ő á á á ü ő

Részletesebben

Programozási technikák Pál László. Sapientia EMTE, Csíkszereda, 2009/2010

Programozási technikák Pál László. Sapientia EMTE, Csíkszereda, 2009/2010 Programozási technikák Pál László Sapientia EMTE, Csíkszereda, 2009/2010 Előadás tematika 1. Pascal ismétlés, kiegészítések 2. Objektum orientált programozás (OOP) 3. Delphi környezet 4. Komponensek bemutatása

Részletesebben

Java VIII. Az interfacei. és az instanceof operátor. Az interfészről általában. Interfészek JAVA-ban. Krizsán Zoltán

Java VIII. Az interfacei. és az instanceof operátor. Az interfészről általában. Interfészek JAVA-ban. Krizsán Zoltán Java VIII. Az interfacei és az instanceof operátor Krizsán Zoltán Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2005. 10. 24. Java VIII.: Interface JAVA8 / 1 Az interfészről általában

Részletesebben

Bevezetés a programozásba I.

Bevezetés a programozásba I. Bevezetés a programozásba I. 8. gyakorlat Fájlkezelés Surányi Márton PPKE-ITK 2010.11.02. Fájlkezelés C++-ban C++-ban van lehet ségünk fájlok kezelésére. Itt már tényleges fájlokkal dolgozunk, nem pedig

Részletesebben

Tartalom Keresés és rendezés. Vektoralgoritmusok. 1. fejezet. Keresés adatvektorban. A programozás alapjai I.

Tartalom Keresés és rendezés. Vektoralgoritmusok. 1. fejezet. Keresés adatvektorban. A programozás alapjai I. Keresés Rendezés Feladat Keresés Rendezés Feladat Tartalom Keresés és rendezés A programozás alapjai I. Hálózati Rendszerek és Szolgáltatások Tanszék Farkas Balázs, Fiala Péter, Vitéz András, Zsóka Zoltán

Részletesebben

Objektumorientált programozás C# nyelven

Objektumorientált programozás C# nyelven Objektumorientált programozás C# nyelven 3. rész Tulajdonságok Indexelők Kivételkezelés 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

Részletesebben

ő ü ő ő ő í ő ü í ü Á ő ő ő ű ő ő ő ő ő ő Ó Ó Ö ő ü ő ű ú ü ő ú ü ő ű ű ú ű ő í ő ű ő í ü Ő ő Ö Ö í ő ü ő ő ű ú ú í ú Ö ő Ö ő ü ő Ö í ú ő ú ü ő ű ű ú ő ú ő í ű ő í ü ő ő Ö Ö ő ő Ö Ö ő ű ú ú í ú Ö ő Ö ő

Részletesebben

Programozás II. ATM példa Dr. Iványi Péter

Programozás II. ATM példa Dr. Iványi Péter Programozás II. ATM példa Dr. Iványi Péter 1 ATM gép ATM=Automated Teller Machine Pénzkiadó automata Kezelő szoftvert szeretnénk írni Objektum-orientált módon 2 Követelmények Egyszerre csak egy embert

Részletesebben

Absztrakció. Objektum orientált programozás Bevezetés. Általános Informatikai Tanszék Utolsó módosítás:

Absztrakció. Objektum orientált programozás Bevezetés. Általános Informatikai Tanszék Utolsó módosítás: Objektum orientált programozás Bevezetés Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2008. 03. 04. OOPALAP / 1 A program készítés Absztrakciós folyamat, amelyben a valós világban

Részletesebben

Szelekció. Döntéshozatal

Szelekció. Döntéshozatal Szelekció Döntéshozatal Elágazásos algoritmus-szerkezet Eddig az ún. szekvenciális (lineáris) algoritmust alkalmaztunk a parancsok egyenként egymás után hajtüdnak végre. Bizonyos esetekben egy adott feltételtől

Részletesebben

Gépi tanulás a Rapidminer programmal. Stubendek Attila

Gépi tanulás a Rapidminer programmal. Stubendek Attila Gépi tanulás a Rapidminer programmal Stubendek Attila Rapidminer letöltése Google: download rapidminer Rendszer kiválasztása (iskolai gépeken Other Systems java) Kicsomagolás lib/rapidminer.jar elindítása

Részletesebben

Keresés és rendezés. A programozás alapjai I. Hálózati Rendszerek és Szolgáltatások Tanszék Farkas Balázs, Fiala Péter, Vitéz András, Zsóka Zoltán

Keresés és rendezés. A programozás alapjai I. Hálózati Rendszerek és Szolgáltatások Tanszék Farkas Balázs, Fiala Péter, Vitéz András, Zsóka Zoltán Keresés Rendezés Feladat Keresés és rendezés A programozás alapjai I. Hálózati Rendszerek és Szolgáltatások Tanszék Farkas Balázs, Fiala Péter, Vitéz András, Zsóka Zoltán 2016. november 7. Farkas B., Fiala

Részletesebben

Alkalmazott modul: Programozás 2. előadás. Procedurális programozás: adatfolyamok, adatsorok kezelése

Alkalmazott modul: Programozás 2. előadás. Procedurális programozás: adatfolyamok, adatsorok kezelése Eötvös Loránd Tudományegyetem Informatikai Kar Alkalmazott modul: Programozás 2. előadás Procedurális programozás: adatfolyamok, adatsorok kezelése 2015 Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto

Részletesebben

Algoritmusok Tervezése. 4. Előadás Visual Basic 1. Dr. Bécsi Tamás

Algoritmusok Tervezése. 4. Előadás Visual Basic 1. Dr. Bécsi Tamás Algoritmusok Tervezése 4. Előadás Visual Basic 1. Dr. Bécsi Tamás Bevezetés A BASIC (Beginner s All-purpose Symbolic Instruction Code) programnyelvet oktatási célokra hozták létre 1964-ben. Az általános

Részletesebben

Programozás C nyelven (9. ELŐADÁS) Sapientia EMTE

Programozás C nyelven (9. ELŐADÁS) Sapientia EMTE Programozás C nyelven (9. ELŐADÁS) Sapientia EMTE 2015-16 1 POINTEREK ismétlés double x = 3.14, *px = &x; unsigned char *p, *p1, *p2; p1 = (unsigned char*)px; p2 = p1 + sizeof(double); for ( p = p2-1 ;

Részletesebben

Egy Erlang refaktor lépés: Függvényparaméterek összevonása tuple-ba

Egy Erlang refaktor lépés: Függvényparaméterek összevonása tuple-ba Egy Erlang refaktor lépés: Függvényparaméterek összevonása tuple-ba Témavezető: Horváth Zoltán és Simon Thompson OTDK 2007, Miskolc Egy Erlang refaktor lépés: Függvényparaméterek összevonása tuple-ba OTDK

Részletesebben

Bevezetés a programozásba I.

Bevezetés a programozásba I. Bevezetés a programozásba I. 6. gyakorlat C++ alapok, szövegkezelés Surányi Márton PPKE-ITK 2010.10.12. Forrásfájlok: *.cpp fájlok Fordítás: a folyamat, amikor a forrásfájlból futtatható állományt állítunk

Részletesebben

A C# PROGRAMOZÁSI NYELV

A C# PROGRAMOZÁSI NYELV A C# PROGRAMOZÁSI NYELV 2010.02.23. Bevezetés C# nyelv jellemzői 2 Kis és NAGY betű érzékeny Minden utasítást pontos vessző zár. Utasítás zárójel a:,. .NET Framework keretrendszerek 3 Microsoft.NET Framework

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

Kétszemélyes játékok

Kétszemélyes játékok Mesterséges Intelligencia alapjai, gyakorlat Eötvös Loránd Tudományegyetem Informatikai Kar Programozáselmélet és Szoftvertechnológiai Tanszék 2010 / udapest Kétszemélyes teljes információjú játékok két

Részletesebben