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

Podobné dokumenty
Programovací jazyk Pascal

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

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

ALGORITMIZACE A PROGRAMOVÁNÍ

Sada 1 - Základy programování

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

PODPROGRAMY PROCEDURY A FUNKCE

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

Algoritmizace prostorových úloh

Programy na PODMÍNĚNÝ příkaz IF a CASE

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

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

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

Algoritmizace prostorových úloh

Pracovní listy - programování (algoritmy v jazyce Visual Basic) Algoritmus

VISUAL BASIC. Přehled témat

PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE DATUM VYTVOŘENÍ: KLÍČOVÁ AKTIVITA: 02 PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) HODINOVÁ DOTACE: 1

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

Úvod do programování

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

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

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

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

Sada 1 - PHP. 03. Proměnné, konstanty

Úvod do programování. Lekce 1

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

Algoritmizace a programování

6 Příkazy řízení toku

Příkazy preprocesoru - Před překladem kódu překladačem mu předpřipraví kód preprocesor - Preprocesor vypouští nadbytečné (prázdné) mezery a řádky -

Je n O(n 2 )? Je n 2 O(n)? Je 3n 5 +2n Θ(n 5 )? Je n 1000 O(2 n )? Je 2 n O(n 2000 )? Cvičení s kartami aneb jak rychle roste exponenciála.

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

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:

Lekce 01 Úvod do algoritmizace

DUM 06 téma: Tvorba makra pomocí VBA

Algoritmizace a programování

Definice funkcí a procedur. Mnoho operací provozujeme opakovaně, proto je hloupé programovat je při každém použití znovu.

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

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

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

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

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.

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

DUM 07 téma: Proměnné, konstanty a pohyb po buňkách ve VBA

Assembler - 5.část. poslední změna této stránky: Zpět

Programování v Pascalu. Ing. Jana Pšenčíková

O datových typech a jejich kontrole

Tematický celek Proměnné. Proměnné slouží k dočasnému uchovávání hodnot během provádění aplikace Deklarace proměnných

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

POČÍTAČE A PROGRAMOVÁNÍ

Skripta ke školení. Základy VBA. vypracoval: Tomáš Herout. tel:

Základní způsoby: -Statické (přidělění paměti v čase překladu) -Dynamické (přiděleno v run time) v zásobníku na haldě

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

Funkce - opakování. Funkce může přijímat parametry na vstupu a může vracet parametry na výstupu.

Řídicí struktury. alg3 1

Inovace a zkvalitnění výuky prostřednictvím ICT Programování se strukturovanými údaji Programové jednotky

Inovace bakalářského studijního oboru Aplikovaná chemie

Paměť počítače. alg2 1

Základy algoritmizace a programování

Objektově orientované programování

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

2 Datové typy v jazyce C

Podprogramy; procedury a funkce

PHP - úvod. Kapitola seznamuje se základy jazyka PHP a jeho začleněním do HTML stránky.

Úvod do Matlabu. Praha & EU: Investujeme do vaší budoucnosti. 1 / 24 Úvod do Matlabu

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

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

Úvod do programovacích jazyků (Java)

Implementace seznamů do prostředí DELPHI pomocí lineárního seznamu

Odvozené a strukturované typy dat

MAXScript výukový kurz

Výčtový typ strana 67

Zadání: TÉMA: Zápis algoritmu, čtení textového souboru, porovnání řetězců.

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

Struktura programu v době běhu

Sada 1 - Základy programování

Object Pascal je přísně typový procedurální jazyk, který umožňuje jak strukturované, tak objektově orientované programování.

Vstupní požadavky, doporučení a metodické pokyny

IAJCE Přednáška č. 6. logický celek, řešící dílčí část problému Příklad velmi špatného zápisu programu na výpočet obsahu obdélníku

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

8 Třídy, objekty, metody, předávání argumentů metod

Program a životní cyklus programu

7 Formátovaný výstup, třídy, objekty, pole, chyby v programech

