Algoritmizace a programování Algoritmy 1 - Úvod. Základní pojmy Počítačový program Počítačový program zápis zdrojového kódu, kterému rozumí počítač zápis.

Slides:



Advertisements
Podobné prezentace
Bakalářská práce Prostředí pro výuku algoritmů
Advertisements

HYPERTEXT PREPROCESSOR. PROGRAMOVÁNÍ. DEFINICE POJMŮ Problém Problém nevyřešený, nežádoucí stav obvykle vyžaduje nějaké řešení Neřešitelný problém Neřešitelný.
Algoritmy – struktura a zápis
Algoritmizace Vývojové diagramy.
ALGO – Algoritmizace 1. cvičení
Alg51 Rozklad problému na podproblémy Postupný návrh programu rozkladem problému na podproblémy –zadaný problém rozložíme na podproblémy –pro řešení podproblémů.
Algoritmizace 9. Ročník.
Vývojové diagramy a základy algoritmizace
ALGORITMIZACE ÚVODNÍ PŘEDNÁŠKA 2 SLOVO ALGORITMUS VZNIKLO ZE JMÉNA ARABSKÉHO MATEMATIKA AL-KHWARIZMIHO, KTERÝ V DEVÁTÉM STOLETÍ SEPSAL ROZSÁHLOU KOLEKCI.
Algoritmy a datové struktury
Algoritmizace a programování
Jazyk vývojových diagramů
Seminář – Základy programování
Algoritmizace.
Informatika a práce s počítačem
25. ALGORITMIZACE A PROGRAMOVÁNÍ
Vyučovací hodina 1 vyučovací hodina: Opakování z minulé hodiny 5 min Nová látka 20 min Procvičení nové látky 15 min Shrnutí 5 min 2 vyučovací hodiny: Opakování.
SWI072 Algoritmy komprese dat1 Algoritmy komprese dat Statistické metody komprese dat a Shannon-Fanův kód.
doc. RNDr. Zdeněk Botek, CSc.
Algoritmus po krocích rozepsaný návod k nějaké činnosti
Church-Turingova teze Univerzální Turingův stroj Diagonalizace
Informatika I 2. přednáška
C – strukturované příkazy
Algoritmizace a základy programování
Základy algoritmizace a programování
Úvod do algoritmizace Obsah: Algoritmus, algoritmizace
Jazyk vývojových diagramů
Obchodní akademie, Náchod, Denisovo nábřeží 673
Modelování a simulace MAS_02
Dokumentace informačního systému
MATICE ODPOVĚDNOSTI Matice odpovědnosti představuje jasné a konkrétní vymezení kompetencí osob z týmu za konkrétní projektové činnosti (úkoly), např. koordinaci.
Algoritmizace a programování Vývojové diagramy - 03
Algoritmizace a programování Algoritmizace – základní pojmy - 01
doc. RNDr. Zdeněk Botek, CSc.
ALGO – Algoritmizace 4. cvičení 1.ročník, ZS Ing. Zdena DOBEŠOVÁ, Ph.D.
Algoritmus a jeho vlastnosti
Gymnázium, Obchodní akademie a Jazyková škola s právem státní jazykové zkoušky Hodonín Úvod do programování.
doc. RNDr. Zdeněk Botek, CSc.
Základy ALgoritmizace 6. cvičení. Program cvičení Kontrolní bod 1 zakončení grafického zápisu algoritmů - vývojových diagramů –identifikátory a proměnné.
Úvod do teorie konečných automatů
Algoritmy – jejich tvorba Střední odborná škola Otrokovice Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je ing. Jaroslav.
doc. RNDr. Zdeněk Botek, CSc.
České vysoké učení technické Fakulta elektrotechnická Datové typy, výrazy vstup, výstup Jazyk JAVA A0B36PRI - PROGRAMOVÁN Í v1.02.
11/2003Přednáška č. 41 Regulace výpočtu modelu Předmět: Modelování v řízení MR 11 (Počítačová podpora) Obor C, Modul M8 ZS, 2003, K126 EKO Předn./Cvič.:
ALGO – Algoritmizace 7. cvičení – ročník, ZS Ing. Zdena DOBEŠOVÁ, Ph.D.
Úvod do programování Vyučující: Mgr. Vítězslav Jersák
Programování v MATLABu © Leonard Walletzký, ESF MU, 2000.
Algoritmizace. Co je to algoritmizace? Algoritmizace je postup při tvorbě programu pro počítač, kterým lze prostřednictvím algoritmu řešit nějaký problém.
Překladače Vnitřní struktura překladače © Milan Keršláger
KURZ ALGORITMIZACE A PROGRAMOVÁNÍ V JAZYCE C Lekce č. 4: Programovací jazyk C Bc. Radek Libovický.
Algoritmizace a programování Algoritmy 4 – Vývojové diagramy (cykly)
Algoritmizace a programování Soubory. Oč jde? Vytvoření externího souboru Vytvoření externího souboru Tento soubor může být: Tento soubor může být: Textový.
Algoritmizace a programování Algoritmy 2 – Vývojové diagramy (sekvence)
Algoritmizace a programování Cykly - For. FOR Předem známe počet opakování Předem známe počet opakování Syntaxe: Syntaxe: for proměnná in range(rozpětí):
Algoritmizace a programování Cykly – While 1. Test Příští hodina test na větvení Konstrukce IF..ELSE případně IF..ELIF..ELSE.
KURZ ALGORITMIZACE A PROGRAMOVÁNÍ V JAZYCE C Lekce č. 2: Základní pojmy Bc. Radek Libovický.
NÁZEV ŠKOLY:SOŠ Net Office, spol. s r.o. Orlová Lutyně
Programovací jazyk C# 4. část - cykly.
Základní pojmy v automatizační technice
Algoritmizace – základní pojmy
Algoritmizace a programování
Základní pojmy v automatizační technice
Inf Algoritmus.
Algoritmizace a programování
Vytváření dokumentace algoritmů
2018/6/10 Počítačový model Kateřina Růžičková.
Příkazy cyklu (1) Umožňují vícekrát (nebo ani jednou) pro-vést určitý příkaz Jazyk C rozlišuje příkaz cyklu: s podmínkou na začátku: obecný tvar: while.
Algoritmizace a programování
Cyklus for (1) Obecný tvar: for (výraz1; výraz2; výraz3) příkaz
Algoritmizace a datové struktury (14ASD)
Transkript prezentace:

