Paradygmaty programowania
|
|
- Piotr Kowalewski
- 7 lat temu
- Przeglądów:
Transkrypt
1 Paradygmaty programowania Haskell Piotr Matyasik AGH-UST 2014 Piotr Matyasik (AGH-UST) Paradygmaty programowania / 47 Historia A History of Haskell: Being Lazy With Class Paul Hudak (Yale), John Hughes (Chalmers), Simon Peyton Jones (MS Research), Philip Wadler (Edinburgh) Can programming be liberated from the von Neumann style? 1978 John Backus (nagroda Turinga) J zyki funkcyjne Miranda, Lazy ML, Orwell, Al, Id (dataow), Clean, Ponder, Daisy (Lisp, ML, Scheme) Piotr Matyasik (AGH-UST) Paradygmaty programowania / 47
2 Dlaczego kolejny j zyk? W Javie mo»na napisa wszystko! bª dy wielko± kodu q s o r t 1 : : Ord a => [ a ] > [ a ] q s o r t 1 [ ] = [ ] q s o r t 1 ( p : x s ) = q s o r t 1 l e s s e r ++ [ p ] ++ q s o r t 1 g r e a t e r where l e s s e r = [ y y < xs, y < p ] g r e a t e r = [ y y < xs, y >= p ] Piotr Matyasik (AGH-UST) Paradygmaty programowania / 47 Haskell Haskell is lazy, Haskell is pure, Haskell has a (type) class. Piotr Matyasik (AGH-UST) Paradygmaty programowania / 47
3 Haskell w dziaªaniu ghci l e t a = min 5 [ ( a, b, c ) a< [ ], b < [1..100], c < [1..100], c<a+b, a a+b b == c c ] (+) 2 2 (^) 3 3 Piotr Matyasik (AGH-UST) Paradygmaty programowania / 47 Typy Bool True, False && not and, or Piotr Matyasik (AGH-UST) Paradygmaty programowania / 47
4 Typy Int Integer Float Double Char Int - ograniczony (zale»y od architektury, zwykle 32 lub 64 bity ze znakiem) Integer - nieograniczony Float - zmiennoprzecinkowy pojedynczej precyzji Double - zmiennoprzecinkowy podwójnej precyzji Char - znak ('a') Piotr Matyasik (AGH-UST) Paradygmaty programowania / 47 Typy Porz dek Ordering, typ relacji,wyliczeniowy (f. compare) LT (less than - mniejszy ni») EQ (equal - równy) GT (greater than - wi kszy ni») Operatory == /= Piotr Matyasik (AGH-UST) Paradygmaty programowania / 47
5 Typy Listy listy musz skªada si z elementów tego samego typu [] - pusta lista [el 1, el 2, el 3,...] Piotr Matyasik (AGH-UST) Paradygmaty programowania / 47 Typy Listy enumeracje [el 1..el n ] enumeracje [el 1,..] enumeracje [el 1, el 2,.., el n ] ++ ª czenie list : konstrukcja listy!! indeksowanie.. zakres [1,2,3] == (:) 1 ((:) 2 ((:) 3 [])) (:) 0 [1,2,3] [5,3..( 1)] Piotr Matyasik (AGH-UST) Paradygmaty programowania / 47
6 Typy Listy Tekst head, tail, last, init [el 1, el 2, el 3,...] l r [ ] = [ ] l r x s = l a s t x s : l r ( i n i t x s ) Piotr Matyasik (AGH-UST) Paradygmaty programowania / 47 Typy Listy x S, p(x) [x x S, px] (pochodz cy z, wzi ty z) p - stra»nik [m ++ " i " ++ k m< ["Adam", "Wacek" ], k< ["Anka", " Marta " ] ] s t r = [ s++[c ] s < "" : s t r, c < [ ' a '.. ' z ' ] ] Piotr Matyasik (AGH-UST) Paradygmaty programowania / 47
7 Typy Krotka odpowiednik struktury mo»e zawiera ró»ne typy elementów fst, snd (a trzeci?) (1,2,3) ('a ',1,[]) (([1,2,3],' a '),( sadasdad,[]),([])) Piotr Matyasik (AGH-UST) Paradygmaty programowania / 47 Przerwa Rozrywka Piotr Matyasik (AGH-UST) Paradygmaty programowania / 47
8 Typy Jeszcze raz od pocz tku! nazwy zawsze zaczynaj si du» liter WSZYSTKO ma swój typ! ( : ) : : a > [ a ] > [ a ] head : : [ a ] > a t a i l : : [ a ] > [ a ] length : : [ a ] > I n t co to jest a? Piotr Matyasik (AGH-UST) Paradygmaty programowania / 47 Typy Klasy Ord - porz dek zupeªny Show - mo»liwe do wy±wietlenia jako napis Read - mo»liwe do stworzenia z napisu Enum - enumerowalne Bounded - ograniczone Num - liczbowy Eq - porównywalne Integral - caªkowite Floating - zmiennoprzecinkowe Piotr Matyasik (AGH-UST) Paradygmaty programowania / 47
9 Currying Funkcje maj tylko jeden argument take : : I n t > [ a ] > [ a ] z i p : : [ a ] > [ b ] > [ ( a, b ) ] f o l d l : : ( a > b > a ) > a > [ b ] > a map : : ( a > b ) > [ a ] > [ b ] take : : I n t > [ a ] > [ a ] z i p : : [ a ] > [ b ] > [ ( a, b ) ] f o l d l : : ( a > b > a ) > a > ( [ b ] > a ) map : : ( a > b ) > [ a ] > [ b ] Piotr Matyasik (AGH-UST) Paradygmaty programowania / 47 Funkcje Dopasowanie wzorca wzorce s dopasowywane od pierwszego do ostatniego (góra-dóª, lewo-prawo) tylko pierwszy pasuj cy jest wykonywany wzorce musz obejmowa caª domen Piotr Matyasik (AGH-UST) Paradygmaty programowania / 47
10 Funkcje Dopasowanie wzorca f a c 0 = 1 f a c n = n f a c ( n 1) 1 mmax [ ] = e r r o r " p u s t a l i s t a " 2 mmax [ x ] = x 3 mmax ( x : x s ) 4 x > mmax x s = x 5 otherwise = mmax x s Piotr Matyasik (AGH-UST) Paradygmaty programowania / 47 Funkcje Guards! Where? sqreq a b c d e l t a > 0 = [ x1, x2 ] d e l t a == 0 = [ x1 ] otherwise = [ ] where x1 = ( b s q d e l t a ) / ( 2 a ) x2 = ( b + s q d e l t a ) / ( 2 a ) s q d e l t a = s q r t d e l t a d e l t a = b b 4 a c Piotr Matyasik (AGH-UST) Paradygmaty programowania / 47
11 Funkcje let (me) in case sqreq ' a b c = l e t d e l t a = b b 4 a c s q d e l t a = s q r t d e l t a x1 = ( b s q d e l t a ) / ( 2 a ) x2 = ( b + s q d e l t a ) / ( 2 a ) i n case compare d e l t a 0 of GT > [ x1, x2 ] EQ > [ x1 ] LT > [ ] Piotr Matyasik (AGH-UST) Paradygmaty programowania / 47 Notacja Lambda Funkcja na szybko \ x y z > \ x > (\ y > (\ z >... ) ) f x y z =... f = \ x > (\ y > (\ z >... ) ) Piotr Matyasik (AGH-UST) Paradygmaty programowania / 47
12 Pointfreee Gdzie si podziaªy nazwy parametrów!? num_of_occ e l e l i s t = length ( f i l t e r (== e l e ) l i s t ) num_of_occ = ( length. ). f i l t e r. (==) η redukcja square ' ' x = (^2) x square ' ' ' = (^2) Piotr Matyasik (AGH-UST) Paradygmaty programowania / 47 dolar i spacja f g h x (((f g)h)x) f g $ h x f g (h x) (f g)(h x) f $ g h x f(g h x) f((g h)x) f $ g $h x f(g(h x)) (f.g)x f(g x) (f.g.h)x f(g(h x)) Piotr Matyasik (AGH-UST) Paradygmaty programowania / 47
13 Typy danych Deniowanie typów wyliczeniowych data Mob = Chicken Cow Horse Pig Sheep V i l l a g e r S k e l e t o n C r e e p e r Zombie d e r i v i n g (Show, Eq) Piotr Matyasik (AGH-UST) Paradygmaty programowania / 47 Typy danych Deniowanie i s H o s t i l e : : Mob > Bool i s H o s t i l e Zombie = True i s H o s t i l e S k e l e t o n = True i s H o s t i l e C r e e p e r = True i s H o s t i l e _ = False Piotr Matyasik (AGH-UST) Paradygmaty programowania / 47
14 Typy danych Deniowanie typów z parametrami data M i n e c r a f t F i g u r e = P l a y e r String Mob String d e r i v i n g Show Piotr Matyasik (AGH-UST) Paradygmaty programowania / 47 Typy danych Deniowanie type I d = String data M i n e c r a f t F i g u r e = P l a y e r I d Mob I d d e r i v i n g Show Piotr Matyasik (AGH-UST) Paradygmaty programowania / 47
15 Typy danych Deniowanie data Person = Person String String I n t d e r i v i n g Show type A d d r e s s = String type Name = String type Age = I n t data Person = Person Name A d d r e s s Age Piotr Matyasik (AGH-UST) Paradygmaty programowania / 47 Typy danych Deniowanie data MTree a = N u l l Node a ( MTree a ) ( MTree a ) d e r i v i n g (Show, Eq, Ord) data XTree a = L e a f a Branch ( XTree a ) ( XTree a ) d e r i v i n g (Eq, Ord, Show) Piotr Matyasik (AGH-UST) Paradygmaty programowania / 47
16 Typy danych Sprytny konstruktor jak zapobiec nadawaniu bezsensownych warto±ci? data B a t e r i a p = B a t e r i a p d e r i v i n g (Show, Eq, Ord) type Poj = I n t data B a t e r i a p = B a t e r i a Poj d e r i v i n g (Show, Eq, Ord) B a t e r i a ( 10)????? Funkcja konstruuj ca makebatt p p>= 0 && p< = B a t e r i a p o t h e r w i s e = e r r o r " N i e w l a s c i w a pojemnosc " Piotr Matyasik (AGH-UST) Paradygmaty programowania / 47 Typy danych instancja Show i n s t a n c e Show ( B a t e r i a a ) where show ( B a t e r i a p ) p>1000 = " B a t e r i a o p o j e m n o s c i " ++ ( show $ ( f r o m I n t e g r a l p ) / ) ++ "Ah" o t h e r w i s e = " B a t e r i a o p o j e m n o s c i " ++ ( show p ) ++ "mah" Piotr Matyasik (AGH-UST) Paradygmaty programowania / 47
17 Typy danych Notacja rekordowa data Punkt p = Punkt { x : : p, y : : p} d e r i v i n g (Show, Eq, Ord) x : : Punkt p > p y : : Punkt p > p Piotr Matyasik (AGH-UST) Paradygmaty programowania / 47 Kompozycja f :: a b f :: a (String, b) Jak poª czy funkcje typu f'? Piotr Matyasik (AGH-UST) Paradygmaty programowania / 47
18 Rozwi zanie s k l e j ( s, a ) f = ( s++w, q ) where (w, q ) = f a s k l e j ' ( s, a ) f = ( s ++ f s t ( f a ), snd ( f a ) ) n i c f = ( "", f ) l i f t f = n i c. f f x = 2 x f ' x = ( "mnoze " ++ ( show x ) ++ " p r z e z dwa", f x ) Piotr Matyasik (AGH-UST) Paradygmaty programowania / 47 Monada Denicja -koniec z udawaniem,»e nikt nie rozumie monad data Deb a = Deb String a d e r i v i n g (Show, Eq, Ord) instance Monad Deb where return f = Deb "" f (>>=) ( Deb s v ) f = Deb ( s++w) a where ( Deb w a ) = f v f x = Deb "Odpalam f " (2 x ) g x = Deb "Odpalam g" (2+x ) Piotr Matyasik (AGH-UST) Paradygmaty programowania / 47
19 Monada Ale to w sumie takie niepraktyczne, jak to rozró»ni? data Deb a = Deb [ String ] a d e r i v i n g (Show, Eq,Ord) instance Monad Deb where return f = Deb [ "" ] f (>>=) ( Deb s v ) f = Deb ( s++w) a where ( Deb w a ) = f v f x = Deb [ "Odpalam f na " ++ show x ] (2 x ) g x = Deb [ " Odpalam g na " ++ show x ] (2+ x ) Piotr Matyasik (AGH-UST) Paradygmaty programowania / 47 Monada GENIALNE!! - dziwne,»e nikt na to nie wpadª wcze±niej import Control.Monad.Writer Piotr Matyasik (AGH-UST) Paradygmaty programowania / 47
20 Monada jako pojemnik return :: (Monad m) a m a - zapakuj zwykªy element fmap :: (F unctor f) (a b) f a f b - zmie«pudeªko a na pudeªko b join :: (Monad m) m (m a) m a - przepakuj w jedno pudeªko (>>=) :: (Monad m) m a (a m b) m b - bind (posuwaj) xs >>= f = join (fmap f xs) i n s t a n c e Monad [ ] where r e t u r n x = [ x ] x s >>= f = c o n c a t (map f x s ) Piotr Matyasik (AGH-UST) Paradygmaty programowania / 47 Monada jako proces obliczeniowy M a - proces obliczeniowy daj cy w wyniku a return :: (Monad m) a m a - proces obliczeniowy, który nic nie robi (>>) :: (Monad m) m a m b m b - dwa procesy obliczeniowe a i b, uruchamiany jest proces a, pomija si jego wynik, a nast pnie uruchamiany jest proces b, który zwraca wynik (>>=) :: (Monad m) m a (a m b) m b - proces obliczeniowy a i funkcja, która na podstawie wyników pierwszego procesu obliczeniowego okre±la kolejny proces obliczeniowy Piotr Matyasik (AGH-UST) Paradygmaty programowania / 47
21 do notacja do do { x } = x do { x ; <stms> } = x >> do { <stms> } do { v < x ; <stms> } = x >>= \ v > do { <stms> } do { l e t <decs> ; <stms> } = l e t <decs> i n do { <stms> } Piotr Matyasik (AGH-UST) Paradygmaty programowania / 47 Monada Prawa - nr 1 return v >>= f == f v do w < return v f w = do f v Piotr Matyasik (AGH-UST) Paradygmaty programowania / 47
22 Monada Prawa - nr 2 x >>= return == x do = do v < x return x v Piotr Matyasik (AGH-UST) Paradygmaty programowania / 47 Monada Prawa - nr 3 ( x >>= f ) >>= g == x >>= (\ v > f v >>= g ) do w < do g w = do v < x w < f g w v v < x f v Piotr Matyasik (AGH-UST) Paradygmaty programowania / 47
23 Monada Prawa s k l e j ' ( s, a ) f = ( s ++ f s t ( f a ), snd ( f a ) ) s k l e j ' x f = ( f s t x ++ f s t ( f ( snd x ) ), snd ( f ( snd x ) ) ) n i c f = ( " p a k u j e f ", f ) return v >>= f == f v x >>= return == x ( x >>= f ) >>= g == x >>= (\ v > f v >>= g ) Piotr Matyasik (AGH-UST) Paradygmaty programowania / 47 Funktor Funktor Funktor to odwzorowanie jednej kategorii w drug zachowuj ce zªo»enia i morzmy to»samo±ciowe. c l a s s Functor f where fmap : : ( a > b ) > f a > f b Piotr Matyasik (AGH-UST) Paradygmaty programowania / 47
24 Control.Monad Po co to wzystko - odpowied¹? mapm :: Monad m (a m b) [a] m [b] sequence :: Monad m [m a] m [a] (=<<) :: Monad m (a m b) m a m b (>=>) :: Monad m (a m b) (b m c) a m c (<=<) :: Monad m (b m c) (a m b) a m c Piotr Matyasik (AGH-UST) Paradygmaty programowania / 47
Elementy języka Haskell
Elementy języka Haskell Cechy języka Historia języka Proste przykłady Środowisko interakcyjne Typy i klasy Definiowanie funkcji Wyrażenia listowe Deklarowanie typów, danych i klas Monady Cechy języka zwięzłe
Bardziej szczegółowo- nawiasy kwadratowe oznaczają, że to lista
Haskell jest statycznym typem języka: - wszystkie typy i wyrażenia są znane w czasie kompilacji ( zwiększa to bezpieczeństwo kodu). Podawanie typów zmiennych i argumentów funkcji jest zbędne, gdyż Haskel
Bardziej szczegółowoPARADYGMATY I JĘZYKI PROGRAMOWANIA. Haskell. (w11)
PARADYGMATY I JĘZYKI PROGRAMOWANIA Haskell. (w11) !!! 2 Brian Beckman o Monadach 3 Brian Beckman: Don't fear the Monad - YouTube Plan wykładu 4 Typy Funkcje Preludium take, cycle zip, unzip, zipwith filter,
Bardziej szczegółowoPrezentacja o Haskell u(rozdział 3 i 4)
9 marca 2017 Spis treści 1 2 Wprowadzenie Każda wartość jak i funkcja ma w haskellu ściśle określony typ. Jawne definiowanie typów nie jest konieczne, ponieważ Haskell sam rozpoznaje typ wartości. Warto
Bardziej szczegółowoJęzyki i Paradygmaty Programowania
Języki i Paradygmaty Programowania Odkrywamy Haskell Marcin Benke 24 lutego 2014 Odkrywamy Haskell Haskell zasadniczo kompilowany, ale też interpreter: ghci $ ghci GHCi, version 7.6.2: http://www.haskell.org/ghc/
Bardziej szczegółowoProgramowanie funkcyjne (Haskell Wprowadzenie) Kowalik Adrian
Programowanie funkcyjne (Haskell Wprowadzenie) Kowalik Adrian Programowanie funkcyjne Krótka geneza języka Haskell Polecenia i składnia języka Funkcje i wyrażenia Typy i typy klasowe Listy i krotki Programowanie
Bardziej szczegółowoJęzyki programowania Haskell
Języki programowania Haskell zadanie projektowe nr. 4 2014/15 K. Turowski, T. Goluch 1. Kompilacja, uruchamianie i Hello world Kompilacja i uruchamianie: ghc --make hello.hs./hello Interaktywny interpreter:
Bardziej szczegółowo1. Wprowadzenie do C/C++
Podstawy Programowania - Roman Grundkiewicz - 013Z Zaj cia 1 1 rodowisko Dev-C++ 1. Wprowadzenie do C/C++ Uruchomienie ±rodowiska: Start Programs Developments Dev-C++. Nowy projekt: File New Project lub
Bardziej szczegółowoTypy, klasy typów, składnie w funkcji
Typy, klasy typów, składnie w funkcji Typy w Haskell Każde wyrażenie w Haskell posiada zdefiniowany typ. Dzięki temu już na etapie kompilacji kodu następuje sprawdzenie poprawności kodu i zabezpiecza nas
Bardziej szczegółowo1. Wprowadzenie do C/C++
Podstawy Programowania :: Roman Grundkiewicz :: 014 Zaj cia 1 1 rodowisko Dev-C++ 1. Wprowadzenie do C/C++ Uruchomienie ±rodowiska: Start Programs Developments Dev-C++. Nowy projekt: File New Project lub
Bardziej szczegółowoTWORZENIE SWOICH TYPÓW I TYPÓW KLAS HASKELL (RODZIAŁ 8) ZAJĘCIA 4
TWORZENIE SWOICH TYPÓW I TYPÓW KLAS HASKELL (RODZIAŁ 8) ZAJĘCIA 4 Wprowadzenie do typów algebraicznych WPROWADZENIE DO TYPÓW ALGEBRAICZNYCH Słowo data oznacza zdefiniowanie nowego typu danych Typ Bool
Bardziej szczegółowoProgramowanie i struktury danych 1 / 44
Programowanie i struktury danych 1 / 44 Lista dwukierunkowa Lista dwukierunkowa to liniowa struktura danych skªadaj ca si z ci gu elementów, z których ka»dy pami ta swojego nast pnika i poprzednika. Operacje
Bardziej szczegółowoWprowadzenie do szablonów klas
Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2008-2010 Bogdan Kreczmer Niniejszy
Bardziej szczegółowoPodstawy Programowania ELEMENTY PROGRAMU i TYPY DANYCH
Podstawy Programowania ELEMENTY PROGRAMU i TYPY DANYCH Michał Bujacz bujaczm@p.lodz.pl B9 Lodex 207 godziny przyjęć: środy i czwartki 10:00-11:00 http://www.eletel.p.lodz.pl/bujacz/ 1 Pytania weryfikacyjne:
Bardziej szczegółowoProgramowanie funkcyjne wprowadzenie Specyfikacje formalne i programy funkcyjne
Programowanie funkcyjne wprowadzenie Specyfikacje formalne i programy funkcyjne dr inż. Marcin Szlenk Politechnika Warszawska Wydział Elektroniki i Technik Informacyjnych m.szlenk@elka.pw.edu.pl Paradygmaty
Bardziej szczegółowoSwift (pol. jerzyk) nowy język programowania zaprezentowany latem 2014 r. (prace od 2010 r.)
Swift (pol. jerzyk) nowy język programowania zaprezentowany latem 2014 r. (prace od 2010 r.) przeznaczony do programowania zarówno pod ios jak i Mac OS X bazuje na logice Objective-C bez kompatybilności
Bardziej szczegółowoFP vs OOP? Mikołaj Fejzer
FP vs OOP? Mikołaj Fejzer Versus? http://roflcopter.pl/4591 Versus OOP Kapsułkowanie Hierarhia klas, dziedziczenie Zmiana stanu w czasie Polimorfizm podtypu FP Funkcje jako typy pierwszego rzędu Algebraiczne
Bardziej szczegółowoSwift (pol. jerzyk) nowy język programowania zaprezentowany latem 2014 r. (prace od 2010 r.)
Swift (pol. jerzyk) nowy język programowania zaprezentowany latem 2014 r. (prace od 2010 r.) przeznaczony do programowania zarówno pod ios jak i Mac OS X bazuje na logice Objective-C bez kompatybilności
Bardziej szczegółowoHaskell Moduły Ładowanie
Haskell Moduły Moduł zestaw powiązanych funkcji, typów, typeclass. Program w Haskellu często jest modułem, który ładuje inne moduły a następnie wykorzystuje zdefiniowane w nich funkcje w celu realizacji
Bardziej szczegółowoAlgorytmy i struktury danych. wykład 1
Plan całego wykładu:. Pojęcie algorytmu, projektowanie wstępujące i zstępujące, rekurencja. Klasy algorytmów. Poprawność algorytmu, złożoność obliczeniowa. Wskaźniki, dynamiczne struktury danych: listy,
Bardziej szczegółowoROZDZIAŁ 8: KLASY TYPÓW
ROZDZIAŁ 8: KLASY TYPÓW Definicja typu Bool: data Bool = False True Słowo kluczowe data oznacza, że definiujemy nowy typ danych. Część przed = określa typ jakim jest bool. Cześć po.. = są to konstruktory
Bardziej szczegółowoPrzetwarzanie sygnaªów
Przetwarzanie sygnaªów Laboratorium 1 - wst p do C# Dawid Poªap Przetwarzanie sygnaªów Pa¹dziernik, 2018 1 / 17 Czego mo»na oczekiwa wzgl dem programowania w C# na tych laboratoriach? Dawid Poªap Przetwarzanie
Bardziej szczegółowoWzorce projektowe strukturalne cz. 1
Wzorce projektowe strukturalne cz. 1 Krzysztof Ciebiera 19 pa¹dziernika 2005 1 1 Wst p 1.1 Podstawowe wzorce Podstawowe wzorce Podstawowe informacje Singleton gwarantuje,»e klasa ma jeden egzemplarz. Adapter
Bardziej szczegółowoWykład 2 Wybrane konstrukcje obiektowych języków programowania (1)
MAS dr. Inż. Mariusz Trzaska Wykład 2 Wybrane konstrukcje obiektowych języków programowania (1) Zagadnienia o Podstawy o Kontrolowanie sterowania o Klasy o Interfejsy o Obsługa błędów o Pojemniki o System
Bardziej szczegółowoi, lub, nie Cegieªki buduj ce wspóªczesne procesory. Piotr Fulma«ski 5 kwietnia 2017
i, lub, nie Cegieªki buduj ce wspóªczesne procesory. Piotr Fulma«ski Uniwersytet Šódzki, Wydziaª Matematyki i Informatyki UŠ piotr@fulmanski.pl http://fulmanski.pl/zajecia/prezentacje/festiwalnauki2017/festiwal_wmii_2017_
Bardziej szczegółowoProgramowanie funkcyjne. Wykªad 13
Programowanie funkcyjne. Wykªad 13 Siªa wyrazu rachunku lambda Zdzisªaw Spªawski Zdzisªaw Spªawski: Programowanie funkcyjne. Wykªad 13, Siªa wyrazu rachunku lambda 1 Wst p Warto±ci logiczne Liczby naturalne
Bardziej szczegółowoInformatyka 1. Przetwarzanie tekstów
Informatyka 1 Wykład IX Przetwarzanie tekstów Robert Muszyński ZPCiR ICT PWr Zagadnienia: reprezentacja napisów znakowych, zmienne napisowe w Sun Pascalu, zgodność typów, operowanie na napisach: testowanie
Bardziej szczegółowoDr Michał Tanaś(http://www.amu.edu.pl/~mtanas)
Dr Michał Tanaś(http://www.amu.edu.pl/~mtanas) Bazy danych podstawowe pojęcia Baza danych jest to zbiór danych zorganizowany zgodnie ze ściśle określonym modelem danych. Model danych to zbiór ścisłych
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Wykład 2: Wstęp do języka Java 3/4/2013 S.Deniziak: Programowanie obiektowe - Java 1 Cechy języka Java Wszystko jest obiektem Nie ma zmiennych globalnych Nie ma funkcji globalnych
Bardziej szczegółowoMATERIAŁY DO ZAJĘĆ II
MATERIAŁY DO ZAJĘĆ II Zmienne w C# Spis treści I. Definicja zmiennej II. Hierarchia typów (CTS) III. Typy wbudowane IV. Deklaracja zmiennych V. Literały VI. Pobieranie i wypisywanie wartości zmiennych
Bardziej szczegółowoTworzenie własnych typów. danych oraz klas typów
Justyna Łowicka Tworzenie własnych typów danych oraz klas typów Algebraiczne typy danych konstruktorów umieszczonych w deklaracji data. Zobaczmy, jak typ Bool jest zdefiniowany w bibliotece standardowej.
Bardziej szczegółowoPodstawy programowania w Pythonie
Podstawy programowania w Pythonie Wykład 5 dr Andrzej Zbrzezny Instytut Matematyki i Informatyki Akademia Jana Długosza w Częstochowie 7 listopada 2012 dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania
Bardziej szczegółowoJAVA W SUPER EXPRESOWEJ PIGUŁCE
JAVA W SUPER EXPRESOWEJ PIGUŁCE Obiekt Obiekty programowe to zbiór własności i zachowań (zmiennych i metod). Podobnie jak w świecie rzeczywistym obiekty posiadają swój stan i zachowanie. Komunikat Wszystkie
Bardziej szczegółowoProgramowanie Komputerów
Programowanie Komputerów Łukasz Kuszner pokój 209, WETI http://www.kaims.pl/ kuszner/ kuszner@eti.pg.gda.pl Wykład 30 godzin, Laboratoria 30 godzin 2012/ Strona 1 z 17 1. Typy i zmienne Jak wiemy, komputer
Bardziej szczegółowoWEJŚCIE/WYJŚCIE HASKELL ŁUKASZ PAWLAK DARIUSZ KRYSIAK
WEJŚCIE/WYJŚCIE HASKELL ŁUKASZ PAWLAK DARIUSZ KRYSIAK W Haskellu funkcje nie mogą zmieniać stanów (w tym np. zmieniać wartości zmiennej). Funkcja wywołana z pewnymi ustalonymi argumentami musi zwracać
Bardziej szczegółowoWstęp do Programowania potok funkcyjny
Wstęp do Programowania potok funkcyjny Marcin Kubica 2010/2011 Outline 1 Pojęcie typu Definition (Typ danych) Typ danych to zbiór wartości wraz z zestawem podstawowych operacji na tych wartościach. Typy
Bardziej szczegółowoZatem w jaki sposób nasze programy mają komunikować się ze światem zewnętrznym?
Wprowadzenie Haskell jest językiem czysto funkcyjnym. W uproszczeniu oznacza to, że w przeciwieństwie do języków imperatywnych (w których podajemy komputerowi ciąg kroków do wykonania) definiujemy co,
Bardziej szczegółowoSWIFT. Zaawansowane Programowanie Obiektowe
SWIFT Zaawansowane Programowanie Obiektowe Swift (pol. jerzyk) nowy język programowania zaprezentowany latem 2014 r. (prace od 2010 r.) przeznaczony do programowania zarówno pod ios jak i Mac OS X bazuje
Bardziej szczegółowo0.1 Hierarchia klas. 0.1.1 Diagram. 0.1.2 Krótkie wyjaśnienie
0.1 Hierarchia klas 0.1.1 Diagram 0.1.2 Krótkie wyjaśnienie Po pierwsze to jest tylko przykładowe rozwiązanie. Zarówno na wtorkowych i czwartkowych ćwiczeniach odbiegaliśmy od niego, ale nie wiele. Na
Bardziej szczegółowoProgramowanie i projektowanie obiektowe
Programowanie i projektowanie obiektowe Klasy i obiekty Paweł Daniluk Wydział Fizyki Jesień 2011 P. Daniluk (Wydział Fizyki) PO w. V Jesień 2011 1 / 13 Typy danych (w Javie) Typy pierwotne typ wartości
Bardziej szczegółowoHaskell. Rozdział Ogólne informacje o języku
Rozdział 1 Haskell 1.1. Ogólne informacje o języku Haskell 1 jest językiem funkcyjnym, charakteryzującym się silnym typowaniem, leniwym wartościowaniem oraz możliwością stosowania paradygmatu programowania
Bardziej szczegółowoKOTLIN. Język programowania dla Androida
KOTLIN Język programowania dla Androida Historia Kotlin został opracowany przez firmę JetBrains Prace rozpoczęto w 2011 r., od 2012 r. dostępny na licencji Apache 2. Nazwa pochodzi od wyspy koło Petersburga
Bardziej szczegółowoAda 95 #1/5 - typy. Typy skalarne. Hierarchia typów w Adzie. Typ znakowy. Typy dyskretne. Plan wykładu
Plan wykładu Ada 95 #1/5 - typy Wojciech Complak, Instytut Informatyki, Politechnika Poznańska e-mail : Wojciech.Complak@cs.put.poznan.pl www : http://www.cs.put.poznan.pl/wcomplak Hierarchia typów w Adzie
Bardziej szczegółowoJęzyki i metodyka programowania. Typy, operatory, wyrażenia. Wejście i wyjście.
Typy, operatory, wyrażenia. Wejście i wyjście. Typy, operatory, wyrażenia Zmienna: [] [ '[' ']' ] ['=' ]; Zmienna to fragment pamięci o określonym
Bardziej szczegółowoProgramowanie i struktury danych
Programowanie i struktury danych Wykªad 3 1 / 37 tekstowe binarne Wyró»niamy dwa rodzaje plików: pliki binarne pliki tekstowe 2 / 37 binarne tekstowe binarne Plik binarny to ci g bajtów zapami tanych w
Bardziej szczegółowoPodziaª pracy. Cz ± II. 1 Tablica sortuj ca. Rozwi zanie
Cz ± II Podziaª pracy 1 Tablica sortuj ca Kolejka priorytetowa to struktura danych udost pniaj ca operacje wstawienia warto±ci i pobrania warto±ci minimalnej. Z kolejki liczb caªkowitych, za po±rednictwem
Bardziej szczegółowoTypy złożone. Struktury, pola bitowe i unie. Programowanie Proceduralne 1
Typy złożone Struktury, pola bitowe i unie. Programowanie Proceduralne 1 Typy podstawowe Typy całkowite: char short int long Typy zmiennopozycyjne float double Modyfikatory : unsigned, signed Typ wskaźnikowy
Bardziej szczegółowoZMIENNE. Podstawy PHP
ZMIENNE Podstawy PHP zmienna - to obiekt w programowaniu, który przechowuje różnego rodzaju dane niezbędne do działania programu. Zmienna podczas działania programu może zmieniad swoje wartości (jak wskazuje
Bardziej szczegółowoMicrosoft IT Academy kurs programowania
Microsoft IT Academy kurs programowania Podstawy języka C# Maciej Hawryluk Język C# Język zarządzany (managed language) Kompilacja do języka pośredniego (Intermediate Language) Kompilacja do kodu maszynowego
Bardziej szczegółowoLaboratorium 03: Podstawowe konstrukcje w języku Java [2h]
1. Typy. Java jest językiem programowania z silnym systemem kontroli typów. To oznacza, że każda zmienna, atrybut czy parametr ma zadeklarowany typ. Kompilator wylicza typy wszystkich wyrażeń w programie
Bardziej szczegółowoProgramowanie C# mgr in. Dariusz Ku. p. 119A dkus@dune.pol.lublin.pl http://antenor.pol.lublin.pl/~dkus
Programowanie C# mgr in. Dariusz Ku p. 119A dkus@dune.pol.lublin.pl http://antenor.pol.lublin.pl/~dkus Translacja kodu Kod ródłowy Java, C# Kompilator Kompilator Kod poredni Interpreter Maszyna wirtualna
Bardziej szczegółowoProgramowanie I C / C++ laboratorium 03 arytmetyka, operatory
Programowanie I C / C++ laboratorium 03 arytmetyka, operatory Jarosław Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2013-02-19 Typ znakowy Typ znakowy Typ wyliczeniowy # include
Bardziej szczegółowoλ parametry. wartość funkcji suma = λ x y. x + y kwadrat = λ x. x * x K.M. Ocetkiewicz, 2008 WETI, PG 2 K.M. Ocetkiewicz, 2008 WETI, PG 3
Organizacja przedmiotu Języki programowania (Programming language concepts) Krzysztof M. Ocetkiewicz pok. 205 email: Krzysztof.Ocetkiewicz@eti.pg.gda.pl konsultacje: czwartek 10:15-11.00, 13:15-14:00 projekt:
Bardziej szczegółowoProjektowanie bazy danych. Jarosław Kuchta Projektowanie Aplikacji Internetowych
Projektowanie bazy danych Jarosław Kuchta Projektowanie Aplikacji Internetowych Możliwości projektowe Relacyjna baza danych Obiektowa baza danych Relacyjno-obiektowa baza danych Inne rozwiązanie (np. XML)
Bardziej szczegółowoProgramowanie wspóªbie»ne
1 Zadanie 1: Bar Programowanie wspóªbie»ne wiczenia 6 monitory cz. 2 Napisz monitor Bar synchronizuj cy prac barmana obsªuguj cego klientów przy kolistym barze z N stoªkami. Ka»dy klient realizuje nast
Bardziej szczegółowoMechanizmy refleksji w Javie i C# Autor: Aleksander Nałęczyński
Mechanizmy refleksji w Javie i C# Autor: Aleksander Nałęczyński Co to jest refleksja? [1/2] Możliwość obserwowania lub manipulowania pracą programu od wewnątrz Problem Zazwyczaj niskopoziomowa struktura
Bardziej szczegółowoKurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016
Wykład 1 3 marca 2016 Słowa kluczowe języka Java abstract, break, case, catch, class, const, continue, default, do, else, enum, extends, final, finally, for, goto, if, implements, import, instanceof, interface,
Bardziej szczegółowoSkładnia funkcji i Rekurencja w języku Haskell
Składnia funkcji i w języku Haskell Tomasz Ostrowski, Adrian Niechciał, Michał Workiewicz, Marcin Wilk 26 marca 2015 Składnia funkcji i w języku Haskell Spis treści Składnia funkcji Tomasz Ostrowski Adrian
Bardziej szczegółowoOpis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek].
ABAP/4 Instrukcja IF Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek]. [ELSEIF warunek. ] [ELSE. ] ENDIF. gdzie: warunek dowolne wyrażenie logiczne o wartości
Bardziej szczegółowoPrzegląd języka Python. Łukasz Anwajler
Przegląd języka Python Łukasz Anwajler lukasz.anwajler@pjwstk.edu.pl Nie wierzcie mi na słowo Zaraz zobaczymy: czym jest Python dlaczego warto go używać jakie ma zastosowania gdzie z niego korzystają jakzacząć
Bardziej szczegółowoProgramowanie funkcyjne w Pythonie
Programowanie funkcyjne w Pythonie Koªo DSG 2013 Konrad Siek konrad.siek@cs.put.edu.pl dsg.cs.put.poznan.pl Paradygmat funkcyjny Paradygmat = sposób my±lenia o problemach Paradygmat funkcyjny Paradygmat
Bardziej szczegółowoJava Podstawy. Michał Bereta
Prezentacja współfinansowana przez Unię Europejską ze środków Europejskiego Funduszu Społecznego w ramach projektu Wzmocnienie znaczenia Politechniki Krakowskiej w kształceniu przedmiotów ścisłych i propagowaniu
Bardziej szczegółowoSzablony funkcji i szablony klas
Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2011 Bogdan Kreczmer Niniejszy dokument
Bardziej szczegółowoModelowanie numeryczne w fizyce atmosfery Ćwiczenia 3
Modelowanie numeryczne w fizyce atmosfery Sylwester Arabas (ćwiczenia do wykładu dr. hab. inż. Lecha Łobockiego) Instytut Geofizyki, Wydział Fizyki Uniwersytetu Warszawskiego 3. listopada 2011 r. Schemat
Bardziej szczegółowo1 Klasy. 1.1 Denicja klasy. 1.2 Skªadniki klasy.
1 Klasy. Klasa to inaczej mówi c typ który podobnie jak struktura skªada si z ró»nych typów danych. Tworz c klas programista tworzy nowy typ danych, który mo»e by modelem rzeczywistego obiektu. 1.1 Denicja
Bardziej szczegółowoFunkcje w PL/SQL Funkcja to nazwany blok języka PL/SQL. Jest przechowywana w bazie i musi zwracać wynik. Z reguły, funkcji utworzonych w PL/SQL-u
Funkcje w PL/SQL Funkcja to nazwany blok języka PL/SQL. Jest przechowywana w bazie i musi zwracać wynik. Z reguły, funkcji utworzonych w PL/SQL-u będziemy używać w taki sam sposób, jak wbudowanych funkcji
Bardziej szczegółowoOczywiście plik musi mieć rozszerzenie *.php
Oczywiście plik musi mieć rozszerzenie *.php Znaczniki PHP komunikują serwerowi gdzie rozpoczyna się i kończy kod PHP. Tekst między nimi jest interpretowany jako kod PHP, natomiast poza nimi jako kod HTML.
Bardziej szczegółowoModel obiektu w JavaScript
16 marca 2009 E4X Paradygmat klasowy Klasa Deniuje wszystkie wªa±ciwo±ci charakterystyczne dla wybranego zbioru obiektów. Klasa jest poj ciem abstrakcyjnym odnosz cym si do zbioru, a nie do pojedynczego
Bardziej szczegółowoPodstawowe części projektu w Javie
Podstawowe części projektu w Javie Pakiet w Javie to grupa podobnych typów klas, interfejsów i podpakietów. Pakiet w Javie może być wbudowany lub zdefiniowany przez użytkownika. Istnieje wiele wbudowanych
Bardziej szczegółowo2 Przygotował: mgr inż. Maciej Lasota
Laboratorium nr 2 1/7 Język C Instrukcja laboratoryjna Temat: Wprowadzenie do języka C 2 Przygotował: mgr inż. Maciej Lasota 1) Wprowadzenie do języka C. Język C jest językiem programowania ogólnego zastosowania
Bardziej szczegółowoPython wstęp do programowania dla użytkowników WCSS
Python wstęp do programowania dla użytkowników WCSS Dr inż. Krzysztof Berezowski Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej Wprowadzenie CHARAKTERYSTYKA JĘZYKA Filozofia języka
Bardziej szczegółowoSwift (pol. jerzyk) nowy język programowania zaprezentowany latem 2014 r. (prace od 2010 r.)
Swift (pol. jerzyk) nowy język programowania zaprezentowany latem 2014 r. (prace od 2010 r.) przeznaczony do programowania zarówno pod ios jak i Mac OS X bazuje na logice Objective-C bez kompatybilności
Bardziej szczegółowoHASKELL 2 R O Z D Z I A Ł 4 SKŁADNIA W FUNKCJACH R O Z D Z I A Ł 5 REKURENCJA. Learn You a Haskell for Great Good! Miran Lipovac
HASKELL 2 R O Z D Z I A Ł 4 SKŁADNIA W FUNKCJACH R O Z D Z I A Ł 5 REKURENCJA Learn You a Haskell for Great Good! Miran Lipovac ROZDZIAŁ 4 ODNAJDYWANIE WZORCA (P ATTERN MATCHING) CZYM JEST PATTERN MATCHING?
Bardziej szczegółowoC++ wprowadzanie zmiennych
C++ wprowadzanie zmiennych Każda zmienna musi być zadeklarowana, należy określić jej nazwę (identyfikator) oraz typ. Opis_typu lista zmiennych Dla każdej zmiennej rezerwowany jest fragment pamięci o określonym
Bardziej szczegółowo1 Podstawy c++ w pigułce.
1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,
Bardziej szczegółowowiczenie 1 Podstawy j zyka Java. Instrukcje warunkowe
wiczenie 1 Podstawy j zyka Java. Instrukcje warunkowe 1 Wprowadzenie 1.1 rodowisko programistyczne NetBeans https://netbeans.org/ 1.2 Dokumentacja j zyka Java https://docs.oracle.com/javase/8/docs/api/
Bardziej szczegółowoProgramowanie komputerowe. Zajęcia 4
Programowanie komputerowe Zajęcia 4 Typ logiczny Wartości logiczne są reprezentowane przez typ bool. Typ bool posiada tylko dwie wartości: true i false. Zamiast wartości logicznych można używać wartości
Bardziej szczegółowoWstęp do Programowania potok funkcyjny
Wstęp do Programowania potok funkcyjny Marcin Kubica 2016/2017 Outline 1 Pojęcie typu Definition (Typ danych) Typ danych to zbiór wartości wraz z zestawem podstawowych operacji na tych wartościach. Typy
Bardziej szczegółowoZofia Kruczkiewicz, Programowanie obiektowe - java, wykład 2 1
PODSTAWOWE ELEMENTY JĘZYKA JAVA WYRAŻENIA, OPERATORY, INSTRUKCJE 1. Operatory arytmetyczne +, -, /,*, % Przykład 1 programu z interfejsem konsolowym public class Lab2_1 // Tworzy generator liczb losowych,
Bardziej szczegółowoProgramowanie. Lista zadań nr 15. Na ćwiczenia 11, 19 i 23 czerwca 2008
Programowanie Lista zadań nr 15 Na ćwiczenia 11, 19 i 23 czerwca 2008 Zadanie 1. Pokaż, że w systemie z polimorfizmem parametrycznym można napisać program P n rozmiaru O(n), którego typ ma rozmiar 2 2Ω(n).
Bardziej szczegółowoPARADYGMATY I JĘZYKI PROGRAMOWANIA
1 PARADYGMATY I JĘZYKI PROGRAMOWANIA Zmienne. Typy danych. cd. Treść 2 Zmienne nazwa, zakresy,... Typy danych wstęp n definicje n klasyfikacja Sprawdzanie typów n równoważność n wnioskowanie typów Tablice
Bardziej szczegółowoTechnologie cyfrowe semestr letni 2018/2019
Technologie cyfrowe semestr letni 2018/2019 Tomasz Kazimierczuk Wykład 8 (15.04.2019) Kompilacja Kompilacja programu (kodu): proces tłumaczenia kodu napisanego w wybranym języku na kod maszynowy, zrozumiały
Bardziej szczegółowoImi i nazwisko... Egzamin - Programowanie Obiektowe II rok informatyki, studia pierwszego stopnia, niestacjonarne Termin zerowy
Imi i nazwisko....................................................... Egzamin - Programowanie Obiektowe II rok informatyki, studia pierwszego stopnia, niestacjonarne Termin zerowy 21.01.2017 Instrukcja:
Bardziej szczegółowoObiektowy Caml. Paweł Boguszewski
Obiektowy Caml Paweł Boguszewski Plan prezentacji Charakterystyka języka Składnia Obiektowość w OCamlu Wyjątki Standardowe Moduły Narzędzia wspomagające Bibliografia OCaml OCaml jest obiektowym, funkcyjnym
Bardziej szczegółowoDokªadna arytmetyka liczb rzeczywistych w j zyku Python
Dokªadna arytmetyka liczb rzeczywistych w j zyku Python Marcin Ciura Zakªad Oprogramowania 28 marca 2007 Marcin Ciura (Zakªad Oprogramowania) Dokªadna arytmetyka liczb rzeczywistych 28 marca 2007 1 / 24
Bardziej szczegółowoWartości domyślne, szablony funkcji i klas
Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2012 Bogdan Kreczmer Niniejszy dokument
Bardziej szczegółowoSQL, LIKE, IN, CASE, EXISTS. Marcin Orchel
SQL, LIKE, IN, CASE, EXISTS Marcin Orchel Spis treści 1 LIKE 2 2 BETWEEN 4 3 IN 5 4 EXISTS 6 5 WYRAŻENIA CASE 7 6 Zadania 9 1 Rozdział 1 LIKE Predykat LIKE jest testem dopasowującym wzorzec łańcucha. Składnia
Bardziej szczegółowoJęzyk skryptowy: Laboratorium 1. Wprowadzenie do języka Python
Język skryptowy: Laboratorium 1. Wprowadzenie do języka Python Język PYTHON Podstawowe informacje Python to język skryptowy, interpretowany - co oznacza, że piszemy skrypt, a następnie wykonujemy go za
Bardziej szczegółowoĆwiczenia z wyliczania wartości funkcji
Ćwiczenia z wyliczania wartości funkcji 4 października 2011 1 Wprowadzenie Wyliczanie wartości wyrażenia nie jest sprawą oczywistą, szczególnie jeżeli chodzi o aplikację funkcji. Poniższy tekst nie jest
Bardziej szczegółowoWstęp do programowania
Wstęp do programowania Programowanie funkcyjne Paweł Daniluk Wydział Fizyki Jesień 2013 P. Daniluk(Wydział Fizyki) WP w. XIV Jesień 2013 1 / 25 Paradygmaty programowania Programowanie imperatywne Program
Bardziej szczegółowoJęzyk ludzki kod maszynowy
Język ludzki kod maszynowy poziom wysoki Język ludzki (mowa) Język programowania wysokiego poziomu Jeśli liczba punktów jest większa niż 50, test zostaje zaliczony; w przeciwnym razie testu nie zalicza
Bardziej szczegółowoPodstawy programowania funkcjonalnego
Podstawy programowania funkcjonalnego haskell.mariuszrozycki.pl Mariusz Różycki Churchill College, University of Cambridge rev. 2014.03.27.1 Wprowadzenie Materiały haskell.mariuszrozycki.pl Slajdy (w tym
Bardziej szczegółowoLeży u podstaw programowania funkcyjnego. Napisy. 1 Zastapienie dowolnego wyrażenia innym wyrażeniem o tej samej. wartości daje równoważny program.
Haskell Nazwa Haskell Brooks Curry (1900 1982) Czysty język funkcyjny Bez efektów ubocznych Ułatwia wnioskowanie o programach Leniwy Wyrażenia nie sa obliczane wcześniej niz potrzeba Umożliwia programowanie
Bardziej szczegółowoProgramowanie Funkcyjne WPPT Lista zadań
Programowanie Funkcyjne WPPT Lista zadań Jacek Cichoń, WPPT, PWr, 2018/19 Zadania oznaczone * są nieco trudniejsze od zadań bez gwiazdki. Zadania oznaczone ** są jeszcze trudniejsze. 1 Wstęp 1.1 Wprowadzenie
Bardziej szczegółowoPascal typy danych. Typy pascalowe. Zmienna i typ. Podział typów danych:
Zmienna i typ Pascal typy danych Zmienna to obiekt, który może przybierać różne wartości. Typ zmiennej to zakres wartości, które może przybierać zmienna. Deklarujemy je w nagłówku poprzedzając słowem kluczowym
Bardziej szczegółowoJAO - J zyki, Automaty i Obliczenia - Wykªad 1. JAO - J zyki, Automaty i Obliczenia - Wykªad 1
J zyki formalne i operacje na j zykach J zyki formalne s abstrakcyjnie zbiorami sªów nad alfabetem sko«czonym Σ. J zyk formalny L to opis pewnego problemu decyzyjnego: sªowa to kody instancji (wej±cia)
Bardziej szczegółowoTechnologie Informacyjne
Technologie Informacyjne Wykªad 5 Paweª Witkowski MIM UW Wiosna 2012 P. Witkowski (MIM UW) Technologie Informacyjne Wiosna 2012 1 / 1 WYSZUKAJ.PIONOWO WYSZUKAJ.PIONOWO(kryterium wyszukiwania; macierz;
Bardziej szczegółowoCREATE TABLE logika (p BOOLEAN); INSERT INTO logika VALUES(true); INSERT INTO logika VALUES(false); INSERT INTO logika VALUES(NULL);
1. Zaªó» tabel logika o trzech atrybutach p,q,r typu BOOLEAN. Uzupeªnij j wszystkimi mo»liwymi waluacjami logiki SQL (oczywi±cie nie rób tego r cznie). Nast pnie przy u»yciu komend SQLa sprawd¹, dla jakich
Bardziej szczegółowoPlatformy Programistyczne Podstawy języka Java
Platformy Programistyczne Podstawy języka Java Agata Migalska 6 maja 2014 Plan wykładu 1 Sztuka wysławiania się w języku Java 2 Cały świat jest obiektem 3 Kolekcje 4 Zmienne i metody statyczne 5 Słowo
Bardziej szczegółowoWprowadzenie do języka Java
WSNHiD, Programowanie 2 Lab. 1 [ część 1 ] Wprowadzenie do języka Java Wprowadzenie Język programowania Java jest obiektowym językiem programowania. Powstał w 1995 i od tej pory był intensywnie rozwijany.
Bardziej szczegółowo