DSL manuál. Ing. Jan Hranáč. 27. října V této kapitole je stručný průvodce k tvorbě v systému DrdSim a (v

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

2 Strukturované datové typy Pole Záznam Množina... 4

Pole a Funkce. Úvod do programování 1 Tomáš Kühr

Základní způsoby: -Statické (přidělění paměti v čase překladu) -Dynamické (přiděleno v run time) v zásobníku na haldě

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

Algoritmizace a programování

Zápis programu v jazyce C#

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

X37SGS Signály a systémy

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

Sada 1 - Základy programování

Program převod z desítkové na dvojkovou soustavu: /* Prevod desitkove na binarni */ #include <stdio.h>

Algoritmizace prostorových úloh

PHP tutoriál (základy PHP snadno a rychle)

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

SII - Informatika. 1. Atribut relace, jehož hodnota jednoznačně určuje prvek v jiné relaci, se nazývá:

Uplatnění metod na zvolený jazyk

Transkript:

Č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 a funkce 2 tělo programu sem se píší všechny příkazy, které určují, co má program dělat Na začátku těla je uvedeno slovo begin a na konci end a za ním tečka Klíčová slova pro programovací jazyk mají zásadní význam a nesmějí být použita jinak Jsou to např begin, var, and, if, Identifikátory názvy všeho, co budeme v programu používat názvy programu, podprogramu, proměnných a konstant Mohou obsahovat pouze písmena anglické abecedy, číslice a podtržítka, číslice nesmí být na začátku Název identifikátorů musí být v rámci celého programu jedinečný Obvod a obsah rovnostranného trojúhelníku

Výměna obsahu dvou buněk Zkuste vymyslet výměnu hodnot ve dvou buňkách bez pomocné buňky Čtvrtek 15 Prosince Výměna hodnot ve dvou buňkách bez pomocné buňky Větvení 1 Úplný příkaz větvení je-li ve větvích jediný příkaz

Zápis v programu: Středník se píše jen na konci příkazu větvení if podmínka then jediný příkaz else jediný příkaz; 2 Úplný příkaz větvení je-li ve větvích více příkazů Zápis v programu: if podmínka then begin první příkaz; end else begin poslední příkaz první příkaz; Středníky sepíší za všemi příkazy, které jsou uzavřeny v logických závorkách begin end; u posledního příkazu před end se středník psát nemusí Středník se také píše úplně na konci větvení (za posledním end) Nikde jinde se středník psát nesmí! end; poslední příkaz

3 Neúplný příkaz větvení je-li ve větvích jediný příkaz Zápis v programu: if podmínka then jediný příkaz; 4 Neúplný příkaz větvení je-li ve větvích více příkazů Zápis v programu: if podmínka then begin první příkaz; end; poslední příkaz

Příklad dělení program vypočítá podíl dvou čísel a zároveň zajistí, aby nedošlo k dělení nulou Dělitelnost čísla A číslem B

Řešení výrazu Řešení lineární rovnice AX + B = 0

Čtvrtek 5 ledna Procedura exit program můžeme někdy zjednodušit instrukcí exit Má za následek okamžité ukončení programového celku, přejde na konec programu (popř procedury), kde byl použit Porovnání dvou čísel

Maximum ze tří čísel Maximum ze tří čísel s použitím dočasného maxima

Po zadání tří stran program zjistí, zda jde o trojúhelník Čtvrtek 12 ledna Case vícenásobné dělení

Napište program, který ze zadané ujeté vzdálenosti vypočte platbu taxikáři

Čtvrtek 19 ledna

Př Vypiš čísla od 1 do 20

Př Sečti čísla od 1 do 20 Př Sečti 10 zadaných čísel Př Najdi maximum z N zadaných čísel

Čtvrtek 26 ledna Procedury a funkce Procedury a funkce tvoří posloupnosti instrukcí, které potřebujeme v programu provádět na různých souborech dat nebo na různých místech programu Procedura nebo funkce může být po deklaraci použita kdekoli v následujícím textu bloku programu Rozdíl mezi procedurou a funkcí je v tom, že funkce vrací hodnotu a může se použít přímo ve výrazech Procedura se vyvolá příkazem volání procedury ke splnění jedné nebo více operací Procedury a funkce umožňují vnořovat přídavné bloky do hlavního programového bloku Každá deklarace procedury nebo funkce má hlavičku, po které následuje blok příkazů Procedura se aktivuje příkazem volání procedury, funkce se aktivuje vyhodnocením výrazu, který obsahuje její volání Za identifikátorem procedury nebo funkce může následovat seznam parametrů, uzavřený v kulatých závorkách Každý parametr v seznamu má své místo, kterému odpovídá příslušný typ Zdrojový text programu je ukončen tělem hlavního programu Tělo hlavního programu se musí uvést vždy jako poslední Mezi část deklarace proměnných a tělo hlavního programu lze vložit libovolné množství deklarací procedur a funkcí v jakémkoli pořadí Musí se však dodržovat zásada, že cokoli použijeme, musí být deklarováno, jinak dojde k chybě během překladu Tělo deklarace procedury nebo funkce končí středníkem místo tečky u hlavního programu Procedura nebo funkce může mít své vlastní interní datové typy, proměnné i své vlastní procedury a funkce Veškeré prvky deklarované uvnitř procedury nebo funkce mají lokální charakter, tzn lze je využít pouze uvnitř procedury nebo funkce, ve které jsou deklarovány Deklarace, které jsou uvedeny v hlavním programu, mají globální charakter Podprogram typu Procedura Je-li nějaká ucelená část programu upotřebitelná ve více programech, nebo se vícekrát vyskytuje v tomtéž programu, můžeme z ní udělat podprogram Máme dva typy podprogramů Procedura a Funkce Procedura je uvedena v deklarační části programu, kde se nachází celá v těle programu ve všech místech, kde je tato procedura volána se uvede její název a tím se dosadí místo jejího jména její celý zdrojový kód

Struktura procedury: Procedure Název (seznam formálních předávaných parametrů: jejich datový typ); definice konstant; definice proměnných; deklarace procedur a funkcí, které procedura používá; begin {tělo výkonná část procedury} end; V těle programu, tam kde je procedura volána, se pak objeví Název (seznam skutečných předávaných parametrů, už bez datového typu); Formální a skutečné parametry Každou proceduru můžeme v hlavním programu volat několikrát, pokaždé s jinými parametry, proto musí být deklarace procedury obecná V závorce za jejím názvem se uvádějí tzv formální proměnné, které jsou v místě, kde je podprogram volán, nahrazeny parametry skutečnými Globální a lokální proměnné Globální proměnné jsou takové, které platí jak v hlavním programu, tak i v podprogramu Chcete-li použít globální proměnnou, pak musíte: používat stejného označení jak v hlavním programu, tak i podprogramu deklarovat proměnnou pouze v hlavním programu, v podprogramu už deklarována být nesmí Lokální proměnné jsou takové, které platí pouze v určitém programovém bloku, hlavní program je nezná Chcete-li použít lokální proměnnou pak ji musíte deklarovat v podprogramu můžete pro ni použít stejný název, jako má proměnná v hlavním programu, která je určena pro něco úplně jiného, ale nedoporučuje se to z hlediska přehlednosti programu

Procedury volané hodnotou a odkazem Tyto pojmy se týkají parametrů, které jsou uvedeny v závorce za názvem procedury Mají zásadní vliv na chování procedur Procedury volané hodnotou syntaxe: deklarční část: Procedure Název (seznam formálních proměnných: datový typ); volání v těle programu Název (seznam skutečných proměnných); Chování: z hlavního programu předá do procedury (dosadí do jejich formálních parametrů) hodnoty, jakých v místě volání procedury nabývají parametry (proměnné) uvedené v závorce uvnitř s nimi pracuje a zná tyto hodnoty nazpět ale parametr z podprogramu nepředá, protože s nimi pracovala jako s lokálními parametry, které hlavní program nezná Procedury volané odkazem syntaxe: deklarční část: Procedure Název (var seznam formálních proměnných: datový typ); Toto je v procedurách volaných odkazem navíc volání v těle programu Název (seznam skutečných proměnných);

Chování: z hlavního programu dosadí do procedury (do jejich formálních parametrů) skutečné parametry jaké mají v místě volání procedury uvnitř s nimi pracuje jako s globálními parametry (vlivem var byl předán celý parametr, nikoliv jen hodnota) při návratu z procedury nazpět do hlavního programu předá nazpět parametry včetně jejich hodnot, kterých v okamžiku výstupu z procedury nabývají Čtvrtek 1 března Datový typ řetězec (string) Znakový řetězec je homogenní strukturovaný datový typ, který slouží k ukládání více znaků strukturovaný se mu říká proto, že na rozdíl od jednoduchých proměnných obsahuje několik položek (až 255) homogenní je proto, že všechny položky jsou stejného typu (v tomto případě jsou všechny znakové) Protože je řetězec strukturovaná proměnná, lze jednoduše pracovat s jednotlivými položkami znaky Např mobil je proměnná typu string, pak: mobil[1] je první znak proměnné mobil, tj zde m mobil[2] je druhý znak proměnné mobil, tj zde o Délka textového řetězce Funkce length určí délku řetězce length (mobil) = 5

Zjištění, kolikrát se v textu objeví zadané písmeno text je zadán vcelku Čtvrtek 15 března Datový typ pole (array) Datový typ pole je homogenní strukturovaný datový typ Pole může být vícerozměrné (vícedimenzionální) Jednorozměrné pole je např vektor, dvourozměrné např matice, trojrozměrné pole by byla například kubická matice Počet položek v dimenzích pole není omezen na 255, zato se maximální počet položek v dimenzích musí deklarovat Jeho položkami mohou být libovolné jednoduché či strukturované proměnné (obsahují více hodnot) Podmínkou však je, že musí být všechny stejného datového typu (např celočíselné pole, pole reálných čísel, pole logických hodnot, pole znakových řetězců )

Převod z desítkové soustavy do dvojkové nové cifry se vypisují od nejnižších, tj první cifra je v zápisu čísla poslední 78 d = 1001110 b

Převod z desítkové soustavy do dvojkové nové cifry se vypisují od nejvyšších 137 d = 10001001 b

Čtvrtek 22 března Spočítejte hodnoty prvních N prvků aritmetické řady, znáte-li hodnotu prvního prvku A[1] a hodnotu přírůstku D Vytvořte algoritmus pro zjištění součtu aritmetické řady, zadáte-li hodnotu prvního prvku řady A[1], hodnotu rozdílu dvou po sobě jdoucích prvků D a počet prvků, které máme se číst