Algoritmizace a programování Algoritmy 1 - Úvod

Základní pojmy Počítačový program Počítačový program zápis zdrojového kódu, kterému rozumí počítač zápis zdrojového kódu, kterému rozumí počítač Počítač vykonává příkazy Počítač vykonává příkazy Programovací jazyk Programovací jazyk Prostředek pro „dorozumívání se“ s počítačem Prostředek pro „dorozumívání se“ s počítačem Syntaxe Syntaxe Způsob zápisu příkazů Způsob zápisu příkazů Programování Programování Proces psaní příkazů v programovacím jazyce Proces psaní příkazů v programovacím jazyce

Co je to algoritmus? Přesný postup libovolné činnosti, kde známe posloupnost (sekvenci) kroků a víme jaký další krok bude následovat Přesný postup libovolné činnosti, kde známe posloupnost (sekvenci) kroků a víme jaký další krok bude následovat

Příklad algoritmu Uvaření čaje: (postup každého se může lišit) 1) Naplnění konvice vodou 2) Zapnutí konvice 3) Nachystání hrnku 4) Sáček čaje + cukr 5) Po skončení varu, hrnek zalít vařící vodou 6) Pár minut louhovat 7) Vyhodit sáček

Postup při vytváření algoritmu 1) Formulace problému 2) Stanovení cíle 3) Volba strategie 4) Navržení postupu 5) Zápis vytvořených postupů 6) Ověření správnosti definice vstupních dat definice výstupních dat

Vlastnosti algoritmu Hromadný (Masový) Hromadný (Masový) Neměl by sloužit pouze pro jediný případ Neměl by sloužit pouze pro jediný případ Odmocnina ze čtyř =>alg. nemá smysl Odmocnina ze čtyř =>alg. nemá smysl Odmocnina z libovolného čísla => má smysl Odmocnina z libovolného čísla => má smysl Jednoznačný Jednoznačný Každý krok jasně ukazuje na to co bude následovat Každý krok jasně ukazuje na to co bude následovat Opakovatelný (Determinovanost algoritmu) Opakovatelný (Determinovanost algoritmu) Výsledek bude vždy stejný při stejných vstupních datech Výsledek bude vždy stejný při stejných vstupních datech Konečný (Resultativnost algoritmu) Konečný (Resultativnost algoritmu) Po určitém počtu kroků vede ke konečnému výsledku a skončí Po určitém počtu kroků vede ke konečnému výsledku a skončí

