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

Podobné dokumenty
NPRG030 Programování I, 2010/11

- speciální symboly + - * / =., < > <> <= >= a další. Klíčová slova jsou chráněnými útvary, které nelze použít ve významu identifikátorů.

Programovací jazyk Pascal

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

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

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

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

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

Sada 1 - Základy programování

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

VISUAL BASIC. Práce se soubory

VY_32_INOVACE_08_2_04_PR

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

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

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

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

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

Sada 1 - Základy programování

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

POČÍTAČE A PROGRAMOVÁNÍ

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

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

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

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

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

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

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

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

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

Algoritmizace a programování

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

1 PRVOCISLA: KRATKY UKAZKOVY PRIKLAD NA DEMONSTRACI BALIKU WEB 1

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 programovacích jazyků (Java)

Úvod do programování

Sada 1 - Základy programování

O datových typech a jejich kontrole

Jak v Javě primitivní datové typy a jejich reprezentace. BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické

Programování v jazyce JavaScript

ALGORITMIZACE A PROGRAMOVÁNÍ

Algoritmizace a programování

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

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

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

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

Přednáška 3. Rekurze 1

ALGORITMY A PROGRAMOVÁNÍ (ÚVOD)

Úvod do programování. Lekce 1

Obsah VII. kapitoly PASCAL pod OS AMOS

Algoritmizace a programování

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

Algoritmizace prostorových úloh

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

Sada 1 - Základy programování

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

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

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

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

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

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

Java reprezentace dat, výrazy. A0B36PR1-Programování 1 Fakulta elektrotechnická České vysoké učení technické

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

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

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

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

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

Anotace. Ordinalni typy - typ char, funkce ord, chr, succ, prev, inc, dec,

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

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

Souhrn Apendixu A doporučení VHDL

Basic256 - úvod do programování Příklady. ing. petr polách

Programování. Psaní čistého kódu. Martin Urza

Základy programování (IZP)

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

LEKCE 6. Operátory. V této lekci najdete:

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

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

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

Algoritmizace prostorových úloh

Lekce 9 IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ JAZYK C

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

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

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

Formátová specifikace má tvar (některé sekce nemají smysl pro načítání) %

Programovací jazyk PASCAL Turbo

PODPORA ELEKTRONICKÝCH FOREM VÝUKY

Dynamické datové typy a struktury

Jazyk VHDL zápis čísel, znaků a řetězců. Jazyk VHDL základní datové typy a operátory. Kurz A0B38FPGA Aplikace hradlových polí

Sada 1 - Základy programování

VÝRAZY výrazy = operandy prokládané operátory, vyhodnocované podle priority operátorů

Implementace LL(1) překladů

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

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.

Sada 1 - Základy programování

vstup a výstupv jazyce C

0. ÚVOD - matematické symboly, značení,

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

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

Testování prvočíselnosti

Jazyk C# a platforma.net

Transkript:

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

Podmínka = něco, co JE, nebo NENÍ splněno typ Boolean hodnoty: TRUE pravda FALSE lež domluva (optimistická): FALSE < TRUE NPRG030 Programování I, 2016/17 2 / 31 10. 10. 2016 10:58:13

když X, Y jsou (číselné) výrazy, potom X = Y X <> Y X < Y X > Y X <= Y X >= Y jsou výrazy typu boolean. 2 < 3 ABS(x-3) < ABS(Y-3) NPRG030 Programování I, 2016/17 3 / 31 10. 10. 2016 10:58:13

typ Boolean operace NOT AND OR negace konjunkce disjunkce not P P neplatí P and Q platí P i Q současně P or Q platí P nebo Q (nebo oboje) NPRG030 Programování I, 2016/17 4 / 31 10. 10. 2016 10:58:13

? jak zapsat VYLUČUJÍCÍ NEBO?? a implikaci? NPRG030 Programování I, 2016/17 5 / 31 10. 10. 2016 10:58:13

