MULTIPLATFORMNÍ PROGRAMOVÁNÍ Přednáška č.10 Programovací jazyk Python, úvod, instalace, základní vlastnosti a příkazy. Programovací jazyk Python
|
|
- Bohumila Bartošová
- před 7 lety
- Počet zobrazení:
Transkript
1 Programovací jazyk Python
2 Co je Python? Python je moderní, platformně nezávislý, interpretovaný programovací jazyk s automatickou správou paměti a dynamickými datovými typy. Umožňuje rychlejší a efektivnější vývoj aplikací než C/C++, Java nebo.net Podporuje platformy Windows, Unix (Linux), OS/2, Macintosh (OS X) Výborně spolupracuje s jinými programovacími jazyky SDK Pythonu obsahuje API rozhraní pro jazyk C Existuje implementace Python syntaxe nad jazykem Java (lze programovat plnohodnotné Java aplikace v jazyce Python) Python lze používat v interaktivním módu, nebo jako klasický prog. jazyk Existuje celá řada aplikací (komerčních i open source), které používají Python jako rozšiřující/skriptovací technologii Caligari TrueSpace, Blender,
3 Python vs. Jiné programovací jazyky Rychlost výpočtu Rychlost pořízení zdrojového kódu Objektová orientace GUI Vývojové prostředí Vhodnost pro velké projekty Dostupnost knihoven Python 2, * Perl 2,5 1 2,5 2* 2,5 2,5 1.NET 2 1, C * C++ 1 2,5 1 1* 1 1,5 2 Java 2, hodnoceno jako ve škole 1-nejlepší, 4-nevyhovující *) za použití externích knihoven
4 Python a Hello World! Python: print "Hello World!" Java: public class Hello { public static void main(string[] args) { System.out.println("Hello World!"); } } C/C++: #include <stdio.h> void main(void) { printf("hello World!"); }
5 Kde získat Python? Instalace pythonu: Windows: Linux: Python je šířen ve formě jednoduchého instalátoru (obsahuje interpreter, knihovní soubory, základní moduly a jednoduché IDE) Python je součástí každé distribuce Linuxu, a/nebo je distribuován ve formě balíčků Vybraná vývojová prostředí: Windows/Linux: Libovolná distribuce Eclipse + rozšíření PyDev SPE Windows: Linux: (balíčky) (balíčky) PyScripter Erik (balíčky)
6 Interaktivní konzola Spuštění Pythonu: Windows: Linux: Soubor python.exe (pythonw.exe). Je užitečné doplnit cestu k exe souborům do systémové proměnné PATH. V terminálu napíšeme příkaz python
7 Eclipse IDE + PyDev (doporučeno)
8 PyScripter IDE
9 Shrnutí Automatická správa paměti Jednoduchá syntaxe a sémantika Použitelný pro všechny hlavní platformy Vysoce modulární Vhodný pro psaní skriptů i rozsáhlých projektů Dostatečně rychlý a snadno rozšířitelný o moduly napsané v C/C++ Snádná tvorby GUI pomocí knihoven třetích stran (wxpython, PyGTK, PyQt, ) Zabudované funkce pro trvalé ukládání objektů, vyspělá asociativní pole Výkonné knihovny pro numerické výpočty, manipulace s obrázky, Podpora webových technologií (tvorba webových skriptů, webových služeb (server i klient), ) Podpora široké a aktivní komunity uživatelů Lze ho integrovat s řadou jiných programovacích jazyků Jython, Moduly v C/C++
10 Přehled jazyka Python
11 Základy jazyka (1/2) Odsazování textu a bloková struktura kódu Python používá pro určení struktury kódu odsazování Program, který není správně odsazený je syntakticky vadný! Komentáře jsou uvozeny znakem # Víceřádkové dokumentační komentář jsou uvezeny a = 5 b = 6 if a < b: print "A je mensi nez b" else: print "B je mensi nez a"
12 Základy jazyka (2/2) Přiřazování proměnných Proměnné v Pythonu nemají deklarovaný datový typ Datový typ je vázán na objekt, ne na proměnnou, která s objektem pracuje Jedné proměnné lze v jednom programu přiřadit data různých typů Existují globální a lokální proměnné. Každá proměnná je implicitně považována za lokální. Globální proměnné jsou uvozeny klíčovým slovem global >>> a = "Ahoj" >>> print a 'Ahoj' >>> a = 5 >>> print a 5
13 Interní datové typy Python obsahuje tyto interní datový typy: Čísla Celá čísla Dlouhá celá čísla Desetinná čísla Komplexní čísla Seznamy N-tice Slovníky Řetězce Souborové objekty
14 Interní datové typy - Čísla Celá čísla 1, -3, 42, 255 Dlouhá celá čísla 42L, L Čísla s desetinnou čárkou: , 31e12, -6e-4 Komplexní čísla: 3+2j, -4-6j Se všemi číselnými typy lze provádět tyto základní aritmetické operace: Sčítání (+) Odčítání (-) Násobení (*) Dělení (/) Mocnina (**) Modulo (%)
15 Příklady operací s číselnými typy Celá čísla: >>> >>> # Toto je komentář >>> 2+2 # a toto je komentář na řádků s kódem 4 >>> (50-5*6)/4 5 >>> # Dělení celých čísel vrací celý výsledek... 7/3 2 >>> 7/-3-3
16 Příklady operací s číselnými typy Desetinná čísla: >>> 3 * 3.75 / >>> 7.0 / Komplexní čísla: >>> 1j * 1J (-1+0j) >>> 1j * complex(0,1) (-1+0j) >>> 3+1j*3 (3+3j) >>> (3+1j)*3 (9+3j)
17 Matematické funkce Vestavěné funkce: abs, divmod, cmp, coerce, float, hex, int, long, max, min, oct, paw, round Další funkce: Další matematické funkce jsou uloženy v modulu math from math import * acos, asin, atan, atan2, ceil, cos, cosh, e, exp, fabs, floor, fmod, frexp, hypot, ldexp, log, log10, mod, pi, pow, sin, sinh, sqrt, tan, tanh Speciální moduly: NumPy Maticové výpočty, rychlá Fourierova transformace (FFT),
18 Interní datové typy - Seznamy Seznamy jsou obdobou (dynamických) polí v C/C++ nebo Javě Prvky v seznamu jsou indexovány celočíselnými hodnotami (od 0) Indexy mohou být kladné (postupuje se od začátku seznamu), nebo záporné (postupuje se od konce seznamu) Jeden seznam může obsahovat položky libovolných typů, nebo další seznamy Se seznamy lze operovat pomocí vestavěných funkcí, nebo matematických operátorů Seznamy lze převádět na n-tice pomocí funkce tuple() Prvky seznamu i indexy se píší do hranatých závorek. Prvky jsou oddělovány čárkou
19 Příklady vytvoření seznamů Ručně vytvořený seznam: >>> a = ['spam', 'eggs', 100, 1234] >>> a ['spam', 'eggs', 100, 1234] Vypočtený seznam: >>> a = 3 * ['ahoj'] + [1, 2, 3] >>> a ['ahoj', 'ahoj', 'ahoj', 1, 2, 3] >>> a = [i for i in range(0, 10) if i%3 == 0] >>> a [0, 3, 6, 9]
20 Indexování seznamů >>> a = ['ahoj', 'nazdar', 100, 1234] >>> a ['ahoj', 'nazdar', 100, 1234] >>> a[0] 'ahoj' >>> a[3] 1234 >>> a[-2] 100 >>> a[1:-1] ['nazdar', 100] >>> a[:2] + ['cau', 2*2] ['ahoj', 'nazdar', 'cau', 4]
21 Řezy seznamů >>> # Nahrazení položek:... a[0:2] = [1, 12] >>> a [1, 12, 123, 1234] >>> # Odstranění položek:... a[0:2] = [] >>> a [123, 1234] >>> # Vložení položek:... a[1:1] = ['hi', 'bye'] >>> a [123, 'hi', 'bye', 1234] >>> # Vožení kopie sebe sama na počátek >>> a[:0] = a >>> a [123, 'hi', 'bye', 1234, 123, 'hi', 'bye', 1234] >>> # Ostranění všech prvků seznamu >>> a[:] = [] >>> a []
22 Zabudované funkce a/pro seznamy Kromě operací s indexy lze seznamy modifikovat pomocí zabudovaných funkcí, atributů a operátorů Funkce přebírají seznam jako parametr len(), del(), min(), max() Atributy jsou volány jako členské funkce seznamu append(), insert(), remove(), reverse(), sort(), index(), count(), pop() Operátory aplikovatelné na seznamy in, not in
23 Příklady využití funkcí seznamů Funkce: >>> a = ['ahoj', 1, 2] >>> a ['ahoj',1,2] >>> len(a) 3 >>> del a[0] >>> a [1, 2] Atributy: >>> a.append('nazdar') >>> a [1, 2, 'nazdar'] >>> a.insert(1, 1.5) >>> a [1, 1.5, 2, 'nazdar'] >>> a.remove(1.5) >>> a [1, 2, 'nazdar']
24 Vnořování seznamů, kopie seznamů Seznamy lze vnořovat do sebe (vícerozměrné matice) Prvkem seznamu může být i jiný seznam Při kopírování vnořených seznamů rozlišujeme mělké a hluboké kopie U mělké kopie se nová instance seznamu odkazuje na vnořené seznamy originálu Hluboká kopie vytvoří kompletně nový seznam a také nové instance vnořených seznamů
25 Příklady vnoření seznamů Vnoření: >>> vnoreny = [0] >>> original = [vnoreny, 1] >>> original [[0], 1] >>> vnoreny[0] = 'nula' >>> original [['nula'], 1] >>> original[0][0] = 0 >>> original [[0], 1] >>> vnoreny = 2 >>> original [[0], 1]
26 Příklady kopií seznamů Mělká a hluboká kopie: >>> melka = original[:] >>> melka [[0], 1] >>> import copy >>> hluboka = copy.deepcopy(original)
27 Interní datové typy N-tice Datová struktura podobná seznamu Lze je vytvářet, ale vytvořené n-tice již nelze modifikovat Používají se např. pro předávání složitějších parametrů (jako argumenty funkce nebo návratové hodnoty) Další vlastnosti: Prvky v n-tici jsou indexovány celočíselnými hodnotami (od 0) Jedna n-tice může obsahovat položky libovolných typů S n-ticemi lze operovat pomocí vestavěných funkcí, nebo matematických operátorů N-tice lze převádět na seznamy pomocí funkce list() Prvky n-tic se píší do kulatých závorek (jsou oddělovány čárkou), indexy se píší do hranatých závorek.
28 Příklady práce s n-ticemi >>> x = ('a', 'b', 'c') >>> x ('a', 'b', 'c') >>> x[2] 'c' >>> x[1:] ('b', 'c') >>> len(x) 3 >>> max(x) 'c' >>> 2 * x ('a', 'b', 'c', 'a', 'b', 'c') >>> 5 in x 0 >>> x[2] = 'd' Traceback (innermost least): File "<stdin>" line 1, in? TypeError: object doesn't support item assignment
29 Jednoprvkové N-tice Jednoprvkové n-tice musí být vždy zakončeny čárkou U N-tic tvořených aritmetickým výrazem by nebylo možné rozeznat, zadá má být výsledkem n-tice, nebo hodnota >>> x = 3 >>> y = 4 >>> (x + y) # sečte hodnoty proměnných x a y 7 >>> (x + y,) # čárka značí, že se jedná o n-tici (7,)
30 Skládání a rozklad N-tic N-tice lze využít k vícenásobné inicializaci proměnných Inicializace proměnných: >>> (jedna, dve) = (1, 2) >>> jedna 1 >>> dve 2 >>> x = (jedna, dve) = (1, 2) >>> x (1, 2) >>> jedna 1 >>> x[1] 2 >>> jedna, dve = 1, 2 >>> dve 2
31 Skládání a rozklad N-tic N-tice lze skládat z jiných n-tic (platí i pro seznamy) Skládání n-tic: >>> [a, b] = [1, 2] >>> [c, d] = 3, 4 >>> (e, f, g) = 5, 6, 7 >>> a 1 >>> [b, c, d] [2, 3, 4] >>> (e, f, g) (5, 6, 7) >>> a, b, c (1, 2, 3)
32 Interní datové typy Slovníky Datová struktura odpovídající svou funkcionalitou asociativním polím, nebo hashovaným tabulkám Používají se např. pro vyhledávání položek označených složitými klíči Další vlastnosti: Prvky ve slovníku jsou indexovány celočíselnými hodnotami, řetězci, nebo jinými objekty Pythonu Jeden slovník může obsahovat prvky libovolných typů Jednu položku slovníku tvoří klíč a hodnota Se slovníky lze operovat pomocí vestavěných funkcí, atributů, nebo matematických operátorů Položky slovníků se píší do složených závorek (jsou oddělovány čárkou), klíč je od prvku oddělen dvojtečkou.
33 Příklady práce se slovníky 1/2 >>> cz2eng = {} # nový prázdný slovník >>> cz2eng['červená'] = 'red' # postupné naplnění položek >>> cz2eng['modrá'] = 'blue' >>> cz2eng['zelená'] = 'green' >>> cz2eng['červená'] 'red' >>> a = {'key1' : 1, 'key2' : 2 } # nový naplněný slovník >>> a['key1'] 1 >>> len(a) 2 >>> a.keys() ['key1', 'key2'] >>> a.values() [1, 2] >>> a.items() [('key1', 1), ('key2', 2)]
34 Příklady práce se slovníky 2/2 >>> a = {'key1' : 1, 'key2' : 2 } # nový naplněný slovník >>> a.has_key('key1') True >>> del a['key1'] >>> a.has_key('key1') False >>> a.get('key1', 'Klíč neexistuje') 'Klíč neexistuje' >>> a.get('key2', 'Klíč neexistuje') 2
35 Interní datové typy - Řetězce Python obsahuje silnou podporu pro práci s řetězci Řetězce lze vymezit pomocí: Uvozovek: Hello World. Součástí textu mohou být i jednoduché uvozovky (apostrofy) Jednoduchých uvozovek (apostrofů): Hello World. Součástí textu mohou být i klasické uvozovky. Trojitých uvozovek: Hello World. Součástí textu mohou být i nové řádky. Zároveň se používá jako dokumentační řetězec na začátku modulu, nebo funkce. S řetězci lze operovat pomocí vestavěných funkcí, nebo matematických operátorů in, +, *, len(), max(), min() S řetězci lez pracovat stejně jako se seznamy (lze indexovat znaky, provádět řezy, ) Řetězce jsou stejně jako n-tice neměnné. Řetězce lze převádět na seznamy (list())nebo n-tice (tuple()). Pro práci s řetězci existují speciální moduly string a re
36 Funkce pro práci s řetězci S řetězci lze pracovat pomocí velkého množství zabudovaných funkcí (atributů) Např. center(), ljust(), rjust(), count(), strip(), split(), join(), replace(), atof(), atoi(), Stejně jako u jiných jazyků i v Pythonu existují speciální řídící znaky Escape sekvence Představuje znak \' jednoduché uvozovky \" dvojité uvozovky \\ zpětné lomítko \a znak "zvonek" \b o jeden znak zpět (backspace) \f posuv papíru (nová stránka) \n nový řádek \r návrat vozíku \t tabulátor \v svislý tabulátor
37 Příklady práce s řetězci Interní funkce řetězce: >>> s = 'Hello World!' >>> s.split() ['Hello', 'World'] >>> list(s) ['H', 'e', 'l', 'l', 'o', '', 'W', 'o', 'r', 'l', 'd'] >>> s.rjust(20) # existují i obdobné funkce ljust() a center() ' Hello World' >>> s.count('l') 3 Funkce modulu string: >>> import string >>> s = 'Hello World' >>> string.split(s) ['Hello', 'World'] >>> z = string.join(["ahoj", "Svete"], "::") >>> z 'Ahoj::Svete' >>> string.replace(z, "::", " ") 'Ahoj Svete' >>> string.find(s, 'l') # existují i varianty lfind() a rfind() 2 >>> string.find(s, 'a') -1
38 Převod objektů na řetězce Na řetězec lze převést cokoliv Formální řetězcová reprezentace: repr(), `` Technicky zaměřený popis objektu Neformální řetězcová reprezentace: str() Textová informace určená pro uživatele >>> x = (1, 2) >>> repr(x) '(1, 2)' >>> `x` '(1, 2)' >>> str(x) '(1, 2)' >>> repr(len) '<built-in funcion len>'
39 Formátování řetězců Řetězce lze formátovat podobně jako v jazyce C/C++ Pro náhradu formátovacích sekvencí za příslušné hodnoty slouží operátor % >>> "%s. den v týdnu je %s" % (1, 'pondělí') '1. den v týdnu je pondělí' >>> "Pi je <%6.2f>" % 'Pi je < 3.14>' >>> "Pi je <%-6.2f>" % 'Pi je <3.14 >' >>> dict = {'e' : 2.718, 'pi': } >>> "%(pi).2f -> %(pi).4f -> %(e).2f" % dict '3.14 -> > 2.718'
40 Řízení toku programu
41 Cyklus while Základní programový cyklus pythonu sestávající s podmínky, těla a nepovinného pokračování kódu. V těle cyklu lze volat příkazy break a continue break ukončí vykonávání cyklu continue započne vykonávání další iterace while podmínka: # tělo kódu else: # nepovinné pokračování kódu >>> i = 0 >>> while i < 10:... print i,... i = i else:... print 'konec' konec
42 Konstrukce if-elif-else Rozhodovací konstrukce může obsahovat: Jeden výskyt klíčového slova if Následně libovolný počet klíčových slov elif Dle potřeby může být zakončena klíčovým slovem else if podmínka 1: # tělo kódu 1 elif podmínka 2: # tělo kódu 2 elif podmínka 3: # tělo kódu 3 else: # tělo kódu 4 >>> if (i > 0) and (i < 10):... print 'ahoj'... elif (i >= 10) and (i < 20):... print 'nazdar'... else:... print 'cau'
43 Cyklus for Na rozdíl od jazyka C/C++ příkaz for netestuje podmínku, ale pracuje s danou posloupností (seznam, řetězec, ) Příkaz for se velmi často používá s funkcí range(from, to, step) nebo xrange(from, to, step) Funkce range(from, to, step) vytváří seznam celočíselných hodnot v rozsahu od from do to (poslední hodnota není v seznamu zahrnuta) s celočíselným krokem step (hodnota step může být kladná pro vzestupné seznamy a záporná pro sestupné seznamy) Funkce xtange(from, to, step) se chová stejně jako range(), ale pythonovský seznam nevytváří; pouze funkci for dodává jeho pomyslné položky (šetří tím paměť) for proměnná in posloupnost: # tělo programu else: # nepovinné pokračování kódu
44 Příklady práce s cyklem for >>> x = [1, 3, 5, 7, 9] >>> for i in x:... print i, >>> for i in range(1, 10, 2):... print i, >>> for i in range(10, 1, -2):... print i, >>> for i in 'Ahoj':... print i,... A h o j
45 Logické operátory U podmínkových výrazu lze složitější podmínky vytvářet pomocí následujících logických operátorů: < - menší > - větší <= - menší nebo roven >= - větší nebo roven == - roven!= - nerovnost <> - nerovnost and or not in - logický součin - logický součet - negace - je obsažen not in - není obsažen
46 Konzolový vstup a výstup
47 Výstup na konzolu Pro výstup na konzolu (terminál) slouží příkaz print Příkaz automaticky odřádkuje vytištěný obsah Chceme-li pokračovat ve výpisu na novém řádku, vložíme za příkaz print znak,(čárku) >>> s = "Ahoj světe" >>> s 'Ahoj sv\xd8te' >>> print s 'Ahoj světe' >>> for i in range(1,4):... print i >>> for i in range(1,4):... print i, # povšimněte si vložené čárky na konci řádku
48 Vstup z konzole Pro vstup z konzole (terminálu) slouží příkazy raw_input() a input() Příkaz raw_input(message) čte libovolná data z aktuálního vstupu a vrací je ve formě textového řetězce Požadujeme-li vstup v jiném datovém formátu, můžeme výstup z funkce převést pomocí interního přetypování (např. int(raw_input())) Pokud nelze přetypování provést, bude vyvolána vyjímka Příkaz input(message) čte data z aktuálního vstupu a převádí je na konkrétní datový typ. Funkce je ekvivalentem výrazu eval(raw_input()) Funkce eval(src) vyhodnotí zdrojový výraz a vrátí příslušnou hodnotu Vkládání dat je ukončeno po stisku klávesy ENTER
49 Příklady zpracování vstupu z konzole Funkce raw_input(): >>> jmeno = raw_input('zadej jmeno: ') Zadej jmeno: Michal >>> jmeno 'Michal' >>> rok = int(raw_input('zadej rok: ')) Rok: 2007 >>> rok 2007 >>> poradi = int(raw_input('zadej poradi: ')) Zadej poradi: ahoj Traceback (most recent call last): File "<stdin> ", line 1, in <module> ValueError: Invalid literal for int() with base 10: 'ahoj' Funkce input(): >>> jmeno = input('zadej jmeno: ') Zadej jmeno: Michal >>> jmeno 'Michal' >>> rok = input('zadej rok: ') Zadej rok: 2007 >>> rok 2007
50 Funkce a procedury
51 Uživatelem definované funkce Základní syntaxe pro definici funkce nebo procedury je def jmeno(param1, param2, ): Funkce mohou vracet návratovou hodnotu pomocí příkazu return Není-li příkaz return v těle funkce použit, je návratová hodnota rovna None Funkce lze přiřazovat proměnným (vytvářet aliasy), nebo je vkládat např. do slovníků Parametry funkcí lze definovat explicitně, pomocí polí, nebo slovníků Lze definovat implicitní hodnoty parametrů Python umožňuje definovat tzv. Lambda funkce lambda param1, param2 : příkaz Velmi krátké a jednoduché funkce použitelné např. společně s filtry, nebo mapami. Funkce by měly jako první řádek/řádky obsahovat dokumentační řetězce. Tento text je pak dostupný prostřednictvím systémové proměnné doc jmeno. doc
52 Základní práce s funkcemi >>> def faktorial(n):... """ faktorial(n) -> Funkce pro vypocet faktorialu z... hodnoty n """... vysl = 1... for i in xrange(1, n+1):... vysl = vysl * i... return vysl... >>> faktorial(10) >>> faktorial. doc ' faktorial(n) -> Funkce pro vypocet faktorialu z hodnoty n ' >>> f = faktorial >>> f(10) >>> Funkce = {"FCT" : faktorial) >>> Funkce['FCT'](10) >>> Funkce['FCT']. doc ' faktorial(n) -> Funkce pro vypocet faktorialu z hodnoty n '
53 Předávání parametrů Parametry lze funkcím předávat: U pevného počtu argumentů funkce: Hodnotami Jmény proměnných U proměnlivého počtu argumentů funkce: Pomocí seznamu Pomocí slovníku Parametry se předávají odkazem, takže u měnitelných datových typů se chovají jako reference na objekt v C++
54 Předávání parametrů Pevný počet argumentů funkce (s implicitními hodnotami): >>> def soucet(a = 0, b = 0):... """ soucet(n) -> Secte hodnoty a + b """... return a + b... >>> soucet(2, 3) 5 >>> soucet() 0 Proměnný počet argumentů funkce: >>> def soucet(*cisla):... souc = 0... for n in cisla:... souc = souc + n... return souc... >>> soucet(1, 2) 3 >>> soucet(1, 2, 3, 4, 5) 15 >>> def funkce(**args):... for key in args.keys():... print 'parametr %s ma hodnotu %s' % (key, args[key])... >>> funkce(a=1, b=2) parametr a ma hodnotu 1 parametr b ma hodnotu 2
55 Lokální a globální proměnné Každá proměnná je ve své oblasti viditelnosti implicitně definována jako lokální Globální proměnné musí být explicitně zpřístupněny pomocí klíčového slova global >>> a = 1 >>> b = 2 >>> def funkce():... global a... a = 3... b = 4... >>> a 1 >>> b 2 >>> funkce() >>> a 3 >>> b 2
56 Zajímavé zabudované funkce
57 Zajímavé zabudované funkce a symboly Symboly: name Řetězec představující jméno modulu (pro hlavní/spuštěný modul bude mít hodnotu main ) doc Dokumentační řetězec modulu/funkce/objektu/atributu Funkce: del() dir() Odstranění objektu/prvku Seznam jmen funkcí/proměnných/objektů a atributů definovaných v daném objektu nebo aktuální session eval() Vyhodnocení daného řetězce nebo objektu programového kódu jako výrazu Pythonu compile() Kompilace daného zdrojového textu jako programu jazyka Python (výstup lze použít jako argument funkce Eval()
58 Příklady použití funkcí eval, compile, a symbolu doc Vlastní interpreter jazyka Python: while True: cmd = raw_input("zadej vyraz/prikaz: ") if cmd == 'QUIT': # zadáním příkazu "QUIT" se skript ukončí break else: eval(compile(cmd, '', 'single')) # vyhodnoť a proveď příkaz print 'Koncim, nashle...' Prohlížeč nápovědy funkcí a modulů: while True: # zadej jméno objektu/modulu, pro který se vypíše nápověda module = raw_input('zadej jmeno dostupneho modulu/objektu: ') # vyhledej jména všech dostupných symbolů v daném modulu/objektu for f in dir(eval(module)): # získej objekt z jeho jména a vypiš jeho nápovědu print eval(module + '.' + f). doc
59 Aplikace v Pythonu Nějaké dotazy?
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ícePaměť 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íceObsah. 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íceAlgoritmizace 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íce1. 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íceEVROPSKÝ SOCIÁLNÍ FOND. Úvod do PHP PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI
EVROPSKÝ SOCIÁLNÍ FOND Úvod do PHP PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI Úvod do PHP PHP Personal Home Page Hypertext Preprocessor jazyk na tvorbu dokumentů přípona: *.php skript je součást HTML stránky!
Více1. 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Ú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íceProgramovací 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íceDSL 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íce8. 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íceAlgoritmizace a programování
Algoritmizace a programování Řídicí struktury, standardní metody Problematika načítání pomocí Scanner Některé poznámky k příkazům Psaní kódu programu Metody třídy Math Obalové třídy primitivních datových
Více8 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íceStruč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íceWSH 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íceFunkce, 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íce9.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
VíceÚ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íceAlgoritmizace a programování
Algoritmizace a programování Typy Základní (primitivní) datové typy Deklarace Verze pro akademický rok 2012/2013 1 Typy v jazyce Java Základní datové typy (primitivní datové typy) Celočíselné byte, short,
Více7. přednáška - třídy, objekty třídy objekty atributy tříd metody tříd
7. přednáška - třídy, objekty třídy objekty atributy tříd metody tříd Algoritmizace (Y36ALG), Šumperk - 7. přednáška 1 Třída jako zdroj funkcionality Třída v jazyku Java je programová jednotka tvořená
Více1.1 Struktura programu v Pascalu Vstup a výstup Operátory a některé matematické funkce 5
Obsah Obsah 1 Programovací jazyk Pascal 1 1.1 Struktura programu v Pascalu.................... 1 2 Proměnné 2 2.1 Vstup a výstup............................ 3 3 Operátory a některé matematické funkce 5
Více14.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íce7. 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ícePř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íceIB111 Úvod do programování skrze Python Přednáška 7
IB111 Úvod do programování skrze Python Přednáška 7 Správa paměti (proměnné podrobněji) Práce se soubory Nikola Beneš 2. listopad 2016 IB111 přednáška 7: správa paměti, práce se soubory 2. listopad 2016
Více7 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íceMichal 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ícePromě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íceLogické 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íceMAXScript výukový kurz
MAXScript výukový kurz Díl čtvrtý jazyk MAXScript, část I. Jan Melichar, březen 2008 Jan Melichar (aka JME) strana 1 OBSAH ÚVOD... 4 ZÁKLADNÍ PŘÍKAZY... 5 OPERÁTORY... 6 PROMĚNNÉ... 6 POLE... 7 ZÁVĚREM...
VícePascal. Katedra aplikované kybernetiky. Ing. Miroslav Vavroušek. Verze 7
Pascal Katedra aplikované kybernetiky Ing. Miroslav Vavroušek Verze 7 Proměnné Proměnná uchovává nějakou informaci potřebnou pro práci programu. Má ve svém oboru platnosti unikátní jméno. (Připadne, musí
VíceMaturitní 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íceZá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Ú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íceVý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 -
VíceÚ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íce6. 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Č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
VíceJazyk C Program v jazyku C má následující strukturu: konstanty nebo proměnné musí Jednoduché datové typy: Strukturované datové typy Výrazy operátory
Jazyk C Program v jazyku C má následující strukturu: Direktivy procesoru Globální definice (platné a známé v celém programu) Funkce Hlavička funkce Tělo funkce je uzavřeno mezi složené závorky { Lokální
VícePHP - ú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íceZPRO 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íceAlgoritmizace 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íceProgramování v jazyce JavaScript
Programování v jazyce JavaScript Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Pavel Štěpán, 2011 Operátory a příkazy BI-JSC Evropský sociální fond
VíceDa D to t v o é v ty t py IB111: Datové typy
Datové typy IB111: Datové typy Data a algoritmizace jaká data potřebuji pro vyřešení problému? jak budu data reprezentovat? jaké operaci s nimi potřebuji provádět? Navržení práce s daty je velice důležité
Více3 KTE / ZPE Informační technologie
3 KTE / ZPE Informační technologie Ing. Petr Kropík, Ph.D. email: pkropik@kte.zcu.cz tel.: +420 377 63 4639, +420 377 63 4606 (odd. informatiky) Katedra teoretické elektrotechniky FEL ZČU Plzeň Komentáře
VíceAlgoritmizace 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- 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
VícePSK3-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íce5 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Úvod do programování. Lekce 1
Úvod do programování Lekce 1 Základní pojmy vytvoření spustitelného kódu editor - psaní zdrojových souborů preprocesor - zpracování zdrojových souborů (vypuštění komentářů atd.) kompilátor (compiler) -
VíceŘí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í
VíceKonečný automat. Jan Kybic.
Konečný automat Jan Kybic http://cmp.felk.cvut.cz/~kybic kybic@fel.cvut.cz 2016 2017 1 / 33 Konečný automat finite state machine Konečný automat = výpočetní model, primitivní počítač Řídící jednotka s
VíceVýčtový typ strana 67
Výčtový typ strana 67 8. Výčtový typ V této kapitole si ukážeme, jak implementovat v Javě statické seznamy konstant (hodnot). Příkladem mohou být dny v týdnu, měsíce v roce, planety obíhající kolem slunce
Více5a. 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íceVISUAL 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íceProgramování: základní konstrukce, příklady, aplikace. IB111 Programování a algoritmizace
Programování: základní konstrukce, příklady, aplikace IB111 Programování a algoritmizace 2011 Připomenutí z minule, ze cvičení proměnné, výrazy, operace řízení výpočtu: if, for, while funkce příklady:
VíceJazyk 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íceObjektově orientované programování
10. října 2011 Pragmatické informace Volitelný předmět, zápočet: zápočtový program(s dokumentací), aktivní účast na cvičení(body v CodExu), praktický test, zkouška: zkoušková písemka na objektový návrh
VíceVstupní požadavky, doporučení a metodické pokyny
Název modulu: Základy PHP Označení: C9 Stručná charakteristika modulu Modul je orientován na tvorbu dynamických stánek aktualizovaných podle kontextu volání. Jazyk PHP umožňuje velmi jednoduchým způsobem
Vícefor (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íceProgramování v Pythonu
ƒeské vysoké u ení technické v Praze FIT Programování v Pythonu Ji í Znamená ek P íprava studijního programu Informatika je podporována projektem nancovaným z Evropského sociálního fondu a rozpo tu hlavního
VícePrvní kapitola úvod do problematiky
První kapitola úvod do problematiky Co je to Flex Adobe Flex je ActionSript (AS) framework pro tvorbu Rich Internet Aplications (RIA), tedy knihovna AS tříd pro Flash. Flex používáme k vytvoření SWF souboru
VíceFormá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
VíceX36UNX 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
VíceZačí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íceMichal 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ů
Více4a. 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íceFunkcionální programování. Kristýna Kaslová
Funkcionální programování Kristýna Kaslová Historie Alonzo Church (30. léta) Netypovaný lambda kalkul Základ prvních funkcionálních jazyků Jeho konstrukce i v mnoha současných programovacích jazycích (Python)
VíceKTE / ZPE Informační technologie
7 KTE / ZPE Informační technologie Ing. Petr Kropík, Ph.D. email: pkropik@kte.zcu.cz tel.: +420 377 63 4639, +420 377 63 4606 (odd. informatiky) Katedra teoretické elektrotechniky FEL ZČU Plzeň - ternární
VícePříklad : String txt1 = new String( Ahoj vsichni! ); //vytvoří instanci třídy String a přiřadí ji vnitřní hodnotu Ahoj vsichni!
Java práce s řetězci Trochu povídání.. Řetězce jsou v Javě reprezentovány instancemi tříd StringBuffer a String. Tyto třídy jsou součástí balíčku java.lang, tudíž je možno s nimi pracovat ihned bez nutného
VíceLekce 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)
VíceGenerické programování
Generické programování Od C# verze 2.0 = vytváření kódu s obecným datovým typem Příklad generická metoda, zamění dva parametry: static void Swap(ref T p1, ref T p2) T temp; temp = p1; p1 = p2; p2 =
VíceVyučovací hodina. 1vyučovací hodina: 2vyučovací hodiny: Opakování z minulé hodiny. Procvičení nové látky
Vyučovací hodina 1vyučovací hodina: Opakování z minulé hodiny Nová látka Procvičení nové látky Shrnutí 5 min 20 min 15 min 5 min 2vyučovací hodiny: Opakování z minulé hodiny Nová látka Procvičení nové
VícePředmluva k aktuálnímu vydání Úvod k prvnímu vydání z roku Typografické a syntaktické konvence... 20
Obsah 5 Obsah Předmluva k aktuálnímu vydání 15 1 Úvod k prvnímu vydání z roku 2000 16 Typografické a syntaktické konvence................ 20 2 Základní pojmy 21 2.1 Trocha historie nikoho nezabije................
VíceRegulá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
VíceTematický 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íce2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus pro vyhledání položky v binárním stromu.
Informatika 10. 9. 2013 Jméno a příjmení Rodné číslo 1) Napište algoritmus pro rychlé třídění (quicksort). 2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus
VíceSprávné vytvoření a otevření textového souboru pro čtení a zápis představuje
f1(&pole[4]); funkci f1 předáváme hodnotu 4. prvku adresu 4. prvku adresu 5. prvku hodnotu 5. prvku symbolická konstanta pro konec souboru je eof EOF FEOF feof Správné vytvoření a otevření textového souboru
VícePROGRAMOVÁ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íce24-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íce9. přednáška - třídy, objekty
třída String a její použití kolekce, typované kolekce 9. přednáška - třídy, objekty Algoritmizace (Y36ALG), Šumperk - 9. přednáška 1 Třída String Objekty knihovní třídy String jsou řetězy znaků Od ostatních
VíceNPRG031 Programování II --- 2/2 Z, Zk
NPRG031 Programování II --- 2/2 Z, Zk paralelka Y St 14:00-15:30 v S3 Pavel Töpfer Kabinet software a výuky informatiky MFF UK MFF Malostranské nám., 4. patro, pracovna 404 pavel.topfer@mff.cuni.cz http://ksvi.mff.cuni.cz/~topfer
VíceOperá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íceOpakování programování
Opakování programování HW návaznost - procesor sběrnice, instrukční sada, optimalizace rychlosti, datové typy, operace (matematické, logické, podmínky, skoky, podprogram ) - paměti a periferie - adresování
VíceÚ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
VíceChyby a výjimky. Chyba. Odkud se chyby berou? Kdo chyby opravuje? Co můžete dělat jako programátor? Dvě hlavní metody práce s chybami.
Chyby a výjimky Petr Pošík Katedra kybernetiky, FEL ČVUT v Praze OI, B4B33RPH Řešení problémů a hry, 2016 Chyba Stav programu (podmínky), který mu brání v dosažení požadovaného výsledku. Odkud se chyby
VíceAlgoritmy 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ář
VíceADT/ADS = abstraktní datové typy / struktury
DT = datové typy obor hodnot, které může proměnná nabývat, s operacemi na tomto oboru určen: obor hodnot + výpočetní operace např. INT = { 2 147 483 648 až +2 147 483 647} + {+,,*,/,} ADT/ADS = abstraktní
VíceSkriptovací jazyky. Obsah
Skriptovací jazyky 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 Co je to skriptovací jazyk? Výhody a nevýhody
VíceObject Pascal je přísně typový procedurální jazyk, který umožňuje jak strukturované, tak objektově orientované programování.
Delphi lekce 6 Minimum z Object Pascalu Vrátíme se ještě k základům Object Pascalu. Struktura programu Object Pascal je přísně typový procedurální jazyk, který umožňuje jak strukturované, tak objektově
VícePří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
VíceZáklady programování (IZP)
Základy programování (IZP) Páté 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 5. týden
VíceZÁPOČTOVÁ PRÁCE z UIR
ZÁPOČTOVÁ PRÁCE z UIR Jméno a příjmení: Jan Tichava Osobní číslo: Studijní skupina: pondělí, 4 5 Obor: INIB INF E-mail: jtichava@students.zcu.cz Datum odevzdání: 1.5.2006 Zadání Označení zadání: 2004KT01
VíceOperač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íceAplikovaná 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
VícePŘETĚŽOVÁNÍ OPERÁTORŮ
PŘETĚŽOVÁNÍ OPERÁTORŮ Jazyk C# podobně jako jazyk C++ umožňuje přetěžovat operátory, tj. rozšířit definice některých standardních operátorů na uživatelem definované typy (třídy a struktury). Stejně jako
VíceA7B38UOS Ú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ů.
VíceIUJCE 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íceC++ Akademie SH. 2. Prom nné, podmínky, cykly, funkce, rekurze, operátory. Michal Kvasni ka. 20. b ezna Za áte níci C++
C++ Akademie SH 2. Prom nné, podmínky, cykly, funkce, rekurze, operátory Za áte níci C++ 20. b ezna 2011 Obsah 1 Prom nné - primitivní typy Celá ísla ƒísla s pohyblivou desetinnou árkou, typ bool 2 Podmínka
Více