Martin Flusser. Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague. October 17, 2016

Podobné dokumenty
Martin Flusser. Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague. October 23, 2016

Martin Flusser. December 15, 2016

Martin Flusser. Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague. December 7, 2016

C++ Akademie SH. 2. Prom nné, podmínky, cykly, funkce, rekurze, operátory. Michal Kvasni ka. 20. b ezna Za áte níci C++

Jazyk C++, některá rozšíření oproti C

Martin Flusser. Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague. November 16, 2017

Úvod do programování. Lekce 1

Martin Flusser. November 1, 2016

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

Programování v C++ 1, 1. cvičení

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

PROGRAMOVÁNÍ V C++ CVIČENÍ

Základy programování. Úloha: Eratosthenovo síto. Autor: Josef Hrabal Číslo: HRA0031 Datum: Předmět: ZAP

Standardní algoritmy vyhledávací.

Zápis programu v jazyce C#

ZPRO v "C" Ing. Vít Hanousek. verze 0.3

Pokročilé programování v jazyce C pro chemiky (C3220) Vstup a výstup v C++

Úvod do jazyka C. Ing. Jan Fikejz (KST, FEI) Fakulta elektrotechniky a informatiky Katedra softwarových technologií

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

Množina v C++ (set, multiset).

Objektově orientované programování

Programovací jazyk C++ Hodina 1

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

Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod.

Základy C++ I. Jan Hnilica Počítačové modelování 18

Funkční objekty v C++.

Hotelová škola, Obchodní akademie a Střední průmyslová škola Teplice,Benešovo náměstí 1, příspěvková organizace

Úkoly k předmětu PGA. Evropský sociální fond Praha a EU Investujeme do vaší budoucnosti

Operační systémy. Cvičení 3: Programování v C pod Unixem

Základy programování (IZP)

Programování v C++ 1, 14. cvičení

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

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

Úvod do programovacích jazyků (Java)

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

Programování C++ Lukáš Tomášek. verze

C++ objektově orientovaná nadstavba programovacího jazyka C

Pokročilé programování v jazyce C pro chemiky (C3220) Třídy v C++

Pokročilé programování v jazyce C pro chemiky (C3220) Statické proměnné a metody, šablony v C++

Výrazy, operace, příkazy

IAJCE Přednáška č. 7. řízení semaforu na křižovatce = přepínání červená/oranžová/zelená

PB161 Programování v C++ Proudy pro standardní zařízení Souborové proudy Paměťové proudy Manipulátory

8. lekce Úvod do jazyka C 3. část Základní příkazy jazyka C Miroslav Jílek

přetížení operátorů (o)

přetížení operátorů (o)

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

ALGORITMIZACE A PROGRAMOVÁNÍ

Algoritmizace a programování

Proměnná. Datový typ. IAJCE Cvičení č. 3. Pojmenované místo v paměti sloužící pro uložení hodnoty.

Jazyk C# a platforma.net

2 Datové typy v jazyce C

Programování v C++ 1, 17. cvičení

Opakování programování

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

Prostory jmen. při vkládání několika hlavičkových souborů může vzniknout kolize. logika.h const int x=5; typedef struct {...

Základy programování (IZP)

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace

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

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Množina čísel int stl-set-int.cpp

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

for (int i = 0; i < sizeof(hodnoty) / sizeof(int); i++) { cout<<hodonoty[i]<< endl; } cin.get(); return 0; }

7. přednáška - třídy, objekty třídy objekty atributy tříd metody tříd

Operační systémy. Cvičení 4: Programování v C pod Unixem

Vector datový kontejner v C++.

DTP Základy programování Úvod do předmětu

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

C++ přetěžování funkcí a operátorů. Jan Hnilica Počítačové modelování 19

Prezentace a vysvětlení programového prostředí NXC

Ahoj mami. Uložení dat v počítači. Příklady kódování dat. IAJCE Přednáška č. 4

Seminář Java II p.1/43

Programování v C++ 2, 8. cvičení

map, multimap - Asociativní pole v C++.

Programování v C++ 3, 3. cvičení

V dalších letech se pak začaly objevovat první normy pro jazyk C++ (ISO/IEC 14882:1998; ISO/IEC 9899:1999; ISO/IEC 14882:2003; ISO/IEC 14882:2011).

Třetí skupina zadání projektů do předmětu Algoritmy II, letní semestr 2017/2018

Programování v C++ První kroky

Základy programování (IZP)

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

katedra informatiky FEI VB-TU Ostrava 10. jna 2005 etr aloun (katedra informatiky FEI VB-TU Ostrava) Dal vrazy 10. jna / 25

Šablony, kontejnery a iterátory

Pokročilé programování v jazyce C pro chemiky (C3220) Úvod do jazyka C++

zapište obslužnou metodu události Click tlačítka a vyzkoušejte chování polevýsledek.text = polečíslo1.text + polečíslo2.text;

