Úvod do programování



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

Identifikátory označují objekty v programu používané (proměnné, typy, podprogramy).

Vyučovací hodina. 1vyučovací hodina: 2vyučovací hodiny: Opakování z minulé hodiny. Procvičení nové látky

Programování I. Martin Pergel,

Programovací jazyk Pascal

Programovací jazyk. - norma PASCAL (1974) - implementace Turbo Pascal, Borland Pascal FreePascal Object Pascal (Delphi)

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

Programování I. Martin Pergel, 10. října Martin Pergel, Programování I

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

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu:

Obecná informatika. Matematicko-fyzikální fakulta Univerzity Karlovy v Praze. Podzim 2012

1.1 Struktura programu v Pascalu Vstup a výstup Operátory a některé matematické funkce 5

V každém kroku se a + b zmenší o min(a, b), tedy vždy alespoň o 1. Jestliže jsme na začátku dostali 2

ALGORITMIZACE A PROGRAMOVÁNÍ

Test prvočíselnosti. Úkol: otestovat dané číslo N, zda je prvočíslem

Sada 1 - Základy programování

PODPROGRAMY PROCEDURY A FUNKCE

NPRG030 Programování I, 2018/19 1 / :25:37

Program a životní cyklus programu

Algoritmizace. Cíle předmětu

NPRG030 Programování I, 2015/16 1 / :25:32

type Obdelnik = array [1..3, 1..4] of integer; var M: Obdelnik;

Digitální učební materiál

NPRG030 Programování I, 2016/17 1 / :58:13

2.1 Podmínka typu case Cykly Cyklus s podmínkou na začátku Cyklus s podmínkou na konci... 5

Pascal. Katedra aplikované kybernetiky. Ing. Miroslav Vavroušek. Verze 7

- znakové konstanty v apostrofech, např. a, +, (znak mezera) - proměnná zabírá 1 byte, obsahuje kód příslušného znaku

NMIN101 Programování 1 2/2 Z --- NMIN102 Programování /2 Z, Zk

NPRG030 Programování I, 2010/11

NPRG030 Programování I RNDr.Tomáš Holan, Ph.D. 4.patro, č

Soubory. Hung Hoang Dieu. Department of Mathematics Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague 1 / 7

dovolují dělení velkých úloh na menší = dekompozice

1 PRVOCISLA: KRATKY UKAZKOVY PRIKLAD NA DEMONSTRACI BALIKU WEB 1

Sada 1 - Základy programování

3 Co je algoritmus? Trocha historie Definice algoritmu Vlastnosti algoritmu... 3

Sada 1 - Základy programování

NPRG030 Programování I, 2018/19 1 / :03:07

Algoritmizace. 1. Úvod. Algoritmus

Závěrečná zkouška z informatiky 2011

Digitální učební materiál

Sada 1 - Základy programování

Sada 1 - Základy programování

NPRG030 Programování I 3/2 Z --- NPRG031 Programování II --- 2/2 Z, Zk

Vlastnosti algoritmu. elementárnost. determinovanost. rezultativnost. konečnost. hromadnost. efektivnost

DTP Základy programování Úvod do předmětu

Programování 2 (NMIN102) Soubory. RNDr. Michal Žemlička, Ph.D.

Inovace a zkvalitnění výuky prostřednictvím ICT Základy programování a algoritmizace úloh Typové a netypové soubory

NMIN101 Programování 1 2/2 Z --- NMIN102 Programování /2 Z, Zk

Masarykova střední škola zemědělská a Vyšší odborná škola, Opava, příspěvková organizace

Výukový materiál zpracován v rámci projektu EU peníze školám

Úvod. Programovací paradigmata

Anotace. Soubory a práce s nimi, rekurze podruhé, struktury (datový typ record), Martin Pergel,

Algoritmizace a programování

Přijímací zkouška z informatiky Dz

