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

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

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

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

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

Sada 1 - Základy programování

CZ.1.07/1.5.00/

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

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

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

Programovací jazyk Pascal

NPRG030 Programování I, 2010/11

Algoritmizace a programování

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

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

Už známe datové typy pro representaci celých čísel i typy pro representaci

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

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

Úvod do programování

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

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

Exponent. Integer 4 bajty až Double Integer 8 bajtů až

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

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

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

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

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

1. Chyby vstupních dat metody převedení úlohy na numerickou (řád použité metody) zaokrouhlovací reprezentace čísel v počítači

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

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

ALGORITMY A PROGRAMOVÁNÍ (ÚVOD)

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

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

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

Algoritmizace a programování

1. 1 P Ř I R O Z E N Á Č Í S L A

Bakalářská matematika I

UMÍ POČÍTAČE POČÍTAT?

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

C2110 Operační systém UNIX a základy programování

Příloha Jazyk Coach

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

Iterační výpočty. Dokumentace k projektu č. 2 do IZP. 24. listopadu 2004

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

MS EXCEL_vybrané matematické funkce

Základy algoritmizace a programování

Některé základní úlohy algoritmizace

Časová a prostorová složitost algoritmů

Anotace: Digitální učební materiály slouží k zopakování a k testování získaných znalostí a dovedností.

Sada 1 - Základy programování

Číselné soustavy. Binární číselná soustava

Obecnou definici vynecháme. Jednoduše řečeno: složenou funkci dostaneme, když dosadíme za argument funkci g. Potom y f g

Sada 1 - Základy programování

Podprogramy; procedury a funkce

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

Data v počítači. Informační data. Logické hodnoty. Znakové hodnoty

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

PODPROGRAMY PROCEDURY A FUNKCE

Uplatnění metod na zvolený jazyk

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

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

Programovací jazyk PASCAL Turbo

I. Kalkulátor Rebell SC2040 manuál s příklady Tlačítko: MODE CLR

ZÁPOČTOVÁ PRÁCE z UIR

Číslo hodiny. Označení materiálu. 1. Mnohočleny. 25. Zlomky. 26. Opakování učiva 7. ročníku. 27. Druhá mocnina, odmocnina, Pythagorova věta

Elementární datové typy

Základy algoritmizace a programování

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

Programování v jazyce C pro chemiky (C2160) 12. Specifické problémy při vývoji vědeckého softwaru

Operátory pro maticové operace (operace s celými maticemi) * násobení maticové Pro čísla platí: 2*2

Poslední nenulová číslice faktoriálu

ZŠ ÚnO, Bratří Čapků 1332

Dokumentace programu sdc

KTE / PPEL Počítačová podpora v elektrotechnice

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

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

Obsah. Euler-Fermatova věta. Reziduální aritmetika. 3. a 4. přednáška z kryptografie

MATEMATIKA 5. TŘÍDA. C) Tabulky, grafy, diagramy 1 - Tabulky, doplnění řady čísel podle závislosti 2 - Grafy, jízní řády 3 - Magické čtverce

5a. Makra Visual Basic pro Microsoft Escel. Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Kalina

Číselné soustavy v mikroprocesorové technice Mikroprocesorová technika a embedded systémy

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.

Pokročilá algoritmizace amortizovaná složitost, Fibonacciho halda, počítačová aritmetika

1.1.3 Práce s kalkulátorem

Zápis programu v jazyce C#

DIGITÁLNÍ ARCHIV VZDĚLÁVACÍCH MATERIÁLŮ