Základy programování (IZP)

Řešení sady 1. Úvod do programování 1 Tomáš Kühr

Základy programování (IZP)

Struktury, funkce, reference

Funkce, intuitivní chápání složitosti

Digitální učební materiál

Programovací jazyk Pascal

Koncepce (větších) programů. Základy programování 2 Tomáš Kühr

Digitální učební materiál

Abstraktní třídy, polymorfní struktury

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

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

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

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

Základy programování (IZP)

Martin Hejtmánek hejtmmar

Transkript:

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 - cvičení 6 Domácí úkol

Proměnné

Proměnné Symbolické označení místa v paměti

Proměnné Symbolické označení místa v paměti Nese hodnotu

Proměnné Symbolické označení místa v paměti Nese hodnotu Lze ji vytvářet, číst a měnit

Typy proměnných

Typy proměnných char 8 bitu

Typy proměnných char 8 bitu signed char unsigned char

Typy proměnných char 8 bitu signed char unsigned char int 16 bitu ( -32767 32767)

Typy proměnných char 8 bitu signed char unsigned char int 16 bitu ( -32767 32767) unsigned int

Typy proměnných char 8 bitu signed char unsigned char int 16 bitu ( -32767 32767) unsigned int long 32 bitu

Typy proměnných char 8 bitu signed char unsigned char int 16 bitu ( -32767 32767) unsigned int long 32 bitu necelociselna float 32

Typy proměnných char 8 bitu signed char unsigned char int 16 bitu ( -32767 32767) unsigned int long 32 bitu necelociselna float 32 necelociselna double 64

Typy proměnných char 8 bitu signed char unsigned char int 16 bitu ( -32767 32767) unsigned int long 32 bitu necelociselna float 32 necelociselna double 64 bool = { true, false}

Typy proměnných char 8 bitu signed char unsigned char int 16 bitu ( -32767 32767) unsigned int long 32 bitu necelociselna float 32 necelociselna double 64 bool = { true, false} string (řetězec textu)

Deklarace a syntaxe 1 int a; 2 a =3; 3 int b =5; 4 int c=a+b; 5 a=b=c;

Diskuze Jak pojmenovávat proměnné?

Diskuze Jak pojmenovávat proměnné? Jak dlouho proměnná vydrží? Kdy zaniká?

Diskuze Jak pojmenovávat proměnné? Jak dlouho proměnná vydrží? Kdy zaniká? lokální globální (const)

cvičení Návod na odmocninu: 1 # include <math.h> 2 int main () 3 { 4 int trojka ; 5 trojka = sqrt ( 9); 6 return ; 7 }

cvičení 1 Vytvořte program, který načte číslo do proměnné a pak vypíše Návod na odmocninu: 1 # include <math.h> 2 int main () 3 { 4 int trojka ; 5 trojka = sqrt ( 9); 6 return ; 7 }

cvičení 1 Vytvořte program, který načte číslo do proměnné a pak vypíše 2 Vytvořte program, který načte číslo (délku strany čtverce) a vypíše jeho obsah. Návod na odmocninu: 1 # include <math.h> 2 int main () 3 { 4 int trojka ; 5 trojka = sqrt ( 9); 6 return ; 7 }

cvičení 1 Vytvořte program, který načte číslo do proměnné a pak vypíše 2 Vytvořte program, který načte číslo (délku strany čtverce) a vypíše jeho obsah. 3 Vytvořte program, který umí řešit kvadratickou rovnici v základním tvaru. Návod na odmocninu: 1 # include <math.h> 2 int main () 3 { 4 int trojka ; 5 trojka = sqrt ( 9); 6 return ; 7 }

cv1 - řešení Vytvořte program, který načte číslo do proměnné a pak vypíše 1 cout <<" zadejte cislo :" << endl ; 2 int cislo ; 3 cin >> cislo ; 4 cout <<" vase cislo je:" << cislo << endl ;

cv2 - řešení Vytvořte program, který načte číslo (délku strany čtverce) a vypíše jeho obsah. 1 cout < <" zadejte cislo jako delku strany :" 2 << endl ; 3 int cislo ; 4 cin >> cislo ; 5 int obsah = cislo * cislo ; 6 cout <<" obsah je:" << obsah << endl ;

cv3 - řešení Vytvořte program, který umí řešit kvadratickou rovnici v základním tvaru. 1 double a,b,c; 2 // Nacitani koeficientu 3 cout <<" zadejte koeficient a:" << endl ; 4 cin >> a; 5 cout <<" zadejte koeficient b:" << endl ; 6 cin >> b; 7 cout <<" zadejte koeficient c:" << endl ; 8 cin >> c; 9 // Vypocet 10 double diskriminant = b*b -4* a*c; 11 double x1 =( -b+ sqrt ( diskriminant ))/2* a; 12 double x2 =( -b- sqrt ( diskriminant ))/2* a; 13 cout <<endl <<" koreny jsou : " <<x1 <<" a " 14 <<x2 << endl ;

