Hľadaj Zobraz: Univerzity Kategórie Rozšírené vyhľadávanie

45 034   projektov
0 nových

Funkcionálne a logické programovanie

«»
Prípona
.pdf
Typ
skriptá
Stiahnuté
11 x
Veľkosť
0,5 MB
Jazyk
slovenský
ID projektu
1374
Posledná úprava
02.11.2015
Zobrazené
1 834 x
Autor:
-
Facebook icon Zdieľaj na Facebooku
Detaily projektu
Popis:
1.1. Jazyky programovania

Programovací jazyk je prostriedkom pre formálny opis algoritmických problémov. Prechod od programovania v strojových jazykoch k štrukturovanej a potom k modulárnej metóde v procedurálnych jazykoch, ako sú napr. Pascal, MODULA, C alebo Java je zvýšením úrovne abstrakcie pri programovaní. Praktickým dôsledkom je možnost riešenia zložitejších problémov rýchlejšie a spolahlivejšie.

Kľúčové slová:

scan

funkcionálne programovanie

referencná transparentnosť

algebraické typy

Haskell

length

concat

init

last

tail

head

drop

take

dropWhile



Obsah:
  • 1 Koncepcia funkcionálneho programovania -7-
    1.1 Jazyky programovania -8-
    1.1.1 Procedurálne jazyky -8-
    1.1.2 Deklaratívne jazyky -9-
    1.2 Funkcie -12-
    1.2.1 Matematický pojem funkcie -12-
    1.2.2 Referencná transparentnost -14-
    1.2.3 Zápis funkcií v jazyku Haskell -15-
    1.2.4 Typ funkcie -17-
    1.2.5 Mechanizmus aplikácie funkcie -20-
    1.2.6 Stratégie výpoctu -25-
    1.2.7 Dosiahnutelnost výsledku výpoctu -29-
    1.2.8 Operácie a funkcie -32-
    1.2.9 Tvar funkcionálneho programu -35-
    1.3 Príklady -37-
    2 Typy -41-
    2.1 Údajové typy -42-
    2.1.1 Druhy algebraických typov -45-
    2.1.2 Definícia algebraických typov v jazyku Haskell -47-
    2.1.3 Základné typy jazyka Haskell -47-
    2.1.4 Syntaktická podpora pre základné typy -48-
    2.1.5 Dalšie užitocné algebraické typy -49-
    2.1.6 Synonymá typov -50-
    2.2 Abstraktné typy -51-
    2.3 Príklady -54-
    3 Spôsoby definície funkcií -57-
    3.1 Definícia podmienenými výrazmi -58-
    3.2 Definícia viacerými rovnicami -60-
    3.3 Lokálne definície -65-
    3.4 Funkcie pre prácu so zoznamami -66-
    3.4.1 Funkcia length -66-
    3.4.2 Operácia zretazenia zoznamov (++) -66-
    3.4.3 Zretazenie zoznamu zoznamov concat -67-
    3.4.4 Operácia indexovania (!!) -67-
    3.4.5 Funkcie head a tail -68-
    3.4.6 Funkcie init a last -69-
    3.4.7 Funkcie take a drop -70-
    3.4.8 Funkcie map a filter -72-
    3.4.8.1 Funkcie takeWhile a dropWhile -74-
    3.4.9 Funkcie foldl a foldr -75-
    3.4.10 Funkcie foldl1 a foldr1 -77-
    3.4.11 Funkcia scan -78-
    3.4.12 Funkcie zip a zipWith -80-
    3.5 Príklady -82-
    4 Podpora abstrakcie -87-
    4.1 Parametrický polymorfizmus -88-
    4.2 Funkcie vyššieho rádu a sekcie -98-
    4.3 Aritmetické postupnosti a množinové abstrakcie -101-
    4.4 Príklady -107-