Tematická oblast: Programování 2 (VY_32_INOVACE_08_2_PR) Anotace: Využití ve výuce: Použité zdroje:

Několik příkladů v Turbo Pascalu

Klasický podprogram, který nazýváme procedura. Jedná se v podstatě o příkaz. 1

- znakové konstanty v apostrofech, např. a, +, (znak mezera) - proměnná zabírá 1 byte, obsahuje kód příslušného znaku

Rekurze. Pavel Töpfer, 2017 Programování 1-8 1

Sada 1 - Základy programování

O datových typech a jejich kontrole

Uplatnění metod na zvolený jazyk

NPRG030 Programování I, 2017/18 1 / :22:16

Binární soubory (datové, typované)

Programovanie I. Úvod do programovania Mgr. Stanislav Horal, Katedra informatiky, FPV, UCM

Řízení toku programu Programátor musí být schopen nějak ovlivňovat běh programu a k tomu má několik možností:

Standardní algoritmy vyhledávací.

Martin Hejtmánek hejtmmar

4.3 Operace nad ordin ln mi datov mi typy Operace nad logick m datov m typem Operace nad celo seln mi datov mi typy

Překladač a jeho struktura

Algoritmus. Přesné znění definice algoritmu zní: Algoritmus je procedura proveditelná Turingovým strojem.

2. lekce Algoritmus, cyklus Miroslav Jílek

Základy algoritmizace a programování

Martin Flusser. Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague. October 17, 2016

Programování v C++ 1, 1. cvičení

Činnost: 1) Vyhodnotí se výraz E. 2) Jeho hodnota se uloží do proměnné V.

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

Ná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:

Časová a prostorová složitost algoritmů

VISUAL BASIC. Přehled témat

NMIN102 Programování /2 Z, Zk

Základy algoritmizace

ŘÍDÍCÍ STRUKTURY - PODMÍNKY

1. D Y N A M I C K É DAT O V É STRUKTUR Y

Základy programovacího jazyka Turbo Pascal

PROGRAMOVÁNÍ V JAZYCE C V PŘÍKLADECH 11 Dynamické datové struktury 11.1 Spojové struktury Příklad PROG_

Algoritmy I. Cvičení č. 2, 3 ALGI 2018/19

Náznak ukázky syntaxe a sémantiky pro projekt. 1 Syntaktické prvky. Poslední aktualizace: 8.

53. ročník Matematické olympiády 2003/2004

Programovací jazyk PASCAL Turbo

ČÁST 1. Základy 32bitového programování ve Windows

Seminář z IVT Algoritmizace. Slovanské gymnázium Olomouc Tomáš Kühr

Aplikovaná informatika. Podklady předmětu Aplikovaná informatika pro akademický rok 2006/2007 Radim Farana. Obsah. Obsah předmětu

2) 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.

Dynamické datové typy a struktury

Podprogramy; procedury a funkce

Programování. Debugging a testování. Martin Urza

NPRG031 Programování II --- 2/2 Z, Zk

Reprezentace aritmetického výrazu - binární strom reprezentující aritmetický výraz

VY_32_INOVACE_08_2_04_PR

Transkript:

Úvod do programování

Základní literatura Töpfer, P.: Algoritmy a programovací techniky, Prometheus, Praha učebnice algoritmů, nikoli jazyka pokrývá velkou část probíraných algoritmů Satrapa, P.: Pascal pro zelenáče, Neokortex, Praha učebnice jazyka Pascal v podstatě vše, co budeme probírat přednášky se budou z velké části držet linie daných knih

Algoritmus podle jména matematika Abū ʻAbd Allāh Muhammad ibn Mūsā al-chwārizmī postup, návod jak vyřešit daný problém důležité konečnost správnost složitost (efektivita)

Složitost algoritmu základní dělení: paměťová časová alg. při stejných datech použije více/méně paměti alg. při stejných datech poběží delší/kratší čas otázka vzájemného poměru preferujeme spíše vyšší časovou efektivitu omezíme se jen na odhady