Funkce - Terminologie Funkce

Funkce - Terminologie Funkce Procedura

Funkce - Terminologie Funkce Procedura Podprogram

Podprogram

Podprogram Wikipedia (edited): Podprogram je v programování část programu, kterou je možné volat, a to i opakovaně a z různých míst kódu. Podprogram může mít parametry, které udávají, s jakými hodnotami má pracovat, a může vracet návratovou hodnotu...

Funkce vs procedura

Funkce vs procedura Wikipedia: procedura podprogram, který nevrací výslednou hodnotu a volá se jako příkaz.

Funkce vs procedura Wikipedia: procedura podprogram, který nevrací výslednou hodnotu a volá se jako příkaz. Wikipedia: funkce podprogram, který vrací hodnotu a lze jej volat ve výrazu.

Funkce: matematika vs programování Jsou nějáké rozdíly mezi funkcí v programování a v matematice?

Funkce: matematika vs programování Jsou nějáké rozdíly mezi funkcí v programování a v matematice? V programování: Neplatí, že pro jeden vstupní parametr existuje jedna výstupní hodnota. Do procesu mohou vstupovat i další data. Často se používaji i funkce úplně bez parametru.

Funkce: matematika vs programování Jsou nějáké rozdíly mezi funkcí v programování a v matematice? V programování: Neplatí, že pro jeden vstupní parametr existuje jedna výstupní hodnota. Do procesu mohou vstupovat i další data. Často se používaji i funkce úplně bez parametru. V programování: má funkce i další účinek kromě návratové hodnoty. Například může provést další operace a nastavení. (Procedura)

Funkce v jazyce C a C++ Výraz podprogram se užívá zřídka Procedura neexistuje. Používá se funkce bez návratové hodnoty. Vše zmíněné se v jazyce C a C++ nazývá funkce.

Deklarace a definice funkce 1 2 navratovy_ typ jmeno ([ parametry,...]) 3 { 4 telo funkce 5 } Navratovy typ např.:{int, bool, float..., void} K ukončení funkce a vrácení hodnoty se použije příkaz return

Deklarace a definice funkce 1 # include < iostream > 2 using namespace std ; 3 4 int secti ( int a, int b) // Definice 5 { 6 return a + b; 7 } 8 9 int main () 10 { 11 int vysledek ; 12 vysledek = secti (3,4); 13 cout << " Vysledek souctu je: " << vysledek << end 14 return 0; 15 }

Deklarace a definice funkce 1 # include < iostream > 2 using namespace std ; 3 int secti ( int a, int b) // Deklarace 4 5 int main () 6 { 7 int vysledek ; 8 vysledek = secti (3,4); 9 cout << " Vysledek souctu je: " << vysledek << end 10 return 0; 11 } 12 13 int secti ( int a, int b) // Definice 14 { 15 return a + b; 16 }

Funkce cvičení 1 Funkce pro vypis textu do konzole

Funkce cvičení 1 Funkce pro vypis textu do konzole 2 Funkce pro výpočet obsahu kruhu

Funkce cvičení 1 Funkce pro vypis textu do konzole 2 Funkce pro výpočet obsahu kruhu 3 Funkce pro výpočet objemu válce

Funkce cvičení 1 Funkce pro vypis textu do konzole 2 Funkce pro výpočet obsahu kruhu 3 Funkce pro výpočet objemu válce 4 Funkce pro nalezení kořene(ů) kvadratické rovnice

Funkce cvičení 1 Funkce pro vypis textu do konzole 2 Funkce pro výpočet obsahu kruhu 3 Funkce pro výpočet objemu válce 4 Funkce pro nalezení kořene(ů) kvadratické rovnice Je nutné se vypořádat s tím, že funkce vrací pouze jednu hodnotu

cv1 - řešení 1 void say_hell () 2 { 3 std :: cout <<" Hello " <<std :: endl ; 4 5 return ; 6 }

cv2 - řešení 1 double obsah_kruhu ( double radius ) 2 { 3 return 3. 14* radius * radius ; 4 }

cv3 - řešení 1 double objem_valce ( double radius, double vyska ) 2 { 3 return obsah_kruhu ( radius )* vyska ; 4 }

Domácí úkol Vytvořte a použijte funkci na hledaní kořenů kvadratické rovnice. Funkce bude mít 4 vstupní parametry a vracet promennou typu double. Parametry budou: a, b, c (jako na cviceni) a parametr znamenko, kam se dosadi bud +1, nebo -1. Parametru znamenko vyuzijete k urceni, zda se jedna o jeden, nebo druhy koren (nezáleží na jejich pořadí). Funkce bude vyuzivat pomocnou funkci diskriminant. Nápověda: Diskriminant: D = b 2 4ac x = b + znamenko D 2a