KMI/PRCL. FORMAT, LOOP, packages, QuickLoad
|
|
- Bohumír Vopička
- před 7 lety
- Počet zobrazení:
Transkript
1 KMI/PRCL FORMAT, LOOP, packages, QuickLoad
2 Ještě chvilku makra (defmacro with-gensyms (vars &body body) `(let,(loop for v in vars collect `(,v (gensym))),@body)) (defmacro once-only ((&rest names) &body body) (let ((gensyms (loop for n in names collect (gensym)))) `(with-gensyms (,@gensyms) `(let (,,@(loop for g in gensyms for n in names collect ``(,,g,,n))),(let (,@(loop for n in names for g in gensyms collect `(,n,g))),@body))))) (defmacro numeric-if (expr pos zero neg) (with-gensyms (val) `(let ((,val,expr)) (cond ((plusp,val),pos) ((zerop,val),zero) (t,neg)))) (defmacro square (x) (once-only (x) `(*,x,x))) nešlo by to ještě lépe?
3 defmacro/g! (defun g!-symbol-p (s) (and (symbolp s) (> (length (symbol-name s)) 2) (string= (symbol-name s) "G!" :start1 0 :end1 2))) (defmacro defmacro/g! (name args &body body) (let ((syms (remove-duplicates (remove-if-not #'g!-symbol-p (flatten body))))) `(defmacro,name,args (let,(mapcar (lambda (s) `(,s (gensym,(subseq (symbol-name s) 2)))) syms),@body))))
4 defmacro/g! (defmacro/g! nif (expr pos zero neg) `(let ((,g!result,expr)) (cond ((plusp,g!result),pos) ((zerop,g!result),zero) (t,neg)))) > (macroexpand-1 '(defmacro/g! nif (expr pos zero neg) `(let ((,g!result,expr)) (cond ((plusp,g!result),pos) ((zerop,g!result),zero) (t,neg))))) (DEFMACRO NIF (EXPR POS ZERO NEG) (LET ((G!RESULT (GENSYM "RESULT"))) `(LET ((,G!RESULT,EXPR)) (COND ((PLUSP,G!RESULT),POS) ((ZEROP,G!RESULT),ZERO) (T,NEG)))))
5 defmacro! (defun o!-symbol-p (s)...) (defun o!-symbol-to-g!-symbol (s) (symb "G!" (subseq (symbol-name s) 2))) (defmacro defmacro! (name args &body body) (let* ((os (remove-if-not #'o!-symbol-p args)) (gs (mapcar #'o!-symbol-to-g!-symbol os))) `(defmacro/g!,name,args `(let,(mapcar #'list
6 defmacro! (defmacro! square (o!x) `(*,g!x,g!x)) > (macroexpand '(square (incf x))) (LET ((#:X848 (INCF X))) (* #:X848 #:X848)) (defmacro! square (o!x) `(progn (format t "[~a results in ~a]" ',o!x,g!x) (* g!x g!x))) > (let ((x 5)) (square (incf x))) [(INCF X) results in 6] 36 nif?
7 Ještě chvilku printer nejmocnější funkce pro tisk: FORMAT (jazyk v jazyku :-) format destination control-string &rest args => result destination: nil, t, stream, string result: nil (pro destination různé od nil) daný string (pro destination nil) control-string formátovací řetězec (mnohem! bohatší než printf)
8 control-string ochutnávka direktivy začínají ~ následují nepovinné parametry znak dané direktivy > (format t "~$" pi) 3.14 > (format t "~5$" pi)
9 Direktivy direktivy začínají ~ nepovinné parametry oddělují se čárkou buď přímo hodnota nebo znaky v či # nepovinné modifikátory znak : znak dané direktivy > (format t "~$" pi) 3.14 > (format t "~5$" pi) > (format t "~v$" 3 pi) > (format t "~#$" pi) 3.1 > (format t "~d" ) > (format t "~:d" ) 1,000,000 > (format t "~@d" ) > (format t "~:@d" ) +1,000,000 > (format t "~,5F" pi)
10 Základní formátování ~A (aesthetic) human-readable form (format nil "The value is: ~a" 10) ==> "The value is: 10" (format nil "The value is: ~a" "foo") ==> "The value is: foo" (format nil "The value is: ~a" (list 1 2 3)) ==> "The value is: (1 2 3) (format nil ~a ~:a nil nil) ==> "NIL ()" ~S forma zpětně čitelná readerem (netisknutelné obj. <# >) ~A, ~S: až čtyři parametry pro formátování (padding) ~% newline ~& freshline (newline jen když je potřeba) ~~ tilda
11 Tisk znaků ~C totéž jako ~A, ale jen pro znaky ~:C netisknutelné znaky tiskne jako jména (format t "Syntax error. Unexpected character: ~:c" char) ==> Syntax error. Unexpected character: a ==> Syntax error. Unexpected character: Space ~@C tisk v Common Lisp notaci (format nil "Znak ~C je v CL ~@c" #\A #\A) ==> Znak A je v CL #\A ~:@C dodatečná informace, jak daný znak napsat na klávesnici ne vždy přesné ne každá implementace obsahuje (format nil "~:@c" (code-char 0)) ==> "^@
12 Tisk celých čísel pomocí ~A, ~S nebo pomocí speciálních direktiv ~D, ~X, ~O, ~B, ~R ~D tisk čísel v desítkové soustavě první parametr: minimální počet znaků výstupu druhý parametr: znak pro padding (výchozí je mezera) (format nil "~12d" ) ==> " " (format nil "~12,'0d" ) ==> " třetí a čtvrtý parametr ovlivňují výpis s modifikátorem : (format nil "~:d" ) ==> "100,000,000" (format nil "~,,'.,4:d" ) ==> ~X, ~O, ~B tisk čísel v hexadecimální, oktálové, binární soustavě ~R tisk čísla v zadané číselné soustavě + speciální chování (viz dále)
13 Tisk floating-point čísel pomocí ~A, ~S nebo pomocí speciálních direktiv ~F, ~E, ~G, ~$ ~F fixed-format tiskne v decimálním formátu pokud je číslo příliš malé nebo velké, použije se vědecká notace (format nil "~f" pi) ==> " d0" (format nil "~,4f" pi) ==> "3.1416" ~E exponential tiskne vždy ve vědecké notaci (format nil "~e" pi) ==> " d+0" (format nil "~,4e" pi) ==> d+0" ~$ monetary zjednodušení ~F parametry naopak než u ~F (format nil "~$" pi) ==> "3.14" (format nil "~2,4$" pi) ==> " "
14 Jazykové hrátky ~R číslo slovně (format nil "~r" 1234) ==> "one thousand two hundred thirty-four" ~:R pořadové číslo slovně (format nil "~:r" 1234) ==> "one thousand two hundred thirty-fourth" číslo pomocí římských číslic (format nil 1234) ==> "MCCXXXIV" (format nil 1234) ==> "MCCXXXIIII" ~P množné číslo, s dvojtečkou znovu zpracuje předchozí argument (format nil "file~p" 1) ==> "file" (format nil "file~p" 10) ==> "files" (format nil "file~p" 0) ==> files (format nil "~r file~:p" 1) ==> "one file" (format nil "~r file~:p" 10) ==> "ten files" (format nil "~r file~:p" 0) ==> "zero files" (format nil "~r famil~:@p" 1) ==> "one family" (format nil "~r famil~:@p" 10) ==> "ten families" (format nil "~r famil~:@p" 0) ==> "zero families"
15 Jazykové hrátky ~( ~) změna velikosti písmen (format nil "~(~a~) ~a" "FOO" "FOO") ==> foo FOO (format nil 124) ==> "cxxiv" (format nil "~(~a~)" "the Quick BROWN fox") ==> "the quick brown fox (format nil "the Quick BROWN fox") ==> "The quick brown fox (format nil "~:(~a~)" "the Quick BROWN fox") ==> "The Quick Brown Fox (format nil "the Quick BROWN fox") ==> "THE QUICK BROWN FOX"
16 Podmíněné formátování ~[ první; druhá; ~] na základě argumentu se vybere jedna část, která je dále zpracována formatem (format nil "~[cero~;uno~;dos~]" 0) ==> "cero" (format nil "~[cero~;uno~;dos~]" 1) ==> "uno" (format nil "~[cero~;uno~;dos~]" 2) ==> dos" (format nil "~[cero~;uno~;dos~]" 3) ==> " (format nil "~[cero~;uno~;dos~:;mucho~]" 100) ==> "mucho" využití # (počet zbývajících argumentů) (defparameter *list-etc* "~#[NONE~;~a~;~a and ~a~:;~a, ~a~]~#[~; and ~a~:;, ~a, etc~]. ) (format nil *list-etc*) ==> "NONE." (format nil *list-etc* 'a) ==> "A." (format nil *list-etc* 'a 'b) ==> "A and B." (format nil *list-etc* 'a 'b 'c) ==> "A, B and C." (format nil *list-etc* 'a 'b 'c 'd) ==> "A, B, C, etc." (format nil *list-etc* 'a 'b 'c 'd 'e) ==> "A, B, C, etc."
17 Podmíněné formátování modifikátor : jen dvě části oddělené ~; vybere se první, pokud je argument nil; jinak druhá (format t "~:[FAIL~;pass~]" test-result) jen jedna část pokud není argument nil, tak se část zpracuje; argument je k dispozici (format nil "~@[x = ~a ~]~@[y = ~a~]" 10 20) ==> "x = 10 y = 20" (format nil "~@[x = ~a ~]~@[y = ~a~]" 10 nil) ==> "x = 10 " (format nil "~@[x = ~a ~]~@[y = ~a~]" nil 20) ==> "y = 20" (format nil "~@[x = ~a ~]~@[y = ~a~]" nil nil) ==> ""
18 Iterace ~{ tělo ~} argument musí být seznam postupně bere prvky seznamu a vyhodnocuje tělo (format nil "~{~a, ~}" (list 1 2 3)) ==> "1, 2, 3, ~^ přerušení vyhodnocení těla při posledním prvku seznamu (format nil "~{~a~^, ~}" (list 1 2 3)) ==> "1, 2, 3 zbytek argumentů se zpracuje jako seznam (format nil "~@{~a~^, ~}" 1 2 3) ==> "1, 2, 3 parametr # uvnitř iterace počet prvků zbývajících ke zpracování lze využít s ~[ ~]
19 FORMAT-uji, -uješ, -uje ~* zkonzumuje argument bez tisku ~:* umožní předchozí argument znovu použít (format nil "~r ~:*(~d)" 1) ==> "one (1)" ~* uvnitř ~{ ~} umožňuje skákat mezi prvky procházeného seznamu ~/ zavolá určenou funkci pro zpracování argumentu a spousta dalších
20 L p REPL (loop (print (eval (read))))
21 Funkce loop mocný nástroj pro cykly jazyk v jazyku (podobně jako format) makro loop umožňuje: cyklit přes numerické hodnoty nebo prvky datových struktur sbírat, počítat, sčítat, minimalizovat či maximalizovat hodnoty, které se objeví v průběhu cyklení vyhodnocovat libovolné s-výrazy řídit ukončení cyklu vytvářet lokální proměnné a další
22 Iterace většinou začíná klíčovým slovem for nebo as umožňuje iterovat přes: interval čísel, vzestupně i sestupně prvky seznamu cons-buňky tvořící seznam prvky vektorů (včetně např. znaků tvořících řetězec) dvojic klíč-hodnota v hash tabulkách výsledky opakovaného vyhodnocení s-výrazu lze mít více klauzulí for iterují se postupně podle výskytu cyklus končí, jakmile jedna z částí for skončí (loop for item in list for i from 1 to 10 do (something))
23 Iterace (interval čísel) za slovem for jedna až tři z následujících částí následovaná hodnotou: odkud: from, downfrom, upfrom kam: to, upto (<=), below (<), downto, above o kolik: by výchozí hodnoty: 0 (loop for i upto 10 collect i) při odčítání nutno specifikovat, že se bude odčítat (loop for i from 20 to 10...) ; tělo se neprovede ani jednou (loop for i from 20 downto 10 ) or (loop for i downfrom 20 to 10 ) namísto for lze použít repeat počet-opakování-těla
24 Iterace (kolekce) Za slovem for: in (seznamy) (loop for i in (list ) collect i) ==> ( ) in by (loop for i in (list ) by #'cddr collect i) ==> (10 30) on (přes cons-buňky) (loop for x on (list ) collect x) ==> (( ) (20 30) (30)) on by (loop for x on (list ) by #'cddr collect x) ==> (( ) (30 40)) across (vektory) (loop for x across "abcd" collect x) ==> (#\a #\b #\c #\d) being (hash tabulky, packages) (loop for var being things in hash-or-package ) (loop for k being the hash-keys in h...)
25 Iterace (equals-then) ve tvaru (loop for var = initial-value-form [ then step-form ]...) při první iteraci je hodnota var dána hodnotou initial-value-form při dalších iteracích se vyhodnotí step-form a výsledek se naváže na var pokud část then chybí, při každé iteraci se znovu vyhodnotí initial-value-form (loop repeat 5 for x = 0 then y for y = 1 then (+ x y) ;zde se využívá už nová hodnota x collect y) ==> ( ) (loop repeat 5 for x = 0 then y and y = 1 then (+ x y) ;pracuje se starou hodnotou x collect y) ==> ( )
26 Práce s proměnnými with var [ = value-form ] lokální proměnné implicitní destructuring-bind (loop for (a b) in '((1 2) (3 4) (5 6)) do (format t "a: ~a; b: ~a~%" a b)) a: 1; b: 2 a: 3; b: 4 a: 5; b: 6 NIL (loop for cons on list do (format t "~a" (car cons)) (loop for (item. rest) on list do (format t "~a" item) when (cdr cons) do (format t ", )) when rest do (format t ", ")) (loop for (a nil) in '((1 2) (3 4) (5 6)) collect a) ==> (1 3 5)
27 Akumulace hodnot verb form [ into var ], kde verb je: collect, collecting sbírá hodnoty do seznamu append, appending, nconc, nconcing count, counting počet non-nil hodnot sum, summing maximize, maximizing, minimize, minimizing (defparameter *random* (loop repeat 100 collect (random 10000))) (loop for i in *random* counting (evenp i) into evens counting (oddp i) into odds summing i into total maximizing i into max minimizing i into min finally (return (list min max total evens odds)))
28 Vyhodnocování s-výraziva do, doing (loop for i from 1 to 10 do (print i)) return, return-from (+ pojmenování loop bloku) (block outer (loop for i from 0 return 100) ; 100 returned from LOOP (print "This will print") 200) ==> 200 (block outer (loop for i from 0 do (return-from outer 100)) ; 100 returned from BLOCK (print "This won't print") 200) ==> 100 (loop named outer for list in lists do (loop for item in list do (if (what-i-am-looking-for-p item) (return-from outer item))))
29 Podmíněná exekuce klauzule do => normální lisp (if, when) (loop for i from 1 to 10 do (when (evenp i) (print i))) takto však nelze podmíněně vyhodocovat collect atd. v rámci loop lze využít if, when, unless (dokonce jsou anaforické) (loop for i from 1 to 10 when (evenp i) sum i) ==> 30 (loop for key in some-list when (gethash key some-hash) collect it)
30 Drobky na závěr initially, finally mohou se odkazovat na proměnné cyklu initially proběhne vždy termination tests while, until podmínka jemnější než return, provede se finally always, never podmínka testují podmínku, celý loop vrací t/nil (if (loop for n in numbers always (evenp n)) (print "All numbers even. )) (if (loop for n in numbers never (oddp n) (print "All numbers even.")) thereis non-nil hodnota způsobí ukončení cyklu a návrat této hodnoty (loop for char across "abc123" thereis (digit-char-p char)) ==> 1 (loop for char across "abcdef" thereis (digit-char-p char)) ==> NIL
31 iterate knihovna, loop na steroidech, lze plně programovat instalace: ruční, nebo lépe pomocí quicklispu nejdelší seznam v seznamu seznamů: (iterate (for elt in list-of-lists) (finding elt maximizing (length elt))) pomocí loop: (loop with max-elt = nil with max-key = 0 for elt in list-of-lists for key = (length elt) do (when (> key max-key) (setq max-elt elt max-key key)) finally (return max-elt))
32 Packages text => symbol => intern v aktuální package dvě různé knihovny, obě mají funkci hello-world jak se vyhnout kolizím názvů? package: tabulka mapující řetězce na symboly (+ něco navíc) package má své jméno vždy se nacházíme v nějaké package: *package*
33 find-symbol, intern find-symbol hledá v package symbol pro daný textový řetězec lze zadat i ve které package má hledat vrací symbol nebo nil intern podobně jako find-symbol pokud nenalezne odpovídající symbol, vytvoří vazbu v package
34 (ne)kvalifikovaná jména nekvalifikovaná jména jména symbolů bez dvojteček reader převede na uppercase a předá intern => získá symbol pracuje s aktuální package kvalifikovaná jména obsahují jednu nebo dvě dvojtečky reader rozdělí název na jméno package a jméno symbolu jedna dvojtečka symbol musí být exportovaný z dané package dvě dvojtečky lze přistoupit i k neexportovaným symbolům speciální chování: keywords :FOO, do-not-intern symboly #:FOO
35 Základní pojmy accessible symbol lze v dané package najít pomocí find-symbol buď je přímo v package je importovaný z jiné package pro dané jméno lze mít jen jeden přístupný symbol při importu symbolu z jiné package lze zastínit jiný symbol
36 Základní packages COMMON-LISP-USER (CL-USER) využívá CL COMMON-LISP (CL) exportuje všechna jména ze standardu CL KEYWORD slouží k internování keywords symboly v REPLu nové symboly se internují v CL-USER standardní funkce, makra se berou z CL pokud by CL-USER nepoužívala CL: (cl:defun add-2 (x) (cl:+ x 2))
37 Vlastní package (for kittehz) užití: chceme náš program, knihovnu, atd. dát k všeobecnému užitku zabalíme do package exportované symboly tvoří API nelze vynutit zákaz přístupu k internals (dvojdvojtečková notace) CL-USER> (defpackage :meow.kittehzunited.mouse-catch-helper (:use :common-lisp)) CL-USER> (in-package :meow.kittehzunited.mouse-catch-helper) MOUSE-CATCH-HELPER> ;změna aktuální package
38 and for dogz too! CL-USER> (defun hello-world () (princ Woof")) CL-USER> (in-package :meow.kittehzunited.mouse-catch-helper) MOUSE-CATCH-HELPER> (defun hello-world () (princ " ")) MOUSE-CATCH-HELPER> (hello-world) MOUSE-CATCH-HELPER> (in-package :cl-user) CL-USER> (hello-world) Woof CL-USER> (meow.kittehzunited.mouse-catch-helper::hello-world)
39 itteh bitteh kitteh committeh recommendz CL-USER> (defpackage :meow.kittehzunited.mouse-catch-helper (:use :common-lisp) (:export :find-mouse :lock-target :catch)) ;využití celé package v jiné package: CL-USER> (defpackage :meow.kittehzunited.kittehz-utils (:use :common-lisp :meow.kittehzunited.mouse-catch-helper)) ;cherry-picking symbolů pro využití v dané package: CL-USER> (defpackage :meow.kittehzunited.kittehz-advanced-utils (:use :common-lisp) (:import-from :meow.kittehzunited.nap :sleep-on-keyboard))
40 itteh bitteh kitteh committeh recommendz CL-USER> (defpackage :meow.kittehzunited.kittehz-advanced-utils (:use :common-lisp :org.animalz.stuff :meow.kittehzunited.core) (:import-from :meow.kittehzunited.nap :sleep-on-keyboard) (:shadow :bark) ;zastíníme symbol štěkat (:shadowing-import-from :meow.kittehzunited.core :walk))
41 cave-eats CL-USER> (meow) The function COMMON-LISP-USER::MEOW is undefined. [Condition of type UNDEFINED-FUNCTION] CL-USER> (use-package :meow.kittehzunited.core) Using package `CORE' results in name conflicts for these symbols: meow [Condition of type PACKAGE-ERROR]
42 QuickLisp library manager for Common Lisp aktuálně přes 1200 knihoven kompatibilní s velkým množstvím implementací CL
43 QuickLisp HowTo instalace: stáhnout quicklisp.lisp a načíst jej $curl -O $sbcl --load quicklisp.lisp This is SBCL 1. ==== quicklisp quickstart loaded ==== To continue, evaluate: (quicklisp-quickstart:install) * (quicklisp-quickstart:install)
44 QuickLisp HowTo použití: je třeba načíst quicklisp.lisp (load "~/quicklisp/setup.lisp") lze zautomatizovat přidáním do konfiguračního skriptu (ql:add-to-init-file) načtení knihovny pomocí ql:quickload (ql:quickload vecto ) automaticky stáhne a načte všechny knihovny, na kterých daná knihovna závisí ql:uninstall, ql:system-apropos, ql:update-all-dists
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,
LISP Definice funkcí
LISP Definice funkcí (DEFUN jméno-fce (argumenty) tělo-fce ) Přiřadí jménu-fce lambda výraz definovaný tělem-fce, tj. (LAMBDA (argumenty) tělo-fce). Vytvoří funkční vazbu symbolu jméno-fce Struktura symbolu:
PARADIGMATA PROGRAMOVÁNÍ 2A MAKRA III
KATEDRA INFORMATIKY, P ÍRODOV DECKÁ FAKULTA UNIVERZITA PALACKÉHO, OLOMOUC PARADIGMATA PROGRAMOVÁNÍ 2A MAKRA III Slajdy vytvo ili Vilém Vychodil a Jan Kone ný (KI, UP Olomouc) PP 2A, Lekce 5 Makra III 1
Paradigmata programování II Korutiny a nedeterminismus
Paradigmata programování II Korutiny a nedeterminismus Vilém Vychodil Katedra informatiky, Univerzita Palackého v Olomouci 27. dubna 2006 Vilém Vychodil (UP Olomouc) PP II, Př. 9: Korutiny, nedeterminismus
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
PARADIGMATA PROGRAMOVÁNÍ 2A INTERPRET S VEDLEJŠÍMI EFEKTY A MAKRY
KATEDRA INFORMATIKY, PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITA PALACKÉHO, OLOMOUC PARADIGMATA PROGRAMOVÁNÍ 2A INTERPRET S VEDLEJŠÍMI EFEKTY A MAKRY VÝVOJ TOHOTO UČEBNÍHO MATERIÁLU JE SPOLUFINANCOVÁN EVROPSKÝM
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
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
PARADIGMATA PROGRAMOVÁNÍ 2 KORUTINY, NEDETERMINISMUS
KATEDRA INFORMATIKY, P ÍRODOV DECKÁ FAKULTA UNIVERZITA PALACKÉHO, OLOMOUC PARADIGMATA PROGRAMOVÁNÍ 2 KORUTINY, NEDETERMINISMUS Slajdy vytvo ili Vilém Vychodil a Jan Kone ný (KI, UP Olomouc) PP 2, Lekce
Paradigmata programování 1
Paradigmata programování 1 Kvazikvotování a manipulace se symbolickými výrazy Vilém Vychodil Katedra informatiky, PřF, UP Olomouc Přednáška 11 V. Vychodil (KI, UP Olomouc) Kvazikvotování, manipulace se
Semestrální práce z předmětu. Jan Bařtipán / A03043 bartipan@studentes.zcu.cz
Semestrální práce z předmětu KIV/UPA Jan Bařtipán / A03043 bartipan@studentes.zcu.cz Zadání Program přečte ze vstupu dvě čísla v hexadecimálním tvaru a vypíše jejich součet (opět v hexadecimální tvaru).
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é
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
9.3.2010 Program převod z desítkové na dvojkovou soustavu: /* Prevod desitkove na binarni */ #include <stdio.h>
9.3.2010 Program převod z desítkové na dvojkovou soustavu: /* Prevod desitkove na binarni */ #include int main(void) { int dcislo, kolikbcislic = 0, mezivysledek = 0, i; int vysledek[1000]; printf("zadejte
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,
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č
Tvorba výrazu: speciální znaky shellu se uvádějí do apostrofů jednotlivé části výrazu se oddělují mezerou
Příkaz expr Tvorba výrazu: speciální znaky shellu se uvádějí do apostrofů jednotlivé části výrazu se oddělují mezerou výraz1 výraz2 vrátí první výraz, pokud není nulový a není prázdným řetězcem, jinak
Obsah přednášky. programovacího jazyka. Motivace. Princip denotační sémantiky Sémantické funkce Výrazy Příkazy Vstup a výstup Kontinuace Program
Denotační sémantika programovacího jazyka doc. Dr. Ing. Miroslav Beneš katedra informatiky, A-1007 59 732 4213 Obsah přednášky Princip denotační sémantiky Sémantické funkce Výrazy Příkazy Vstup a výstup
Ú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
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
Lekce 2. Řetězce a práce s nimi. Vstup a výstup. C2184 Úvod do programování v Pythonu podzim 2016
. Vstup/výstup Lekce 2. Vstup/výstup. a práce s nimi. Vstup a výstup. C2184 Úvod do programování v Pythonu podzim 2016 Formátování Národní centrum pro výzkum biomolekul Masarykova univerzita 2.1 Char (znak)
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.
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/,
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.
Úvod do Matlabu. Praha & EU: Investujeme do vaší budoucnosti. 1 / 24 Úvod do Matlabu
Vytěžování dat, cvičení 1: Úvod do Matlabu Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Fakulta elektrotechnická, ČVUT 1 / 24 Úvod do Matlabu Proč proboha Matlab? Matlab je SW pro
Řízení toku programu Programátor musí být schopen nějak ovlivňovat běh programu a k tomu má několik možností:
Delphi lekce 7 Minimum z Object Pascalu (část 2) Řízení toku programu Programátor musí být schopen nějak ovlivňovat běh programu a k tomu má několik možností: Větvení cykly větvení volání podprogramů V
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
NPRG030 Programování I, 2010/11
Podmínka = něco, co JE, nebo NENÍ splněno typ Boolean hodnoty: TRUE pravda FALSE lež domluva (optimistická): FALSE < TRUE když X, Y jsou (číselné) výrazy, potom X = Y X Y X < Y X > Y X = Y jsou
Definice uživatelského typu. Uživatelem definované typy. Součinové datové typy. Součtové datové typy. FLP - Uživatelem definované typy
Uživatelem definované typy Ing. Lumír Návrat katedra informatiky, A 1018 59 732 3252 Definice uživatelského typu data Color = Red Green Blue Color typový konstruktor Red / Green / Blue datové konstruktory
Slepé prohledávání do šířky Algoritmus prohledávání do šířky Při tomto způsobu prohledávání máme jistotu, že vždy nalezneme koncový stav, musíme ale p
Hanojská věž Stavový prostor 1. množina stavů S = {s} 2. množina přechodů mezi stavy (operátorů) Φ = {φ} s k = φ ki (s i ) zadání [1 1 1] řešení [3 3 3] dva možné první tahy: [1 1 2] [1 1 3] který tah
PARADIGMATA PROGRAMOVÁNÍ 2 PŘÍSLIBY A LÍNÉ VYHODNOCOVÁNÍ
KATEDRA INFORMATIKY, PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITA PALACKÉHO, OLOMOUC PARADIGMATA PROGRAMOVÁNÍ 2 PŘÍSLIBY A LÍNÉ VYHODNOCOVÁNÍ Slajdy vytvořili Vilém Vychodil a Jan Konečný (KI, UP Olomouc) PP 2, Lekce
Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007
Úvod do programovacích jazyků (Java) Michal Krátký 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ů
awk programovatelný filtr
awk programovatelný filtr Spouštění: Awk vzor {akce} nebo awk f prg_soubor [ soubory ] čte řádky ze zadaných souborů, nebo ze standardního vstupu výstup směřuje na standardní výstup Struktura programu:
- jak udělat konstantu long int: L long velka = 78L;
Konstanty (konstatní hodnoty) Např.: - desítkové: 25, 45, 567, 45.678 - osmičkové: 045, 023, 03 vždy začínají 0 - šestnáctkové: 0x12, 0xF2, 0Xcd, 0xff, 0xFF - jak udělat konstantu long int: 245566553L
NPRG030 Programování I, 2016/17 1 / :58:13
NPRG030 Programování I, 2016/17 1 / 31 10. 10. 2016 10:58:13 Podmínka = něco, co JE, nebo NENÍ splněno typ Boolean hodnoty: TRUE pravda FALSE lež domluva (optimistická): FALSE < TRUE NPRG030 Programování
Aplikovaná informatika. Podklady předmětu Aplikovaná informatika pro akademický rok 2006/2007 Radim Farana. Obsah. Obsah předmětu
1 Podklady předmětu pro akademický rok 2006/2007 Radim Farana Obsah 2 Obsah předmětu, Požadavky kreditového systému, Datové typy jednoduché, složené, Programové struktury, Předávání dat. Obsah předmětu
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
Tabulkový procesor. Základní rysy
Tabulkový procesor Tabulkový procesor je počítačový program zpracovávající data uložená v buňkách tabulky. Program umožňuje použití vzorců pro práci s daty a zobrazuje výsledné hodnoty podle vstupních
Počítačová simulace logistických procesů I. 11. přednáška Programování v SimTalk. ŠAVŠ, Fábry
Počítačová simulace logistických procesů I. ŠAVŠ, Fábry 29.4.2019 Cíl přednášky Seznámit s možnostmi práce v cyklech a tabulkami. 2 Struktura přednášky Podmíněné příkazy s INSPECT. Příkazy s opakujícím
PG 9.5 novinky ve vývoji aplikací
PG 9.5 novinky ve vývoji aplikací P2D2 2016 Antonín Houska 18. února 2016 Část I GROUPING SETS, ROLLUP, CUBE Agregace Seskupení řádků tabulky (joinu) do podmnožin podle určitého kĺıče. Za každou podmnožinu
Informační systémy 2008/2009. Radim Farana. Obsah. Dotazy přes více tabulek
5 Vysoká škola báňská Technická univerzita Ostrava Fakulta strojní, Katedra automatizační techniky a řízení 2008/2009 Radim Farana 1 Obsah Jazyk SQL, Spojení tabulek, agregační dotazy, jednoduché a složené
Příklad: Součet náhodných čísel ve vektoru s počtem prvků, které zadá uživatel, pomocí sum() a pomocí cyklu for. Ověříme, že příliš výpisů na
Příklad: Součet náhodných čísel ve vektoru s počtem prvků, které zadá uživatel, pomocí sum() a pomocí cyklu for. Ověříme, že příliš výpisů na obrazovku zpomaluje tím, že zobrazíme okno (proužek) o stavu
Regulární výrazy. Vzory
Regulární výrazy Regulární výrazy jsou určeny pro práci s textovými řetězci, jsou součástí J2SDK až od verze 1.4, v předchozích verzích je potřeba použít některou z externích knihoven, např. knihovnu ORO
- znakové konstanty v apostrofech, např. a, +, (znak mezera) - proměnná zabírá 1 byte, obsahuje kód příslušného znaku
Znaky - standardní typ char var Z, W: char; - znakové konstanty v apostrofech, např. a, +, (znak mezera) - proměnná zabírá 1 byte, obsahuje kód příslušného znaku - v TP (často i jinde) se používá kódová
IW5 - Programování v.net a C# 4 Pokročilé konstrukce C#
4 - Pokročilé konstrukce C# IW5 - Programování v.net a C# Strana 1 Obsah přednášky Výjimky Delegáti Události Lambda výrazy Strana 2 Výjimky a jejich zpracování Slouží k ošetření výjimečných (chybových)
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
Proměnné a parametry. predn_08.odt :00:38 1
Proměnné a parametry predn_08.odt 16.04.2007 14:00:38 1 Proměnné a parametry Jméno proměnné - identifikátor [a-za-z_][a-za-z_0-9]* Hodnota proměnné textový řetězec celočíselná hodnota - ne v sh Přesun
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
Python profesionálně: dynamické parametry, generátory, lambda funkce... with. Dynamické parametry
1 z 9 09.11.2015 10:02 Python profesionálně: dynamické parametry, generátory, lambda funkce a with Články - Michal Hořejšek (https://www.zdrojak.cz/autori/michal-horejsek/) - Různé (https://www.zdrojak.cz/ruzne/)
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
Činnost: 1) Vyhodnotí se výraz E. 2) Jeho hodnota se uloží do proměnné V.
Přiřazovací příkaz V := E, V jednoduchá nebo indexovaná proměnná, E výraz, jehož typ je kompatibilní podle přiřazení s typem proměnné V. 1) Vyhodnotí se výraz E. 2) Jeho hodnota se uloží do proměnné V.
Hanojská věž. T2: prohledávání stavového prostoru. zadání [1 1 1] řešení [3 3 3] dva možné první tahy: [1 1 2] [1 1 3]
Hanojská věž zadání [1 1 1] řešení [3 3 3] dva možné první tahy: [1 1 2] [1 1 3] který tah je lepší? (co je lepší tah?) P. Berka, 2012 1/21 Stavový prostor 1. množina stavů S = {s} 2. množina přechodů
Skriptování co se do minula nevešlo, práce s řetězci a řešení rovnic
co byste měli umět po dnešní lekci: používat proměnnou nargin používat globální proměnné pracovat s řetězci, převést řetězec na číslo a naopak načíst, zpracovat a uložit textový soubor (funkce pro práci
GUIDELINES FOR CONNECTION TO FTP SERVER TO TRANSFER PRINTING DATA
GUIDELINES FOR CONNECTION TO FTP SERVER TO TRANSFER PRINTING DATA What is an FTP client and how to use it? FTP (File transport protocol) - A protocol used to transfer your printing data files to the MAFRAPRINT
Algoritmizace a programování. Terminálový vstup a výstup
Algoritmizace a programování Terminálový vstup a výstup Verze pro akademický rok 2012/2013 1 Výpis hodnot Terminálový vstup a výstup budeme používat jako základní způsob interakce programu s uživatelem
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
Úvod do Operačních Systémů
Úvod do Operačních Systémů 9. cvičení Proměnné, složené příkazy, funkce, numerické výpočty. 1 Obsah Numerické výpočty v shellu externí příkazy Proměnné práce s proměnnými práce s pozičními parametry Bloky
Základy jazyka C. Základy programování 1 Martin Kauer (Tomáš Kühr)
Základy jazyka C Základy programování 1 Martin Kauer (Tomáš Kühr) Organizační záležitosti Konzultace Pracovna 5.076 Úterý 15:00 16:30 Emailem martin.kauer@upol.cz Web předmětu http://tux.inf.upol.cz/~kauer/index.php?content=var&class=zp1
Ú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í
1. Téma 12 - Textové soubory a výjimky
1. Téma 12 - Textové soubory a výjimky Cíl látky Procvičit práci se soubory s využitím výjimek. 1.1. Úvod Program, aby byl programem, my mít nějaké výstupy a vstupy. Velmi častým případem je to, že se
A7B38UOS Úvod do operačních systémů. 6. Cvičení. Příkazy sed a awk
A7B38UOS Úvod do operačních systémů 6. Cvičení Příkazy sed a awk sed sed [přepínače] 'příkaz' [soubory] sed [přepínače] -f skript [soubory] Stream editor - edituje neinteraktivně jeden nebo více souborů.
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
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
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
Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu:
Čtvrtek 8 prosince Pascal - opakování základů Struktura programu: 1 hlavička obsahuje název programu, použité programové jednotky (knihovny), definice konstant, deklarace proměnných, všechny použité procedury
Formátové specifikace formátovací řetězce
27.2.2007 Formátové specifikace formátovací řetězce - je to posloupnost podle které překladač pozná jaký formát má výstup mít - posloupnosti začínají znakem % a určující formát vstupu/výstupu - pokud chcete
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
FUNKCIONÁLNÍ A LOGICKÉ PROGRAMOVÁNÍ 2. CVIČENÍ
FUNKCIONÁLNÍ A LOGICKÉ PROGRAMOVÁNÍ 2. CVIČENÍ 2011 Jan Janoušek MI-FLP Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Page 1 of 7 MI-FLP cviceni 2 Obsah atomy (čísla, řetězy, symboly),
Programování 2 (NMIN102) Soubory. RNDr. Michal Žemlička, Ph.D.
Programování 2 (NMIN102) Soubory RNDr. Michal Žemlička, Ph.D. Soubor abstrakce vstupního, výstupního či vstupně výstupního zařízení textová, typovaná a netypovaná varianta základní operace: otevření, čtení/zápis,
PARADIGMATA PROGRAMOVÁNÍ 2 AKTUÁLNÍ POKRAƒOVÁNÍ
KATEDRA INFORMATIKY, P ÍRODOV DECKÁ FAKULTA UNIVERZITA PALACKÉHO, OLOMOUC PARADIGMATA PROGRAMOVÁNÍ 2 AKTUÁLNÍ POKRAƒOVÁNÍ Slajdy vytvo ili Vilém Vychodil a Jan Kone ný (KI, UP Olomouc) PP 2, Lekce 8 Aktuální
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
Základy programování Proměnné Procedury, funkce, události Operátory a podmínková logika Objekt Range a Cells, odkazy Vlastnosti, metody a události
Petr Blaha Základy programování Proměnné Procedury, funkce, události Operátory a podmínková logika Objekt Range a Cells, odkazy Vlastnosti, metody a události Cykly Základní funkce (matematické, textové,
Uložené procedury Úvod ulehčit správu zabezpečení rychleji
Uložené procedury Úvod Uložená procedura (rutina) je sada příkazů SQL, které jsou uložené na databázovém serveru a vykonává se tak, že je zavolána prostřednictvím dotazu názvem, který jim byl přiřazen
Gymnázium, Brno, Slovanské nám. 7 WORKBOOK. Mathematics. Teacher: Student:
WORKBOOK Subject: Teacher: Student: Mathematics.... School year:../ Conic section The conic sections are the nondegenerate curves generated by the intersections of a plane with one or two nappes of a cone.
IUJCE Přednáška č. 11. další prvky globální proměnné, řízení viditelnosti proměnných, funkcí
Velké projekty v C velký = 100ky a více řádek udržovatelnost, bezpečnost, přehlednost kódu rozdělení programu do více souborů další prvky globální proměnné, řízení viditelnosti proměnných, funkcí Globální
Příklady: (y + (sin(2*x) + 1)*2)/ /2 * 5 = 8.5 (1+3)/2 * 5 = /(2 * 5) = 1.3. Pavel Töpfer, 2017 Programování 1-3 1
Výraz - syntaxe i sémantika podobné jako v matematice - obsahuje proměnné, konstanty, operátory, závorky, volání funkcí - všechny operátory nutno zapisovat (nelze např. vynechat znak násobení) - argumenty
Ú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
MAPLOVSKY PROGRAMOVACI JAZYK
MAPLOVSKY PROGRAMOVACI JAZYK Zakladni programove konstrukce for Prikaz for zajistuje opakovani posloupnosti prikazu v zavislosti na promenne i. Syntaxe: for i from poc. hodnota by krok to konecna hodnota
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é
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.
NPRG030 Programování I, 2017/18 1 / :22:16
NPRG030 Programování I, 2017/18 1 / 26 20. 10. 2017 11:22:16 Ordinální typy standardní: integer, char, boolean Vlastnosti ordinálních typů: 1. hodnot je konečný počet a hodnoty jsou uspořádány 2. ke každé
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í,
Seminář Java II p.1/43
Seminář Java II Seminář Java II p.1/43 Rekapitulace Java je case sensitive Zdrojový kód (soubor.java) obsahuje jednu veřejnou třídu Třídy jsou organizovány do balíků Hierarchie balíků odpovídá hierarchii
Statické proměnné a metody. Tomáš Pitner, upravil Marek Šabo
Statické proměnné a metody Tomáš Pitner, upravil Marek Šabo Úvod Se statickou metodou jsme se setkali už u úplně prvního programu - Hello, world! public class Demo { public static void main(string[] args)
C2110 Operační systém UNIX a základy programování
C2110 Operační systém UNIX a základy programování 5. lekce Petr Kulhánek kulhanek@chemi.muni.cz Národní centrum pro výzkum biomolekul, Masarykova univerzita, Kotlářská 2, CZ-61137 Brno C2110 Operační systém
Skripta ke školení. Základy VBA. vypracoval: Tomáš Herout. tel:
Skripta ke školení Základy VBA vypracoval: Tomáš Herout e-mail: herout@helpmark.cz tel: 739 719 548 2016 Obsah TROCHA TEORIE VBA...2 ZPŮSOB ZÁPISU VE VBA...2 CO JE TO FUNKCE...2 CO JE TO PROCEDURA...2
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é
Sekvenční a podmíněné provádění
Programování v Bourne shellu Sekvenční a podmíněné provádění Sekvenční provádění znamená vykonávání jednoho příkazu za druhým bez ohledu na okolnosti. Pro oddělení příkazů při sekvenčním provádění se používá
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
KAPITOLA 9 - POKROČILÁ PRÁCE S TABULKOVÝM PROCESOREM
KAPITOLA 9 - POKROČILÁ PRÁCE S TABULKOVÝM PROCESOREM CÍLE KAPITOLY Využívat pokročilé možnosti formátování, jako je podmíněné formátování, používat vlastní formát čísel a umět pracovat s listy. Používat
Algoritmy I. Cvičení č. 2, 3 ALGI 2018/19
Algoritmy I Cvičení č. 2, 3 1 ALG I, informace Cvičící RNDr. Eliška Ochodková, Ph.D., kancelář EA439 eliska.ochodkova@vsb.cz www.cs.vsb.cz/ochodkova Přednášející doc. Mgr. Jiří Dvorský, Ph.D., kancelář
Lokální definice (1) plocha-kruhu
Lokální definice (1) syntaxe: (local (seznam definic) výraz) definice jsou dostupné pouze uvnitř příkazu local příklad: (local ( (define Pi 3.1415926) (define (plocha-kruhu r) (* Pi r r)) ) (plocha-kruhu
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
Řídicí struktury. alg3 1
Řídicí struktury Řídicí struktura je programová konstrukce, která se skládá z dílčích příkazů a předepisuje pro ně způsob provedení Tři druhy řídicích struktur: posloupnost, předepisující postupné provedení
Databáze I. Přednáška 4
Databáze I Přednáška 4 Definice dat v SQL Definice tabulek CREATE TABLE jméno_tab (jm_atributu typ [integr. omez.], jm_atributu typ [integr. omez.], ); integritní omezení lze dodefinovat později Definice
Jazyk C# (seminář 5)
Jazyk C# (seminář 5) Pavel Procházka KMI 23. října 2014 Přetěžování metod motivace Představme si, že máme metodu, která uvnitř dělá prakticky to samé, ale liší se pouze parametry V C# můžeme více metod
Výrazy a operátory. Operátory Unární - unární a unární + Např.: a +b
Výrazy a operátory i = 2 i = 2; to je výraz to je příkaz 4. Operátory Unární - unární a unární + Např.: +5-5 -8.345 -a +b - unární ++ - inkrement - zvýší hodnotu proměnné o 1 - unární -- - dekrement -
2.1 Podmínka typu case Cykly Cyklus s podmínkou na začátku Cyklus s podmínkou na konci... 5
Obsah Obsah 1 Řídicí struktury 1 2 Podmínka 1 2.1 Podmínka typu case......................... 2 3 Příkaz skoku 3 4 Cykly 4 4.1 Cyklus s podmínkou na začátku................... 4 4.2 Cyklus s podmínkou
Tabulka symbolů. Vazba (binding) Vazba - příklad. Deklarace a definice. Miroslav Beneš Dušan Kolář
Vazba (binding) Tabulka symbolů Miroslav Beneš Dušan Kolář vazba = spojení mezi entitou a vlastností okamžik vazby (binding time) při návrhu jazyka při implementaci jazyka během překladu/spojování/zavádění
X36UNX 16. Numerické výpočty v sh příkazy expr, bc, dc. Zdeněk Sojka
X36UNX 16 Numerické výpočty v sh příkazy expr, bc, dc Zdeněk Sojka sojkaz1@fel.cvut.cz dc desk calculator - zadávání příkazů postfixově - data se ukládají do stacku - příkazy obyčejně pracují s jedním