Časová složitost nejhorší případ průměrný případ asymptotická složitost porovnávání algoritmů pro velká data rychlost růstu času v závislosti na velikosti dat symbol velké O pouze nejrychleji rostoucí člen v praxi: O(log 2 N), O(N), O(N 2 ),, O(2 N )

Příklad problém: vyhledat hodnotu v setříděné posloupnosti (případně oznámit, že není) možnost volit různé algoritmy postupné hledání O(N) půlení intervalů O(log 2 N) posloupnost rozdělíme na dvě poloviny podíváme se, ve které hledat opakujeme, dokud nenajdeme nebo nevyloučíme

Složitost problému jak nejrychleji lze daný problém řešit

Pascal vznik počátkem 70. let autor Niklaus Wirth vyšší programovací jazyk určený pro výuku překladače a vývoj. prostředí FreePascal (+ Lazarus) svobodný Borland (Turbo) Pascal (+ Delphi, Kylix) do verze 5.5 uvolněn, poslední verze 7.0 GNU Pascal svobodný

Nazdar světe! program Hello; begin write('hello world!'); end.

Práce programátora vymyslet správný, vhodný, rychlý algoritmus (nejtěžší) a uživatelské rozhraní přepsat jej do řeči pro počítač v nějakém programovacím jazyce přeložit, opravit chyby otestovat opravit chyby otestovat opravit chyby,...

Programování program v pr. jazyce obyč. textový soubor převezme kompilátor kontrola syntaktických chyb úspěšná kompilace program v poč. jazyce binární soubor spouštění, testování sémantické správnosti

Vývojová prostředí k tvorbě programu s pomůckami ke kontrole syntaxe k překladu k opravě chyb sledování proměnných krokování programu apod.

Struktura programu hlavička (někdy součást deklarace) název programu, načítané knihovny deklarace typy, proměnné, podprogramy příkazy (tělo programu) klíčová slova vs. identifikátory

Nazdar světe! program Hello; begin write('hello world!'); end.

Štábní kultura v podstatě individuální věc je vhodné zajistit určitou přehlednost Pascal ignoruje bílé znaky mnemotechnické identifikátory dodržovat velikost písmen, i když Pascal není case-sensitive časté kometáře

Přiřazovací příkaz symbol := uložení do proměnné A := 2; do proměnné A přiřaď dvojku nejčastěji používaný příkaz

Vstup a výstup procedury Read a Write načítání a zápis z/do standardního vstupu/výstupu tj. pro nás nyní příkazový řádek relikvie? Nikoli! načti proměnnou A Read(A); vypiš proměnnou A Write(A); a co udělá Write('Hodnota je: ',A);? varianta Writeln, Readln

Deklarace proměnných každá proměnná musí být deklarována uvádíme na počátku programu klíčové slovo var proměnná: typ; různé typy a rozsahy proměnných integer real char atd.

Příklad program dvojka; var X: integer; begin X := 2; Write('X je :', X); end.

Jiný příklad program mocnina; var X, X2: integer; begin Read(X); X2 := X * X; Write('Druha mocnina X je :', X2); end.

Operace s čísly +, -, *, /, mod, div pozor na neceločíselné dělení celých čísel

Podmíněný příkaz rozvětvění programu jedna nebo dvě větve pokud je splněna podmínka např. (ne)rovnost if then else před else nesmí být středník lze vnořovat více příkazů nutno sevřít do bloku košile bližší než kabát

While cyklus cykly pro opakování téže činnosti provádí, dokud je splněna podmínka while do příklad: X := 0; while X < 10 do begin writeln(x*x); X := X + 1; end;

Repeat-until cyklus podobně jako while řízen podmínkou repeat until until = dokud není! narozdíl od while-cyklu vždy proběhne alespoň jeden krok