Wolfram Alpha. v podobě html stránky, samotný výsledek je často doplněn o další informace (např. graf, jiné možné zobrazení výsledku a

X36UNX 16. Numerické výpočty v sh příkazy expr, bc, dc. Zdeněk Sojka

Matematika I (KMI/PMATE)

4a. Makra Visual Basic pro Microsoft Excel Cyklické odkazy a iterace Makra funkce a metody

Struktura a architektura počítačů (BI-SAP) 6

TEMATICKÝ PLÁN. září říjen

Aplikovaná numerická matematika

0.1 Funkce a její vlastnosti

Čísla v počítači Výpočetní technika I

11. Číselné a mocninné řady

I. ZÁVĚREČNÁ ZPRÁVA PROJEKTU

3. Aritmetika nad F p a F 2

Matematika (KMI/PMATE)

Čísla a číselné soustavy.

LabView jako programovací jazyk II

Transkript:

NPRG030 Programování I, 2018/19 1 / 26 24. 9. 2018 10:25:37

Čísla v algoritmech a programech 10 26 Poloměr vesmíru 2651 studujících studentů MFF UK 3.142857... Ludolfovo číslo 10 16 stáří vesmíru v sekundách!!! budeme potřebovat!!! 3 délka bakalářského studia na MFF UK v letech 36524 délka života stoletého člověka (ve dnech) (!) NPRG030 Programování I, 2018/19 2 / 26 24. 9. 2018 10:25:37

Čísla v algoritmech a programech => pracujeme se dvěma typy čísel: CELÁ malý omezený rozsah přesné hodnoty REÁLNÁ velký rozsah přibližné hodnoty neumíme representovat všechny hodnoty NPRG030 Programování I, 2018/19 3 / 26 24. 9. 2018 10:25:37

typ Integer HODNOTY Celá čísla zobrazitelná v počítači ROZSAH se může lišit v jednotlivých implementacích, proto konstanta MAXINT, rozsah typu Integer je -MAXINT..+MAXINT, typicky 2 15 nebo 2 31 NPRG030 Programování I, 2018/19 4 / 26 24. 9. 2018 10:25:37

typ Integer - operace OPERÁTORY TYPU NÁSOBENÍ * násobení div dělení mod zbytek po dělení / dělení s výsledkem typu real OPERÁTORY TYPU SČÍTÁNÍ + sčítání - odčítání RELAČNÍ OPERÁTORY =, <>, <, >, <=, >= NPRG030 Programování I, 2018/19 5 / 26 24. 9. 2018 10:25:37

Celočíselné dělení a zbytek i div j a i mod j je jasné, jaké hodnoty budou výsledkem, pro i >= 0, j > 0 Mimo tento rozsah raději vyzkoušet! ještě raději: se vyhnout! NPRG030 Programování I, 2018/19 6 / 26 24. 9. 2018 10:25:37

Priorita operátorů 1.operace typu násobení 2.operace typu sčítání 3.relační operátory V případě stejné priority odleva. NPRG030 Programování I, 2018/19 7 / 26 24. 9. 2018 10:25:37

typ Integer - funkce ABS( x ) SQR( x ) absolutní hodnota druhá mocnina ODD( x ) x je liché NPRG030 Programování I, 2018/19 8 / 26 24. 9. 2018 10:25:37

POZOR! POZOR! POZOR! POZOR! Správná hodnota aritmetického výrazu je zaručena pouze tehdy, když jsou všechny argumenty i mezivýsledky hodnotami typu (integer)! Kdyby MAXINT byl 1000: 600+500-400 (běhové kontroly) NPRG030 Programování I, 2018/19 9 / 26 24. 9. 2018 10:25:37

Turbo/Borland/Free Pascal integer shortint longint byte word 2B 1B 4B 1B 2B NPRG030 Programování I, 2018/19 10 / 26 24. 9. 2018 10:25:37

typ Real HODNOTY Racionální čísla, jen konečná množina, výsledek je jen APROXIMACE správného výsledku. VÝSLEDNÉ CHYBY záleží na representaci čísel na řešené úloze na zvoleném algoritmu. Odhadem velikosti chyb se zabývá NUMERICKÁ MATEMATIKA. NPRG030 Programování I, 2018/19 11 / 26 24. 9. 2018 10:25:37

typ Real zápis konstant HODNOTY desetinná tečka a nepovinně číslice za ní nepovinně exponent ve tvaru E<integer> SEMILOGARITMICKÝ TVAR 0.3768-326.21 1234. 0.03E-4-10.583E60 NPRG030 Programování I, 2018/19 12 / 26 24. 9. 2018 10:25:37

POZOR! POZOR! POZOR! POZOR! V paměti je jiná representace než desítkový zápis => při vstupu a výstupu dochází k zaokrouhlování! POZOR! POZOR! POZOR! POZOR! NPRG030 Programování I, 2018/19 13 / 26 24. 9. 2018 10:25:37

Co udělá program? NPRG030 Programování I, 2018/19 14 / 26 24. 9. 2018 10:25:37

Poučení Testovat reálná čísla (vypočtená nebo načtená) na rovnost nemusí mít dobrý smysl! Místo toho: if abs(koruny1-koruny2) < Epsilon then NPRG030 Programování I, 2018/19 15 / 26 24. 9. 2018 10:25:37

typ Real - operace * + - výsledek je typu Real, je-li alespoň jeden z operandů typu Real / výsledek je vždy typu Real Takže 4 / 2 je typu Real. NPRG030 Programování I, 2018/19 16 / 26 24. 9. 2018 10:25:37

typ Real funkce ABS( x ) SQR( x ) SQRT( x ) SIN( x ) COS( x ) ARCTAN( x ) EXP( x ) LN( x ) TRUNC( x ) ROUND( x ) rozsah NPRG030 Programování I, 2018/19 17 / 26 24. 9. 2018 10:25:37

Složitost algoritmů potřeba ČASU, PAMĚTI... Jak ji měřit? NE absolutně NE pro konečně mnoho úloh Raději: Co se stane, když se velikost úlohy zdvojnásobí? NPRG030 Programování I, 2018/19 18 / 26 24. 9. 2018 10:25:37

Složitost algoritmů Formálně: N... velikost úlohy f(n)... spotřeba (času nebo paměti) v nejhorším případě v průměrném případě NPRG030 Programování I, 2018/19 19 / 26 24. 9. 2018 10:25:37

Složitost algoritmů Definice: Funkce g je O(f) když NPRG030 Programování I, 2018/19 20 / 26 24. 9. 2018 10:25:37

Složitost algoritmů Příklad var x,i,n,sum: integer; begin read( N ); Sum := 0; i := 1; while i <= N do begin read( x ); Sum := Sum + x; i := i+1; end; writeln( Sum / N ) end časová složitost O( N ) NPRG030 Programování I, 2018/19 21 / 26 24. 9. 2018 10:25:37

Složitost algoritmů Příklady složitost 1 sekunda 1 hodina 1000 hodin n 1 3.600 3.600.000 n log n 1 568 278.000 n 2 1 60 1.897 n 3 1 15 153 2 n 1 12 22 NPRG030 Programování I, 2018/19 22 / 26 24. 9. 2018 10:25:37

POZOR! POZOR! POZOR! POZOR! Složitost neříká (skoro) nic o konkrétním případě! NPRG030 Programování I, 2018/19 23 / 26 24. 9. 2018 10:25:37

Příklad: algoritmus složitost A1 1000 n A2 100 n log n A3 10 n 2 A4 n 3 A5 2 n? Který algoritmus je nejrychlejší? NPRG030 Programování I, 2018/19 24 / 26 24. 9. 2018 10:25:37

N nejrychlejší algoritmus 2..9 A5 10..35 A3 36..22026 A2 22027.. A1 NPRG030 Programování I, 2018/19 25 / 26 24. 9. 2018 10:25:37

NPRG030 Programování I, 2018/19 26 / 26 24. 9. 2018 10:25:37