1 Základních pojmy z oblasti programování, vyšší programovací jazyky, programovací paradigmata
|
|
- Pavla Pavlíková
- před 8 lety
- Počet zobrazení:
Transkript
1 1 Základních pojmy z oblasti programování, vyšší programovací jazyky, programovací paradigmata Studijní cíl Tento první blok celého kurzu zaměřen na zvládnutí základních pojmů z oblasti programování a na seznámení se se základními programovacími paradigmaty. Doba nutná k nastudování 2 2,5 hodiny 1.1 Programování Pro stanovení definice programování je vhodné si nejprve definovat pojem počítačový program. Počítačový program je jednoznačná posloupnost instrukcí, která popisuje realizaci dané úlohy počítačem. Bez počítačových programů je počítač pouze prázdný stroj. Definici programování je potom možné chápat v širším a užším pojetí. Asi každého, kdo má jakoukoliv zkušenost s programováním, spontánně napadne definice v užším pojetí, která by mohla znít následovně: programování je činnost, během které dochází k sestavení počítačového programu. Pro nás (i v celém dalším studiu) ale bude důležitější definice v širším pojetí, která vychází z normy ČSN ISO/IEC Informační technologie, Slovník Část 1: Základní termíny, kde je stanovena následující definice: Programování je navrhování, zápis, úpravy a testování programů. Z tohoto hlediska tedy budeme pod programováním chápat nejen samotné sestavení programu, ale také návrh, úpravy a testování programu. Pro další výklad si uvedeme definice i dalších důležitých pojmů, které budeme v tomto předmětu využívat. Informace poznatek, který má v daném kontextu specifický význam (týká se jakýchkoliv objektů) Data opakovaně interpretovatelná formalizovaná podoba informace vhodná pro komunikaci, vyhodnocování nebo zpracování Program jednoznačný předpis, podle kterého je počítač schopen provádět výpočty nějakého algoritmu (instrukce počítači) Procesor prvek, kterému je svěřeno vykonávání algoritmu Počítač matematický stroj (přesné zpracování dat) KST/IZAPR - Základy programování blok 1, strana 1 (7) Michael Bažant
2 1.2 Programovací jazyky Vzhledem k tomu, že počítače nerozumí lidské řeči, je nutné pro komunikaci s nimi využít psanou formu programovací jazyky. Počítačové programy jsou tedy psány s využitím programovacích jazyků. Programovací jazyky lze v zásadě rozdělit na dvě základní skupiny: nižší programovací jazyky (low-level programming language) svým pojetím se přibližují tomu, jak po technické stránce pracuje počítač. Programy zapsané pomocí nižších jazyků není nutné jakkoliv dál upravovat, protože jsou napsány formou, které přímo rozumí procesor. Mezi nižší programovací jazyky patří strojový kód (machine language), který představuje primitivní instrukce v binárním kódu nebo jazyk symbolických adres (assembly language), který je tvořen symbolickou reprezentací jednotlivých strojových instrukcí a konstant potřebných pro vytvoření strojového kódu pro daný procesor (pro překlad do strojového kódu se používá program, který nazýváme assembler). Symbolickou reprezentaci tvoří zpravidla výrobce procesoru. Příklad strojového kódu pro součet dvou čísel: Příklad jazyka symbolických adres pro součet dvou čísel: ADDF3 R1, R2, R3 Obrázek 1: Postup při překladu zdrojového kódu assembleru do strojového kódu vyšší programovací jazyky (high-level programming language) svým pojetím se blíží tomu, jak problémy zpracovává svým myšlením člověk. Obvykle jsou tyto jazyky tvořeny slovy z anglického jazyka, slova jsou snadno zapamatovatelná. Zápisu ve vyšším jazyku počítač nerozumí, proto je nutné, na rozdíl od nižších jazyků, vždy: a) provést překlad do nižšího jazyka překladačem (kompilátorem viz Obrázek 2) nebo b) přímo vykonávat (interpretovat) zápis zdrojovém kódu interpretem. V tomto případě není nutné převádět program do strojového kódu, neboť interpret je speciální program, který umožňuje přímo vykonávat zápis jiného programu v jeho zdrojovém kódu. Rozdíl mezi interpretem a kompilátorem můžeme vztáhnout též na programovací jazyky, které podle toho můžeme rozdělit na interpretované a kompilované. KST/IZAPR - Základy programování blok 1, strana 2 (7) Michael Bažant
3 Postup při kompilaci zdrojového kódu do strojového kódu je uveden na obrázku (viz Obrázek 2) s tím, že je celý proces doplněn o linker, který sestaví výsledný spustitelný kód po doplnění funkcí obsažených v knihovnách. Příklad zápisu ve vyšším programovacím jazyku pro výpočet obsahu kruhu: plocha = 5 * 5 * ; Obrázek 2: Postup při překladu zdroj. kódu vyššího progr. jazyka do spustitelného kódu 1.3 Přehled vyšších programovacích jazyků V tomto kurzu bude pozornost zaměřena výhradně na práci s vyššími programovacími jazyky, konkrétně potom na jazyk Java. Je ovšem nutné mít na paměti, že existuje celá řada vyšších programovacích jazyků a můžeme si uvést přehled alespoň těch nejvíce používaných mezi které patří např.: Ada, Algol, APL, awk, BASIC, C, C++, Cobol, Delphi, Eiffel, Euphoria, Forth, Fortran, HTML, Icon, Java, Javascript, LISP, Logo, Mathematica, MatLab, Miranda, Modula-2, Oberon, Pascal, Perl, PL/I, Prolog, Python, Rexx, SAS, Scheme, sed, Simula, Smalltalk, Snobol, SQL, Visual Basic, Visual C++, XML. Zájemci o detailnější přehled o vyšších programovacích jazycích mohou využít odkaz 1. Nutno podotknout, že tento seznam zdaleka neobsahuje vyčerpávající přehled všech vyšších programovacích jazyků. Ten je natolik dlouhý (jsou jich desítky až stovky), že by byl svou mohutností nad rámec tohoto dokumentu a z toho důvodu si jej mohou zájemci prostudovat ve zdroji [2]. Neméně zajímavou oblastí je potom popularita vyšších programovacích jazyků, pro jejíž zobrazení mohou zájemci využít zdroj [3]. 1.4 Syntaxe a sémantika Algoritmus zapsaný v programovacím jazyku musí mít přesně dané chování, které lze odvodit z jeho zápisu tento požadavek vyžaduje přesnou definici KST/IZAPR - Základy programování blok 1, strana 3 (7) Michael Bažant
4 jazyka. První částí definice jazyka je syntaxe tu je možné popsat pomocí gramatik. Druhou, nedílnou součástí definice jazyka, je jeho sémantika (význam, chování). Syntaxe je tedy soubor pravidel udávající přípustné konstrukce programů, přičemž korektnost programu lze po syntaktické stránce kontrolovat pomocí překladače. Na základě syntaktických pravidel je možné říci, zda se jedná o korektní zápis programu v daném jazyce. Pro vyjádření syntaxe daného jazyka máme několik možností a to jak grafických, tak textových. Mezi nejčastěji používané grafické popisy syntaxe patří syntaktické diagramy, které se skládají ze základních dvou typů symbolů: a) terminálních - nelze je již dále rozkládat, obvykle značíme kružnicí nebo elipsou a b) nonterminálních symbolů - lze je rozvést až do úrovně terminálních symbolů a obvykle je značíme obdélníkem. Na obrázku (viz Obrázek 3) je uveden příklad syntaktického diagramu pro zápis identifikátoru. Další příklady jsou k dispozici online ve zdroji [4]. Alternativou ke grafickému znázornění syntaxe je popis textový, jehož příkladem může být Backus-Naurova forma (BNF), případně rozšířená Backus- Naurova (EBNF) forma. Textový popis má stejnou vyjadřovací schopnost jako syntaktické diagramy, jen je použito textové vyjádření formou metajazyka, kde se využívají tyto prvky: Nonterminální znak <> Definiční znak =, ::= Alternativní znak seznam variant Opakování 0 n krát {} Nepovinná část [] Příkladem na EBNF může být definice číslice: <cislice> = Backus-Naurova forma se také často používá pro popis parametrů programů ovládaných z příkazového řádku. KST/IZAPR - Základy programování blok 1, strana 4 (7) Michael Bažant
5 Obrázek 3: Příklad syntaktického diagramu pro identifikátor proměnné Příklad syntaxe pro podmíněný příkaz: if (výraz) {} else {} Pro úplnou definici jazyka nestačí popsat jeho syntaxi, ta totiž definuje pouze jeho strukturu. Aby byla zajištěna nezávislost programů na implementaci překladače, je nutné specifikovat význam jednotlivých konstrukcí tímto rozumíme sémantiku. Nejjednodušší metodou je slovní popis v přirozeném jazyku - pod pojmem sémantika rozumíme význam jednotlivých konstrukcí prvků jazyka jaký má daný prvek význam v jazyku. Příklad syntaxe pro podmíněný příkaz: Po vyhodnocení logického výrazu (musí být v závorkách) se v případě jeho vyhodnocení na hodnotu true provede příkaz za logickým výrazem. Po jeho provedení pokračuje program za tímto příkazem. V případě vyhodnocení výrazu na false se řízení programu předá bezprostředně za podmíněný příkaz. Jinak řečeno se příkaz za logickým výrazem přeskočí. Příkaz if můžeme použít i s variantou else. Sémantika takového příkazu ifelse je v první části totožná se samotným příkazem if. Je-li výslednou hodnotou logického výrazu hodnota true, provede se příkaz za logickým výrazem. V opačném případě, kdy je výsledkem false, se provede příkaz za else. V obou případech se řízení programu po provedení prvního, respektive druhého příkazu předá za celý podmíněný příkaz. 1.5 Programovací paradigmata Při programování je možné využít několika základních programovacích stylů, které byly v průběhu desítek let vymyšleny a definovány (v průběhu času mohou samozřejmě nová paradigmata vzniknout). Pojem paradigma představuje způsob myšlení nad daným problémem. Cílem této kapitoly není uvést vyčerpávající přehled všech paradigmat, ale pouze stručně uvést v současnosti nejpoužívanější programovací paradigmata Naivní paradigma Naivní programovací paradigma je typické pro počítačové laiky a začátečníky. Vyznačuje se nekoncepčností a chaotičností a proto bychom jej vlastně ani neměli nazývat paradigmatem. Programovací jazyky, podporující toto paradigma, jsou minimálně strukturované, neumožňují modularitu a poskytují minimální prostředky pro datovou abstrakci. KST/IZAPR - Základy programování blok 1, strana 5 (7) Michael Bažant
6 Například ve standardním BASICu byly řádky číslovány pořadovým číslem. Při přidání kódu bylo nutné provádět přečíslování řádků. Často používanou konstrukcí byl skok (příkaz GOTO) na jiný programovací řádek. Programy byly těžko pochopitelné a nepřehledné. Doporučením je tomuto paradigmatu se vyhýbat a nepoužívat jej Procedurální paradigma Procedurální paradigma se též někdy nazývá klasické nebo imperativní. Z prvního synonyma lze vyčíst, že jde o jedno z nejstarších paradigmat, druhé synonymum napovídá, že základní úlohu v tomto paradigmatu hrají příkazy. Typické pro procedurální paradigma je, že průběh výpočtu je dán sekvencí po sobě jdoucích instrukcí (příkazů), přičemž rozhodující roli zde hraje přiřazovací příkaz. V procedurálním paradigmatu je program strukturalizován v závislosti na funkcionalitě procedurách. Můžeme tedy říci, že jeden modul programu vykonává jednu akci, zatímco druhý modul vykovává jinou akci. Stejné akce přitom mohou být vykonávány nad různými daty. Toto paradigma se běžně používá, lze jej uplatnit v programovacích jazycích jako je Fortran, C, C++, Pascal, Modula Funkcionální paradigma V případě funkcionálního paradigmatu je průběh výpočtu založen na postupném aplikování funkcí. Funkce zde bývají aplikovány na výsledky jiných funkcí. Pro toto paradigma je typické, že se zde nepoužívá přiřazovacího příkazu a silné místo zde zaujímají tzv. funkce vysoké úrovně a rekurze. Po procedurálním paradigmatu jde o druhé nejstarší paradigma. Rozsáhlé programy psané funkcionálním stylem mohou působit poněkud nepřehledně. Krátké programy, naopak, mohou využít tradiční expresívnosti tohoto paradigmatu a s minimálním množstvím použitých prostředků vyjádřit základní algoritmy. Tento typ paradigmatu je podporován jazyky LISP, Scheme nebo Haskell Objektově orientované paradigma Základními programovacími prvky v objektově orientovaném programování jsou útvary zvané objekty. Tyto útvary v zásadě modelují objekty reálného světa: osoby, předměty, události. Každý objekt je nositelem jistých informací o sobě samém (tzv. stavu) a má schopnost na požádání tento stav měnit. Objekt v sobě zapouzdřuje jak data, tak procedury pracující nad těmito daty (procedurám v objektovém programování říkáme metody). Průběh výpočtu je pak určen posíláním zpráv mezi jednotlivými objekty. Pomocí zpráv objektům říkáme, jak mají změnit svůj stav. KST/IZAPR - Základy programování blok 1, strana 6 (7) Michael Bažant
7 Objektově orientované programování přineslo zásadní posun v kvalitě programování velkých systémů a umožnilo rychlejší vývoj programů. V další části tohoto kurzu se budeme tímto paradigmatem zabývat (a potom také v navazujících předmětech). Programovací jazyky, které podporují toto paradigma: např. SmallTalk, C++, Java. Otázky na procvičení 1. Co rozumíme pod pojmem počítačový program? 2. Vyjmenujte všechny činnosti, které obsahuje pojem programování. 3. Čím jsou specifické interpretované jazyky? 4. Co je to kompilátor? 5. K čemu slouží linker? 6. Čím jsou typické vyšší programovací jazyky? 7. Co je to jazyk symbolických adres? 8. Co je to strojový kód? 9. Jak jsou vytvářeny počítačové programy? 10. Co je to interpret? Odkazy a další studijní prameny 1. Současné vyšší programovací jazyky Seznam programovacích jazyků Popularita vyšších programovacích jazyků Syntaktické diagramy a EBNF pro jazyk Java - KST/IZAPR - Základy programování blok 1, strana 7 (7) Michael Bažant
Programovací jazyky. imperativní (procedurální) neimperativní (neprocedurální) assembler (jazyk symbolických instrukcí)
Programovací jazyky Programovací jazyky nižší assembler (jazyk symbolických instrukcí) vyšší imperativní (procedurální) Pascal, C/C++, Java, Basic, Python, php neimperativní (neprocedurální) Lisp, Prolog
VíceÚvod. Programovací paradigmata
.. Úvod. Programovací paradigmata Programovací techniky doc. Ing. Jiří Rybička, Dr. ústav informatiky PEF MENDELU v Brně rybicka@mendelu.cz Cíl: programování efektivně a bezpečně Programovací techniky
VíceProgramovací jazyky. imperativní (procedurální) neimperativní (neprocedurální) assembler (jazyk symbolických instrukcí)
Programovací jazyky Programovací jazyky nižší assembler (jazyk symbolických instrukcí) vyšší imperativní (procedurální) Pascal, C/C++, Java, Basic, Python, php neimperativní (neprocedurální) Lisp, Prolog
VíceIB111 Úvod do programování skrze Python Přednáška 13
IB111 Úvod do programování skrze Python Přednáška 13 Programovací jazyky Nikola Beneš 14. prosinec 2016 IB111 přednáška 13: programovací jazyky 14. prosinec 2016 1 / 21 Osnova dnešní přednášky Programovací
VíceIB111 Programování a algoritmizace. Programovací jazyky
IB111 Programování a algoritmizace Programovací jazyky Programovací jazyky Programovací jazyk Prostředek pro zápis algoritmů, jež mohou být provedeny na počítači Program Zápis algoritmu v programovacím
VíceProgram a životní cyklus programu
Program a životní cyklus programu Program algoritmus zapsaný formálně, srozumitelně pro počítač program se skládá z elementárních kroků Elementární kroky mohou být: instrukce operačního kódu počítače příkazy
VíceMasarykova střední škola zemědělská a Vyšší odborná škola, Opava, příspěvková organizace
Masarykova střední škola zemědělská a Vyšší odborná škola, Opava, příspěvková organizace Číslo projektu Číslo materiálu Autor Průřezové téma Předmět CZ.1.07/1.5.00/34.0565 VY_32_INOVACE_284_Programovací_jazyky
VíceVlastnosti algoritmu. elementárnost. determinovanost. rezultativnost. konečnost. hromadnost. efektivnost
Programování Algoritmus návod na vykonání činnosti, který nás od (měnitelných) vstupních dat přivede v konečném čase k výsledku přesně definovaná konečná posloupnost činností vedoucích k výsledku (postup,
VíceIB111 Úvod do programování skrze Python Přednáška 13
IB111 Úvod do programování skrze Python Přednáška 13 Programovací jazyky Nikola Beneš 18 prosinec 2015 IB111 přednáška 13: programovací jazyky 18 prosinec 2015 1 / 21 Osnova dnešní přednášky Programovací
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íceVÝ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í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íceAlgoritmizace- úvod. Ing. Tomáš Otáhal
Algoritmizace- úvod Ing. Tomáš táhal Historie 9. století perský matematik a astronom Mohammed Al-Chorezím v latinském přepise příjmení= algoritmus Nejstarší algoritmus Euklides řecký matematik, 4. století
VíceSazba zdrojových kódů (balíček listings)
Sazba zdrojových kódů (balíček listings) Aleš Haladej HAL191 Úvod balíček listings sazba nejen zdrojových kódů (zvýraznění syntaxe) sazba kompletních zdrojových souborů, úryvků kódu v prostředí podobném
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íceSada 1 - Základy programování
S třední škola stavební Jihlava Sada 1 - Základy programování 01. Základní pojmy a principy programování Digitální učební materiál projektu: SŠS Jihlava šablony registrační číslo projektu:cz.1.09/1.5.00/34.0284
Více6 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íceInovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/34.0333 Vzdělávání v informačních a komunikačních technologií
VY_32_INOVACE_31_16 Škola Název projektu, reg. č. Vzdělávací oblast Vzdělávací obor Tematický okruh Téma Tematická oblast Název Autor Vytvořeno, pro obor, ročník Anotace Přínos/cílové kompetence Střední
VíceVÝ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íce1 Strukturované programování
Projekt OP VK Inovace studijních oborů zajišťovaných katedrami PřF UHK Registrační číslo: CZ.1.07/2.2.00/28.0118 1 Cíl Seznámení s principy strukturovaného programování, s blokovou strukturou programů,
VíceJaký programovací jazyk učit jako první a jak ho učit?
Vojtěch Merunka Katedra informačního inženýrství PEF ČZU Praha Jaký programovací jazyk učit jako první a jak ho učit? strana 1 Motivace dříve strana 2 Motivace... pokračování dnes strana 3 Obsah presentace
VíceProgramovací jazyk univerzální notace pro zápis algoritmů, implementována.
Programovací jazyk univerzální notace pro zápis algoritmů, která je implementována. Proč studovat programovací jazyky? æ schopnost psát efektivní programy pole jako parametr funkce nebo procedury lze v
VíceAlgoritmizace. Cíle předmětu
Cíle předmětu Algoritmizace naučit se sestavovat algoritmy řešení jednoduchých problémů a zapisovat je v jazyku Java Organizace předmětu přednášky (učast nepovinná, ale doporučená) cvičení střídavě u tabule
VíceAlgoritmizace 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 Algoritmus Daniela Szturcová Tento
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íceMatematika 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í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íceMATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ
MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ 1) PROGRAM, ZDROJOVÝ KÓD, PŘEKLAD PROGRAMU 3 2) HISTORIE TVORBY PROGRAMŮ 3 3) SYNTAXE A SÉMANTIKA 3 4) SPECIFIKACE
VíceProgramování II. Modularita 2017/18
Programování II Modularita 2017/18 Modul? Osnova přednášky Vývoj programování Modularita Příklad Vývoj programování Paradigmata programování Jak a proč se jazyky vyvíjejí? V čem se OOP liší od předchozích
VíceZáklady C++ doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 21.
Základy C++ doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 21. září 2018 Jiří Dvorský (VŠB TUO) Základy C++ 66 / 429 Osnova přednášky
VíceAlgoritmus. Přesné znění definice algoritmu zní: Algoritmus je procedura proveditelná Turingovým strojem.
Algoritmus Algoritmus je schematický postup pro řešení určitého druhu problémů, který je prováděn pomocí konečného množství přesně definovaných kroků. nebo Algoritmus lze definovat jako jednoznačně určenou
Více11. Přehled prog. jazyků
Jiří Vokřínek, 2016 B6B36ZAL - Přednáška 11 1 Základy algoritmizace 11. Přehled prog. jazyků doc. Ing. Jiří Vokřínek, Ph.D. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze
VíceZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ 2014 5.3-5.8 9/14
ZÁKLADY PROGRAMOVÁNÍ Mgr. Vladislav BEDNÁŘ 2014 5.3-5.8 9/14 Co je vhodné vědět, než si vybereme programovací jazyk a začneme programovat roboty. 1 / 12 0:40 UML unifikovaný modelovací jazyk Zkratka tohoto
Více3 Co je algoritmus? 2 3.1 Trocha historie... 2 3.2 Definice algoritmu... 3 3.3 Vlastnosti algoritmu... 3
Obsah Obsah 1 Program přednášek 1 2 Podmínky zápočtu 2 3 Co je algoritmus? 2 3.1 Trocha historie............................ 2 3.2 Definice algoritmu.......................... 3 3.3 Vlastnosti algoritmu.........................
VíceProgramovací jazyk. - norma PASCAL (1974) - implementace Turbo Pascal, Borland Pascal FreePascal Object Pascal (Delphi)
Programovací jazyk - norma PASCAL (1974) - implementace Turbo Pascal, Borland Pascal FreePascal Object Pascal (Delphi) Odlišnosti implementace od normy - odchylky např.: nepovinná hlavička programu odlišná
VícePř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í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íceDTP Základy programování Úvod do předmětu
DTP Základy programování 01 - Úvod do předmětu Úvod Co již umíte? Plán předmětu Studijní materiály Způsob ukončení předmětu Základní pojmy I. Řešený problém: Řešeným nebo zpracovávaným problémem je konkrétní
VíceVÝ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íceZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ 2014 5, 5.1 a 5.2 8/14
ZÁKLADY PROGRAMOVÁNÍ Mgr. Vladislav BEDNÁŘ 2014 5, 5.1 a 5.2 8/14 Co je vhodné vědět, než si vybereme programovací jazyk a začneme programovat roboty. 1 / 18 0:40 Algoritmus Algoritmem by se dal nazvat
VíceProgramování - úvod. Programování. Proces programování. Vlastnosti dobrého programu: Kapitola seznamuje se základními pojmy programování.
Programování - úvod Kapitola seznamuje se základními pojmy programování. Klíčové pojmy: Program, proces programování, programovací jazyky Programování Programování je zdlouhavý proces. Jeho cílem je vytvořit
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íceProgramovací jazyky Přehled a vývoj
Programovací jazyky Přehled a vývoj 1 Programování a programovací jazyk Historie a současnost programovacích jazyků Objektově orientované a vizuální programování Značkovací a skriptovací jazyky 2 Programování
VíceAlgoritmizace. 1. Úvod. Algoritmus
1. Úvod Algoritmizace V dnešní době již počítače pronikly snad do všech oblastí lidské činnosti, využívají se k řešení nejrůznějších úkolů. Postup, který je v počítači prováděn nějakým programem se nazývá
VíceZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ 2014 5.9 10/14
ZÁKLADY PROGRAMOVÁNÍ Mgr. Vladislav BEDNÁŘ 2014 5.9 10/14 Co je vhodné vědět, než si vybereme programovací jazyk a začneme programovat roboty. 1 / 31 0:40 Programovací jazyky Programovací jazyky jsou jazyky
VíceVISUAL BASIC. Přehled témat
VISUAL BASIC Přehled témat 1 ÚVOD DO PROGRAMOVÁNÍ Co je to program? Kuchařský předpis, scénář k filmu,... Program posloupnost instrukcí Běh programu: postupné plnění instrukcí zpracovávání vstupních dat
VíceAlgoritmizace 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 Algoritmus Daniela Szturcová Tento
VíceÚVOD DO PARADIGMAT PROGRAMOVÁNÍ
KATEDRA INFORMATIKY PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITA PALACKÉHO ÚVOD DO PARADIGMAT PROGRAMOVÁNÍ DAVID SKOUPIL VÝVOJ TOHOTO UČEBNÍHO TEXTU JE SPOLUFINANCOVÁN EVROPSKÝM SOCIÁLNÍM FONDEM A STÁTNÍM ROZPOČTEM
VíceAlgoritmizace. Obrázek 1: Přeložení programu překladačem
Algoritmizace V každém okamžiku ví procesor počítače přesně, co má vykonat. Pojmem procesor se v souvislosti s algoritmy označuje objekt (např. stroj i člověk), který vykonává činnost popisovanou algoritmem.
Více2. lekce Algoritmus, cyklus Miroslav Jílek
2. lekce Algoritmus, cyklus Miroslav Jílek 1/36 Algoritmus 2/36 Algoritmus je konečná posloupnost operací, která dává řešení skupiny problémů 3/36 Algoritmus je konečná posloupnost operací, která dává
VícePřekladač a jeho struktura
Překladač a jeho struktura Překladače, přednáška č. 1 Šárka Vavrečková Ústav informatiky, FPF SU Opava sarka.vavreckova@fpf.slu.cz http://fpf.slu.cz/ vav10ui Poslední aktualizace: 23. září 2008 Definice
VíceIB015 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íceProgramování v C++ Úplnej úvod. Peta (maj@arcig.cz, SPR AG 2008-9)
Programování v C++ Úplnej úvod Co se naučíte? tak samozřejmě C++, s důrazem na: dynamické datové struktury Objektově Orientované Programování STL (standardní knihovna šablon) vytváření vlastních šablon
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í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ícePB161 Programování v jazyce C++ Přednáška 7
PB161 Programování v jazyce C++ Přednáška 7 Statické položky tříd Základy OOP Nikola Beneš 6. listopadu 2018 PB161 přednáška 7: static, základy OOP 6. listopadu 2018 1 / 21 Klíčové slovo static Znáte z
VíceALGORITMIZACE A PROGRAMOVÁNÍ
Metodický list č. 1 Algoritmus a jeho implementace počítačovým programem Základním cílem tohoto tematického celku je vysvětlení pojmů algoritmus a programová implementace algoritmu. Dále je cílem seznámení
Více2 Postup při programování, úvod do programovacího jazyka Java
2 Postup při programování, úvod do programovacího jazyka Java Studijní cíl V tomto bloku bude věnována pozornost správnému postupu při programování, budou detailně vysvětleny jednotlivé etapy programování
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íceVizuální programování
Vizuální programování Adam Zmrzlý Seminář LaSArIS, 28. 11. 2013 Obsah Motivace Co je vizuální programování Novost přístupu Cíle vizuálního programování Různé přístupy Jazyk Shades Motivace Zvýrazňování
Více10 Balíčky, grafické znázornění tříd, základy zapozdření
10 Balíčky, grafické znázornění tříd, základy zapozdření 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 balíčkům, grafickému
VícePB161 Programování v jazyce C++ Přednáška 7
PB161 Programování v jazyce C++ Přednáška 7 Statické položky tříd Základy OOP Nikola Beneš 6. listopadu 2018 PB161 přednáška 7: static, základy OOP 6. listopadu 2018 1 / 21 Klíčové slovo static Znáte z
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íce1. Úvod. Podmínky absolvování
1. Úvod Obsah předmětu =komparativní studie program. jazyků Vývoj programovacích jazyků, styly a vlastnosti Logické programování - Prolog Funkcionální programování - Lisp Datové abstrakce a modulární programování
VíceNázev předmětu: Školní rok: Forma studia: Studijní obory: Ročník: Semestr: Typ předmětu: Rozsah a zakončení předmětu:
Plán předmětu Název předmětu: Algoritmizace a programování (PAAPK) Školní rok: 2007/2008 Forma studia: Kombinovaná Studijní obory: DP, DI, PSDPI, OŽPD Ročník: I Semestr: II. (letní) Typ předmětu: povinný
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íceAlgoritmy a algoritmizace
Otázka 21 Algoritmy a algoritmizace Počítačové programy (neboli software) umožňují počítačům, aby přestaly být pouhou stavebnicí elektronických a jiných součástek a staly se pomocníkem v mnoha lidských
VíceTÉMATICKÝ OKRUH Softwarové inženýrství
TÉMATICKÝ OKRUH Softwarové inženýrství Číslo otázky : 28. Otázka : Vyšší programovací jazyky a jejich moderní rysy (správa paměti, implementace objektově orientovaných prvků, výjimky) Obsah : 1. Rozdělení
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íceVyřešené teoretické otázky do OOP ( )
Vyřešené teoretické otázky do OOP (16. 1. 2013) 1) Vyjmenujte v historickém pořadí hlavní programovací paradigmata a stručně charakterizujte každé paradigma. a) Naivní chaotičnost, špatná syntaxe a sémantika
VíceParadigmata programování 1
Paradigmata programování 1 Program, jeho syntax a sémantika Vilém Vychodil Katedra informatiky, PřF, UP Olomouc Přednáška 1 V. Vychodil (KI, UP Olomouc) Program, jeho syntax a sémantika Přednáška 1 1 /
VíceProgramování a algoritmizace 1 2012-2013
Příprava studijního programu Informatika je podporována projektem financovaným z Evropského sociálního fondu a rozpočtu hlavního města Prahy. Praha & EU: Investujeme do vaší budoucnosti Algoritmy Kdo je
VíceObsah 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
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í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íceAlgoritmus. Cílem kapitoly je seznámit žáky se základy algoritmu, s jeho tvorbou a způsoby zápisu.
Algoritmus Cílem kapitoly je seznámit žáky se základy algoritmu, s jeho tvorbou a způsoby zápisu. Klíčové pojmy: Algoritmus, vlastnosti algoritmu, tvorba algoritmu, vývojový diagram, strukturogram Algoritmus
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í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íceMIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY
MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY Stručný úvod do programování v jazyce C 1.díl České vysoké učení technické Fakulta elektrotechnická A1B14MIS Mikroprocesory pro výkonové systémy 06 Ver.1.10 J. Zděnek,
VíceZákladní pojmy algoritmizace a programování ALGORITMUS INSTRUKCE STROJOVÝ KÓD VYŠŠÍ PROGRAMOVACÍ JAZYK ZDROJOVÝ KÓD KOMPILACE
Základní pojmy algoritmizace a programování ALGORITMUS INSTRUKCE STROJOVÝ KÓD VYŠŠÍ PROGRAMOVACÍ JAZYK ZDROJOVÝ KÓD KOMPILACE Algoritmus Předpis, jak řešit určitý problém (přesně určená konečná posloupnost
VíceVÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Čí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íceBooleovská algebra. Booleovské binární a unární funkce. Základní zákony.
Booleovská algebra. Booleovské binární a unární funkce. Základní zákony. Tomáš Bayer bayertom@natur.cuni.cz Katedra aplikované geoinformatiky a kartografie, Přírodovědecká fakulta UK. Tomáš Bayer bayertom@natur.cuni.cz
VíceLekce 01 Úvod do algoritmizace
Počítačové laboratoře bez tajemství aneb naučme se učit algoritmizaci a programování s využitím robotů Lekce 01 Úvod do algoritmizace Tento projekt CZ.1.07/1.3.12/04.0006 je spolufinancován Evropským sociálním
VíceVýukový materiál zpracován v rámci projektu EU peníze školám
Výukový materiál zpracován v rámci projektu EU peníze školám Registrační číslo projektu: CZ. 1.07/1.5.00/34.0637 Šablona III/2 Název VY_32_INOVACE_39_Algoritmizace_teorie Název školy Základní škola a Střední
VíceProgramovací jazyky. Obsah. Proč používáme programovací jazyky? Programovací jazyk
Obsah Programovací 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 Co je to programovací jazyk Překlad a zpracování
VíceÚvod z historie. Kompilátory. Kompilace / Kompilátor Compile / Compiler. Pojem kompilátoru. Úvod z historie
Úvod z historie RNDr. Miroslav Benedikovič John Louis von Neumann r. 1946 nová koncepce počítače (společná paměť pro kód programu a zpracovávaná data) vytvořila podmínky pro vznik softvéru na přípravu
VíceObjektově orientovaný přístup
Objektově orientovaný přístup 1 Historie programovacích jazyků 1945: John von Neumann článek o nové metodě pro ukládání programů 1945: Grace Hopper poprvé termín "bug" 1946: Konrad Zuse Plankalkul - první
VíceZáklady algoritmizace a programování
Základy algoritmizace a programování Přednáška 1 Olga Majlingová Katedra matematiky, ČVUT v Praze 21. září 2009 Obsah Úvodní informace 1 Úvodní informace 2 3 4 Organizace předmětu Přednášky 1. 5. Základní
VíceZákladní pojmy. Úvod do programování. Základní pojmy. Zápis algoritmu. Výraz. Základní pojmy
Úvod do programování Michal Krátký 1,Jiří Dvorský 1 1 Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programování, 2004/2005 Procesor Procesorem je objekt, který vykonává algoritmem popisovanou
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íceMaturitní témata. IKT, školní rok 2017/18. 1 Struktura osobního počítače. 2 Operační systém. 3 Uživatelský software.
Maturitní témata IKT, školní rok 2017/18 1 Struktura osobního počítače Von Neumannova architektura: zakreslete, vysvětlete její smysl a popište, jakým způsobem se od ní běžné počítače odchylují. Osobní
VíceÚvod do jazyka C. Proč jazyk C
Proč jazyk C C je univerzální programovací jazyk. Nebudu zde řešit otázku, zda je lepší jazyk C ci LISP, Prolog, Cobol, AWK nebo SQL, ze stejného důvodu jako se nebudu zabývat tím, zda je lepší jazyk C
VíceKlasické metodiky softwarového inženýrství I N G M A R T I N M O L H A N E C, C S C. Y 1 3 A N W
Klasické metodiky softwarového inženýrství I N G M A R T I N M O L H A N E C, C S C. Y 1 3 A N W Osnova přednášky Co to je softwarové inženýrství Softwarový proces Metodika a metoda Evoluce softwarových
VíceProgramování. Úvod a základní principy. Martin Urza
Programování Úvod a základní principy Martin Urza Co je programování? Řešení úloh s pomocí počítače. Počítače jsou extrémně rychlé a velmi hloupé. Lidé jsou sice pomalejší, ale umí (nebo by většinou alespoň
VíceMaturitní témata Školní rok: 2015/2016
Maturitní témata Školní rok: 2015/2016 Ředitel školy: Předmětová komise: Předseda předmětové komise: Předmět: PhDr. Karel Goš Informatika a výpočetní technika Mgr. Ivan Studnička Informatika a výpočetní
VíceKapitola 1: Úvod. Systém pro správu databáze (Database Management Systém DBMS) Účel databázových systémů
- 1.1 - Kapitola 1: Úvod Účel databázových systémů Pohled na data Modely dat Jazyk pro definici dat (Data Definition Language; DDL) Jazyk pro manipulaci s daty (Data Manipulation Language; DML) Správa
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íceVyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 21.
Vyhledávání doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 21. září 2018 Jiří Dvorský (VŠB TUO) Vyhledávání 242 / 433 Osnova přednášky
VíceOperátory pro maticové operace (operace s celými maticemi) * násobení maticové Pro čísla platí: 2*2
* násobení maticové Pro čísla platí: Pro matice - násobení inverzní maticí inv inverzní matice A -1 k dané matici A je taková matice, která po vynásobení s původní maticí dá jednotkovou matici. Inverzní
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