λ 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
|
|
- Zdzisław Nowak
- 8 lat temu
- Przeglądów:
Transkrypt
1 Organizacja przedmiotu Języki programowania (Programming language concepts) Krzysztof M. Ocetkiewicz pok konsultacje: czwartek 10: , 13:15-14:00 projekt: mgr inż. Krzysztof M. Ocetkiewicz mgr inż. Tomasz Dobrowolski, p. 218, K.M. Ocetkiewicz, 2008 WETI, PG 2 Treść przedmiotu Programowanie funkcjonalne Programowanie funkcjonalne. XSL, Haskell. Przekształcenia symboliczne. Rekurencja ogonowa, LISP. Programowanie w logice, PROLOG. Fakty, reguły, cele. Dopasowywanie i unifikacja. Programowanie z więzami (CLP) Metody definiowania składni. Semantyka denotacyjna Kolokwium II kładziemy nacisk na obliczanie funkcji matematycznych unikamy stanu i zmiennych danych K.M. Ocetkiewicz, 2008 WETI, PG 3 K.M. Ocetkiewicz, 2008 WETI, PG 4 Programowanie funkcjonalne Wyrażenia lambda Wyrażenia lambda Funkcje wyższego rzędu Funkcje czyste Częściowe wywołanie Currying Listy Operatory funkcjonalne Rekurencja K.M. Ocetkiewicz, 2008 WETI, PG 5 Wyrażenia lambda służą do zapisu funkcji anonimowych (bez nazwy; literały funkcyjne ) λ parametry. wartość funkcji Np.: suma = λ x y. x + y kwadrat = λ x. x * x K.M. Ocetkiewicz, 2008 WETI, PG 6
2 Funkcje wyższego rzędu Funkcje mogą być argumentem innej funkcji Wartością zwracaną może być funkcja Np.: Pochodna(F) = F Pochodna(λ x. x * x) = λ x. 2 * x Funkcje czyste Funkcje w matematycznym sensie Bez efektów ubocznych Dla tych samych parametrów zwracają zawsze to samo Czy rand() jest funkcją? czy zawsze rand(7) == rand(7)? K.M. Ocetkiewicz, 2008 WETI, PG 7 K.M. Ocetkiewicz, 2008 WETI, PG 8 Częściowe wywołanie (partial application) Nadanie wartości części argumentów funkcji Zamiast tworzyć funkcję dodajsiedem(x) = x + 7 map dodajsiedem lista Piszemy: map (+7) lista Currying Technika wywoływania funkcji, polegająca na przekazywaniu jej parametrów po jednym Każde wywołanie zwraca nową funkcję, która otrzymuje następny parametr: F(x, y, z) = ( ( F(x) )(y) )(z) K.M. Ocetkiewicz, 2008 WETI, PG 9 K.M. Ocetkiewicz, 2008 WETI, PG 10 Currying Jak, potrafiąc tworzyć wyłącznie funkcje jednoargumentowe, napisać funkcję dwuargumentową? dodaj(x) = λ y. x + y jak to działa? Listy struktura często używana w programowaniu funkcjonalnym pewna liczba elementów takiego samego typu dodaj(3)(5) = (dodaj(3))(5) = = (λ y. 3 + y)(5) = = 8 K.M. Ocetkiewicz, 2008 WETI, PG 11 K.M. Ocetkiewicz, 2008 WETI, PG 12
3 Operacje na listach head (głowa) head [1, 2, 3, 4] = 1 tail (ogon) tail [1, 2, 3, 4] = [2, 3, 4] konstrukcja listy (złożenie listy z głowy i ogona) 1 : [2, 3, 4, 5] = [1, 2, 3, 4, 5] Operacje na listach concat (konkatenacja - scalenie dwóch list) concat( [1, 2, 3], [4, 5, 6] ) = [1, 2, 3, 4, 5, 6] K.M. Ocetkiewicz, 2008 WETI, PG 13 K.M. Ocetkiewicz, 2008 WETI, PG 14 Operatory funkcjonalne Mapowanie Redukcja (zwijanie) Filtrowanie Złożenie Zip, unzip K.M. Ocetkiewicz, 2008 WETI, PG 15 Mapowanie Zastosowanie danej funkcji na wszystkich elementach listy Wynikiem jest lista zawierająca otrzymane wartości funkcji L L x 2 F F( ) F( ) K.M. Ocetkiewicz, 2008 WETI, PG 16 F( ) Mapowanie Przykłady: map( [1, 2, 3, 4, 5], kwadrat) = [1, 4, 9, 16, 25] map( [1, -1, -3, 2, 7], abs) = [1, 1, 3, 2, 7] Funkcja może zwracać wartości innego typu: map( [1, 2, 3, 4, 5], tostring) = [ 1, 4, 9, 16, 25 ] map( [ [1, 2], [], [1, 2, 3], [1] ], length) = [2, 0, 3, 1] K.M. Ocetkiewicz, 2008 WETI, PG 17 Mapowanie Wynik możemy odrzucić, a funkcja może mieć efekty uboczne: map( [1, 2, 3, 4, 5], wypisznaekran) K.M. Ocetkiewicz, 2008 WETI, PG
4 Filtracja Wybór tylko tych elementów z listy, dla których predykat jest prawdziwy Wynikiem jest lista L P L x 2 P( ) = true P(x 2 ) = false P(x 3 ) = true K.M. Ocetkiewicz, 2008 WETI, PG 19 x 3 Filtracja Przykłady: filter( [1, 2, 3, 4, 5], parzyste) = [2, 4] filter( [1, -1, -3, 2, 7], dodatnie) = [1, 2, 7] Predykat - funkcja zwracająca wartość logiczną K.M. Ocetkiewicz, 2008 WETI, PG 20 Redukcja (zwijanie) Redukcja (zwijanie) Połączenie wszystkich elementów listy w jeden przy pomocy danej funkcji Wynikiem jest skalar (pojedyncza wartość) Argumentami są: lista, funkcja dwuargumentowa i wartość początkowa wart. pocz. F L x 2 x 3 F F F wynik K.M. Ocetkiewicz, 2008 WETI, PG 21 K.M. Ocetkiewicz, 2008 WETI, PG 22 Redukcja (zwijanie) Przykłady: reduce( [1, 2, 3, 4, 5], suma, 0) = 15 reduce( [1, 2, 3, 4, 5], iloczyn, 1) = 120 reduce( [1, 2, 3, 4, 5], max, - ) = 5 reduce( [ [1], [2, 3], [4, 5, 6], [], [7] ], concat, [] ) = [1, 2, 3, 4, 5, 6, 7] Redukcja (zwijanie) Drugi argument funkcji nie musi być tego samego typu co wartość początkowa i pierwszy argument: dolacznapis(a, b) = a + + tostring(b) reduce( [1, 2, 3, 4, 5], dolacznapis, ) = K.M. Ocetkiewicz, 2008 WETI, PG 23 K.M. Ocetkiewicz, 2008 WETI, PG 24
5 Redukcja (zwijanie) W niektórych językach istnieją dwa warianty redukcji od lewej do prawej od prawej do lewej Różnica - gdy funkcja nie jest łączna: Złożenie Złożenie funkcji (w sensie matematycznym) (F G)(x) = F(G(x)) Norma(x) = sqrt(reduce(map(x, kwadrat), suma, 0)) reduceltor( [1, 2, 3], minus, 0) = ((0-1) - 2) - 3 = -6 reducertol( [1, 2, 3], minus, 0) = 1 - (2 - (3-0)) = 2 K.M. Ocetkiewicz, 2008 WETI, PG 25 K.M. Ocetkiewicz, 2008 WETI, PG 26 Zip Zip - połączenie dwóch list w jedną listę par elementów L 1 L x 2 L 2 y 1 y 2 y n (, y 1 ) (x 2, y 2 ) K.M. Ocetkiewicz, 2008 WETI, PG 27 (, y n ) Zip Przykład: iloczyn( (a, b) ) = a * b x iloczynskalarny(x, y) = x 2 y y 1 y 2 y n zip = reduce(map(zip(x, y), iloczyn), suma, 0) (, y 1 ) (x 2, y 2 ) (, y n ) map * y 1 x 2 * y 2 K.M. Ocetkiewicz, 2008 WETI, PG 28 * y n reduce iloczyn skalarny Unzip Unzip - operacja odwrotna do zip - rozłożenie listy par na parę list L (, y 1 ) (x 2, y 2 ) (, y n ) unzip( [ (1, 2), (3, 4), (5, 6) ] ) = ( [1, 3, 5], [2, 4, 6] ) L 1 x 2 L 2 y 1 y 2 y n Rekurencja Najczęstsza metoda wykonywania iteracji map([], F) = [] map(l, F) = F(head(L)) : map(tail(l), F) reduceltor([], F, Z) = Z reduceltor(l, F, Z) = reduce(tail(l), F, F(Z, head(l)) reducertol([], F, Z) = Z reducertol(l, F, Z) = F(head(L), reduce(tail(l), F, Z)) K.M. Ocetkiewicz, 2008 WETI, PG 29 K.M. Ocetkiewicz, 2008 WETI, PG 30
6 Programowanie funkcjonalne a XSL Argument funkcjonalny Listy Operatory funkcjonalne Złożenie funkcji Argument funkcjonalny Najbliżej funkcji w XSL jest szablon Ale: <xsl:call-template name= $fn /> BŁĄD K.M. Ocetkiewicz, 2008 WETI, PG 31 K.M. Ocetkiewicz, 2008 WETI, PG 32 Argument funkcjonalny Argument funkcjonalny Rozwiązanie:referencje do szablonów: <xsl:stylesheet version="1.0" xmlns:xsl=" xmlns:f1="f:mul2-template"> <xsl:template match= "*[namespace-uri()=" f:mul2-template ]"> <xsl:param name="arg1"/> <xsl:value-of select="2*$arg1"/> <xsl:variable name="times2" select="document( )/*/f1:*[1]" /> <f1:f1/> </xsl:stylesheet> K.M. Ocetkiewicz, 2008 WETI, PG 33 Wywołanie: <xsl:template name="apply"> <xsl:param name="pfun"/> <xsl:param name="pvalue"/> <xsl:apply-templates select="$pfun"> <xsl:with-param name="arg1" select="$pvalue"/> <xsl:call-template name="apply"> <xsl:with-param name="pfun" select="$times2"/> <xsl:with-param name="pvalue" select="4"/> </xsl:call-template> K.M. Ocetkiewicz, 2008 WETI, PG 34 Jak to działa? Przestrzeń nazw o unikalnej nazwie (f:mul2_template) Szablon (tylko jeden) przetwarzający tę przestrzeń nazw (nasza funkcja) W momencie wywołania stosujemy szablony na stworzonej przestrzeni nazw Listy Jako XML-owe drzewa: <lista> <el>element_1</el> <el>element_2</el> <el>element_n</el> </lista> K.M. Ocetkiewicz, 2008 WETI, PG 35 K.M. Ocetkiewicz, 2008 WETI, PG 36
7 Mapowanie Mapowanie <xsl:template name="map"> <xsl:param name="pfun"/> <xsl:param name="plist"/> <xsl:for-each select="$plist"> <xsl:copy> <xsl:apply-templates select="$pfun"> <xsl:with-param name="arg1" select="."/> </xsl:copy> </xsl:for-each> <lista> <el>1</el> <el>2</el> <el>3</el> <el>4</el> </lista> <xsl:call-template name="map"> <xsl:with-param name="pfun select="$times2"/> <xsl:with-param name="plist select="/lista/el"/> </xsl:call-template> 2468 K.M. Ocetkiewicz, 2008 WETI, PG 37 K.M. Ocetkiewicz, 2008 WETI, PG 38 Redukcja Redukcja <xsl:template name="reduce"> <xsl:param name="pfun"/> <xsl:param name="pzero"/> <xsl:param name="plist"/> <xsl:choose> <xsl:when test="not($plist)"> <xsl:copy-of select="$pzero"/> </xsl:when> <xsl:otherwise> <xsl:variable name="funresult"> <xsl:apply-templates select="$pfun"> <xsl:with-param name="arg1" select="$pzero"/> <xsl:with-param name="arg2" select="$plist[1]"/> </xsl:variable> <xsl:call-template name="reduce"> <xsl:with-param name="pfun" select="$pfun"/> <xsl:with-param name="pzero" select="$funresult"/> <xsl:with-param name="plist" select="$plist[position() > 1]"/> </xsl:call-template> </xsl:otherwise> </xsl:choose> K.M. Ocetkiewicz, 2008 WETI, PG 39 <lista> <el>1</el> <el>2</el> <el>3</el> <el>4</el> </lista> <xsl:template match="*[]"> <xsl:param name = "arg1" /> <xsl:param name = "arg2" /> <xsl:value-of select = $arg1+$arg2" /> <xsl:variable name = add" select = "" /> <xsl:call-template name= reduce"> <xsl:with-param name="pfun select="$add"/> <xsl:with-param name="plist select="/lista/el"/> <xsl:with-param name="pzero select="0"/> </xsl:call-template> K.M. Ocetkiewicz, 2008 WETI, PG Filtrowanie Filtrowanie <xsl:template name="filter"> <xsl:param name="pfun" select="/.."/> <xsl:param name="plist"/> <xsl:for-each select="$plist"> <xsl:variable name="test"> <xsl:apply-templates select="$pfun"> <xsl:with-param name="arg1" select="."/> </xsl:variable> <xsl:if test="string($test)='true'"> <xsl:copy-of select="."/> </xsl:if> </xsl:for-each> <lista> <el>1</el> <el>2</el> <el>3</el> <el>4</el> </lista> <xsl:template match="*[]"> <xsl:param name = "arg1" /> <xsl:value-of select = "number($arg1)!=3" /> <xsl:variable name = "ne3" select = "" /> <xsl:call-template name= filter"> <xsl:with-param name="pfun select="$ne3"/> <xsl:with-param name="plist select="/lista/el"/> </xsl:call-template> 124 K.M. Ocetkiewicz, 2008 WETI, PG 41 K.M. Ocetkiewicz, 2008 WETI, PG 42
8 Złożenie funkcji <!-- xmlns:ext=" --> <xsl:template name="compose"> <xsl:param name="pfun1"/> <xsl:param name="pfun2"/> <xsl:param name="par"/> <xsl:variable name= iv"> <xsl:apply-templates select="$pfun1"> <xsl:with-param name="arg1" select="$par"/> </xsl:variable> <xsl:apply-templates select="$pfun2"> <xsl:with-param name="parg1" select="ext:node-set($iv)/node()" /> K.M. Ocetkiewicz, 2008 WETI, PG 43 Źródła Dimitre Novatchev: Functional programming in XSLT using FXSL library (Extreme Markup Languages 2003) Dimitre Novatchev: Higher-Order Functional Programming with XSLT 2.0 and FXSL (Extreme Markup Languages 2006) K.M. Ocetkiewicz, 2008 WETI, PG 44 Język Haskell Język czysto funkcjonalny Bardzo blisko matematycznego formalizmu Zmienne Operator przypisania = nadaje wartość symbolowi Raz nadana wartość nie zmienia się przez cały czas życia symbolu Jak w matematyce: pi = Brak zmiennej jako pudełka na wartość K.M. Ocetkiewicz, 2008 WETI, PG 45 K.M. Ocetkiewicz, 2008 WETI, PG 46 Listy Lista ma postać: [elem1, elem2,, elemn] Wszystkie elementy muszą być tego samego typu Łańcuch znakowy jest jednocześnie listą znaków Listy Głowa listy: head np.: head [1, 2, 3, 4] = 1 Ogon listy: tail np.: tail [1, 2, 3, 4] = [2, 3, 4] Konstrukcja listy: dwukropek np.: 1 : [2, 3, 4] = [1, 2, 3, 4] 1 : 2 : 3 : [4] = [1, 2, 3, 4] K.M. Ocetkiewicz, 2008 WETI, PG 47 K.M. Ocetkiewicz, 2008 WETI, PG 48
9 Listy Konkatenacja: ++ np.: [1, 2] ++ [3, 4] = [1, 2, 3, 4] np.: abc ++ def = abcdef Funkcje Definicja ma postać: nazwa parametry = wyrażenie np.: add x y = x + y Złożone wyrażenia: hypot x y = let x2 = x * x in sqrt (x2 + y2) where y2 = y * y K.M. Ocetkiewicz, 2008 WETI, PG 49 K.M. Ocetkiewicz, 2008 WETI, PG 50 Funkcje Pattern matching: potega _ 0 = 1 potega a 1 = a potega a b = a * potega a (b - 1) sign x x > 0 = 1 x < 0 = -1 otherwise = 0 mapuj _ [] = [] mapuj f x:xs = (f x) : mapuj (f xs) Funkcje lambda Funkcje anonimowe mają postać: np. \ argumenty -> wyrażenie \ x y -> x*x + y*y K.M. Ocetkiewicz, 2008 WETI, PG 51 K.M. Ocetkiewicz, 2008 WETI, PG 52 Currying Wszystkie funkcje wołane są za pomocą curryingu: f x y z = ( (f x) y) z Przez co: listadokwadratu = map (\ x -> x*x) Operatory Potęgowanie: ^ (np. 2^32) Złożenie funkcji:. (np. h = g. f) Wywołanie funkcji: $ (np. f $ par) dodaj 3 sin 4 =( (dodaj 3) sin) 4 dodaj 3 $ sin 4 = dodaj 3 (sin 4) K.M. Ocetkiewicz, 2008 WETI, PG 53 K.M. Ocetkiewicz, 2008 WETI, PG 54
10 Operatory Operatory infiksowe możemy traktować jak funkcje: np.: (+) 3 2 = 5 Funkcji dwuargumentowych możemy używać jak operatorów np.: add x y = x + y 3 `add` 2 = 5 Operatory funkcjonalne map funkcja lista np.: map (+2) [1, 2, 3] = [3, 4, 5] filter predykat lista np. filter (>0) [1, -2, -3, 4] = [1, 4] foldl/foldr funkcja zero lista np.: foldl (+) 0 [1, 2, 3] = 6 K.M. Ocetkiewicz, 2008 WETI, PG 55 K.M. Ocetkiewicz, 2008 WETI, PG 56 Częściowe wywołanie Programowanie funkcjonalne np.: dodaj a b = a + b odejmij a b = a - b (dodaj 3) (odejmij 2) (`odejmij` 2) (2 `odejmij`) (3 + ) (2 - ) ( / 4) kładziemy nacisk na obliczanie funkcji matematycznych unikamy stanu i zmiennych danych norma = sqrt. foldl (+) 0. map (\x -> x*x) norma [3, 4] = 5 K.M. Ocetkiewicz, 2008 WETI, PG 57 K.M. Ocetkiewicz, 2008 WETI, PG 58
Język XSLT. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz
Język XSLT Po zrealizowaniu materiału student będzie w stanie Dokonać przekształcenia zawartości dokumentu XML do formatu HTML oraz TXT Realizować przetwarzanie warunkowe dokumentu XML Formatować wartości
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ółowoProgramowanie Funkcyjne. Marcin Kubica Świder,
Programowanie Funkcyjne Marcin Kubica Świder, 28-04-2015 Czym jest programowanie funkcyjne? Obliczalne pojęcia matematyczne. Definicje stałych i funkcji i relacji. Wszystkie definicje są konstruktywne,
Bardziej szczegółowoParadygmaty programowania
Paradygmaty programowania Jacek Michałowski, Piotr Latanowicz 15 kwietnia 2014 Jacek Michałowski, Piotr Latanowicz () Paradygmaty programowania 15 kwietnia 2014 1 / 12 Zadanie 1 Zadanie 1 Rachunek predykatów
Bardziej szczegółowoRodzaje przetwarzania XSLT (1)
XSLT część 2 Rodzaje przetwarzania XSLT (1) Przetwarzanie sterowane strukturą dokumentu źródłowego (ang. push): przechodzimy po strukturze dokumentu źródłowego, generujemy fragmenty struktury dokumentu
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ółowoDefinicje wyższego poziomu
Definicje wyższego poziomu Interpreter Scheme-a nie będzie narzekad w przypadku wystąpienia niezdefionowanej zmiennej w ciele wyrażenia lambda dopóki nie będzie zastosowana Przykład braku informacji o
Bardziej szczegółowoXML extensible Markup Language. część 8
XML extensible Markup Language część 8 XSL transformations (XSLT) XSLT (ang. extensible Stylesheet Language Transformations) jest opartym na XML językiem transformacji dokumentów XML XSLT umożliwia przetłumaczenie
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ółowoJęzyki formatowania dokumentów strukturalnych. XSL przekształcenia XML-a. XSL a XSLT. XSL części składowe. Zasada działania przekształcenia XSLT
Języki formatowania dokumentów strukturalnych XSL przekształcenia XML-a SGML: FOSI (Formatting Output Specification Instance): specyfikacja MIL-PRF-28001, zbyt małe możliwości dla ogólnych zastosowań.
Bardziej szczegółowoWprowadzenie do XSLT
Tomasz Przechlewski Spis treści 1. Struktura arkusza XSLT... 1 2. Działanie arkusza XSLT... 2 3. Polecenia języka XSLT... 3 4. Zmienne... 5 5. Tworzenie dokumentu wynikowego... 5 6. Wbudowane funkcje...
Bardziej szczegółowoREKURENCJA W JĘZYKU HASKELL. Autor: Walczak Michał
REKURENCJA W JĘZYKU HASKELL Autor: Walczak Michał CZYM JEST REKURENCJA? Rekurencja zwana rekursją, polega na wywołaniu przez funkcję samej siebie. Algorytmy rekurencyjne zastępują w pewnym sensie iteracje.
Bardziej szczegółowoPlan prezentacji. Krótko o XML Arkusze stylów XSLT XSL XSL Path Przegląd konstrukcji języka i przykłady Narzędzia Podsumowanie Literatura
XSLT Dariusz Dudek Plan prezentacji Krótko o XML Arkusze stylów XSLT XSL XSL Path Przegląd konstrukcji języka i przykłady Narzędzia Podsumowanie Literatura Cechy XML a Rozszerzalny język znaczników Stworzony
Bardziej szczegółowoSemantyka rachunku predykatów
Relacje Interpretacja Wartość Spełnialność Logika obliczeniowa Instytut Informatyki Relacje Interpretacja Wartość Plan Plan Relacje O co chodzi? Znaczenie w logice Relacje 3 Interpretacja i wartościowanie
Bardziej szczegółowoJęzyki programowania deklaratywnego
Katedra Inżynierii Wiedzy laborki 14 Języki deklaratywne Główne różnice między paradygmatem deklaratywnym a imperatywnym Omów główne cechy paradygmatu programowania w logice na przykładzie Prologa Główne
Bardziej szczegółowoXSL, tj. XSLT i XSL-FO czyli jak przekształcać i ładnie wyświetlać XML-e. Kuba Pochrybniak
XSL, tj. XSLT i XSL-FO czyli jak przekształcać i ładnie wyświetlać XML-e Kuba Pochrybniak 1. XML PDF Jak? Jak? L A TEX Jak? L A TEX XSL-FO Jak? L A TEX XSL-FO rzeźbienie ręczne (np. w php) Jak? L A TEX
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ółowoElementy języka Scheme
Elementy języka Scheme Historia języka Lisp Historia języka Lisp Wyrażenia i ewaluacja wyrażeń Identyfikatory i wyrażenie let Wyrażenia lambda Definicje globalne Wyrażenia warunkowe Przypisanie Kontynuacje
Bardziej szczegółowoLABORATORIUM 5 WSTĘP DO SIECI TELEINFORMATYCZNYCH WPROWADZENIE DO XML I XSLT
LABORATORIUM 5 WSTĘP DO SIECI TELEINFORMATYCZNYCH WPROWADZENIE DO XML I XSLT 1. Wstęp XML (Extensible Markup Language Rozszerzalny Język Znaczników) to język formalny przeznaczony do reprezentowania danych
Bardziej szczegółowoXML Path Language (XPath)
XML Path Language (XPath) 1 Cel adresowanie elementów /częś ci dokumentu XML składnia podobna do URI wyszukiwanie elementów bądź grup elementów dokument jako drzewo typy węzłów: element, attribute, text
Bardziej szczegółowoMETAJĘZYKI. Politechnika Koszalińska Wydział Elektroniki i Informatyki Katedra Inżynierii Komputerowej
5 dr inż. Robert Berezowski e-mail: robert.berezowski@ie.tu.koszalin.pl Ul. Śniadeckich 2 Pokój 223A Politechnika Koszalińska Wydział Elektroniki i Informatyki Katedra Inżynierii Komputerowej 1 Dokument
Bardziej szczegółowoXML extensible Markup Language. część 4
XML extensible Markup Language część 4 XSL transformations (XSLT) XSLT (ang. extensible Stylesheet Language Transformations) jest opartym na XML językiem transformacji dokumentów XML XSLT umożliwia przetłumaczenie
Bardziej szczegółowoXML extensible Markup Language 3
XML extensible Markup Language 3 XSL transformations (XSLT) XSLT (ang. extensible Stylesheet Language Transformations) jest opartym na XML językiem transformacji dokumentów XML XSLT umożliwia przetłumaczenie
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ółowoJęzyki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje. dr Artur Bartoszewski - Języki C i C++, sem.
Języki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje 1 dr Artur Bartoszewski - Języki C i C++, sem. 1I- WYKŁAD programowania w C++ Typy c.d. 2 Typy zmiennych Instrukcja typedef -
Bardziej szczegółowoPython i programowanie funkcyjne. Python i programowanie funkcyjne czyli nie tylko obiektowość rządzi. OSEC Funkcyjnie w języku Python 1 z 40
czyli nie tylko obiektowość rządzi 1 z 40 O czym będę mówił... Jak najmniej teorii bo nie czas i miejsce... Próba odpowiedzi na pythanie: Czy warto programować nie tylko obiektowo? Jak język Python wspiera
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ółowoExtensible Markup Language III
KIiMK 2010 Plan XSLT-transformacje dokumentów 1 XSLT-transformacjedokumentów Informacje o XSLT Przykład transformacji 2 3 Informacje o XSLT Przykład transformacji Informacje o XSLT Przykład transformacji
Bardziej szczegółowoWstęp do Programowania potok funkcyjny
Wstęp do Programowania potok funkcyjny Marcin Kubica 2010/2011 Outline Procedury wyższych rzędów 1 Procedury wyższych rzędów jako abstrakcje konstrukcji programistycznych Intuicje Procedury wyższych rzędów
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Podstawowe cechy i możliwości języka Scala mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 2017 1 / 32 mgr inż. Krzysztof Szwarc Programowanie obiektowe Informacje
Bardziej szczegółowoProlog struktury danych oraz obliczenia. 1. Arytmetyka?- Y is 2+2. Y = 4. ?- 5 is 3+3. false. ?- Z is (3.9 / 2.1). Z =
Prolog struktury danych oraz obliczenia 1. Arytmetyka?- Y is 2+2. Y = 4?- 5 is 3+3. false.?- Z is 4.5 + (3.9 / 2.1). Z = 6.357142857142857. Wbudowany predykat is bierze wyrażenie po prawej, oblicza je
Bardziej szczegółowoJęzyk programowania Scala / Grzegorz Balcerek. Wyd. 2. Poznań, cop Spis treści
Język programowania Scala / Grzegorz Balcerek. Wyd. 2. Poznań, cop. 2016 Spis treści Przedmowa 1 Stosowana notacja 1 1. Wprowadzenie 3 1.1. Konsola interaktywna języka Scala 3 1.2. Zmienne 5 1.3. Wartości
Bardziej szczegółowoPodstawy programowania. Podstawy C# Tablice
Podstawy programowania Podstawy C# Tablice Tablica to indeksowany zbiór elementów Tablica jest typem referencyjnym (deklaracja tworzy tylko referencję, sama tablica musi być utworzona oddzielnie, najprościej
Bardziej szczegółowoJęzyki programowania deklaratywnego
Katedra Inżynierii Wiedzy laborki 1 e-mail: przemyslaw.juszczuk@ue.katowice.pl Konsultacje: na stronie katedry + na stronie domowej Pokój 202c budynek A pjuszczuk.pl Języki deklaratywne - laborki Wprowadzenie
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ółowoSemantyka i Weryfikacja Programów - Laboratorium 3
Semantyka i Weryfikacja Programów - Laboratorium 3 Modelowanie układów mikroprocesorowych - część II Wykonywanie całego programu Cały program wykonywany jest przez funkcję intpprog. Jedynym argumentem
Bardziej szczegółowoXML materiały dydaktyczne - Kurs Podstawowy XSL - wprowadzenie. XSL warstwa przekształcania (XSLT) oraz prezentacji informacji (XSL FO).
XSL (XSLT) Transformacja dokumentów XML. XML warstwa przechowująca informacje XSL warstwa przekształcania (XSLT) oraz prezentacji informacji (XSL FO). Transformacja XSLT utworzenie nowego dokumentu wynikowego
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ółowoJęzyki i paradygmaty programowania
Języki i paradygmaty programowania Instytut Teleinformatyki ITI PK Kraków marzec 2012 Spis rzeczy 1 Operatory w C/C++ Operatory Operatory w C/C++ operator - rodzaj funkcji wbudowanej w język; różnica notacja
Bardziej szczegółowoProgramowanie w logice Prolog 2
Programowanie w logice Prolog 2 Listy Lista to uporządkowany ciąg elementów. Elementami listy mogą być dowolne terminy: stałe, zmienne i struktury W Prologu listę zapisujemy następująco: Przykłady [element1,element2,,elementn]
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ółowoProjekt 4: Programowanie w logice
Języki Programowania Projekt 4: Programowanie w logice Środowisko ECL i PS e W projekcie wykorzystane będzie środowisko ECL i PS e. Dostępne jest ono pod adresem http://eclipseclp.org/. Po zainstalowaniu
Bardziej szczegółowoLab 10. Funkcje w argumentach funkcji metoda Newtona. Synonimy nazw typów danych. Struktury. Tablice struktur.
Języki i paradygmaty programowania 1 studia stacjonarne 2018/19 Lab 10. Funkcje w argumentach funkcji metoda Newtona. Synonimy nazw typów danych. Struktury. Tablice struktur. 1. Identyfikator funkcji,
Bardziej szczegółowoPrzyszłość programowania Języki funkcyjne na przykładzie Clojure
Wstęp Przyszłość programowania Języki funkcyjne na przykładzie Clojure inż. Daniel Harbuz 23 maja 2012 Przyszłość programowaniajęzyki funkcyjne na przykładzie Clojure 23 maja 2012 1 / 31 Wstęp Ageda Agenda
Bardziej szczegółowoElementy języka Scheme
Elementy języka Scheme Historia języka Lisp Wyrażenia i ewaluacja wyrażeń Identyfikatory i wyrażenie let Wyrażenia lambda Definicje globalne Wyrażenia warunkowe Przypisanie Kontynuacje Historia języka
Bardziej szczegółowoParadygmaty programowania
Paradygmaty programowania Paradygmat funkcyjny Cezary Bolek Katedra Informatyki UŁ 1 Dlaczego programowanie funkcyjne? Języki imperatywne, a w duŝym stopniu takŝe obiektowe, są bardzo silnie związane z
Bardziej szczegółowoAplikacje internetowe laboratorium XML, DTD, XML Schema, XSL
Aplikacje internetowe laboratorium XML, DTD, XML Schema, XSL Celem ćwiczenia jest stworzenie dokumentu XML, wyposażenie dokumentu w specyfikację struktury (przy użyciu DTD i XML Schema), oraz transformacja
Bardziej szczegółowoPodstawy Programowania Podstawowa składnia języka C++
Podstawy Programowania Podstawowa składnia języka C++ Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 3 października 2013 r. Szablon programu w C++ Najprostszy program w C++ ma postać: #include #include
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ółowoJest to zasadniczo powtórka ze szkoły średniej, być może z niektórymi rzeczami nowymi.
Logika Jest to zasadniczo powtórka ze szkoły średniej, być może z niektórymi rzeczami nowymi. Często słowu "logika" nadaje się szersze znaczenie niż temu o czym będzie poniżej: np. mówi się "logiczne myślenie"
Bardziej szczegółowoObliczenia iteracyjne
Lekcja Strona z Obliczenia iteracyjne Zmienne iteracyjne (wyliczeniowe) Obliczenia iteracyjne wymagają zdefiniowania specjalnej zmiennej nazywanej iteracyjną lub wyliczeniową. Zmienną iteracyjną od zwykłej
Bardziej szczegółowoMetody numeryczne Laboratorium 2
Metody numeryczne Laboratorium 2 1. Tworzenie i uruchamianie skryptów Środowisko MATLAB/GNU Octave daje nam możliwość tworzenia skryptów czyli zapisywania grup poleceń czy funkcji w osobnym pliku i uruchamiania
Bardziej szczegółowoSkładnia rachunku predykatów pierwszego rzędu
Początek Gramatyka Kwantyfikatory Poprawność Logika obliczeniowa Instytut Informatyki Początek Gramatyka Kwantyfikatory Poprawność Plan wykładu 1 Na (dobry) początek Zrozumieć słowa Oswoić znaki 2 Gramatyka
Bardziej szczegółowoAplikacje internetowe laboratorium XML, DTD, XSL
Aplikacje internetowe laboratorium XML, DTD, XSL Celem ćwiczenia jest stworzenie dokumentu XML, wyposażenie dokumentu w specyfikację struktury (przy użyciu DTD), oraz transformacja dokumentu XML do postaci
Bardziej szczegółowoAlgorytmika i Programowanie VBA 1 - podstawy
Algorytmika i Programowanie VBA 1 - podstawy Tomasz Sokół ZZI, IL, PW Czas START uruchamianie środowiska VBA w Excelu Alt-F11 lub Narzędzia / Makra / Edytor Visual Basic konfiguracja środowiska VBA przy
Bardziej szczegółowoUKŁAD INFORMACJI I POWIĄZAŃ MIĘDZY NIMI W INFORMACJI W SPRAWIE PODATKU LEŚNEGO (IL-1) W FORMACIE DANYCH XML
UKŁAD INFORMACJI I POWIĄZAŃ MIĘDZY NIMI W INFORMACJI W SPRAWIE PODATKU LEŚNEGO (IL-1) W FORMACIE DANYCH XML
Bardziej szczegółowoWprowadzenie do arkuszy stylistycznych XSL i transformacji XSLT
Wprowadzenie do arkuszy stylistycznych XSL i transformacji XSLT Marek Wojciechowski marek@cs.put.poznan.pl http://www.cs.put.poznan.pl/~marek/ Formatowanie dokumentów XML Język XML opisuje strukturę i
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ółowoProgramowanie Delphi obliczenia, schematy blokowe
Informatyka II MPZI2 ćw.2 Programowanie Delphi obliczenia, schematy blokowe Zastosowania obliczeń numerycznych Wyrażenia arytmetyczne służą do zapisu wykonywania operacji obliczeniowych w trakcie przebiegu
Bardziej szczegółowoPODSTAWY SZTUCZNEJ INTELIGENCJI
Katedra Informatyki Stosowanej Politechnika Łódzka PODSTAWY SZTUCZNEJ INTELIGENCJI Laboratorium PROGRAMOWANIE SYSTEMÓW EKSPERTOWYCH Opracowanie: Dr hab. inŝ. Jacek Kucharski Dr inŝ. Piotr Urbanek Cel ćwiczenia
Bardziej szczegółowoUCHWAŁA NR II/17/2014 RADY GMINY PRZODKOWO. z dnia 30 grudnia 2014 r.
UCHWAŁA NR II/17/2014 RADY GMINY PRZODKOWO z dnia 30 grudnia 2014 r. w sprawie elektronicznego wzoru deklaracji o wysokości opłaty za gospodarowanie odpadami komunalnymi oraz warunków i trybu składania
Bardziej szczegółowoProgramowanie w Logice
Programowanie w Logice Działanie Prologu Przemysław Kobylański na podstawie [CM2003] Składnia Programy Prologu składają się z termów. Term to stała, zmienna lub struktura (term złożony). Term zapisuje
Bardziej szczegółowoXML extensible Markup Language. część 6
XML extensible Markup Language część 6 XSL transformations (XSLT) XSLT (ang. extensible Stylesheet Language Transformations) jest opartym na XML językiem transformacji dokumentów XML XSLT umożliwia przetłumaczenie
Bardziej szczegółowoMETAJĘZYKI. Politechnika Koszalińska Wydział Elektroniki i Informatyki Katedra Inżynierii Komputerowej
4 dr inż. Robert Berezowski e-mail: beny@ie.tu.koszalin.pl Ul. Śniadeckich 2 Pokój 223A Politechnika Koszalińska Wydział Elektroniki i Informatyki Katedra Inżynierii Komputerowej 1 XPath nawigacja i wyszukiwanie
Bardziej szczegółowoLogika Matematyczna (1)
Logika Matematyczna (1) Jerzy Pogonowski Zakład Logiki Stosowanej UAM www.logic.amu.edu.pl pogon@amu.edu.pl Wprowadzenie Jerzy Pogonowski (MEG) Logika Matematyczna (1) Wprowadzenie 1 / 20 Plan konwersatorium
Bardziej szczegółowoProjekt Era inżyniera pewna lokata na przyszłość jest współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Materiały dydaktyczne na zajęcia wyrównawcze z matematyki dla studentów pierwszego roku kierunku zamawianego Inżynieria i Gospodarka Wodna w ramach projektu Era inżyniera pewna lokata na przyszłość Projekt
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ółowoMETODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH
METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH ĆWICZENIE NR 9 WYRAŻENIA LOGICZNE, INSTRUKCJE WARUNKOWE I INSTRUKCJE ITERACYJNE W PROGRAMIE KOMPUTEROWYM MATLAB Dr inż. Sergiusz Sienkowski ĆWICZENIE NR
Bardziej szczegółowoLogika Matematyczna (1)
Logika Matematyczna (1) Jerzy Pogonowski Zakład Logiki Stosowanej UAM www.logic.amu.edu.pl pogon@amu.edu.pl 4 X 2007 Jerzy Pogonowski (MEG) Logika Matematyczna (1) 4 X 2007 1 / 18 Plan konwersatorium Dzisiaj:
Bardziej szczegółowoW naukach technicznych większość rozpatrywanych wielkości możemy zapisać w jednej z trzech postaci: skalara, wektora oraz tensora.
1. Podstawy matematyki 1.1. Geometria analityczna W naukach technicznych większość rozpatrywanych wielkości możemy zapisać w jednej z trzech postaci: skalara, wektora oraz tensora. Skalarem w fizyce nazywamy
Bardziej szczegółowoRBD Relacyjne Bazy Danych
Wykład 7 RBD Relacyjne Bazy Danych Bazy Danych - A. Dawid 2011 1 Selekcja σ C (R) W wyniku zastosowania operatora selekcji do relacji R powstaje nowa relacja T do której należy pewien podzbiór krotek relacji
Bardziej szczegółowoJAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.
IŚ ćw.8 JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania. Skrypty JavaScript są zagnieżdżane w dokumentach HTML. Skrypt JavaScript
Bardziej szczegółowoProgramowanie strukturalne. dr inż. Tadeusz Jeleniewski
Wykład 2 Wejście i wyjście - funkcje scanf i printf Operator przypisania prostego Operatory arytmetyczne Kolejność wykonywania operacji Operatory przypisania arytmetycznego Operatory inkrementacji/dekrementacji
Bardziej szczegółowoKurs WWW Język XML, część II
Język XML, część II Paweł Rajba pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/ Zawartość modułu Wprowadzenie do XSL XPath XSLT XSL-FO Na podstawie kursów ze stron: http://www.w3schools.com/xpath/default.asp
Bardziej szczegółowoDlaczego Python jest lepszy od XSLT?
Dlaczego Python jest lepszy od XSLT? Jarek Miszczak 10 lutego 2005 roku Streszczenie Celem artykułu jest przyjrzenie się językowi XSLT jako uniwersalnemu językowi programowania i porówananie go z językiem
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ółowoXPath XML Path Language. XPath. XSLT część 1. XPath data model. Wyrażenia XPath. Osie (axes) Location paths
XPath XML Path Language XPath. XSLT część 1 Problem: jednoznaczne adresowanie fragmentów struktury dokumentu XML. Rozwiązanie: abstrakcyjny drzewiasty model struktury dokumentu, normalizacja zawartości
Bardziej szczegółowoProgramowanie w logice Wykład z baz danych dla
Programowanie w logice Wykład z baz danych dla studentów matematyki 18 maja 2015 Programowanie w logice Programowanie w logice to podejście do programowania, w którym na program patrzymy nie jak na opis
Bardziej szczegółowoMATEMATYKA DYSKRETNA, PODSTAWY LOGIKI I TEORII MNOGOŚCI
MATEMATYKA DYSKRETNA, PODSTAWY LOGIKI I TEORII MNOGOŚCI Program wykładów: dr inż. Barbara GŁUT Wstęp do logiki klasycznej: rachunek zdań, rachunek predykatów. Elementy semantyki. Podstawy teorii mnogości
Bardziej szczegółowoProjekt Era inżyniera pewna lokata na przyszłość jest współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego
Materiały dydaktyczne na zajęcia wyrównawcze z matematyki dla studentów pierwszego roku kierunku zamawianego Inżynieria Środowiska w ramach projektu Era inżyniera pewna lokata na przyszłość Projekt Era
Bardziej szczegółowoProgramowanie strukturalne. Opis ogólny programu w Turbo Pascalu
Programowanie strukturalne Opis ogólny programu w Turbo Pascalu STRUKTURA PROGRAMU W TURBO PASCALU Program nazwa; } nagłówek programu uses nazwy modułów; } blok deklaracji modułów const } blok deklaracji
Bardziej szczegółowoPARADYGMATY I JĘZYKI PROGRAMOWANIA. Programowanie funkcyjne (w- 9)
PARADYGMATY I JĘZYKI PROGRAMOWANIA Programowanie funkcyjne () Zagadnienia 2 Wstęp Rachunek lambda i programowanie funkcjonalne (Podstawa: An introduc/on to func/onal programming through lambda calculus.
Bardziej szczegółowoWykład 11a. Składnia języka Klasycznego Rachunku Predykatów. Języki pierwszego rzędu.
Andrzej Wiśniewski Logika I Materiały do wykładu dla studentów kognitywistyki Wykład 11a. Składnia języka Klasycznego Rachunku Predykatów. Języki pierwszego rzędu. 1 Logika Klasyczna obejmuje dwie teorie:
Bardziej szczegółowoEgzamin z przedmiotu Projektowanie języków XML 18.06.2013.... imię i nazwisko. Zadanie 1 2 3 4 5 6 7 Suma Punkty Max 6 5 5 6 6 6 6 40 Punkty
Egzamin z przedmiotu Projektowanie języków XML 18.06.2013 Grupa A... imię i nazwisko. indeks Zadanie 1 2 3 4 5 6 7 Suma Punkty Max 6 5 5 6 6 6 6 40 Punkty Zadanie 1. Przyjrzyj się podanym dokumentom XML.
Bardziej szczegółowoRekurencja, schemat rekursji i funkcje pierwotnie rekurencyjne
Rekurencja, schemat rekursji i funkcje pierwotnie rekurencyjne Elementy Logiki i Teorii Mnogości 2015/2016 Zadanie 1. Oblicz iteracyjnie i rekurencyjnie f(4), gdzie f jest funkcją określoną na zbiorze
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ół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ółowo1 Funkcje dwóch zmiennych podstawowe pojęcia
1 Funkcje dwóch zmiennych podstawowe pojęcia Definicja 1 Funkcją dwóch zmiennych określoną na zbiorze A R 2 o wartościach w zbiorze R nazywamy przyporządkowanie każdemu punktowi ze zbioru A dokładnie jednej
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ółowoWykład 0 Informacje Podstawowe
Paradygmaty Programowania Wykład 0 Informacje Podstawowe Nieliniowej, WMiI UŁ 1 Informacje Ogólne (22 luty 2013) Wykłady: piątek, 10.00-12.00, D103 Wykłady: 1 wprowadzający +10 wykładów głównych Zaliczenie
Bardziej szczegółowoR. D. Tennent, The Denotational Semantics of Programming Languages [1976]
R. D. Tennent, The Denotational Semantics of Programming Languages [1976] Programowanie 2009 - seminarium grupy zaawansowanej Instytut Informatyki Uniwersytetu Wrocławskiego 1 lipca 2009 1 Motywacja Funkcje
Bardziej szczegółowoProgramowanie w CLIPS
Programowanie w CLIPS Wiedza początkowa Reguły oraz fakty początkowe dodane na początku programu za pomocą deffacts. (deffacts people "Znajomi" (person (name "Adam Kowalski") (age 24) (eye-color blue)
Bardziej szczegółowoWprowadzenie do standardu XSL
Wprowadzenie do standardu XSL Tomasz Przechlewski 2002 Spis treści 1 Wprowadzenie 1 2 XPath 2 2.1 Wstęp................................. 2 2.2 Ścieżki dostępu............................ 4 2.2.1 Osie..............................
Bardziej szczegółowooperator zmiany znaku operatory mnożenia, dzielenia, dzielenia modulo operatory dodawania, odejmowania
http://torus.uck.pk.edu.pl/~fialko Operatory, wyrażenia, instrukcja przypisania Operatory arytmetyczne * / + - % operator zmiany znaku operatory mnożenia, dzielenia, dzielenia modulo operatory dodawania,
Bardziej szczegółowoModel relacyjny. Wykład II
Model relacyjny został zaproponowany do strukturyzacji danych przez brytyjskiego matematyka Edgarda Franka Codda w 1970 r. Baza danych według definicji Codda to zbiór zmieniających się w czasie relacji
Bardziej szczegółowoProgramowanie w języku Python. Grażyna Koba
Programowanie w języku Python Grażyna Koba Kilka definicji Program komputerowy to ciąg instrukcji języka programowania, realizujący dany algorytm. Język programowania to zbiór określonych instrukcji i
Bardziej szczegółowoCw.12 JAVAScript w dokumentach HTML
Cw.12 JAVAScript w dokumentach HTML Wstawienie skryptu do dokumentu HTML JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.skrypty Java- Script mogą być zagnieżdżane
Bardziej szczegółowodr inż. Jarosław Forenc
Informatyka Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia stacjonarne I stopnia Rok akademicki 8/9 Wykład nr 4 (.3.9) Rok akademicki 8/9, Wykład nr 4 /33 Plan wykładu
Bardziej szczegółowoLibreOffice Calc VBA
LibreOffice Calc VBA LibreOffice Calc umożliwia tworzenie własnych funkcji i procedur przy użyciu składni języka VBA. Dostęp do edytora makr: Narzędzia->Makra->Zarządaj makrami->libreoffice Calc Aby rozpocząć
Bardziej szczegółowoOdwrotna Notacja Polska
Odwrotna Notacja Polska Odwrotna Notacja Polska w skrócie ONP) jest sposobem zapisu wyrażeń arytmetycznych. Znak wykonywanej operacji umieszczany jest po operandach, argumentach tzw. zapis postfiksowy).
Bardziej szczegółowo