Základy programování (IZP)
|
|
- Jiřina Macháčková
- před 9 lety
- Počet zobrazení:
Transkript
1 Základy programování (IZP) Sedmé laboratorní cvičení Vysoké učení technické v Brně, Fakulta informačních technologií v Brně Božetěchova 2, Brno Cvičící: Petr Veigend (iveigend@fit.vutbr.cz) Gabriela Nečasová Petr Veigend 2015/2016
2 Obsah Seznámení se zadáním druhého projektu Funkce a řetězce Iterační výpočty IZP cvičení 7 2
3 Seznámení s druhým projektem IZP cvičení 7 3
4 Seznámení se zadáním druhého projektu Iterační výpočty (max 7 bodů) Obhajoba: Odevzdání: Název: proj2.c Výstup: , 23:59:59 do WISu standardní výstup pro výpis výsledků (na wiki) standardní chybový výstup pro výpis chyb V rámci projektu můžete používat pouze matematické operace +,-,* a / Překlad: nutno využít přepínač -lm: gcc std=c99 Wall pedantic lm proj2.c o proj2 IZP cvičení 7 4
5 Syntaxe spuštění./proj2 -log X N./proj2 -iter MIN MAX EPS --log: vypočítá přirozený logaritmus čísla X v N iteracích A) Pomocí Taylorova polynomu B) Pomocí zřetězených zlomků (Continued Fractions) --iter: hledání požadovaného počtu iterací pro dostatečně přesný výpočet logaritmu čísla z intervalu <MIN;MAX> Minimální přesnost: EPS = 1e-12 IZP cvičení 7 5
6 Implementační detaily Zakázáno: používat funkce z math.h Povoleno: Funkce Konstanty log(), isnan(), isinf() NAN, INFINITY Nezapomeňte důkladně testovat na merlinovi!!! IZP cvičení 7 6
7 Implementační detaily (--log) Taylorův polynom double taylor_log(double x, unsigned int n); x = číslo n = počet členů Taylorova polynomu Pro 0 < x < 2 log 1 x = x x2 2 x3 3 x4 4 Pro x > ½ n x 1 log x = x n n=1 Doporučená mezní hodnota mezi polynomy je 1 IZP cvičení 7 7
8 Implementační detaily (--log) zřetězený zlomek double cfrac_log(double x, unsigned int n); x = číslo (zde z) n = rozvoj zřetězeného zlomku IZP cvičení 7 8
9 Implementační detaily (--log) formát výpisu log(x) = LOG_X cf_log(x) = CF_LOG_X taylor_log(x) = TAYLOR_LOG_X X hodnota daná argumentem (printf %g) LOG_ hodnoty log() z math.h CF_LOG_ hodnoty vypočtené zřetězeným zlomkem TAYLOR_LOG_ hodnoty vypočtené Taylorovým polynomem IZP cvičení 7 9
10 Implementační detaily hledaní počtu iterací Uživatel zadá interval <MIN;MAX> a přesnost EPS Program v tomto intervalu spočítá přirozený logaritmus pomocí Taylorova polynomu a zřetězených zlomků s danou přesností EPS a vypíše následující: IZP cvičení 7 10
11 Implementační detaily hledaní počtu iterací log(min) = LOG_MIN log(max) = LOG_MAX continued fraction iterations = CF_ITER cf_log(min) = CF_LOG_MIN cf_log(max) = CF_LOG_MAX taylor polynomial iterations = TAYLOR_ITER taylor_log(min) = TAYLOR_LOG_MIN taylor_log(max) = TAYLOR_LOG_MAX X, MIN, MAX hodnoty dané argumenty (printf %g) LOG_ hodnoty log() z math.h CF_LOG_ hodnoty vypočtené zřetězeným zlomkem TAYLOR_LOG_ hodnoty vypočtené Taylorovým polynomem IZP cvičení 7 11
12 Implementační detaily hledaní počtu iterací log(min) = LOG_MIN log(max) = LOG_MAX continued fraction iterations = CF_ITER cf_log(min) = CF_LOG_MIN cf_log(max) = CF_LOG_MAX taylor polynomial iterations = TAYLOR_ITER taylor_log(min) = TAYLOR_LOG_MIN taylor_log(max) = TAYLOR_LOG_MAX Všechny *LOG_* hodnoty (printf %.12g) CF_ITER, TAYLOR_ITER počet iterací IZP cvičení 7 12
13 Funkce a řetězce IZP cvičení 7 13
14 Funkce pro práci s řetězci string.h Vyhledání znaku c v řetězci s, vrací ukazatel na vyhledaný znak, jinak NULL char* strchr(char* s, int c); Kopie řetězce src do řetězce dst, vrací ukazatel na dst char* strcpy(char* dst, char* src); Spojení řetězců dst a src, výsledek v dst char* strcat(char* dst, char* src); Lexikografické porovnání řetězců s1 a s2 int strcmp(char* s1, char* s2); IZP cvičení 7 14
15 Bodovaný úkol 1 Práce s řetězci IZP cvičení 7 15
16 Bodovaný úkol 1 Implementujte si vlastní funkci pro lexikografické porovnání dvou řetězců int strcmpmy(char* s1, char* s2); Funkce vrací: 0 pokud s1 == s2-1 pokud s1 < s2 1 pokud s1 > s2 IZP cvičení 7 16
17 Iterační výpočty IZP cvičení 7 17
18 Rekurentní problémy Rekurentní problém: výpočet nové hodnoty závisí na hodnotě výpočtu z předcházejícího kroku Rekurentní vztah obecně: Y i+1 = F(Y i ) Pro výpočet hodnoty Y i+1 je nutné zjistit hodnotu Y i IZP cvičení 7 18
19 Rekurentní problémy Musí být dána počáteční hodnota Y 0 Co musí platit pro hodnoty získané posloupnosti Y i+1 = F(Y i ) pro y 0 Y i Y j pro všechna i j Y i pro i < N nesplňuje podmínky požadované hodnoty Y N splňuje podmínky hledané hodnoty IZP cvičení 7 19
20 Rekurentní problémy Algoritmické schéma řešení Y = y0; // Y proměnná, y0 počáteční hodnota while( B(Y)) // dokud není splněna koncová podmínka Y = F(Y); // budeme počítat další prvek // posloupnosti IZP cvičení 7 20
21 Rekurentní problémy Algoritmické schéma řešení Y = y0; // Y proměnná, y0 počáteční hodnota while( B(Y)) // dokud není splněna koncová podmínka Y = F(Y); Zápis v C může vypadat např. double y = y0; // budeme počítat další prvek // posloupnosti while(!b(y)) // dokud není splněna koncová podmínka return y; y = f(y); // budeme počítat další prvek // posloupnosti IZP cvičení 7 21
22 Ukončovací podmínka Běžně se iterační výpočet ukončí, pokud Y i Y i 1 EPS To se dá v C zapsat např. double y = y0; // aktuální člen double yp; // předchozí člen do { yp = y; // uložíme hodnotu předchozího členu y = f(y); // vypočítáme další člen } while (fabs(y - yp) > eps); Algoritmické schéma lze použít pro výpočet číselných řad (Taylorův rozvoj), kterými lze aproximovat funkce IZP cvičení 7 22
23 Příklad 1: Druhá odmocnina Newtonovou metodou Implementujte funkci, která vypočítá druhou odmocninu x Newtonovou metodou y i+1 = 1 2 x y i + y i Prototyp funkce si vhodně zvolte IZP cvičení 7 23
24 Výpočet řad K výpočtu řad se používají částečné součty Pro řadu t 0, t 1, t 2, t 3,, kde t i = f t i 1 můžeme napsat řadu částečných součtů s 0, s 1, s 2, s 3,, kde s i = Můžeme je opět řešit rekurentně: s 0 = t 0 s 1 = s 0 + t 1 = t 0 + t 1 i j=0 s i = s i 1 + t i částečný součet pro aktuální člen je částečný součet pro předchozí člen + hodnota aktuálního členu t j IZP cvičení 7 24
25 Výpočet řad Algoritmické schéma T = t0; // první člen řady S = T; // součet = první člen řady while( B(S, T)) { } T = f(t); // vypočítáme nový člen řady S = S + T; // tento člen přičteme k aktuálnímu // částečnému součtu Je nutné si vždy zjistit, jak se od sebe liší jednotlivé členy řady Pozor: Některé řady konvergují nejrychleji jen v omezeném definičním oboru funkce IZP cvičení 7 25
26 Bodovaný úkol 2 Částečné součty (řady) IZP cvičení 7 26
27 Bodovaný úkol 2 Pomocí částečných součtů implementuje výpočet exponenciální funkce e x. (Taylorova) řada má následující tvar: e x = 1 + x + x2 2! + x3 3! + x4 4! + Výsledek porovnejte s matematickou knihovnou math.h a obě hodnoty vypište na standardní výstup Nemůžete použít mocninu, faktoriál a funkci exp(x) z matematické knihovny math.h. Můžete použít funkci fabs()pro výpočet absolutní hodnoty a exp(x) pro výpis IZP cvičení 7 27
28 Bodovaný úkol 2 (66.6 ) x = 4.2; eps = 0.01; e x = 1 + x + x2 2! + x3 3! + x4 4! + double t = t0; // první člen řady double s = t; int i = 1; while (fabs(t) > eps) { // součet = první člen řady // index aktuálního členu řady t = f(t, i); // vypočítáme nový člen řady s = s + t; } return s; // tento člen přičteme k // aktuálnímu částečnému součtu IZP cvičení 7 28
29 Zřetězené zlomky IZP cvičení 7 29
30 Zřetězené zlomky Implementujte výpočet čísla π pomocí zřetězeného zlomku: π = IZP cvičení 7 30
31 Zřetězené zlomky Implementujte výpočet čísla π pomocí zřetězeného zlomku: π = 1 + n = IZP cvičení 7 31
32 Zřetězené zlomky Implementujte výpočet čísla π pomocí zřetězeného zlomku: π = n = n = IZP cvičení 7 32
33 Zřetězené zlomky Implementujte výpočet čísla π pomocí zřetězeného zlomku: π = n = 2 n = n = IZP cvičení 7 33
34 Zřetězené zlomky Implementujte výpočet čísla π pomocí zřetězeného zlomku: n = 1 π = n = 2 n = n = IZP cvičení 7 34
35 Příklad 2: Zřetězené zlomky Implementujte výpočet čísla π pomocí zřetězeného zlomku: π = IZP cvičení 7 35
36 Příště státní svátek CVIČENÍ ODPADÁ Můžete přijít na libovolné jiné cvičení, ale zadání bude vhodné pro samostudium Pozor: spousta cvičících je příští týden pryč Protože se už do půlsemestrálky neuvidíme, hodně štěstí IZP cvičení 7 36
37 Příklady k procvičení IZP cvičení 7 37
38 Příklad na rozehřátí Implementujte funkci void getmax(int *pole, int len, int *max); která vyhledá v poli maximální hodnotu a vrátí ji přes ukazatel IZP cvičení 7 38
39 Příklad na rozehřátí Implementujte funkci void getmax(int *pole, int len, int *max); která vyhledá v poli maximální hodnotu a vrátí ji přes ukazatel Jak inicializujeme pole? IZP cvičení 7 39
40 Příklad na rozehřátí Implementujte funkci void getmax(int *pole, int len, int *max); která vyhledá v poli maximální hodnotu a vrátí ji přes ukazatel Jak inicializujeme pole? int pole[10]={7,2,3,9,15,20,-1,42,100,-75}; IZP cvičení 7 40
41 Příklad na rozehřátí Implementujte funkci void getmax(int *pole, int len, int *max); která vyhledá v poli maximální hodnotu a vrátí ji přes ukazatel Jak inicializujeme pole? int pole[10]={7,2,3,9,15,20,-1,42,100,-75}; Jak zavoláme funkci getmax()? IZP cvičení 7 41
42 Příklad na rozehřátí Implementujte funkci void getmax(int *pole, int len, int *max); která vyhledá v poli maximální hodnotu a vrátí ji přes ukazatel Jak inicializujeme pole? int pole[10]={7,2,3,9,15,20,-1,42,100,-75}; Jak zavoláme funkci getmax()? int maximum = 0; getmax(pole, &maximum); IZP cvičení 7 42
43 Příklad 3: Zřetězené zlomky Implementujte výpočet čísla π pomocí zřetězeného zlomku: 4 π = Čitatele se vypočítají podle vztahu (2 n 1) IZP cvičení 7 43
44 Děkuji Vám za pozornost! IZP cvičení 7 44
Základy programování (IZP)
Základy programování (IZP) Deváté počítačové cvičení Brno University of Technology, Faculty of Information Technology Božetěchova 1/2, 612 66 Brno - Královo Pole Gabriela Nečasová, inecasova@fit.vutbr.cz
VíceZáklady programování (IZP)
Základy programování (IZP) Deváté počítačové cvičení Brno University of Technology, Faculty of Information Technology Božetěchova 1/2, 612 66 Brno - Královo Pole Petr Veigend, iveigend@fit.vutbr.cz 2016/2017
VíceZáklady programování (IZP)
Základy programování (IZP) Bonusové laboratorní cvičení Vysoké učení technické v Brně, Fakulta informačních technologií v Brně Božetěchova 2, 612 66 Brno Cvičící: Petr Veigend (iveigend@fit.vutbr.cz) Gabriela
VíceZáklady programování (IZP)
Základy programování (IZP) Sedmé počítačové cvičení Brno University of Technology, Faculty of Information Technology Božetěchova 1/2, 612 66 Brno - Královo Pole Petr Veigend, iveigend@fit.vutbr.cz 2018/2019,
VíceIterační výpočty Projekt č. 2
Dokumentace k projektu pro předměty IUS & IZP Iterační výpočty Projekt č. 2 Autor: Jan Kaláb (xkalab00@stud.fit.vutbr.cz) Úvod Úkolem bylo napsat v jazyce C program sloužící k výpočtům matematických funkcí
VíceZáklady programování (IZP)
Základy programování (IZP) Páté počítačové cvičení Brno University of Technology, Faculty of Information Technology Božetěchova 1/2, 612 66 Brno - Královo Pole Petr Veigend, iveigend@fit.vutbr.cz 5. týden
VíceZáklady programování (IZP)
Základy programování (IZP) Deváté počítačové cvičení Brno University of Technology, Faculty of Information Technology Božetěchova 1/2, 612 66 Brno - Královo Pole Petr Veigend, iveigend@fit.vutbr.cz 27.11.2017,
VíceZáklady programování (IZP)
Základy programování (IZP) Jedenácté počítačové cvičení Brno University of Technology, Faculty of Information Technology Božetěchova 1/2, 612 66 Brno - Královo Pole Gabriela Nečasová, inecasova@fit.vutbr.cz
VíceIntervalové stromy. Představme si, že máme posloupnost celých čísel p 0, p 1,... p N 1, se kterou budeme. 1. Změna jednoho čísla v posloupnosti.
Intervalové stromy Představme si, že máme posloupnost celých čísel p 0, p 1,... p N 1, se kterou budeme průběžně provádět tyto dvě operace: 1. Změna jednoho čísla v posloupnosti. 2. Zjištění součtu čísel
VíceZáklady programování (IZP)
Základy programování (IZP) Druhé laboratorní cvičení Vysoké učení technické v Brně, Fakulta informačních technologií v Brně Božetěchova 2, 612 66 Brno Cvičící: Petr Veigend (iveigend@fit.vutbr.cz) Důležité
Více2 Základní funkce a operátory V této kapitole se seznámíme s použitím funkce printf, probereme základní operátory a uvedeme nejdůležitější funkce.
Vážení zákazníci, dovolujeme si Vás upozornit, že na tuto ukázku knihy se vztahují autorská práva, tzv copyright To znamená, že ukázka má sloužit výhradnì pro osobní potøebu potenciálního kupujícího (aby
VíceIterační výpočty. Dokumentace k projektu č. 2 do IZP. 24. listopadu 2004
Dokumentace k projektu č. 2 do IZP Iterační výpočty 24. listopadu 2004 Autor: Kamil Dudka, xdudka00@stud.fit.vutbr.cz Fakulta Informačních Technologií Vysoké Učení Technické v Brně Obsah 1. Úvod...3 2.
VíceZáklady programování (IZP)
Základy programování (IZP) Šesté počítačové cvičení Brno University of Technology, Faculty of Information Technology Božetěchova 1/2, 612 66 Brno - Královo Pole Petr Veigend, iveigend@fit.vutbr.cz 6. týden
Víceint => unsigned int => long => unsigned long => float => double => long double - tj. bude-li:
13.4.2010 Typová konverze - změna jednoho datového typu na jiný - známe dva základní implicitní ("sama od sebe") a explicitní (výslovně vyžádána programátorem) - C je málo přísné na typové kontroly = dokáže
VíceProgramování v jazyce C pro chemiky (C2160) 12. Specifické problémy při vývoji vědeckého softwaru
Programování v jazyce C pro chemiky (C2160) 12. Specifické problémy při vývoji vědeckého softwaru Reprezentace reálnách čísel v počítači Reálná čísla jsou v počítači reprezentována jako čísla tvaru ±x
VíceZáklady programování (IZP)
Základy programování (IZP) Čtvrté počítačové cvičení Brno University of Technology, Faculty of Information Technology Božetěchova 1/2, 612 66 Brno - Královo Pole Petr Veigend, iveigend@fit.vutbr.cz 4.
VíceKód uchazeče ID:... Varianta: 14
Fakulta informačních technologií ČVUT v Praze Přijímací zkouška z matematiky 2013 Kód uchazeče ID:.................. Varianta: 14 1. V lednu byla zaměstnancům zvýšena mzda o 16 % prosincové mzdy. Následně
VíceLekce 9 IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ JAZYK C
Identifikační údaje školy Číslo projektu Název projektu Číslo a název šablony Autor Tematická oblast Číslo a název materiálu Anotace Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace
VíceZáklady programování (IZP)
Základy programování (IZP) Druhé počítačové cvičení Brno University of Technology, Faculty of Information Technology Božetěchova 1/2, 612 66 Brno - Královo Pole Petr Veigend, iveigend@fit.vutbr.cz 2016/2017
VíceStřední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace
Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace Předmět: Vývoj aplikací Téma: Datové typy Vyučující: Ing. Milan Káža Třída: EK3 Hodina: 5 Číslo: V/5 Programování v jazyce
Více9.3.2010 Program převod z desítkové na dvojkovou soustavu: /* Prevod desitkove na binarni */ #include <stdio.h>
9.3.2010 Program převod z desítkové na dvojkovou soustavu: /* Prevod desitkove na binarni */ #include int main(void) { int dcislo, kolikbcislic = 0, mezivysledek = 0, i; int vysledek[1000]; printf("zadejte
VíceZáklady programování (IZP)
Základy programování (IZP) Osmé počítačové cvičení Brno University of Technology, Faculty of Information Technology Božetěchova 1/2, 612 66 Brno - Královo Pole Petr Veigend, iveigend@fit.vutbr.cz 20.11.2017,
VíceVÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu
VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632
VíceZáklady programování (IZP)
Základy programování (IZP) Třetí počítačové cvičení Brno University of Technology, Faculty of Information Technology Božetěchova 1/2, 612 66 Brno - Královo Pole Petr Veigend, iveigend@fit.vutbr.cz Verze
VíceZáklady programování (IZP)
Základy programování (IZP) Čtvrté počítačové cvičení Brno University of Technology, Faculty of Information Technology Božetěchova 1/2, 612 66 Brno - Královo Pole Petr Veigend, iveigend@fit.vutbr.cz 2016/2017
VíceZáklady programování (IZP)
Základy programování (IZP) Druhé laboratorní cvičení Vysoké učení technické v Brně, Fakulta informačních technologií v Brně Božetěchova 2, 612 66 Brno inecasova@fit.vutbr.cz Důležité informace Můj profil:
VíceWolfram 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
Wolfram Alpha jde o výpočetní prostředí z nejrůznějších oborů (matematika, fyzika, chemie, inženýrství... ) přístupné online: http://www.wolframalpha.com/ Jaké matematické výpočty Wolfram Alpha zvládá?
Více1. test z PJC Jméno studenta: Pocet bodu: Varianta 37: příklad 5 (5 bodů)
1. test z PJC Jméno studenta: Pocet bodu: ---- Varianta 37: příklad 1 (5 bodů) Určete hodnotu výrazu: a=1,2,3 (a) 1 (b) 2 (c) 3 Varianta 37: příklad 2 (5 bodů) Jednoduchá implementace datového typu zásobník
VíceAlgoritmizace a programování
Algoritmizace a programování Strukturované proměnné Pole (array), ukazatele (pointer) Jazyk C České vysoké učení technické Fakulta elektrotechnická Ver.1.10 J. Zděnek 2015 Pole (array) (1) Pole je množina
VíceOperační systémy. Cvičení 3: Programování v C pod Unixem
Operační systémy Cvičení 3: Programování v C pod Unixem 1 Obsah cvičení Editace zdrojového kódu Překlad zdrojového kódu Základní datové typy, struktura, ukazatel, pole Načtení vstupních dat Poznámka: uvedené
Více8. lekce Úvod do jazyka C 3. část Základní příkazy jazyka C Miroslav Jílek
8. lekce Úvod do jazyka C 3. část Základní příkazy jazyka C Miroslav Jílek 1/41 Základní příkazy Všechny příkazy se píšou malými písmeny! Za většinou příkazů musí být středník (;)! 2/41 Základní příkazy
Více- jak udělat konstantu long int: L long velka = 78L;
Konstanty (konstatní hodnoty) Např.: - desítkové: 25, 45, 567, 45.678 - osmičkové: 045, 023, 03 vždy začínají 0 - šestnáctkové: 0x12, 0xF2, 0Xcd, 0xff, 0xFF - jak udělat konstantu long int: 245566553L
VíceVYSOKÉ UČENÍ TECHNICKÉ V BRNĚ
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ FAKULTA INFORMAČNÍCH TECHNOLOGIÍ DOKUMENTACE K PROJEKTU 2 DO PŘEDMĚTŮ IZP A IUS ITERAČNÍ VÝPOČTY BC. PETR ŠAFAŘÍK xsafar14 BRNO 2010 Obsah 1 Úvod 1 2 Analýza problému a princip
VíceZáklady programování (IZP)
Základy programování (IZP) Druhé počítačové cvičení Brno University of Technology, Faculty of Information Technology Božetěchova 1/2, 612 66 Brno - Královo Pole Petr Veigend, iveigend@fit.vutbr.cz Verze
Více. Určete hodnotu neznámé x tak, aby
Fakulta informačních technologií ČVUT v Praze Přijímací zkouška z matematiky 015 Kód uchazeče ID:.................. Varianta: 1 1. Původní cena knihy byla 50 Kč. Pak byla zdražena o 15 %. Jelikož nešla
Více. je zlomkem. Ten je smysluplný pro jakýkoli jmenovatel různý od nuly. Musí tedy platit = 0
Příklad 1 Určete definiční obor funkce: a) = b) = c) = d) = e) = 9 f) = Řešení 1a Máme určit definiční obor funkce =. Výraz je zlomkem. Ten je smysluplný pro jakýkoli jmenovatel různý od nuly. Musí tedy
VíceDokumetace k projektu pro předměty IZP a IUS
Dokumetace k projektu pro předměty IZP a IUS Iterační výpočty projekt č. 2 19. listopadu 2011 Autor: Vojtěch Přikryl, xprikr28@stud.fit.vutbr.cz Fakulta informačních Technologií Vysoké Učení Technické
VícePole a Funkce. Úvod do programování 1 Tomáš Kühr
Pole a Funkce Úvod do programování 1 Tomáš Kühr (Jednorozměrné) pole u Datová struktura u Lineární u Homogenní = prvky stejného datového typu u Statická = předem určený počet prvků u Pole umožňuje pohodlně
VíceBřetislav Fajmon, UMAT FEKT, VUT Brno. Poznámka 1.1. A) první část hodiny (cca 50 minut): představení všech tří metod při řešení jednoho příkladu.
Břetislav Fajmon, UMAT FEKT, VUT Brno Poznámka 1.1. A) první část hodiny (cca 50 minut): představení všech tří metod při řešení jednoho příkladu. Na jiných příkladech je téma podrobně zpracováno ve skriptech
Více5 Rekurze a zásobník. Rekurzivní volání metody
5 Rekurze a zásobník Při volání metody z metody main() se do zásobníku uloží aktivační záznam obsahující - parametry - návratovou adresu, tedy adresu, kde bude program pokračovat v metodě main () po skončení
VíceC++ Akademie SH. 2. Prom nné, podmínky, cykly, funkce, rekurze, operátory. Michal Kvasni ka. 20. b ezna Za áte níci C++
C++ Akademie SH 2. Prom nné, podmínky, cykly, funkce, rekurze, operátory Za áte níci C++ 20. b ezna 2011 Obsah 1 Prom nné - primitivní typy Celá ísla ƒísla s pohyblivou desetinnou árkou, typ bool 2 Podmínka
VíceIUJCE 07/08 Přednáška č. 4. v paměti neexistuje. v paměti existuje
Konstanty I možnosti: přednostně v paměti neexistuje žádný ; o preprocesor (deklarace) #define KONSTANTA 10 o konstantní proměnná (definice) const int KONSTANTA = 10; příklad #include v paměti
Více6. lekce Úvod do jazyka C knihovny datové typy, definice proměnných základní struktura programu a jeho editace Miroslav Jílek
6. lekce Úvod do jazyka C knihovny datové typy, definice proměnných základní struktura programu a jeho editace Miroslav Jílek 1/73 https://en.cppreference.com internetová stránka s referencemi https://gedit.en.softonic.com/download
VíceFunkce pokročilé možnosti. Úvod do programování 2 Tomáš Kühr
Funkce pokročilé možnosti Úvod do programování 2 Tomáš Kühr Funkce co už víme u Nebo alespoň máme vědět... J u Co je to funkce? u Co jsou to parametry funkce? u Co je to deklarace a definice funkce? K
VíceSemestrální projekt. Předmět: Programování v jazyce C. Zadání: Operace s maticemi. Uživatelský manuál. ver. 1.0
Semestrální projekt Předmět: Programování v jazyce C Zadání: Operace s maticemi Uživatelský manuál ver. 1.0 Jakub Štrouf Obor: Aplikovaná informatika Semestr: 1. Rok: 2009/2010 Obsah: 1. Úvod 1.1. Technická
VíceSeminář z IVT Algoritmizace. Slovanské gymnázium Olomouc Tomáš Kühr
Seminář z IVT Algoritmizace Slovanské gymnázium Olomouc Tomáš Kühr Algoritmizace - o čem to je? Zatím jsme se zabývali především tím, jak určitý postup zapsat v konkrétním programovacím jazyce (např. C#)
VíceProgramování v C++, 2. cvičení
Programování v C++, 2. cvičení 1 1 Fakulta jaderná a fyzikálně inženýrská České vysoké učení technické v Praze Zimní semestr 2018/2019 Přehled 1 Operátory new a delete 2 3 Operátory new a delete minule
VíceFormátové specifikace formátovací řetězce
27.2.2007 Formátové specifikace formátovací řetězce - je to posloupnost podle které překladač pozná jaký formát má výstup mít - posloupnosti začínají znakem % a určující formát vstupu/výstupu - pokud chcete
VíceFAKULTA STAVEBNÍ VUT V BRNĚ PŘIJÍMACÍ ŘÍZENÍ PRO AKADEMICKÝ ROK 2003 2004
PŘIJÍMACÍ ŘÍZENÍ PRO AKADEMICKÝ ROK 003 004 TEST Z MATEMATIKY PRO PŘIJÍMACÍ ZKOUŠKY ČÍSLO M 0030 Vyjádřete jedním desetinným číslem (4 ½ 4 ¼ ) (4 ½ + 4 ¼ ) Správné řešení: 0,5 Zjednodušte výraz : ( 4)
VícePráce s řetězci. IUJCE Přednáška č. 10. string.h. vrací: délku řetězce str (bez '\0')
Práce s řetězci string.h size_t strlen(const char *str); délku řetězce str (bez '\0') int strcmp(const char *str1, const char *str2); porovná řetězce o
VíceProgramování v C++ 1, 1. cvičení
Programování v C++ 1, 1. cvičení opakování látky ze základů programování 1 1 Fakulta jaderná a fyzikálně inženýrská České vysoké učení technické v Praze Zimní semestr 2018/2019 Přehled 1 2 Shrnutí procvičených
Více. Opakovací kurs středoškolské matematiky podzim 2015
. Opakovací kurs středoškolské matematiky podzim 0 František Mráz Ústav technické matematiky, Frantisek.Mraz@fs.cvut.cz I. Mocniny, odmocniny, algeraické výrazy Upravte (zjednodušte), případně určete číselnou
VíceMATEMATICKÁ ANALÝZA A LINEÁRNÍ ALGEBRA PŘÍPRAVA NA ZKOUŠKU PRO SAMOUKY
MATEMATICKÁ ANALÝZA A LINEÁRNÍ ALGEBRA PŘÍPRAVA NA ZKOUŠKU PRO SAMOUKY POMNĚNKA prase Pomni, abys nezapomněl na Pomněnku MSc. Catherine Morris POMNĚNKA Verze ze dne: 14. října 01 Materiál je v aktuální
VíceMS EXCEL_vybrané matematické funkce
MS EXCEL_vybrané matematické funkce Vybrané základní matematické funkce ABS absolutní hodnota čísla CELÁ.ČÁST - zaokrouhlení čísla na nejbližší menší celé číslo EXP - vrátí e umocněné na hodnotu argumentu
VíceMartin Flusser. Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague. October 17, 2016
ZPRO cvičení 2 Martin Flusser Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague October 17, 2016 Outline I 1 Outline 2 Proměnné 3 Proměnné - cvičení 4 Funkce 5 Funkce
VícePan Novák si vždy kupuje boty o velikosti 8,5 a každý den stráví
Číselné obory Seznamte se s jistým panem Novákem z Prahy. Je mu 48 let, má 2 děti a bydlí v domě s číslem popisným 157. Vidíte, že základní informace o panu Novákovi můžeme sdělit pomocí několika čísel,
VíceÚvod do jazyka C. Ing. Jan Fikejz (KST, FEI) Fakulta elektrotechniky a informatiky Katedra softwarových technologií
1 Fakulta elektrotechniky a informatiky Katedra softwarových technologií 12. října 2009 Organizace výuky Přednášky Teoretické základy dle normy jazyka C Cvičení Praktické úlohy odpřednášené látky Prostřední
VíceProgramování v Javě I. Leden 2008
Seminář Java Programování v Javě I Radek Kočí Fakulta informačních technologií VUT Leden 2008 Radek Kočí Seminář Java Programování v Javě (1) 1/ 45 Téma přednášky Datové typy Deklarace třídy Modifikátory
VíceExponenciální funkce. a>1, pro a>0 a<1 existuje jiný graf, který bude uveden za chvíli. Z tohoto
Exponenciální funkce Exponenciální funkce je taková funkce, která má neznámou na místě exponentu. Symbolický zápis by tedy vypadal takto: f:y = a x, kde a > 0 a zároveň a 1 (pokud by se a mohlo rovnat
VíceLogické 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
Logické operace Datový typ bool může nabýt hodnot: o true o false Relační operátory pravda, 1, nepravda, 0, hodnoty všech primitivních datových typů (int, double ) jsou uspořádané lze je porovnávat binární
VíceX36UNX 16. Numerické výpočty v sh příkazy expr, bc, dc. Zdeněk Sojka
X36UNX 16 Numerické výpočty v sh příkazy expr, bc, dc Zdeněk Sojka sojkaz1@fel.cvut.cz dc desk calculator - zadávání příkazů postfixově - data se ukládají do stacku - příkazy obyčejně pracují s jedním
VícePaměť počítače. alg2 1
Paměť počítače Výpočetní proces je posloupnost akcí nad daty uloženými v paměti počítače Data jsou v paměti reprezentována posloupnostmi bitů (bit = 0 nebo 1) Připomeňme: paměť je tvořena řadou 8-mi bitových
VícePráce s čísly. Klíčové pojmy: Základní matematické operace, zápis složitějších příkladů, mocniny, odmocniny, zkrácené operátory
Práce s čísly Cílem kapitoly je seznámit žáky se základy práce s čísly v programu python. Klíčové pojmy: Základní matematické operace, zápis složitějších příkladů, mocniny, odmocniny, zkrácené operátory
VíceRacionální čísla, operátory, výrazy, knihovní funkce
Příprava studijního programu Informatika je podporována projektem financovaným z Evropského sociálního fondu a rozpočtu hlavního města Prahy. Praha & EU: Investujeme do vaší budoucnosti Racionální čísla,
VícePREPROCESOR POKRAČOVÁNÍ
PREPROCESOR POKRAČOVÁNÍ Chybová hlášení V C# podobně jako v C++ existuje direktiva #error, která způsobí vypsání chybového hlášení překladačem a zastavení překladu. jazyk C# navíc nabízí direktivu #warning,
VíceEdita Kolářová ÚSTAV MATEMATIKY
Přípravný kurs z matematik Edita Kolářová ÚSTAV MATEMATIKY Přípravný kurs z matematik 1 Obsah 1 Přehled použité smbolik 3 Základní pojm matematické logik a teorie množin 4.1 Element matematické logik.........................
VíceZákladní stavební prvky algoritmu
Základní stavební prvky algoritmu Podmínka. Cyklus for, while, do-while. Funkce, metody. Přetěžování. Tomáš Bayer bayertom@natur.cuni.cz Katedra aplikované geoinformatiky a kartografie, Přírodovědecká
VíceRekurze. Jan Hnilica Počítačové modelování 12
Rekurze Jan Hnilica Počítačové modelování 12 1 Rekurzivní charakter úlohy Výpočet faktoriálu faktoriál : n! = n (n - 1) (n - 2)... 2 1 (0! je definován jako 1) můžeme si všimnout, že výpočet n! obsahuje
Vícea n (z z 0 ) n, z C, (1) n=0
Mocniné řady Nechť 0, a 0, a, a 2,... jsou konečná komplexní čísla. Pak řadu funkcí a n ( 0 ) n, C, () naýváme mocninou řadou. Číslo 0 koeficienty mocniné řady. Onačme dále: se naývá střed mocniné řady,
VíceZlatý řez nejen v matematice
Zlatý řez nejen v matematice Zlaté číslo a jeho vlastnosti In: Vlasta Chmelíková author): Zlatý řez nejen v matematice Czech) Praha: Katedra didaktiky matematiky MFF UK, 009 pp 7 Persistent URL: http://dmlcz/dmlcz/40079
VíceProgramování v jazyce C pro chemiky (C2160) 7. Ukazatele, Funkce pro práci s řetězci
Programování v jazyce C pro chemiky (C2160) 7. Ukazatele, Funkce pro práci s řetězci Ukazatele Každá proměnná je umístěna na konkrétním místě v paměti Paměť je organizována lineárně jako posloupnost bytů
VíceProgramování v Javě I. Únor 2009
Seminář Java Programování v Javě I Radek Kočí Fakulta informačních technologií VUT Únor 2009 Radek Kočí Seminář Java Programování v Javě (1) 1/ 44 Téma přednášky Datové typy Deklarace třídy Modifikátory
VíceJazyk C# (seminář 6)
Jazyk C# (seminář 6) Pavel Procházka KMI 29. října 2014 Delegát motivace Delegáty a události Jak docílit v C# funkcionální práce s metodami v C je to pomocí pointerů na funkce. Proč to v C# nejde pomocí
VíceC++ objektově orientovaná nadstavba programovacího jazyka C
C++ objektově orientovaná nadstavba programovacího jazyka C (1. část) Josef Dobeš Katedra radioelektroniky (13137), blok B2, místnost 722 dobes@fel.cvut.cz 5. května 2014 České vysoké učení technické v
Více( 5 ) 6 ( ) 6 ( ) Přijímací řízení ak. r. 2010/11 Kompletní znění testových otázek - matematický přehled
řijímcí řízení k. r. / Kompletní znění testových otázek - mtemtický přehled Koš Znění otázky Odpověď ) Odpověď b) Odpověď c) Odpověď d) Správná odpověď. Které číslo doplníte místo otzníku? 8?. Které číslo
VíceRozsáhlé programy = projekty
Rozsáhlé programy = projekty Petr Šaloun katedra informatiky FEI VŠB-TU Ostrava 28. listopadu 2011 Petr Šaloun (katedra informatiky FEI VŠB-TU Ostrava) Rozsáhlé programy = projekty 28. listopadu 2011 1
VíceStruktura programu v době běhu
Struktura programu v době běhu Miroslav Beneš Dušan Kolář Struktura programu v době běhu Vztah mezi zdrojovým programem a činností přeloženého programu reprezentace dat správa paměti aktivace podprogramů
Více9. lekce Úvod do jazyka C 4. část Funkce, rekurze Editace, kompilace, spuštění Miroslav Jílek
9. lekce Úvod do jazyka C 4. část Funkce, rekurze Editace, kompilace, spuštění Miroslav Jílek 1/24 Editační prostření Kód programu lze editovat v jakémkoli textovém editoru. 2/24 Editační prostření Kód
VíceBitové operátory a bitová pole. Úvod do programování 2 Tomáš Kühr
Bitové operátory a bitová pole Úvod do programování 2 Tomáš Kühr Bitové operátory Provádějí danou operaci s jednotlivými bity svých operandů Operandy bitových operátorů mohou být pouze celočíselné Vyhodnocení
VíceZadání I. série. Obr. 1
Zadání I. série Termín odeslání: 21. listopadu 2002 Milí přátelé! Vítáme vás v XVI. ročníku Fyzikálního korespondenčního semináře Matematicko-fyzikální fakulty Univerzity Karlovy. S první sérií nám prosím
VíceIterační výpočty. Dokumentace k projektu pro předměty IZP a IUS. 22. listopadu projekt č. 2
Dokumentace k projektu pro předměty IZP a IUS Iterační výpočty projekt č.. lstopadu 1 Autor: Mlan Setler, setl1@stud.ft.vutbr.cz Fakulta Informačních Technologí Vysoké Učení Techncké v Brně Obsah 1 Úvod...
Více- funkce, které integrujete aproximujte jejich Taylorovými řadami a ty následně zintegrujte. V obou případech vyzkoušejte Taylorovy řady
Vzorové řešení domácího úkolu na 6. 1. 1. Integrály 1 1 x2 dx, ex2 dx spočítejte přibližně následují metodou - funkce, které integrujete aproximujte jejich Taylorovými řadami a ty následně zintegrujte.
VíceMatematika I Reálná funkce jedné promìnné
Matematika I Reálná funkce jedné promìnné RNDr. Renata Klufová, Ph. D. Jihoèeská univerzita v Èeských Budìjovicích EF Katedra aplikované matematiky a informatiky Reálná funkce Def. Zobrazení f nazveme
VíceRacionální čísla, operátory, výrazy, knihovní funkce
Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Racionální čísla, operátory, výrazy, knihovní funkce BI-PA1 Programování a algoritmizace 1 Katedra teoretické informatiky Miroslav Balík
VíceÚvod do programování - Java. Cvičení č.4
Úvod do programování - Java Cvičení č.4 1 Sekvence (posloupnost) Sekvence je tvořena posloupností jednoho nebo více příkazů, které se provádějí v pevně daném pořadí. Příkaz se začne provádět až po ukončení
VíceProgramování v jazyce C pro chemiky (C2160) 10. Grafická knihovna g2
Programování v jazyce C pro chemiky (C2160) 10. Grafická knihovna g2 Preprocesor jazyka C Zdrojový text programu je před kompilací zpracován preprocesorem, který provede vložení externích souborů, vynechání
VíceAlgoritmizace a programování
Algoritmizace a programování Výrazy Operátory Výrazy Verze pro akademický rok 2012/2013 1 Operace, operátory Unární jeden operand, operátor se zapisuje ve většině případů před operand, v některých případech
Vícea 3 c 5 A 1 Programové prostředí
Programové prostředí Program se skládá z několika různých typů řádků. 1. Řádek pro komentář = program jej neprovede. Vložíte jej stisknutím CTRL+T, přes menu Insert -> Text, kliknutím na. Řádek začíná
VíceProgramovanie v jazyku C - funkcie a makra
CVIČENIE 4/13 (S7) Programovanie v jazyku C - funkcie a makra About co je to funkcia a procedura, rekurzivne funkcie, co je to makro TODO: ŘETĚZCE řetězec je pole znaků zakončené 0 ( \0 má ASCI-kód 0,
VícePB161 Programování v jazyce C++ Přednáška 10
.. PB161 Programování v jazyce C++ Přednáška 10 Šablony Nikola Beneš 23. listopadu 2015 PB161 přednáška 10: šablony 23. listopadu 2015 1 / 29 K zamyšlení Jaký je rozdíl mezi new int[10] a new int[10]()?
VícePB071 Programování v jazyce C Jaro 2013
Programování v jazyce C Jaro 2013 Uživatelské datové typy, dynamické struktury a jejich ladění Organizační Organizační Vnitrosemetrální test 7.4. Dotazník k domácím úkolům informační, nebodovaný, pomáhá
VíceAlgoritmizace a programování
Algoritmizace a programování Strukturované proměnné Struktura, union Jazyk C České vysoké učení technické Fakulta elektrotechnická A8B14ADP Jazyk C - Strukturované proměnné Ver.1.10 J. Zděnek 20151 Struktura
VíceObsah. 1. Komplexní čísla
KOMPLEXNÍ ANALÝZA - ZÁPISKY Z PŘEDNÁŠEK JAN MALÝ Obsah 1. Komplexní čísla 1 2. Holomorfní funkce 3 3. Elementární funkce komplexní proměnné 4 4. Křivkový integrál 7 5. Index bodu vzhledem ke křivce 9 6.
VíceJazyk 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
Jazyk C Program v jazyku C má následující strukturu: Direktivy procesoru Globální definice (platné a známé v celém programu) Funkce Hlavička funkce Tělo funkce je uzavřeno mezi složené závorky { Lokální
VíceUkazatel (Pointer) jako datový typ - proměnné jsou umístěny v paměti na určitém místě (adrese) a zabírají určitý prostor (počet bytů), který je daný
Ukazatel (Pointer) jako datový typ - proměnné jsou umístěny v paměti na určitém místě (adrese) a zabírají určitý prostor (počet bytů), který je daný typem proměnné - ukazatel je tedy adresa společně s
VíceZačínáme vážně programovat. Řídící struktury Přetypování Vstupně výstupní operace Vlastní tvorba programů
Začínáme vážně programovat Řídící struktury Přetypování Vstupně výstupní operace Vlastní tvorba programů Podmínky a cykly Dokončení stručného přehledu řídících struktur jazyka C. Složený příkaz, blok Pascalské
VíceÚvod. Integrování je inverzní proces k derivování Máme zderivovanou funkci a integrací získáme původní funkci kterou jsme derivovali
NEURČITÝ INTEGRÁL Úvod Integrování je inverzní proces k derivování Máme zderivovanou funkci a integrací získáme původní funkci kterou jsme derivovali Umět pracovat s integrálním počtem Je důležité pro
VíceAlgoritmizace a programování. Ak. rok 2012/2013 vbp 1. ze 44
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
VíceDynamicky vázané metody. Pozdní vazba, virtuální metody
Dynamicky vázané metody Pozdní vazba, virtuální metody Motivace... class TBod protected: float x,y; public: int vrat_pocet_bodu() return 1; ; od třídy TBod odvodíme: class TUsecka: public TBod protected:
VíceKolekce ArrayList. Deklarace proměnných. Import. Vytvoření prázdné kolekce. napsal Pajclín
Kolekce ArrayList napsal Pajclín Tento článek jsem se rozhodl věnovat kolekci ArrayList, protože je to jedna z nejpoužívanějších. Tento článek není kompletním popisem třídy ArrayList, ale budu se snažit
Více