typ Boolean priority operací 1) negace 2) konjunkce 3) disjunkce NPRG030 Programování I, 2016/17 6 / 31 10. 10. 2016 10:58:13

POZOR! POZOR! POZOR! POZOR! Logické operátory mají vyšší prioritu než relační operátory. Takže x < y and y < z se vyhodnocuje jako x < (y and y) < z = CHYBA! NPRG030 Programování I, 2016/17 7 / 31 10. 10. 2016 10:58:13

Zpět k definici IF, WHILE, REPEAT: podmínka znamená výraz typu boolean příklad MONOTONIE... NPRG030 Programování I, 2016/17 8 / 31 10. 10. 2016 10:58:13

Zkrácené vyhodnocování výrazů typu boolean P or Q pokud P=TRUE, výsledek bude TRUE => nezávisí na Q R and S pokud R=FALSE, výsledek bude FALSE => nezávisí na S Pro určení hodnoty výrazu (v takovém případě) už nemusíme vyhodnocovat ostatní jeho členy. NPRG030 Programování I, 2016/17 9 / 31 10. 10. 2016 10:58:13

ÚPLNÉ VYHODNOCOVÁNÍ vyhodnotí všechny podvýrazy ZKRÁCENÉ VYHODNOCOVÁNÍ skončí vyhodnocování výrazu nebo i podvýrazu ve chvíli,kdy dokáže určit výsledek příklad hledání čísla s logaritmem... příklad test prvočíselnosti... while PRVOCISLO and (D<=MEZ) do NPRG030 Programování I, 2016/17 10 / 31 10. 10. 2016 10:58:13

