Obsah. 1. PicoLisp: dokončení popisu a několik praktických rad na závěr. 2. Použití

Rozměr: px
Začít zobrazení ze stránky:

Download "Obsah. 1. PicoLisp: dokončení popisu a několik praktických rad na závěr. 2. Použití"

Transkript

1 Root.cz ( Programovací jazyky (/programovaci-jazyky/)» PicoLisp: dokončení popisu a několik praktických rad na závěr PicoLisp: dokončení popisu a několik praktických rad na závěr Pavel Tišnovský před 4 minutami V závěrečném článku o minimalistickém interpretru jazyka LISP nazvaném PicoLisp si popíšeme práci s vlastnostmi symbolů, použití i využití externích knihoven. Obsah 1. PicoLisp: dokončení popisu a několik praktických rad na závěr 2. Použití 3. Interní reprezentace symbolů 4. Vlastnosti (properties) 5. Přístup k vlastnostem, změna vlastností atd. 6. Reakce na chyby vzniklé při běhu programu 7. Použití externích knihoven 8. Použití interaktivního prostředí PicoLispu 9. Editace s použitím klávesových zkratek Vimu 10. Editace s použitím klávesových zkratek Emacsu 11. Repositář s demonstračními příklady 12. Příklady pro první článek o PicoLispu 13. Příklady pro druhý článek o PicoLispu 14. Příklady pro třetí článek o PicoLispu 15. Literatura 16. Odkazy na Internetu 1. PicoLisp: dokončení popisu a několik praktických rad na závěr Na první ( a druhý ( článek o minimalistickém interpretru programovacího jazyka LISP pojmenovaného celkem příhodně PicoLisp dnes navážeme a popis tohoto programovacího jazyka dokončíme. Nejdříve si řekneme, jak se při ladění aplikací používá (což může být velmi užitečné, a to nejenom ve smyčce REPL), následně se seznámíme se způsobem interní reprezentace symbolů (především řetězců), seznámíme se se způsobem využití externích knihoven a na závěr si řekneme několik praktických rad, které se týkají použití interaktivního prostředí PicoLispu se smyčkou REPL (zajímavé přitom je, že toto prostředí obsahuje podporu pro klávesové zkratky kompatibilní jak s Vimem, tak i s konkurenčním Emacsem). Samozřejmě nesmí chybět ani odkazy na zdrojové kódy demonstračních příkladů. 2. Použití V interaktivní smyčce REPL interpretru PicoLispu je možné využívat symbol (zavináč). Tento symbol obsahuje hodnotu posledního vyhodnoceného výrazu. To například znamená, že není zapotřebí ukládat mezivýsledek nějaké operace do explicitně pojmenované proměnné. Namísto toho se (+ 1 2) 9 Ve skutečnosti si interpret pamatuje hodnoty tří posledních vyhodnocených výrazů, takže lze přičemž obsahuje výsledek posledního výrazu, výsledek výrazu předposledního atd. Podívejme se na příklad:

2 (+ 1 2) 3 (* 6 7) 42 (/ 25 5) @@@) 50 je možné použít i uvnitř řídicích konstrukcí typu if, cond, while atd. V tomto případě obsahuje výsledek řídicího výrazu, tj. například výsledek podmínky. Ten totiž nemusí obsahovat jen hodnotu T či NIL, ale jakoukoli jinou hodnotu (která je většinou automaticky považována za pravdivou). Opět se podívejme na poněkud umělý příklad: (if (* 6 7) Interní reprezentace symbolů V PicoLispu se rozeznávají čtyři typy symbolů. Prvním typem je samotný NIL, dále se pak jedná o interní symboly, dočasné symboly (transient) a o externí symboly. Symboly jsou interně reprezentovány zcela odlišným způsobem, než například numerické hodnoty ( Nejjednodušší symbol je reprezentován tečkovým párem, přičemž první prvek dvojice obsahuje NIL (resp. odkazuje na NIL, což je však ve skutečnosti jedno, protože tento symbol se nemusí dereferencovat) popř. odkaz na vlastnosti (properties) a druhý prvek dvojice obsahuje vlastní hodnotu či odkaz na ni: Symbol V / VAL Interpret při zpracování jednotlivých tečkových párů uložených na haldě dokáže symbol snadno rozpoznat, protože ukazatel na něj vypadá (na 64bitových systémech) následovně: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx1000 Na 32bitových systémech vypadá ukazatel poněkud odlišně: xxxxxxxxxxxxxxxxxxxxxxxxxxxxx100 Co to vlastně znamená? Ukazatel v tomto případě obsahuje adresu druhého prvku v tečkovém páru a proto je čtvrtý bit nastaven na jedničku. 4. Vlastnosti (properties) Užitečné jsou vlastnosti (properties), které mohou být přiřazeny k libovolnému symbolu. Vlastnosti si můžeme představit jako seznam dvojic klíč:hodnota, který je k symbolu přiřazen v prvním prvku tečkového páru (viz též předchozí kapitolu). Pokud existuje alespoň jedna dvojice klíč:hodnota, může odkazovat na další dvojici a tvořit tak rozsáhlejší strukturu. Posledním prvkem této struktury je jméno symbolu. Podívejme se na schéma převzaté z dokumentace k PicoLispu. Zde je vytvořen symbol se jménem abcdefghijklmno (znaky jsou uloženy opačně kvůli způsobu jejich adresování). K tomuto symbolu náleží vlastnosti tvořené dvojicí klíč:hodnota, dále pak samotným klíčem a další dvojicí klíč:hodnota:

3 Symbol V VAL 'hgfedcba' 'onmlkji' tail ^ V name > KEY > V V VAL KEY VAL KEY Poznámka: i řetězce jsou reprezentovány pomocí symbolů. Krátké řetězce o délce maximálně sedmi ASCII znaků mohou být uloženy v jednom tečkovém páru, delší řetězce (15 znaků) ve dvou párech atd. Jazyk PicoLisp je tak jedním z mála programovacích jazyků, v nichž řetězce netvoří kontinuální pole znaků (další výjimkou je Logo ( v němž jsou řetězce tvořeny seznamem slov). 5. Přístup k vlastnostem, změna vlastností atd. Na práci s vlastnostmi není nic složitého: pro nastavení vlastnosti slouží funkce put, pro získání hodnoty vlastnosti (či vlastností) pak funkce get. Opět se podívejme na několik příkladů:

4 ; vytvoříme normální proměnnou (symbol navázaný na hodnotu) (setq x 42) 42 ; skutečně jde o proměnnou x 42 ;...běžnou proměnnou s numerickou hodnotou (* x x) 1764 ; přidáme k proměnné vlastnost (klíč:hodnota) (put 'x 'vyznam 'odpoved) odpoved ; stále se jedná o proměnnou x 42 ;...běžnou proměnnou s numerickou hodnotou (* x x) 1764 ; na hodnotu vlastnosti se můžeme dotázat (get 'x 'vyznam) odpoved ; přidáme druhou vlastnost (put 'x 'vypocet-provedl 'Hlubina-mysleni) Hlubina-mysleni ; přidáme třetí vlastnost (bez hodnoty) (put 'x 'overeno NIL) NIL ; dotaz na druhou vlastnost (get 'x 'vypocet-provedl) Hlubina-mysleni ; dotaz na vlastnost bez hodnoty (get 'x 'overeno) NIL ; dotaz na neexistující vlastnost (get 'x 'neznama) NIL Pokud potřebujete získat celou vlastnost ve formě tečka dvojice (tj. tak, jak je vlastnost uložena na haldě), můžete použít funkci prop: (prop 'x 'vyznam) (odpoved. vyznam) (prop 'x 'neznama) (NIL. neznama) 6. Reakce na chyby vzniklé při běhu programu V aplikacích naprogramovaných v PicoLispu je možné (i když možná poněkud neobvyklé) používat i řídicí struktury typu try-catch-finally známé spíše z běžných imperativních programovacích jazyků. Tyto struktury jsou realizovány formou (nelokálních) skoků a funkce, které tyto adresy cílů těchto skoků nastavují nebo skoky provádí, se jmenují quit, catch, finally a throw. Následuje několik příkladů na použití těchto funkcí: Funkce factorial, která dokáže vyhodit výjimku při špatném vstupu. Výjimka je zde pro jednoduchost reprezentována uživatelským symbolem 'negative:

5 (de factorial [n] (if (< n 0) (throw 'negative) (apply * (range 1 n)))) ; výpočet, který může skončit s chybou typu 'negative (catch 'negative (finally (println "ukonceni vypoctu") ; větev "finally" (for n 10 (println (factorial (- 5 n)))))) "ukonceni vypoctu" Podívejme se nyní, jakým způsobem je tato konstrukce vytvořena: 1. Počítáme s tím, že funkce factorial pro záporný argument vyhodí výjimku reprezentovanou uživatelským symbolem 'negative. 2. Celý kód, v němž může dojít k výjimce, je uzavřen do konstrukcecatch se specifikací výjimky. 3. Funkce finally obsahuje sekvenci výrazů, které se provedou nezávisle na tom, zda dojde k výjimce či nikoli. 4. Za finally (ta je dokonce nepovinná) je libovolně dlouhá sekvence výrazů, které se postupně vyhodnocují a případná výjimka se zachytí. 5. Ve skutečnosti tedy catch spíše odpovídá try v jiných jazycích. 7. Použití externích knihoven V PicoLispu je možné používat dva typy knihoven. Prvním typem jsou knihovny, jejichž zdrojové kódy jsou přímo napsány v PicoLispu. Tyto knihovny mají většinou příponu.l, naleznete je obvykle v adresáři /usr/share/picolisp/lib a načítají se příkazem load. Příkladem může být knihovna frac.l obsahující užitečné funkce použitelné při práci se zlomky:: # 26may11abu # (c) Software Lab. Alexander Burger (de gcd (A B) (until (=0 B) (let M (% A B) (setq A B B M) ) ) (abs A) ) (de lcm (A B) (*/ A B (gcd A B)) ) (de frac (N D) (if (=0 N) (cons 0 1) (and (=0 D) (quit "frac/0" N)) (let G (gcd N D) (if (gt0 N) (cons (/ N G) (/ D G)) (cons (- (/ N G)) (- (/ D G))) ) ) ) ) (de fabs (A) (cons (abs (car A)) (cdr A)) ) (de 1/f (A) (and (=0 (car A)) (quit "frac/0" A)) (if (gt0 (car A)) (cons (cdr A) (car A)) (cons (- (cdr A)) (- (car A))) ) )

6 (de f+ (A B) (let D (lcm (cdr A) (cdr B)) (let N (+ (* (/ D (cdr A)) (car A)) (* (/ D (cdr B)) (car B)) ) (if (=0 N) (cons 0 1) (let G (gcd N D) (cons (/ N G) (/ D G)) ) ) ) ) ) (de f- (A B) (if B (f+ A (f- B)) (cons (- (car A)) (cdr A)) ) ) (de f* (A B) (let (G (gcd (car A) (cdr B)) H (gcd (car B) (cdr A))) (cons (* (/ (car A) G) (/ (car B) H)) (* (/ (cdr A) H) (/ (cdr B) G)) ) ) ) (de f/ (A B) (f* A (1/f B)) ) (de f** (A N) (if (ge0 N) (cons (** (car A) N) (** (cdr A) N)) (cons (** (cdr A) (- N)) (** (car A) (- N))) ) ) (de fcmp (A B) (if (gt0 (* (car A) (car B))) (let Q (f/ A B) (* (if (gt0 (car A)) 1-1) (- (car Q) (cdr Q))) ) (- (car A) (car B)) ) ) (de f< (A B) (lt0 (fcmp A B)) ) (de f<= (A B) (ge0 (fcmp B A)) ) (de f> (A B) (gt0 (fcmp A B)) ) (de f>= (A B) (ge0 (fcmp A B)) ) Druhým typem jsou externí nativní knihovny. Při jejich použití je nutné deklarovat rozhraní mezi lispovskými parametry a parametry nativní funkce. Nativní funkce bez parametrů a bez návratové hodnoty vypadá následovně: void function(void); V PicoLispu se taková funkce může zavolat příkazem (první parametr je názvem knihovny): (native "library_name.so" "function") Je možné přesně specifikovat i hodnoty návratových typů:

7 (native "library_name.so" "function_name" NIL) (native "library_name.so" "function_name" 'I) (native "library_name.so" "function_name" 'N) (native "library_name.so" "function_name" 'N) (native "library_name.so" "function_name" 'S) (native "library_name.so" "function_name" 1.0) # void fun(void); # int fun(void); # long fun(void); # void *fun(void); # char *fun(void); # double fun(void); A samozřejmě volat i nativní funkce s parametry (povšimněte si automatického přetypování v případě celých čísel): (native "library_name.so" "function_name" NIL 123) (native "library_name.so" "function_name" NIL 1 2 3) # void fun(int); # void fun(int, long, short); Podobně je tomu u řetězců: (native "library_name.so" "function_name" NIL "hello") # void fun(char*); (native "library_name.so" "function_name" NIL 42 "world") # void fun(int, char*); (native "library_name.so" "function_name" NIL 42 "hello" "world") # void fun(int, char*, char*); Vzhledem k tomu, že PicoLisp nativně nepodporuje čísla s plovoucí řádovou čárkou, musíme si při volání nativních funkcí akceptujících parametry typu float či double dopomoci malým špinavým trikem: (native "library_name.so" "function_name" NIL ( ) ( ) ) # void fun(double, float); 8. Použití interaktivního prostředí PicoLispu Podobně jako je tomu u prakticky všech dalších implementací programovacího jazyka LISP či Scheme (popř. i Clojure, které nepochybně patří mezi Lispovské jazyky), je i PicoLisp vybaven interaktivním prostředím se smyčkou REPL (Read-Eval-Print-Loop). V tomto prostředí je možné zadávat jednotlivé výrazy, které jsou ihned vyhodnocovány a výsledky vyhodnocených výrazů jsou zapsány na standardní výstup, což je rozdílné od vyhodnocování výrazů v již hotových programech (skriptech), kde se výsledek výrazu buď předá jiné funkci nebo je zahozen. V interaktivním prostředí je možné využít výše popsané díky nimž je umožněno se vracet k posledním třem vyhodnoceným výsledkům. Navíc se při inicializaci interaktivního prostředí nahrají všechny základní systémové knihovny včetně knihovny používané pro ladění. Aby skutečně k této inicializaci došlo, je nutné interpret spouštět následujícím způsobem: pil + Interaktivní prostředí je vybaveno pamětí již zapsaných řádků (kill ring) a základními schopnostmi editace řádků, podobně jako je tomu v BASHi či podobných aplikacích (ty aplikace, které tuto funkcionalitu přímo nemají, je možné v některých případech obalit pomocí užitečného nástroje rlwrap). Možnost přístupu k historii již zapsaných výrazů a jejich následné editace je velmi užitečná, ovšem je nutné mít na paměti, že PicoLisp není plně kompatibilní s knihovnou GNU Readline, takže není možné použít všechny příkazy, které tato knihovna aplikacím nabízí. Podle preferencí uživatele je možné REPL ovládat příkazy, které jsou kompatibilní s Vimem či s konkurenčním Emacsem. Podívejme se nyní na tyto dvě možnosti podrobněji. 9. Editace s použitím klávesových zkratek Vimu Ve výchozím nastavení se používá řádkový editor částečně kompatibilní s editory Vi či Vim. To konkrétně znamená, že se při spuštění smyčky REPL editor nachází ve vkládacím režimu (insert mode), v němž pracují pouze základní příkazy. Pro přepnutí do normálního režimu (normal mode) je zapotřebí použít klávesu Esc, podobně jako ve Vi/Vimu. V normálním režimu, tedy po stisku Esc, lze používat klasické příkazy h, j, k, l pro ovládání kurzoru (doleva, doprava, listování historií příkazů) i některé další klávesy, například 0 pro skok na začátek řádku, $ pro skok na konec řádku, D pro vymazání řádku od pozice kurzoru doprava atd. Možnosti jsou však ještě větší, neboť funguje i příkaz f pro vyhledávání znaku (a skok na tento znak) a především lze použít příkaz % pro přeskok na párovou závorku. Tato funkce je v Lispovských jazycích takřka k nezaplacení. Pro přepnutí z normálního režimu do režimu vkládacího slouží zkratky a, i, A a I. Poznámka: pokud se vám nedaří přepnutí do normálního režimu, může to znamenat, že interaktivní REPL aktuálně používá mód s Emacsovými zkratkami. V tomto případě je nejlepší REPL opustit a z příkazové řádky zadat následující příkaz: pil -vi Editace s použitím klávesových zkratek Emacsu Smyčku REPL lze spustit v režimu částečně kompatibilním s Emacsem takto: pil -em + V tomto nastavení se již podle očekávání nerozlišuje mezi normálním a vkládacím režimem, protože se veškeré příkazy zadávají s využitím přeřaďovačů Ctrl nebo Alt (Meta). Mezi základní podporované příkazy samozřejmě patří příkazy pro pohyb kurzoru po textovém řádku, a to jak po znacích, tak i po slovech. Nalezneme zde obvyklé klávesové kombinace Ctrl+B, Alt+B, Ctrl+F i Alt+F, ale i příkazy pro přeskok na začátek řádku Ctrl+A a přeskok na konec řádku Ctrl+E. Pro pohyb v historii již dříve zadaných řádků slouží klávesové zkratky Ctrl+P a Ctrl+N, vymazání textu od pozice kurzoru až do konce řádku (užitečná operace) zajišťuje příkaz Ctrl+E. Samotný REPL lze opustit klávesovou zkratkou Ctrl+Q. 11. Repositář s demonstračními příklady Všechny demonstrační příklady, které jsme si v trojici článků o PicoLispu popsali, byly uloženy do Git repositáře dostupného na adrese

8 sentations ( přímé odkazy.. V následujících třech kapitolách naleznete na zdrojové kódy všech demonstračních příkladů ( 12. Příklady pro první článek o PicoLispu Odkaz na článek: ( # Příklad/knihovna Github 1 01-hello-world.lsp sentations/blob/master/lis p_scheme/picolisp/01-hello-world.lsp ( dot-pairs.lsp sentations/blob/master/lis p_scheme/picolisp/02-dot-pairs.lsp ( lists.lsp sentations/blob/master/lis p_scheme/picolisp/03-lists.lsp ( stack.lsp sentations/blob/master/lis p_scheme/picolisp/04-stack.lsp ( queue.lsp sentations/blob/master/lis p_scheme/picolisp/05-queue.lsp ( fifo.lsp sentations/blob/master/lis p_scheme/picolisp/06-fifo.lsp ( functions.lsp sentations/blob/master/lis p_scheme/picolisp/07-functions.lsp ( higherorder.lsp sentations/blob/master/lis p_scheme/picolisp/08-higher-order.lsp ( loops.lsp sentations/blob/master/lis p_scheme/picolisp/09-loops.lsp ( anonymousfunctions.lsp sentations/blob/master/lis p_scheme/picolisp/10-anonymous-functions.lsp ( 13. Příklady pro druhý článek o PicoLispu Odkaz na článek: ( # Příklad/knihovna Github 1 11-quoting.lsp sentations/blob/master/lis p_scheme/picolisp/11-quoting.lsp ( zero-one.lsp sentations/blob/master/lis p_scheme/picolisp/12-zero-one.lsp ( localvariables.lsp 4 14-booleanops.lsp sentations/blob/master/lis p_scheme/picolisp/13-local-variables.lsp ( sentations/blob/master/lis p_scheme/picolisp/14-boolean-ops.lsp ( comparison- sentations/blob/master/lis p_scheme/picolisp/15-comparison-ops.lsp

9 ops.lsp predicates.lsp 7 17-listconstructors.lsp ( sentations/blob/master/lis p_scheme/picolisp/16-predicates.lsp ( sentations/blob/master/lis p_scheme/picolisp/17-list-constructors.lsp ( filter.lsp sentations/blob/master/lis p_scheme/picolisp/18-filter.lsp ( mini-maxi.lsp sentations/blob/master/lis p_scheme/picolisp/19-mini-maxi.lsp ( controlstructures.lsp sentations/blob/master/lis p_scheme/picolisp/20-control-structures.lsp ( 14. Příklady pro dnešní článek o PicoLispu # Příklad/knihovna Github 1 21-at-symbol.lsp sentations/blob/master/lis p_scheme/picolisp/21-at-symbol.lsp ( properties.lsp sentations/blob/master/lis p_scheme/picolisp/22-properties.lsp ( catchfinally.lsp sentations/blob/master/lis p_scheme/picolisp/23-catch-finally.lsp ( 15. Literatura 1. Harold Abelson, Gerald Jay Sussman, Julie Sussman: Structure and Interpretation of Computer Programs (SICP) 1985, 1996, MIT Press 2. Daniel P. Friedman, Matthias Felleisen: The Little Schemer 1995, MIT Press 3. Daniel P. Friedman, Matthias Felleisen: The Seasoned Schemer 1995, MIT Press 4. McCarthy: Recursive functions of symbolic expressions and their computation by machine, part I Guy L. Steele: History of Scheme 2006, Sun Microsystems Laboratories 6. Kolář J., Muller K.: Speciální programovací jazyky Praha AutoLISP Release 9, Programmer's reference Autodesk Ltd., October AutoLISP Release 10, Programmer's reference Autodesk Ltd., September McCarthy, John; Abrahams, Paul W.; Edwards, Daniel J.; Hart, Timothy P.; Levin, Michael I. LISP 1.5 Programmer's Manual MIT Press. ISBN Carl Hewitt; Peter Bishop and Richard Steiger: A Universal Modular Actor Formalism for Artificial Intelligence Feiman, J.:

10 The Gartner Programming Language Survey (October 2001) Gartner Advisory 16. Odkazy na Internetu 1. The German School of Lisp ( 2. PicoLisp ( 3. A PicoLisp Tutorial ( 4. Pico Lisp Documentation cumentation ( 5. The PicoLisp Machine ( 6. PicoLisp na OpenHubu ( 7. Pico Lisp: A Case for Minimalist Interpreters? ( 8. PicoLisp na Wikipedii ki/picolisp ( 9. Programovací jazyk LISP a LISP machines ( 10. Programovací jazyk LISP (druhá část) ( 11. Steel Bank Common Lisp ( 12. CLISP (implementace Common Lispu) ( 13. PLEAC-PicoLisp ac_picolisp/index.html#aen4 ( 14. Rosetta Code Category:Lisp ki/category:lisp ( 15. Emacs timeline ( 16. EINE (Emacs Wiki) ( 17. EINE (Texteditors.org) ( 18. ZWEI (Emacs Wiki) ( 19. ZWEI (Texteditors.org) ( 20. Zmacs (Wikipedia) ( 21. Zmacs (Texteditors.org) ( 22. TecoEmacs (Emacs Wiki) macs/tecoemacs ( 23. Micro Emacs macs/microemacs ( 24. Micro Emacs (Wikipedia) ki/microemacs ( 25. EmacsHistory macs/emacshistory (

11 26. Seznam editorů s ovládáním podobným Emacsu či kompatibilních s příkazy Emacsu ( Root.cz ( informace nejen ze světa Linuxu. ISSN Copyright Internet Info, s.r.o. ( Všechna práva vyhrazena. Powered by Linux ( Při poskytování služeb nám pomáhají cookies (/redakce/politika-k-souborum-cookies/). Používáním webu s tím vyjadřujete souhlas.

PROGRAMOVÁNÍ V SHELLU

PROGRAMOVÁNÍ V SHELLU PROGRAMOVÁNÍ V SHELLU Prostředí, jazyk, zdrojový kód chceme-li posloupnost jistých příkazů používat opakovaně, případně z různých míst adresářové struktury, můžeme tuto posloupnost uložit souboru, který

Více

5a. Makra Visual Basic pro Microsoft Escel. Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Kalina

5a. Makra Visual Basic pro Microsoft Escel. Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Kalina 5a. Makra Visual Basic pro Microsoft Escel Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Kalina Cyklické odkazy a iterativní výpočty Zde bude stránka o cyklických odkazech a iteracích.

Více

Cvičení 2. Přesměrování vstupu a výstupu. Posloupnost příkazů. Příkazy pro informaci o uživatelích

Cvičení 2. Přesměrování vstupu a výstupu. Posloupnost příkazů. Příkazy pro informaci o uživatelích Cvičení 2 Přesměrování vstupu a výstupu Příkaz > abc výstup příkazu jde do souboru abc. Pokud soubor neexistuje je vytvořen. Pokud existuje je přepsán. Příkaz >> abc výstup příkazu jde do souboru abc.

Více

8 Třídy, objekty, metody, předávání argumentů metod

8 Třídy, objekty, metody, předávání argumentů metod 8 Třídy, objekty, metody, předávání argumentů metod Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost třídám a objektům, instančním

Více

4a. Makra Visual Basic pro Microsoft Excel Cyklické odkazy a iterace Makra funkce a metody

4a. Makra Visual Basic pro Microsoft Excel Cyklické odkazy a iterace Makra funkce a metody 4a. Makra Visual Basic pro Microsoft Excel Cyklické odkazy a iterace Makra funkce a metody Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Kalina Cyklické odkazy a iterativní výpočty

Více

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007 Úvod do programovacích jazyků (Java) Michal Krátký 1 Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků

Více

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování Řídicí struktury jazyka Java Struktura programu Příkazy jazyka Blok příkazů Logické příkazy Ternární logický operátor Verze pro akademický rok 2012/2013 1 Struktura programu

Více

Skripty - úvod. Linux - skripty 2

Skripty - úvod. Linux - skripty 2 Linux - skripty Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Libor Otáhalík. Dostupné z Metodického portálu www.rvp.cz, ISSN: 1802-4785. Provozuje Národní ústav pro vzdělávání,

Více

8. lekce Úvod do jazyka C 3. část Základní příkazy jazyka C Miroslav Jílek

8. lekce Úvod do jazyka C 3. část Základní příkazy jazyka C Miroslav Jílek 8. lekce Úvod do jazyka C 3. část Základní příkazy jazyka C Miroslav Jílek 1/41 Základní příkazy Všechny příkazy se píšou malými písmeny! Za většinou příkazů musí být středník (;)! 2/41 Základní příkazy

Více

Úvod do programování v jazyce Java

Úvod do programování v jazyce Java Úvod do programování v jazyce Java Petr Krajča Katedra informatiky Univerzita Palackého v Olomouci 5. říjen, 2011 Petr Krajča (UP) KMI/UP3J: Seminář I. 5.10.2011 1 / 17 Organizační informace email: petr.krajca@upol.cz

Více

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování Výrazy Operátory Výrazy Verze pro akademický rok 2012/2013 1 Operace, operátory Unární jeden operand, operátor se zapisuje ve většině případů před operand, v některých případech

Více

Struktura programu v době běhu

Struktura programu v době běhu Struktura programu v době běhu Miroslav Beneš Dušan Kolář Struktura programu v době běhu Vztah mezi zdrojovým programem a činností přeloženého programu reprezentace dat správa paměti aktivace podprogramů

Více

Úvod do programovacích jazyků (Java)

Úvod do programovacích jazyků (Java) Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2007/2008 c 2006 2008 Michal Krátký Úvod do programovacích

Více

Obsah. Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15

Obsah. Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15 Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15 KAPITOLA 1 Úvod do programo vání v jazyce C++ 17 Základní pojmy 17 Proměnné a konstanty 18 Typy příkazů 18 IDE integrované vývojové

Více

Úvod do jazyka C. Ing. Jan Fikejz (KST, FEI) Fakulta elektrotechniky a informatiky Katedra softwarových technologií

Úvod do jazyka C. Ing. Jan Fikejz (KST, FEI) Fakulta elektrotechniky a informatiky Katedra softwarových technologií 1 Fakulta elektrotechniky a informatiky Katedra softwarových technologií 12. října 2009 Organizace výuky Přednášky Teoretické základy dle normy jazyka C Cvičení Praktické úlohy odpřednášené látky Prostřední

Více

1. Uživatelská úprava příkazů II.

1. Uživatelská úprava příkazů II. 1. Uživatelská úprava příkazů II. Studijní cíl Tento blok kurzu vysvětluje, jak zadávat příkazy operačního systému během práce v AutoCADu a jak vytvářet zkratky pro často používané příkazy a dočasně předefinovat

Více

DUM 06 téma: Tvorba makra pomocí VBA

DUM 06 téma: Tvorba makra pomocí VBA DUM 06 téma: Tvorba makra pomocí VBA ze sady: 03 tematický okruh sady: Tvorba skript a maker ze šablony: 10 Algoritmizace a programování určeno pro: 4. ročník vzdělávací obor: 18-20-M/01 Informační technologie

Více

for (i = 0, j = 5; i < 10; i++) { // tělo cyklu }

for (i = 0, j = 5; i < 10; i++) { // tělo cyklu } 5. Operátor čárka, - slouží k jistému určení pořadí vykonání dvou příkazů - oddělím-li čárkou dva příkazy, je jisté, že ten první bude vykonán dříve než příkaz druhý. Např.: i = 5; j = 8; - po překladu

Více

1. Od Scheme k Lispu

1. Od Scheme k Lispu KATEDRA INFORMATIKY UNIVERZITA PALACKÉHO V OLOMOUCI www.inf.upol.cz Michal Krupka krupka.inf.upol.cz michal.krupka@upol.cz 7. listopadu, 77 46 Olomouc Paradigmata programování poznámky k přednášce. Od

Více

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632

Více

PSK3-9. Základy skriptování. Hlavička

PSK3-9. Základy skriptování. Hlavička PSK3-9 Název školy: Autor: Anotace: Vyšší odborná škola a Střední průmyslová škola, Božetěchova 3 Ing. Marek Nožka Základy skriptování v unixovém shellu Vzdělávací oblast: Informační a komunikační technologie

Více

5 Přehled operátorů, příkazy, přetypování

5 Přehled operátorů, příkazy, přetypování 5 Přehled operátorů, příkazy, přetypování Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně budou uvedeny detaily týkající se operátorů. Doba nutná k nastudování

Více

Paměť počítače. alg2 1

Paměť počítače. alg2 1 Paměť počítače Výpočetní proces je posloupnost akcí nad daty uloženými v paměti počítače Data jsou v paměti reprezentována posloupnostmi bitů (bit = 0 nebo 1) Připomeňme: paměť je tvořena řadou 8-mi bitových

Více

Programovací jazyk Pascal

Programovací jazyk Pascal Programovací jazyk Pascal Syntaktická pravidla (syntaxe jazyka) přesná pravidla pro zápis příkazů Sémantická pravidla (sémantika jazyka) pravidla, která každému příkazu přiřadí přesný význam Všechny konstrukce

Více

Datové struktury. alg12 1

Datové struktury. alg12 1 Datové struktury Jedna z klasických knih o programování (autor prof. Wirth) má název Algorithms + Data structures = Programs Datová struktura je množina dat (prvků, složek, datových objektů), pro kterou

Více

Matematika v programovacích

Matematika v programovacích Matematika v programovacích jazycích Pavla Kabelíková am.vsb.cz/kabelikova pavla.kabelikova@vsb.cz Úvodní diskuze Otázky: Jaké programovací jazyky znáte? S jakými programovacími jazyky jste již pracovali?

Více

24-2-2 PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE DATUM VYTVOŘENÍ: 23.7.2013 KLÍČOVÁ AKTIVITA: 02 PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) HODINOVÁ DOTACE: 1

24-2-2 PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE DATUM VYTVOŘENÍ: 23.7.2013 KLÍČOVÁ AKTIVITA: 02 PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) HODINOVÁ DOTACE: 1 24-2-2 PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE AUTOR DOKUMENTU: MGR. MARTINA SUKOVÁ DATUM VYTVOŘENÍ: 23.7.2013 KLÍČOVÁ AKTIVITA: 02 UČIVO: STUDIJNÍ OBOR: PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) INFORMAČNÍ TECHNOLOGIE

Více

7. Datové typy v Javě

7. Datové typy v Javě 7. Datové typy v Javě Primitivní vs. objektové typy Kategorie primitivních typů: integrální, boolean, čísla s pohyblivou řádovou čárkou Pole: deklarace, vytvoření, naplnění, přístup k prvkům, rozsah indexů

Více

MS Excel makra a VBA

MS Excel makra a VBA Autor: RNDr. Obsah: MS Excel makra a VBA 1 Využití, ukázky, výhody a nevýhody... 2 2 Makra a zabezpečení... 2 2.1 Nastavení zabezpečení Excelu... 2 2.2 Uložení maker do sešitu a osobního sešitu maker...

Více

Programování v Javě I. Leden 2008

Programování v Javě I. Leden 2008 Seminář Java Programování v Javě I Radek Kočí Fakulta informačních technologií VUT Leden 2008 Radek Kočí Seminář Java Programování v Javě (1) 1/ 45 Téma přednášky Datové typy Deklarace třídy Modifikátory

Více

Úvod do Unixu. man: příkaz pro zobrazení nápovědy k danému příkazu, programu (pokud je k dispozici), např. man cp. pwd: vypíše cestu k aktuální pozici

Úvod do Unixu. man: příkaz pro zobrazení nápovědy k danému příkazu, programu (pokud je k dispozici), např. man cp. pwd: vypíše cestu k aktuální pozici Základní příkazy Úvod do Unixu man: příkaz pro zobrazení nápovědy k danému příkazu, programu (pokud je k dispozici), např. man cp vypíše nápovědu o příkazu cp, manuálová stránka se ukončí stisknutím klávesy

Více

MQL4 COURSE. By Coders guru www.forex-tsd.com -3 DATA TYPES. Doufám, že předchozí lekce SYNTAX se vám líbila. V té jsme se pokoušeli zodpovědět:

MQL4 COURSE. By Coders guru www.forex-tsd.com -3 DATA TYPES. Doufám, že předchozí lekce SYNTAX se vám líbila. V té jsme se pokoušeli zodpovědět: MQL4 COURSE By Coders guru www.forex-tsd.com -3 DATA TYPES Vítám vás ve třetí lekci svého MQL4 kurzu. Doufám, že předchozí lekce SYNTAX se vám líbila. V té jsme se pokoušeli zodpovědět: Jaký formát můžete

Více

Funkce, podmíněný příkaz if-else, příkaz cyklu for

Funkce, podmíněný příkaz if-else, příkaz cyklu for Funkce, podmíněný příkaz if-else, příkaz cyklu for Definice funkce Funkce je pojmenovaná část programu, kterou lze dále zavolat v jiné části programu. V Pythonu je definována klíčovým slovem def. Za tímto

Více

6 Příkazy řízení toku

6 Příkazy řízení toku 6 Příkazy řízení toku Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost příkazům pro řízení toku programu. Pro všechny tyto základní

Více

6. Příkazy a řídící struktury v Javě

6. Příkazy a řídící struktury v Javě 6. Příkazy a řídící struktury v Javě Příkazy v Javě Příkazy v Javě Řídicí příkazy (větvení, cykly) Přiřazovací příkaz = Řízení toku programu (větvení, cykly) Volání metody Návrat z metody - příkaz return

Více

Programování v Javě I. Únor 2009

Programování v Javě I. Únor 2009 Seminář Java Programování v Javě I Radek Kočí Fakulta informačních technologií VUT Únor 2009 Radek Kočí Seminář Java Programování v Javě (1) 1/ 44 Téma přednášky Datové typy Deklarace třídy Modifikátory

Více

7 Formátovaný výstup, třídy, objekty, pole, chyby v programech

7 Formátovaný výstup, třídy, objekty, pole, chyby v programech 7 Formátovaný výstup, třídy, objekty, pole, chyby v programech Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost formátovanému výstupu,

Více

Základy programování (IZP)

Základy programování (IZP) Základy programování (IZP) Šesté počítačové cvičení Brno University of Technology, Faculty of Information Technology Božetěchova 1/2, 612 66 Brno - Královo Pole Petr Veigend, iveigend@fit.vutbr.cz 6. týden

Více

Čtvrtek 3. listopadu. Makra v Excelu. Obecná definice makra: Spouštění makra: Druhy maker, způsoby tvorby a jejich ukládání

Čtvrtek 3. listopadu. Makra v Excelu. Obecná definice makra: Spouštění makra: Druhy maker, způsoby tvorby a jejich ukládání Čtvrtek 3. listopadu Makra v Excelu Obecná definice makra: Podle definice je makro strukturovanou definicí jedné nebo několika akcí, které chceme, aby MS Excel vykonal jako odezvu na nějakou námi definovanou

Více

Stručný návod k programu Octave

Stručný návod k programu Octave Stručný návod k programu Octave Octave je interaktivní program vhodný pro technické výpočty. Je nápadně podobný programu MATLAB, na rozdíl od něho je zcela zadarmo. Jeho domovská vebová stránka je http://www.octave.org/,

Více

Funkcionální programování úvod

Funkcionální programování úvod Funkcionální programování úvod Imperativní jazyky založeny na von Neumann architektuře primárním kriteriem je efektivita Modelem je Turingův stroj Základní konstrukcí je příkaz Příkazy mění stavový prostor

Více

Maturitní otázky z předmětu PROGRAMOVÁNÍ

Maturitní otázky z předmětu PROGRAMOVÁNÍ Wichterlovo gymnázium, Ostrava-Poruba, příspěvková organizace Maturitní otázky z předmětu PROGRAMOVÁNÍ 1. Algoritmus a jeho vlastnosti algoritmus a jeho vlastnosti, formy zápisu algoritmu ověřování správnosti

Více

Tematický celek Proměnné. Proměnné slouží k dočasnému uchovávání hodnot během provádění aplikace Deklarace proměnných

Tematický celek Proměnné. Proměnné slouží k dočasnému uchovávání hodnot během provádění aplikace Deklarace proměnných Tematický celek 03 3.1 Proměnné Proměnné slouží k dočasnému uchovávání hodnot během provádění aplikace. 3.1.1 Deklarace proměnných Dim jméno_proměnné [As typ] - deklarace uvnitř procedury platí pouze pro

Více

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: 1. lekce 1. Minimální program do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: #include #include int main() { printf("hello world!\n"); return 0; 2.

Více

Základy jazyka C# Obsah přednášky. Architektura.NET Historie Vlastnosti jazyka C# Datové typy Příkazy Prostory jmen Třídy, rozhraní

Základy jazyka C# Obsah přednášky. Architektura.NET Historie Vlastnosti jazyka C# Datové typy Příkazy Prostory jmen Třídy, rozhraní Základy jazyka C# doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Obsah přednášky Architektura.NET Historie Vlastnosti

Více

Jak v Javě primitivní datové typy a jejich reprezentace. BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické

Jak v Javě primitivní datové typy a jejich reprezentace. BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické Jak v Javě primitivní datové typy a jejich reprezentace BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické Obsah Celočíselný datový typ Reálný datový typ Logický datový typ, typ Boolean

Více

PHP tutoriál (základy PHP snadno a rychle)

PHP tutoriál (základy PHP snadno a rychle) PHP tutoriál (základy PHP snadno a rychle) Druhá, vylepšená offline verze. Připravil Štěpán Mátl, http://khamos.wz.cz Chceš se naučit základy PHP? V tom případě si prostuduj tento rychlý průvodce. Nejdříve

Více

Předměty. Algoritmizace a programování Seminář z programování. Verze pro akademický rok 2012/2013. Verze pro akademický rok 2012/2013

Předměty. Algoritmizace a programování Seminář z programování. Verze pro akademický rok 2012/2013. Verze pro akademický rok 2012/2013 Předměty Algoritmizace a programování Seminář z programování Verze pro akademický rok 2012/2013 Verze pro akademický rok 2012/2013 1 Přednášky Jiřina Královcová MTI, přízemí budovy A Tel: 48 53 53 521

Více

Paradigmata programování 1

Paradigmata programování 1 Paradigmata programování 1 Explicitní aplikace a vyhodnocování Vilém Vychodil Katedra informatiky, PřF, UP Olomouc Přednáška 6 V. Vychodil (KI, UP Olomouc) Explicitní aplikace a vyhodnocování Přednáška

Více

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: 1. lekce 1. Minimální program do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: #include #include int main() { printf("hello world!\n"); return 0; 2.

Více

Zápis programu v jazyce C#

Zápis programu v jazyce C# Zápis programu v jazyce C# Základní syntaktická pravidla C# = case sensitive jazyk rozlišuje velikost písmen Tzv. bílé znaky (Enter, mezera, tab ) ve ZK překladač ignoruje každý příkaz končí ; oddělovač

Více

FUNKCIONÁLNÍ A LOGICKÉ PROGRAMOVÁNÍ 3. CVIČENÍ

FUNKCIONÁLNÍ A LOGICKÉ PROGRAMOVÁNÍ 3. CVIČENÍ FUNKCIONÁLNÍ A LOGICKÉ PROGRAMOVÁNÍ 3. CVIČENÍ 2011 Jan Janoušek MI-FLP Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Page 1 of 6 Cviceni 3 Obsah seznamy, cons-buňka, car, cdr, first,

Více

Úvodem 9. Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10. Než začneme 11

Úvodem 9. Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10. Než začneme 11 Obsah Úvodem 9 Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10 Kapitola 1 Než začneme 11 Dynamické vs. statické stránky 11 Co je a k čemu slouží PHP 12 Instalace potřebného softwarového

Více

typová konverze typová inference

typová konverze typová inference Seminář Java Programování v Javě II Radek Kočí Fakulta informačních technologií VUT Únor 2008 Radek Kočí Seminář Java Programování v Javě (2) 1/ 36 Téma přednášky Rozhraní: použití, dědičnost Hierarchie

Více

14.4.2010. Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod.

14.4.2010. Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod. Základy programování (IZAPR) Přednáška 7 Ing. Michael Bažant, Ph.D. Katedra softwarových technologií Kancelář č. 229, Náměstí Čs. legií Michael.Bazant@upce.cz Obsah přednášky 7 Parametry metod, předávání

Více

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování Struktura programu Vytvoření nové aplikace Struktura programu Základní syntaktické elementy První aplikace Verze pro akademický rok 2012/2013 1 Nová aplikace NetBeans Ve vývojovém

Více

C2115 Praktický úvod do superpočítání

C2115 Praktický úvod do superpočítání C2115 Praktický úvod do superpočítání IX. lekce Petr Kulhánek, Tomáš Bouchal kulhanek@chemi.muni.cz Národní centrum pro výzkum biomolekul, Přírodovědecká fakulta, Masarykova univerzita, Kotlářská 2, CZ-61137

Více

Operátory, výrazy. Tomáš Pitner, upravil Marek Šabo

Operátory, výrazy. Tomáš Pitner, upravil Marek Šabo Operátory, výrazy Tomáš Pitner, upravil Marek Šabo Operátor "Znaménko operace", pokyn pro vykonání operace při vyhodnocení výrazu. V Javě mají operátory napevno daný význam, nelze je přetěžovat jako v

Více

Programování v jazyce C pro chemiky (C2160) 12. Specifické problémy při vývoji vědeckého softwaru

Programování v jazyce C pro chemiky (C2160) 12. Specifické problémy při vývoji vědeckého softwaru Programování v jazyce C pro chemiky (C2160) 12. Specifické problémy při vývoji vědeckého softwaru Reprezentace reálnách čísel v počítači Reálná čísla jsou v počítači reprezentována jako čísla tvaru ±x

Více

IUJCE 07/08 Přednáška č. 1

IUJCE 07/08 Přednáška č. 1 Úvod do předmětu Literatura Záznamy přednášek a vaše poznámky Harbison, S. P., Steele, G. L.: Referenční příručka jazyka C Herout, P.: Učebnice jazyka C Kernighan, B. W., Ritchie, D. M.: The C Programming

Více

Práce s binárními soubory. Základy programování 2 Tomáš Kühr

Práce s binárními soubory. Základy programování 2 Tomáš Kühr Práce s binárními soubory Základy programování 2 Tomáš Kühr Binární soubory Mohou mít libovolnou strukturu Data jsou uložena ve stejné podobě jako v paměti za běhu programu Výhody: Pro uložení je potřeba

Více

Řídicí příkazy KAPITOLA 3. Vstup znaků z klávesnice

Řídicí příkazy KAPITOLA 3. Vstup znaků z klávesnice Řídicí příkazy V této kapitole se seznámíte s příkazy, které řídí postup provádění programu Příkazy řízení programu se řadí do třech kategorií: příkazy výběru, kam patří příkazy if a switch, příkazy iterace,

Více

Lekce 6 IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ JAZYK C

Lekce 6 IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ JAZYK C Identifikační údaje školy Číslo projektu Název projektu Číslo a název šablony Autor Tematická oblast Číslo a název materiálu Anotace Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace

Více

MS Excel 2010. Základy maker. Operační program Vzdělávání pro konkurenceschopnost. Projekt Zvyšování IT gramotnosti zaměstnanců vybraných fakult MU

MS Excel 2010. Základy maker. Operační program Vzdělávání pro konkurenceschopnost. Projekt Zvyšování IT gramotnosti zaměstnanců vybraných fakult MU MS Excel 2010 Základy maker Operační program Vzdělávání pro konkurenceschopnost Projekt Zvyšování IT gramotnosti zaměstnanců vybraných fakult MU Registrační číslo: CZ.1.07/2.2.00/15.0224, Oblast podpory:

Více

DSL manuál. Ing. Jan Hranáč. 27. října 2010. V této kapitole je stručný průvodce k tvorbě v systému DrdSim a (v

DSL manuál. Ing. Jan Hranáč. 27. října 2010. V této kapitole je stručný průvodce k tvorbě v systému DrdSim a (v DSL manuál Ing. Jan Hranáč 27. října 2010 V této kapitole je stručný průvodce k tvorbě v systému DrdSim a (v současné době krátký) seznam vestavěných funkcí systému. 1 Vytvoření nového dobrodružství Nejprve

Více

Hlavní užitečné funkce Visual LISPu jsou:

Hlavní užitečné funkce Visual LISPu jsou: Základy AutoLISPU AutoLISP je programovací jazyk, který muže automatizací často používaných opakovaných úloh podstatně zvýšit vaší produktivitu. Nabízí náhled do vnitřního fungování AutoCADu a muže sloužit

Více

Úvod do programování - Java. Cvičení č.4

Úvod do programování - Java. Cvičení č.4 Úvod do programování - Java Cvičení č.4 1 Sekvence (posloupnost) Sekvence je tvořena posloupností jednoho nebo více příkazů, které se provádějí v pevně daném pořadí. Příkaz se začne provádět až po ukončení

Více

Proměnné a datové typy

Proměnné a datové typy Proměnné a datové typy KAPITOLA 2 V této kapitole: Primitivní datové typy Proměnné Opakování Mezi základní dovednosti každého programátora bezesporu patří dobrá znalost datových typů. Ta vám umožní efektivní

Více

Odvozené a strukturované typy dat

Odvozené a strukturované typy dat Odvozené a strukturované typy dat Petr Šaloun katedra informatiky FEI VŠB-TU Ostrava 14. listopadu 2011 Petr Šaloun (katedra informatiky FEI VŠB-TU Ostrava) Odvozené a strukturované typy dat 14. listopadu

Více

PHP - úvod. Kapitola seznamuje se základy jazyka PHP a jeho začleněním do HTML stránky.

PHP - úvod. Kapitola seznamuje se základy jazyka PHP a jeho začleněním do HTML stránky. PHP - úvod Kapitola seznamuje se základy jazyka PHP a jeho začleněním do HTML stránky. Klíčové pojmy: PHP, webový prohlížeč, HTTP, FTP Základní pojmy služba WWW = 1990 první prototyp serveru, od roku 1994

Více

2 Datové typy v jazyce C

2 Datové typy v jazyce C 1 Procedurální programování a strukturované programování Charakteristické pro procedurální programování je organizace programu, který řeší daný problém, do bloků (procedur, funkcí, subrutin). Původně jednolitý,

Více

Pokročilé programování v jazyce C pro chemiky (C3220) Pokročilá témata jazyka C++

Pokročilé programování v jazyce C pro chemiky (C3220) Pokročilá témata jazyka C++ Pokročilé programování v jazyce C pro chemiky (C3220) Pokročilá témata jazyka C++ Prostory jmen U programů mohou někdy nastat kolize mezi jmény (tříd, funkcí, globálních proměnných atd.) pokud v různých

Více

Příručka pro aplikaci KSnapshot

Příručka pro aplikaci KSnapshot Richard J. Moore Robert L. McCormick Brad Hards Kontrolor: Lauri Watts Vývojář: Richard J Moore Vývojář: Matthias Ettrich Překlad: Lukáš Vlček 2 Obsah 1 Úvod 5 2 Použití KSnapshot 6 2.1 Spuštění KSnapshot.....................................

Více

Algoritmizace prostorových úloh

Algoritmizace prostorových úloh INOVACE BAKALÁŘSKÝCH A MAGISTERSKÝCH STUDIJNÍCH OBORŮ NA HORNICKO-GEOLOGICKÉ FAKULTĚ VYSOKÉ ŠKOLY BÁŇSKÉ - TECHNICKÉ UNIVERZITY OSTRAVA Algoritmizace prostorových úloh Datové struktury Daniela Szturcová

Více

Lekce 33 IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ

Lekce 33 IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ Identifikační údaje školy Číslo projektu Název projektu Číslo a název šablony Autor Tematická oblast Číslo a název materiálu Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská

Více

WSH Windows Script Hosting. OSY 2 Přednáška číslo 2 opravená verze z 15.10.2007

WSH Windows Script Hosting. OSY 2 Přednáška číslo 2 opravená verze z 15.10.2007 WSH Windows Script Hosting OSY 2 Přednáška číslo 2 opravená verze z 15.10.2007 Co je skript? Skriptování nástroj pro správu systému a automatizaci úloh Umožňuje psát skripty jednoduché interpretované programové

Více

Algoritmizace prostorových úloh

Algoritmizace prostorových úloh INOVACE BAKALÁŘSKÝCH A MAGISTERSKÝCH STUDIJNÍCH OBORŮ NA HORNICKO-GEOLOGICKÉ FAKULTĚ VYSOKÉ ŠKOLY BÁŇSKÉ - TECHNICKÉ UNIVERZITY OSTRAVA Algoritmizace prostorových úloh Datové struktury Daniela Szturcová

Více

Jazyk C# a platforma.net

Jazyk C# a platforma.net Jazyk C# a platforma.net Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Pavel Štěpán, 2011 Syntaxe jazyka C# - 1. část BI-DNP Evropský sociální fond

Více

Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost rozhraním a výjimkám.

Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost rozhraním a výjimkám. 13 Rozhraní, výjimky Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost rozhraním a výjimkám. Doba nutná k nastudování 2 2,5 hodiny

Více

IB015 Neimperativní programování. Organizace a motivace kurzu, programovací jazyk Haskell. Jiří Barnat

IB015 Neimperativní programování. Organizace a motivace kurzu, programovací jazyk Haskell. Jiří Barnat IB015 Neimperativní programování Organizace a motivace kurzu, programovací jazyk Haskell Jiří Barnat Sekce IB015 Neimperativní programování 01 str. 2/36 Organizace kurzu Cíle kurzu IB015 Neimperativní

Více

Proměnná. Datový typ. IAJCE Cvičení č. 3. Pojmenované místo v paměti sloužící pro uložení hodnoty.

Proměnná. Datový typ. IAJCE Cvičení č. 3. Pojmenované místo v paměti sloužící pro uložení hodnoty. Proměnná Pojmenované místo v paměti sloužící pro uložení hodnoty. K pojmenování můžeme použít kombinace alfanumerických znaků, včetně diakritiky a podtržítka Rozlišují se velká malá písmena Název proměnné

Více

ZPRO v "C" Ing. Vít Hanousek. verze 0.3

ZPRO v C Ing. Vít Hanousek. verze 0.3 verze 0.3 Hello World Nejjednoduší program ukazující vypsání textu. #include using namespace std; int main(void) { cout

Více

Operační systémy. Cvičení 3: Programování v C pod Unixem

Operační systémy. Cvičení 3: Programování v C pod Unixem Operační systémy Cvičení 3: Programování v C pod Unixem 1 Obsah cvičení Editace zdrojového kódu Překlad zdrojového kódu Základní datové typy, struktura, ukazatel, pole Načtení vstupních dat Poznámka: uvedené

Více

Úvod do UNIXu. Okruh č. 4 - vi, regulární výrazy, grep a sed. Jakub Galgonek. verze r2. inspirováno materiály Davida Hokszy

Úvod do UNIXu. Okruh č. 4 - vi, regulární výrazy, grep a sed. Jakub Galgonek. verze r2. inspirováno materiály Davida Hokszy Okruh č.4 Okruh č. 4 - vi, regulární výrazy, grep a sed verze 1.0.0-r2 inspirováno materiály Davida Hokszy Textové editory Okruh č.4 vi(m) prastarý textový editor (1976) dostupný v podstatě na každém UNIXovém

Více

Přednáška 7. Celočíselná aritmetika. Návratový kód. Příkazy pro větvení výpočtu. Cykly. Předčasné ukončení cyklu.

Přednáška 7. Celočíselná aritmetika. Návratový kód. Příkazy pro větvení výpočtu. Cykly. Předčasné ukončení cyklu. Přednáška 7 Celočíselná aritmetika. Návratový kód. Příkazy pro větvení výpočtu. Cykly. Předčasné ukončení cyklu. 1 Příkaz expr výraz Celočíselná aritmetika I Zašle na standardní výstup vyhodnocení výrazu

Více

KNIHOVNA LETNI_CAS. edice verze 1.0. Knihovna letni_cas. Ing. Zdeněk Rozehnal MICROPEL s.r.o. 2008

KNIHOVNA LETNI_CAS. edice verze 1.0. Knihovna letni_cas. Ing. Zdeněk Rozehnal MICROPEL s.r.o. 2008 KNIHOVNA LETNI_CAS Knihovna několika málo funkcí zajišťující komfortní přechod na letní nebo zimní čas. Přechod je možné provádět automaticky nebo manuálně po vyvolání upozornění. Až na malé výjimky může

Více

Operační systémy. Cvičení 4: Programování v C pod Unixem

Operační systémy. Cvičení 4: Programování v C pod Unixem Operační systémy Cvičení 4: Programování v C pod Unixem 1 Obsah cvičení Řídící struktury Funkce Dynamická alokace paměti Ladění programu Kde najít další informace Poznámka: uvedené příklady jsou dostupné

Více

Tvorba fotogalerie v HTML str.1

Tvorba fotogalerie v HTML str.1 Tvorba fotogalerie v HTML str.1 obr. A obr. B 1) Spustíme PsPad, vytvoříme nový dokument a otevře se nám okno nový soubor, kde si můžeme zvolit jaký chceme typ. My označíme HTML a potvrdíme. 2) Pro správné

Více

Operační systémy. Cvičení 1: Seznámení s prostředím

Operační systémy. Cvičení 1: Seznámení s prostředím Operační systémy Cvičení 1: Seznámení s prostředím 1 Obsah cvičení Organizace cvičení Učebna K311 Unixová učebna K327 (Solárium) Přihlášení do Unixu Spouštění vzorových příkladů vzdáleně (Unix) lokálně

Více

MQL4 COURSE. By Coders guru www.forex-tsd.com. -5 Smyčky & Rozhodnutí Part 1

MQL4 COURSE. By Coders guru www.forex-tsd.com. -5 Smyčky & Rozhodnutí Part 1 MQL4 COURSE By Coders guru www.forex-tsd.com -5 Smyčky & Rozhodnutí Part 1 Vítejte v páté lekci mého kurzu MQL4. Předchozí lekci si můžete stáhnout z tohoto odkazu: http://forex-tsd.com /attachment.php?attachmentid=399

Více

ÚVOD DO UNIXU. Metodický list č. 1

ÚVOD DO UNIXU. Metodický list č. 1 ÚVOD DO UNIXU Metodický list č. 1 Účelem tohoto předmětu je naučit studenty pracovat s operačním systémem typu UNIX (orientováno hlavně na příkazovou řádku a shell) a porozumět jeho filosofii. Libovolnou

Více

Logické operace. Datový typ bool. Relační operátory. Logické operátory. IAJCE Přednáška č. 3. může nabýt hodnot: o true o false

Logické operace. Datový typ bool. Relační operátory. Logické operátory. IAJCE Přednáška č. 3. může nabýt hodnot: o true o false Logické operace Datový typ bool může nabýt hodnot: o true o false Relační operátory pravda, 1, nepravda, 0, hodnoty všech primitivních datových typů (int, double ) jsou uspořádané lze je porovnávat binární

Více

JAVA. Další jazyky kompilovatelné do Java byte-code

JAVA. Další jazyky kompilovatelné do Java byte-code JAVA Další jazyky kompilovatelné do Java byte-code Přehled Scala objektový a funkcionální jazyk Closure funkcionální jazyk dialekt Lispu Groovy skritpovací jazyk Kotlin nová Java Jython Java implementace

Více

Začínáme vážně programovat. Řídící struktury Přetypování Vstupně výstupní operace Vlastní tvorba programů

Začínáme vážně programovat. Řídící struktury Přetypování Vstupně výstupní operace Vlastní tvorba programů Začínáme vážně programovat Řídící struktury Přetypování Vstupně výstupní operace Vlastní tvorba programů Podmínky a cykly Dokončení stručného přehledu řídících struktur jazyka C. Složený příkaz, blok Pascalské

Více

VISUAL BASIC. Práce se soubory

VISUAL BASIC. Práce se soubory VISUAL BASIC Práce se soubory Práce se soubory 1/2 2 Vstupní data pro programy bývají uloženy do souborů Vstupy pro výpočet, nastavení vzhledu aplikace Výsledky práce programu je potřeba uchovat uložit

Více

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování Strukturované proměnné Struktura, union Jazyk C České vysoké učení technické Fakulta elektrotechnická A8B14ADP Jazyk C - Strukturované proměnné Ver.1.10 J. Zděnek 20151 Struktura

Více

Formátová specifikace má tvar (některé sekce nemají smysl pro načítání) %

Formátová specifikace má tvar (některé sekce nemají smysl pro načítání) % vstup a výstup na konzolu - vstupním zařízením je klávesnice, výstupním monitor (přístup jako k sériovým zařízením) - spojení s konzolami je nastaveno automaticky na začátku programu - ke konzole je možné

Více

FUNKCIONÁLNÍ A LOGICKÉ PROGRAMOVÁNÍ 5. CVIČENÍ

FUNKCIONÁLNÍ A LOGICKÉ PROGRAMOVÁNÍ 5. CVIČENÍ FUNKCIONÁLNÍ A LOGICKÉ PROGRAMOVÁNÍ 5. CVIČENÍ 2011 Jan Janoušek MI-FLP Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Page 1 of 5 Lekce 5 Obsah sekvence, sequencep, subseq, reverse,

Více

SPJA, cvičení 1. ipython, python, skripty. základy syntaxe: základní datové typy, řetězce. podmínky: if-elif-else, vyhodnocení logických výrazů

SPJA, cvičení 1. ipython, python, skripty. základy syntaxe: základní datové typy, řetězce. podmínky: if-elif-else, vyhodnocení logických výrazů SPJA, cvičení 1 ipython, python, skripty základy syntaxe: základní datové typy, řetězce podmínky: if-elif-else, vyhodnocení logických výrazů cykly: for, while kolekce: seznam, n-tice, slovník funkce, list

Více

PROGRAMOVÁNÍ V C++ CVIČENÍ

PROGRAMOVÁNÍ V C++ CVIČENÍ PROGRAMOVÁNÍ V C++ CVIČENÍ INFORMACE Michal Brabec http://www.ksi.mff.cuni.cz/ http://www.ksi.mff.cuni.cz/~brabec/ brabec@ksi.mff.cuni.cz gmichal.brabec@gmail.com PODMÍNKY ZÁPOČTU Základní podmínky společné

Více