Algoritmizace a programování. Ak. rok 2012/2013 vbp 1. ze 44

Podobné dokumenty
Algoritmizace a programování. Ak. rok 2012/2013 vbp 1. ze 44

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

Algoritmizace a programování. Ak. rok 2012/2013 vbp 1. ze 44

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace

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

6 Příkazy řízení toku

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

Výrazy a operátory. Operátory Unární - unární a unární + Např.: a +b

Příkaz while. while (podmínka) { příkaz; } Příklad: int i=0; while (i < 10) { System.out.println(i); i++; } // vypíše čísla od 0 do 9

Algoritmizace a programování

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

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

Inovace a zkvalitnění výuky prostřednictvím ICT Základy programování a algoritmizace úloh. Ing. Hodál Jaroslav, Ph.D. VY_32_INOVACE_25 09

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

Algoritmizace I. Ak. rok 2015/2016 vbp 1. ze 132

Programovací jazyk Pascal

Programování v jazyce JavaScript

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

Správné vytvoření a otevření textového souboru pro čtení a zápis představuje

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:

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

Úvod do programovacích jazyků (Java)

IUJCE Přednáška č. 1. programování v C na vyšší úrovni základy objektově orientovaného programovaní v (C++, C#)

Řídicí struktury. alg3 1

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

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

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.

3. přednáška. Obsah: Řídící struktury sekvence, if-else, switch, for, while, do-while. Zpracování posloupnosti

Algoritmizace a programování

C++ Akademie SH. 2. Prom nné, podmínky, cykly, funkce, rekurze, operátory. Michal Kvasni ka. 20. b ezna Za áte níci C++

EVROPSKÝ SOCIÁLNÍ FOND. Úvod do PHP PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI

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

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

Ukázka knihy z internetového knihkupectví

Řídící struktury, if, while, switch

Pseudonáhodná čísla = algoritmicky generovaná náhrada za náhodná čísla

Programování v jazyce C pro chemiky (C2160) 3. Příkaz switch, příkaz cyklu for, operátory ++ a --, pole

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

Algoritmizace prostorových úloh

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

Algoritmizace a programování

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

Algoritmizace a programování

Objektově orientované programování

2. lekce Algoritmus, cyklus Miroslav Jílek

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

Obsah. Úvod 11 Základy programování 11 Objektový přístup 11 Procvičování 11 Zvláštní odstavce 12 Zpětná vazba od čtenářů 12 Errata 13

Jazyk C# a platforma.net

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

Jazyk 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

Příkazy if, while, do-while, for, switch

Ukazka knihy z internetoveho knihkupectvi

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

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

- jak udělat konstantu long int: L long velka = 78L;

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

Algoritmizace prostorových úloh

Větvení a cykly. Úvod do programování 1 Tomáš Kühr

Základní pojmy. Úvod do programování. Základní pojmy. Zápis algoritmu. Výraz. Základní pojmy

Hotelová škola, Obchodní akademie a Střední průmyslová škola Teplice, Benešovo náměstí 1, p.o. III/2 - Inovace a zkvalitnění výuky prostřednictvím ICT

Cykly. Základy programování 1 Martin Kauer (Tomáš Kühr)

MQL4 COURSE. By Coders guru -4 Operace & Výrazy

Operátory. Základy programování 1 Martin Kauer (Tomáš Kühr)

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

Předmluva k aktuálnímu vydání Úvod k prvnímu vydání z roku Typografické a syntaktické konvence... 20

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

Programovací jazyk C(++) C++ area->vm_mm->locked_vm -= len >> PAGE_SHIFT;

ŘÍDÍCÍ STRUKTURY - PODMÍNKY

Osnova přednášky. Informační a řídicí systémy I. Programování PLC II. IEC Program ve strukturovaném textu. Strukturovaný text (ST)

Úvod do programování v jazyce Java

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

Řídicí struktury, výrazy a funkce

Řídící struktury, if, while, switch

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

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

Funkce, intuitivní chápání složitosti

Základy algoritmizace a programování

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

Zápis programu v jazyce C#

Programovací jazyk C++ Hodina 1

První kapitola úvod do problematiky

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 21.

Klíčové pojmy: Cyklus, řídící proměnná, inicializace, test podmínky, přerušení cyklu, vnořování cyklů.

Racionální čísla, operátory, výrazy, knihovní funkce

První začátky s C. Struktura programu a základní prvky. Základní termíny (1) Základní termíny (2)

Struktura programu a základní prvky

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

Operátory. Základy programování 1 Tomáš Kühr

Sekvenční a podmíněné provádění

Část 3 Zadání 3. domácího úkolu (HW03)

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

Přehled témat. Přiřazení

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

Přednáška 3. Rekurze 1

Data, výrazy, příkazy

Program a životní cyklus programu

Obsah přednášky. Příkaz for neúplný. Příkaz for příklady. Cyklus for each (enhanced for loop) Příkaz for příklady

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

Podmíněné vykonávání

Strukturu lze funkci předat: (pole[i])+j. switch(výraz) velikost ukazatele

Transkript:

Algoritmizace a programování Ak. rok 2012/2013 vbp 1. ze 44

Vladimír Beneš Petrovický K101 katedra matematiky, statistiky a informačních technologií vedoucí katedry E-mail: vbenes@bivs.cz Telefon: 251 114 534, 731 425 276 Konzultační hodiny: středa 14:00 16:00 Ak. rok 2012/2013 vbp 2. ze 44

Hodinová dotace Prezenční studium 1 semestr 2/2 KZ 6 kreditů Kombinované studium 1 semestr 12/4 KZ 6 kreditů Ak. rok 2012/2013 vbp 3. ze 44

Požadavky ke klasifikovanému zápočtu Prezenční studium Kombinované studium Kompletní vypracování dané úlohy (přihlášení v ISu) Analýza úlohy Algoritmizace Odladěný zdrojový kód programu v jazyce C++ Ak. rok 2012/2013 vbp 4. ze 44

Studijní literatura Literatura základní HEROUT, Pavel. Učebnice jazyka C. České Budějovice : Kopp, 1997. ISBN 80-85828-21-9. BENEŠ, Vladimír. Algoritmizace a programování. Elektronická studijní opora. Praha : BIVŠ, 2011. PRATA, Stephen. Mistrovství v C++. Brno : Computer Press, 2004. ISBN 80-251-0098-7. Literatura doporučená KADLEC, Václav. Učíme se programovat v jazyce C. Praha : Computer Press, 2002. ISBN 80-7226-715-9. MILKOVÁ, E. a kol. Algoritmy, základní konstrukce v příkladech a jejich vizualizace. Hradec Králové : Gaudeamus, 2010. KNUTH, Donald, E. Umění programování.1. díl, Základní algoritmy. Brno : Computer Press, 2008,. ISBN 978-80-251-2025-5. Ak. rok 2012/2013 vbp 5. ze 44

Obsah Algoritmizace Algoritmus Zápis algoritmu Některé základní algoritmy Programování Historie jazyka C/C++ Syntaxe základních příkazů jazyka C++ Programovací prostředí Ladění úlohy Ak. rok 2012/2013 vbp 6. ze 44

II Programování 2 Ak. rok 2012/2013 vbp 7. ze 44

PROGRAMOVÁNÍ 2 C/C++ Ak. rok 2012/2013 vbp 8. ze 44

Řídící struktury Boolovské výrazy v jazyce C/C++ není implicitně typ Boolean místo tohoto typu se používá typ int nulová hodnota znamená hodnotu FALSE nenulová hodnota (nejčastěji = 1) znamená TRUE Ak. rok 2012/2013 vbp 9. ze 44

Řídící struktury Logické operátory Pascal C = == rovnost <>!= nerovnost AND && logický součin OR logický součet NOT! negace Ak. rok 2012/2013 vbp 10. ze 44

Řídící struktury Relační operátory Pascal C < < menší <= <= menší nebo rovno > > větší >= >= větší nebo rovno Ak. rok 2012/2013 vbp 11. ze 44

Řídící struktury Priority vyhodnocování logických výrazů 1 operátor směr vyhodnocení! -- ++ - + (typ) zprava doleva * / % zleva doprava + - zleva doprava < <= >= > zleva doprava ==!= zleva doprava Ak. rok 2012/2013 vbp 12. ze 44

Řídící struktury Priority vyhodnocování logických výrazů 2 operátor směr vyhodnocení && zleva doprava zleva doprava? : zprava doleva = += -= *= atd. zprava doleva, zleva doprava!!! Tabulka není úplná; obsahuje nejčastější operátory!!! Ak. rok 2012/2013 vbp 13. ze 44

Řídící struktury Podmíněný výraz syntaxe: význam: Příklad: int i, k, j = 2; výraz_podm? výraz_1 : výraz_2 if výraz_podm then výraz_1 else výraz_2 i = (j==2)? 1 : 2; /* i bude 1 */ k = (i > j)? i : j; /* k bude max. z i a j, tedy 2 */ Ak. rok 2012/2013 vbp 14. ze 44

Řídící struktury Operátor čárky syntaxe: výraz_1, výraz_2 význam: vyhodnotí se výraz_1, je zapomenut a vyhodnotí se výraz_2 a ten je výsledkem; není to l_hodnota Příklad: int i = 2, j = 4; /* toto není operátor čárky */ j = (i++, i j); /* i bude 3, j bude -1 */ Ak. rok 2012/2013 vbp 15. ze 44

Řídící struktury Upozornění! Pouze 4 operátory v C/C++ zaručují vyhodnocení levého operandu před vyhodnocením pravého operandu! Jsou to: logický součin && logický součet ternární operátor? : operátor čárky, Ak. rok 2012/2013 vbp 16. ze 44

Řídící struktury Příkaz if syntaxe: if(výraz_podmínka) příkaz; význam: Platí-li výraz_podmínka, tj. výraz_podmínka má hodnotu 0, provede se příkaz, jinak se jde dál Příklad: int c; if((c = getchar()) >= A && c <= Z ) printf( \n %i, c); Ak. rok 2012/2013 vbp 17. ze 44

Řídící struktury Příkaz if-else syntaxe: if(výraz_podmínka) příkaz_1; else příkaz_2; význam: Platí-li výraz_podmínka, tj. výraz_podmínka má hodnotu 0, provede se příkaz_1, jinak příkaz_2 Ak. rok 2012/2013 vbp 18. ze 44

Řídící struktury Příkaz if-else syntaxe: Příklad 1: if(výraz_podmínka) příkaz_1; else příkaz_2; if(i > 3) j = 5; else j = 1; Ak. rok 2012/2013 vbp 19. ze 44

Řídící struktury Příkaz if-else Příklad 2: if(i > 3) { j = 5; k = 4; } else { j = 5; k = 4; } Ak. rok 2012/2013 vbp 20. ze 44

Iterační příkazy - cykly Příkazy break a continue Oba příkazy lze použít ve všech třech typech cyklů. break continue ukončuje nejvnitřnější neuzavřenou smyčku; opouští okamžitě cyklus skáče na konec nejvnitřnější neuzavřené smyčky a tím vynutí další iteraci smyčky; cyklus neopouští Ak. rok 2012/2013 vbp 21. ze 44

Iterační příkazy - cykly Příkaz while syntaxe: while (výraz_podmínka) příkaz; Tento iterační příkaz testuje podmínku cyklu před průchodem cyklem. Cyklus tedy nemusí proběhnout ani jednou. Ak. rok 2012/2013 vbp 22. ze 44

Iterační příkazy - cykly Příkaz while Příklad 1: while (x < 10) x++; Ak. rok 2012/2013 vbp 23. ze 44

Iterační příkazy - cykly Příkaz while Příklad 2: while (x < 10) { x++; y = 2*x + 15; z = x y; } Ak. rok 2012/2013 vbp 24. ze 44

Iterační příkazy - cykly Příkaz while int c; Příklad 3: while (1) /* nekonečná smyčka */ { if((c = getchar()) < ) continue; // zahoď bílý znak if(c == z ) break; // celkové ukončení putchar(c); // tisk znaku } Ak. rok 2012/2013 vbp 25. ze 44

Iterační příkazy - cykly Příkaz do-while syntaxe: do příkaz; while (výraz_podmínka) Tento iterační příkaz testuje podmínku cyklu až po průchodu cyklem. Cyklus tedy musí proběhnout nejméně jednou. Ak. rok 2012/2013 vbp 26. ze 44

Iterační příkazy - cykly Příkaz do-while Příklad 1: do i--; while (i > 0); Ak. rok 2012/2013 vbp 27. ze 44

Iterační příkazy - cykly Příkaz do-while Příklad 2: int c; do { if((c = getchar()) >= ) putchar(c); } while(c!= z ); Ak. rok 2012/2013 vbp 28. ze 44

Iterační příkazy - cykly Příkaz for syntaxe: for(výraz_začátek; výraz_konec; výraz_krok) příkaz; Tento příkaz cyklu použijeme, známe-li předem počet průchodů cyklem. Ak. rok 2012/2013 vbp 29. ze 44

Iterační příkazy - cykly Příkaz for Příklad 1: for(i = 0; i < 10; i++) printf( \n %i, i); Ak. rok 2012/2013 vbp 30. ze 44

Iterační příkazy - cykly Příkaz for Příklad 2: int i, soucin; for(i = 3, soucin = 1; i <= 9; i += 2) soucin *= i; Ak. rok 2012/2013 vbp 31. ze 44

Iterační příkazy - cykly Příkaz for Příklad 3: for( ; ; ) /* nekonečný cyklus*/ Ak. rok 2012/2013 vbp 32. ze 44

Řídící struktury Příkaz switch syntaxe: switch(výraz) { case hodnota_1 : příkaz_1; break; case hodnota_2 : příkaz_2; break; case hodnota_n : příkaz_n; break; default : příkaz_def; break; } Ak. rok 2012/2013 vbp 33. ze 44

Řídící struktury Příkaz switch Příklad: switch(getchar()) { case a case b case c case d default } : putchar( 1 ); break; : putchar( 2 ); break; : putchar( 3 ); break; : putchar( 4 ); break; : putchar( 0 ); break; Ak. rok 2012/2013 vbp 34. ze 44

Řídící struktury Příkaz goto syntaxe: návěští: NEPODMÍNĚNÝ SKOK goto návěští; příkaz; V programu je předáno řízení na příkaz s návěštím. Návěští je identifikátor. Příkaz goto se v dobře napsaných prog. používá řídce; ve strukturovaném jazyku se mu lze vyhnout. Ak. rok 2012/2013 vbp 35. ze 44

Řídící struktury Příkaz goto Příklad: for(i = 1; i < 10; i++) for(j = 1; j < 10; j++) { if(x == 0) goto error; } goto další_výpočet; error: printf( ); další_výpočet: Ak. rok 2012/2013 vbp 36. ze 44

Řídící struktury Příkaz return syntaxe: return (výraz); Příkaz return ukončí provádění funkce, která tento příkaz obsahuje. Ve funkci main ukončí příkaz return celý program. Pomocí příkazu return se vrací hodnota, jejíž typ záleží na typu funkce (na typu návratové hodnoty). Ak. rok 2012/2013 vbp 37. ze 44

Řídící struktury Příkaz return Příklad: return(0); /* neúspěch */ return(1); /* úspěch */ Ak. rok 2012/2013 vbp 38. ze 44

Děkuji za pozornost Ak. rok 2012/2013 vbp 39. ze 40