práce se znaky: typ CHAR = písmeno konstanty typu CHAR: '@', '''' příklad var c: char; begin c := '?'; repeat read( c ) until c='*'; read( c ); write( c ) end. NPRG030 Programování I, 2016/17 11 / 31 10. 10. 2016 10:58:13

kód znaku každému znaku, který patří do znakové sady, je přiřazeno určité číslo, tzv. Ordinální číslo znaku standardní funkce: ORD( c ) CHR( x ) příklad char -> integer integer -> char ord( 'A' ) = 65 chr( 33 ) = '!' chr( -5 ) = CHYBA! NPRG030 Programování I, 2016/17 12 / 31 10. 10. 2016 10:58:13

Kódy znaků závisí na počítači a překladači, norma požaduje: '0','1',...'9' v tomto pořadí a bezprostředně za sebou 'A','B',...,'Z' v tomto pořadí jsou-li k disposici i malá písmena, musí pro ně platit stejná podmínka jako pro velká písmena NPRG030 Programování I, 2016/17 13 / 31 10. 10. 2016 10:58:13

Otázka: jak zapsat podmínku znak Z je číslice? NPRG030 Programování I, 2016/17 14 / 31 10. 10. 2016 10:58:13

Odpověď 1: (Z='0') or (z='1') or...or (Z='9') NPRG030 Programování I, 2016/17 15 / 31 10. 10. 2016 10:58:13

Odpověď 2: (Z>='0') and (Z<='9') NPRG030 Programování I, 2016/17 16 / 31 10. 10. 2016 10:58:13

Příklad: Vstup celých čísel znak po znaku c 0 c 1 c 2 c 3...c n (zápis čísla bez znaménka) 10 n *c 0 +10 n-1 *c 1 +...+10 0 *c n NPRG030 Programování I, 2016/17 17 / 31 10. 10. 2016 10:58:13

=(...(c 0 *10+c 1 ) *10+c 2 ) *10+c 3 ) *...) *10+c n Hodnota číslice HORNEROVO SCHEMA n = ord(n)-ord('0') NPRG030 Programování I, 2016/17 18 / 31 10. 10. 2016 10:58:13

příklad čtení čísla, se znaménkem a mezerami NPRG030 Programování I, 2016/17 19 / 31 10. 10. 2016 10:58:13

Textový soubor posloupnost znaků rozdělená do řádek READ( x ) READLN( x ) načtení x načtení x a potom přechod na další řádku oba příkazy čtou ze STANDARDNÍHO VSTUPNÍHO TEXTOVÉHO SOUBORU NPRG030 Programování I, 2016/17 20 / 31 10. 10. 2016 10:58:13

WRITE( x ) výstup x WRITELN( x ) výstup x a potom přechod na další řádku oba příkazy píší na STANDARDNÍ VÝSTUPNÍ TEXTOVÝ SOUBOR Lze použít i pro jiné textové soubory. NPRG030 Programování I, 2016/17 21 / 31 10. 10. 2016 10:58:13

Představa o textovém souboru na konci každého řádku je zvláštní znak ODDĚLOVAČ ŘÁDEK na konci každého textového souboru je zvláštní znak UKONČOVACÍ ZNAK SOUBORU tyto zvláštní znaky NEPATŘÍ od množiny hodnot typu CHAR jejich smysl je dávat souboru STRUKTURU NPRG030 Programování I, 2016/17 22 / 31 10. 10. 2016 10:58:13

Základní akce = vstup/výstup jednoho znaku. Read( c ) naplní c a posune se v souboru o jeden znak dále. Zpátky NELZE. Po přečtení posledního znaku nelze číst dál, pokus o čtení způsobí chybu. Standardní funkce eof end of file eoln end of line NPRG030 Programování I, 2016/17 23 / 31 10. 10. 2016 10:58:13

read( x1,...,xn ) begin read( x1 );... read( xn ) end; readln( x1,...,xn ) begin read( x1 );... read( xn ); readln end; NPRG030 Programování I, 2016/17 24 / 31 10. 10. 2016 10:58:13

Skutečná implementace (nejen v BP): řádky textových souborů jsou odděleny dvojicí znaků CR a LF (chr(13) a chr(10)) (!nebo jenom CR nebo jenom LF!) textový soubor ukončen znakem EOF (chr(26)) (pokud je ukončen) čtení čísla končí až na bílém znaku za číslem => vstup 123AB způsobí chybu. NPRG030 Programování I, 2016/17 25 / 31 10. 10. 2016 10:58:13

Výstup do standardního výstupního souboru vystupovat mohou hodnoty typu char, integer, real, boolean...a znakové řetězce Příkaz writeln zapíše jen oddělovač řádek. NPRG030 Programování I, 2016/17 26 / 31 10. 10. 2016 10:58:13

write( x1,...,xn ) begin write( x1 );... write( xn ) end; writeln( x1,...,xn ) begin write( x1 );... write( xn ); writeln end; NPRG030 Programování I, 2016/17 27 / 31 10. 10. 2016 10:58:13

Formátování výstupu Význam: výraz:délka Hodnota výraz má být zapsána na výstup tolika znaky, kolik je hodnota délka (to může být také výraz!). Ne vždy to lze splnit. Pokud to splnit lze, doplňuje se mezerami zleva. NPRG030 Programování I, 2016/17 28 / 31 10. 10. 2016 10:58:13

Boolean se tiskne jako TRUE nebo FALSE. Real: v semilogaritmickém tvaru jedna číslice před desetinou tečkou nejméně jedna číslice za desetinou tečkou E nebo e znaménko exponentu exponent výraz:délka:míst NPRG030 Programování I, 2016/17 29 / 31 10. 10. 2016 10:58:13

Textové soubory v TP 1. deklarace var f: text; 2. přiřazení assign( f, 'c:\vstup.txt' ); 3. otevření reset( f ) NEBO rewrite( f ) 4. vstup výstup read( f,...) write( f,...) readln( f,...) writeln( f,...) zavření close( f ) NPRG030 Programování I, 2016/17 30 / 31 10. 10. 2016 10:58:13

NPRG030 Programování I, 2016/17 31 / 31 10. 10. 2016 10:58:13