Možnosti návrhu algoritmu Shora dolů Shora dolů Řešení rozkládáme na jednodušší operace až k dílčím krokům Řešení rozkládáme na jednodušší operace až k dílčím krokům Zdola nahoru Zdola nahoru Z dílčích kroků vytváříme prostředky pro zvládnutí celkového problému Z dílčích kroků vytváříme prostředky pro zvládnutí celkového problému Kombinace předchozích Kombinace předchozích

Příklady možností návrhu Shora dolů: Problém: Organizační struktura Ředitel Ředitel Zástupci, Ekonomka Zástupci, Ekonomka Vedoucí předmětových sekcí Vedoucí předmětových sekcí Učitelé Učitelé Problém2: Získání maturity

Způsoby zápisu algoritmu Přirozený jazyk Přirozený jazyk Přirozený jazyk strukturovaný Přirozený jazyk strukturovaný Pseudokód Pseudokód Konkrétní jazyk Konkrétní jazyk Vývojový diagram Vývojový diagram

Způsoby zápisu algoritmu 1/5 Přirozený jazyk Přirozený jazyk Nalezení největšího čísla v posloupnosti. Vstupem je posloupnost čísel, výstupem je největší číslo v dané posloupnosti. Do pomocného prvku uložíme první číslo posloupnosti. Postupně procházíme jednotlivá čísla v posloupnosti a pokud je hodnota právě zkoumaného čísla vetší než hodnota v pomocném prvku, uložíme hodnotu právě zkoumaného čísla do pomocného prvku. Pomocný prvek obsahuje největší číslo v posloupnosti. Nalezení největšího čísla v posloupnosti. Vstupem je posloupnost čísel, výstupem je největší číslo v dané posloupnosti. Do pomocného prvku uložíme první číslo posloupnosti. Postupně procházíme jednotlivá čísla v posloupnosti a pokud je hodnota právě zkoumaného čísla vetší než hodnota v pomocném prvku, uložíme hodnotu právě zkoumaného čísla do pomocného prvku. Pomocný prvek obsahuje největší číslo v posloupnosti.

Způsoby zápisu algoritmu 2/5 Přirozený jazyk strukturovaný Přirozený jazyk strukturovaný Vstup: posloupnost čísel Výstup: největší číslo v posloupnosti 1. Do pomocné proměnné uložit první číslo posloupnosti 2. Postupně procházet jednotlivá čísla posloupnosti 2.1 Jestliže je aktuální číslo vetší než pomocná proměnná, pak uložit aktuální číslo do pomocné proměnné 3. Pomocná proměnná obsahuje největší číslo posloupnosti posloupnosti

Způsoby zápisu algoritmu 3/5 Pseudokód Pseudokód Vstup: posloupnost čísel P Výstup: největší číslo NEJ v posloupnosti P NEJ <- P[0] NEJ <- P[0] pro všechna čísla C z P dělej pro všechna čísla C z P dělej jestliže C > NEJ pak NEJ NEJ pak NEJ <- C vrať NEJ vrať NEJ

Způsoby zápisu algoritmu 4/5, 5/5 Konkrétní jazyk Konkrétní jazyk Vstup : posloupnost čísel P Výstup: největší číslo NEJ v posloupnosti P Výstup: největší číslo NEJ v posloupnosti P NEJ = P [0]; NEJ = P [0]; foreach (C in P) { foreach (C in P) { if(C>NEJ) NEJ = C; if(C>NEJ) NEJ = C; } return NEJ; return NEJ; Vývojový diagram Vývojový diagram

Požadované znalosti Základní pojmy (slide 2) Základní pojmy (slide 2) Pojem algoritmus (slide 3) Pojem algoritmus (slide 3) Vlastnosti algoritmu (slide 6) Vlastnosti algoritmu (slide 6) Možnosti návrhu algoritmu (slide 7) Možnosti návrhu algoritmu (slide 7)

Pěkný zbytek dne Pěkný zbytek dne