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).
|
|
- Šimon Ševčík
- před 3 lety
- Počet zobrazení:
Transkript
1 Jazyk C++ 1 Blok 1 Úvod do programovacího jazyka C++ Studijní cíl První blok kurzu je věnován úvodu do problematiky programovacího jazyka C++. V bloku budou rozebrány historické souvislosti programovacích jazyků C a C++ a budou představeny a zhodnoceny základní technologie, které se této oblasti dotýkají. Po absolvování bloku bude student ovládat základní pojmy z oblasti programování v jazyce C++. Doba nutná k nastudování 2-3 hodiny Průvodce studiem Pro studium tohoto bloku jsou u studentů požadovány předchozí znalosti z oblasti programování v jazyce C. Pro úspěšné zvládnutí bloku se u studentů předpokládá základní znalost běžných výpočetních prostředků a principů programování (počítač, vývojové prostředí, zdrojový kód, ). Historie Dalo by se říci, že jazyk C++ je objektově orientovaným rozšířením jazyka C. Autorem programovacího jazyka C++ je dánský programátor, informatik a profesor na Texas A&M University Bjarne Stroustrup. V roce 1982 Stroustrup rozšířil jazyk C o objekty pomocí preprocesoru a nazval jej C s třídami (C with classes). První verze C++ se pak objevila v roce 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). Deklarace a definice Deklarace (informativní deklarace) informuje překladač o existenci nějakého objektu. Jazyk C++ 1 1
2 Definice (definiční deklarace) přikazuje překladači vytvořit daný objekt. Neobjektové rozdíly mezi C a C++ Identifikátory Délka identifikátoru (např. název proměnné) v C++ není dle normy omezena a všechny znaky jsou v něm signifikantní (významné). V jazyce C je signifikantních pouze 31 znaků. Překladače však mívají délky identifikátoru v C++ omezeny. Ve vývojovém prostředí Microsoft Visual C++ je signifikantních implicitně 247 znaků. Komentáře V jazyce C++ lze použít klasických C komentářů /* Komentáře na více řádcích. */ Podle nových norem lze uvádět jak v jazyce C, tak i v jazyce C++ také komentáře jednořádkové. // jednořádkový komentář Víceřádkové komentáře ale nelze podle normy vnořovat do sebe. Příkazy Za příkaz lze považovat také informativní i definiční deklaraci. To znamená, že deklarace se může vyskytnout na všech místech, kde syntaxe jazyka umožňuje příkaz. Rozdíl oproti jazyku C je vidět převážně u složených příkazů, tzv. bloků. V jazyce C++ je blok definován takto: {posloupnost_příkazů nep } V jazyce C je potom blok definován následovně: {posloupnost_deklarací nep posloupnost_příkazů nep } Příklad int pole[10]; pole[5] = 10; int x = pole[5]*2; // v jazyce C++ korektní zápis Deklarace proměnné je také povolena ve výrazu podmínka v příkazech: if(podmínka) příkaz Jazyk C++ 1 2
3 if(podmínka) příkaz else příkaz2 switch(podmínka) příkaz while(podmínka) příkaz for(inicializace; podmínka; výraz) příkaz V případě, že se jedná o cyklus for, může být proměnná deklarována též v části inicializace. Podle normy by měla být proměnná deklarovaná v těchto příkazech vždy proměnnou lokální. Ale často záleží na konkrétním překladači. Pozor, proměnnou nelze deklarovat v cyklu do příkaz while (výraz); v části výraz. Příklad if(int a = f()) Zpracuj(a); // OK b = a; // Chyba! Proměnná a už neexistuje. for(int i = 0; i < 10; i++) a[i] = i; // OK b = i; // Chyba! Proměnná i už neexistuje. Skoky Příkazů goto a switch se týká omezení možnosti přeskočit definici s inicializací, pokud nedojde k přeskočení celého bloku, v němž se tento příkaz vyskytuje. Chybný zápis if(true) goto Pokracovani; int a = 1; Pokracovani: Korektní zápis if(true) goto Pokracovani; int a; a = 1; Pokracovani: Jazyk C++ 1 3
4 Korektní zápis if(true) goto Pokracovani; { int a = 1; } Pokracovani: Chybný zápis switch(a) { case 0: int x = 1; break; case 1: } Korektní zápis switch(a) { case 0: int x; x = 1; break; case 1: } Korektní zápis switch(a) { case 0: { int x = 1; break; } case 1: } Jazyk C++ 1 4
5 Datové typy Celočíselné typy Logický typ Pro logické hodnoty (pravda, nepravda) je v jazyce C++ k dispozici datový typ bool, který může nabývat hodnot true nebo false. Přičemž platí vztah true > false. Pokud překladač na místě, kde očekává logickou hodnotu, narazí na celé číslo, reálné číslo či znak, automaticky jej konvertuje, a to: libovolné nenulové číslo => true, nulu => false. Pokud překladač na místě, kde očekává číselnou hodnotu, narazí na hodnotu logickou, automaticky ji konvertuje: true => 1, false => 0. Znakové typy Jazyk C++ zná jednobytové znakové typy char, signed char a unsigned char a dvoubytový typ wchar_t, který lze použít pro práci s UNICODE a znaky asijských jazyků. Na rozdíl od programovacího jazyku C, kde jsou znakové konstanty (např. a ) typu int, jsou v programovacím jazyce C++ znakové konstanty typu char. Pokud se znakové konstanty zapisují s prefixem L (např. L a ), bude tato konstanta typu wchar_t. Znaková konstanta v UNICODE se zapisuje \Uxxxxxxxx nebo \uxxxx, kde x představuje číslici šestnáctkové soustavy. Zápis \uxxxx je potom zkratkou pro \U0000xxxx. Pro práci s dvoubytovými znaky (wide characters) se používají funkce s prefixem w, např. wprintf. Typy pro celá čísla V jazyce C++ jsou k dispozici velké datové typy long long int a unsigned long long int, přičemž int lze vynechat. Rozsah těchto typů nesmí být menší než rozsah long int a unsigned long int. V prostředí Microsoft Visual Studio C++ jsou tyto typy 8bytové. Jejich rozsahy jsou tedy následující: Jazyk C++ 1 5
6 long long int /2 až 2 64 /2-1 unsigned long long int 0 až Další celočíselné typy jsou: s přesně určenou šířkou: o znaménkové: int8_t, int16_t, int32_t, int64_t o bezznaménkové: uint8_t, uint16_t, uint32_t, uint64_t s minimální šířkou alespoň N bitů: o znaménkové: int_least8_t, int_least16_t, int_least32_t, int_least64_t o bezznaménkové: uint_least8_t, uint_least16_t, uint_least32_t, uint_least64_t s minimální šířkou a nejrychlejším výpočtem: o znaménkové: int_fast8_t, int_fast16_t, int_fast32_t, int_fast64_t o bezznaménkové: uint_fast8_t, uint_fast16_t, uint_fast32_t, uint_fast64_t typy, do nichž lze uložit void* o znaménkové: intptr_t o bezznaménkové: uintptr_t s maximální šířkou o znaménkové: intmax_t o bezznaménkové: uintmax_t Hlavičkový soubor <stdint.h> obsahuje také definice maker, poskytující minimální a maximální hodnoty konkrétních typů: INTN_MIN, INTN_MAX, UINTN_MAX (např. INT16_MAX) INT_LEASTN_MIN, INT_LEASTN_MAX, UINT_LEASTN_MAX (např. INT_LEAST16_MAX) INT_FASTN_MIN, INT_FASTN_MAX, UINT_FASTN_MAX (např. INT_FAST16_MAX) INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX Ve vývojovém prostředí Microsoft Visual Studio C++ celočíselné znaménkové typy s přesně určenou šířkou, které lze používat ve spojení s modifikátorem unsigned: int8, int16, int32, int64 Jazyk C++ 1 6
7 Celočíselný konstantní výraz Jedná se o výraz, který dokáže překladač vyhodnotit už v době překladu. Jako operand v takovém výrazu lze použít: literál (Představuje pevně danou hodnotu, vyjádřenou explicitně, bez použití jiných prvků jazyka. Mezi literály tedy nepatří proměnné programu ani konstanty, naopak k inicializaci jejich hodnot se zpravidla literály používají.), makro, konstanta deklarovaná pomocí const inicializovaná konstantním výrazem, výčtová konstanta, operátor sizeof. Pole Oproti programovacímu jazyku C, kde lze pro zadání mezí polí využít pouze makro (manifestační konstantu) nebo literál, lze v jazyce C++ použít libovolný celočíselný konstantní výraz. Příklad const int mez = 10; enum { e = 20 }; #define d = 30; int w[mez], x[e], y[mez+e], z[d+e]; // toto nelze použít v jazyce C double v[d]; // OK v C i C++ Ukazatele V programovacím jazyce C++ nelze přiřadit ukazateli s doménovým typem ukazatel bez doménového typu (void*), např.: void* p; int a, *b; p = &a; // Lze použít v C i C++ b = p; // Chyba v C++ (nutno přetypovat), v C lze použít b = (int*)p; Ukazatel nikam V programovacím jazyce C se pro ukazatel na žádnou platnou adresu používá makro NULL. V programovacím jazyce C++ jej lze sice použít také, ale vzhledem k přísnější typové kontrole mohou nastat situace, kdy se jedná o chybu. Doporučuje se proto v jazyce C++ používat pro ukazatele nikam hodnotu nula (0). Jazyk C++ 1 7
8 Ve vývojovém prostředí Microsoft Visual Studio C++ je dokonce výraz NULL chápan jako synonymum pro 0. Ukazatele lze použít i v místech, kde je očekávána logická hodnota. Dochází k automatické konverzi: 0 => false, jiná hodnota => true. Standardní vstupy a výstupy Výchozím standardním výstupem (stdout) je obrazovka a lze k ní přistupovat zápisem: cout << výraz1 << výraz2 ; Výchozím standardním vstupem (stdin) je klávesnice a lze z ní načítat prostřednictvím zápisu: cin >> proměnná1 >> proměnná2 ; Před použitím cin a cout je potřeba zahrnout do zdrojového souboru hlavičkový soubor <iostream> a zahrnout jmenný prostor std: Příklad: using namespace std; int a, b; cin >> a >> b; cout << Obvod obdélníku je: << 2*(a+b); Reference Reference představuje proměnnou odkazující na jinou proměnnou a deklaruje se pomocí znaku & (ampersand). V programovacím jazyce C nemají reference obdobu. Referenci je nutné v deklaraci inicializovat nějakou l-hodnotou 1 stejného typu jako je deklarovaná reference. Proměnná, na kterou reference odkazuje, se pak nazývá odkazovaná proměnná. Cokoli se pak provede s referencí, bude mít stejný dopad, jako by se to provedlo s odkazovanou proměnnou. Např.: int i; int& refi = i; 1 l-hodnota je výraz označující místo v paměti, kam lze zapisovat. Tedy například proměnná, naopak za l-hodnotu nelze považovat konstantu. Zjednodušeně řečeno lze za l-hodnotu považovat cokoli, co může být na levé straně přiřazení. Jazyk C++ 1 8
9 Provedeme-li nyní přiřazení: refi = 100; Je to naprosto totéž, jako bychom provedli: i = 100; Vezmeme-li v úvahu, že ukazatel ui je ukazatel na int, jsou pak následující dva příkazy naprosto ekvivalentní: ui = &ri; ui = &i; V jazyce C++ nelze deklarovat ukazatel na referenci, pole referencí, referenci na referenci ani proměnnou typu void&. Příklad: int* ui = &i; int*& refui = ui; // OK reference na ukazatel int&* urefi; // chyba ukazatel na reference *ui = 100; *refui = 100; // dělá totéž co *ui = 100; void f(); void (&reff)() = f; // reference na fci void f(); reff(); // volání fce f(); Funkce může vracet referenci. Nejčastěji se reference používají k předávání funkcí odkazem. Konstantní reference Konstantní reference neboli reference na konstantu vznikne, použije-li se v deklaraci reference modifikátor const. Konstantní referenci nelze po inicializaci přiřadit jinou hodnotu. Příklad: int i; const int& refi = i; refi = j; // Chyba, po inicializaci nelze přiřadit jinou hodnotu Inicializátorem konstantní reference může být libovolný výraz. Pouze, pokud se nejedná o l-hodnotu, vytvoří překladač pomocnou proměnnou, do které uloží výsledek tohoto výrazu a reference potom ukazuje právě na tuto pomocnou proměnnou. Příklad: Jazyk C++ 1 9
10 int x = 100; const int& y = 2*x; // y odkazuje na pomocnou proměnnou s hodnotou 200 Implicitní int Pravidlo implicitního integeru, jakožto defaultního typu pro proměnnou či návratovou hodnotu funkce v případě, že v deklaraci není typ uveden, které je známé z programovacího jazyka C, není v normě jazyka C++ povoleno. Funkce V programovacím jazyce C lze provést deklaraci: int f(void); pro funkci bez parametrů a deklaraci: int f(); pro funkci s neznámým počtem a typem parametrů. V jazyce C++ znamenají oba dva výše uvedené zápisy funkci bez parametrů. Zatímco v programovacím jazyce C může volání funkce předcházet její deklaraci, v jazyce C++ tomu tak není. Před voláním funkce v programovacím jazyce C++ musí být uveden alespoň její prototyp (= informativní deklarace funkce). Parametry funkce Stejně jako v jazyce C lze i v jazyce C++ předávat parametry funkce hodnotou: int f(double a); void swap(int* a, int* b); V jazyce C++ lze navíc předávat parametry také odkazem. Parametry, jež jsou předávány odkazem, pak mají formální parametr typu reference. Pokud je formální parametr typu T&, skutečným parametrem musí být l- hodnota typu T. Jestliže je formálním parametrem konstantní reference (const T&), skutečným parametrem pak může být libovolný výraz, který se dá použít k inicializaci proměnné typu T. Nejedná-li se o l-hodnotu typu T, vytvoří překladač pomocnou proměnnou, do níž uloží výsledek výrazu a formální parametr potom bude ukazovat na tuto pomocnou proměnnou. Jazyk C
11 Shrnutí studijního bloku Tento studijní blok seznámil studenta s historickými souvislostmi, aktuálními normami jazyka C++ a s neobjektovými rozdíly mezi programovacími jazyky C a C++. Zejména pak se základními datovými typy, základními příkazy, ukazateli, referencemi a standardními vstupy a výstupy C++ programů. Otázky k procvičení pasáže 1. Jaký je hlavní rozdíl (výhoda) jazyka C++ oproti jazyku C? 2. Vysvětlete pojem deklarace. 3. Vysvětlete pojem definice. 4. Co je standardním vstupem C++ programu? 5. Co je standardním výstupem C++ programu? 6. Jakým způsobem lze přeskočit definici s inicializací v případě skoků goto a switch? Odkazy na další studijní materiály (oficiální stránky Microsoftu pro vývoj v programovacím jazyce C++ v prostředí Micsrosoft Visual Studio) htm?csnumber=50372 (ISO norma C ) Použité zdroje a literatura [1] PRATA, Stephen. Mistrovství v C aktualiz. vyd. Překlad Boris Sokol. Brno: Computer Press, 2007, 1119 s. ISBN [2] Přednášky Ing. Karla Greinera, Ph.D. na předmět Jazyk C++ vyučovaný na Dopravní fakultě Jana Pernera, Univerzity Pardubice. Jazyk C
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ý
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
24-2-2 PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE DATUM VYTVOŘENÍ: 23.7.2013 KLÍČOVÁ AKTIVITA: 02 PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) HODINOVÁ DOTACE: 1
24-2-2 PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE AUTOR DOKUMENTU: MGR. MARTINA SUKOVÁ DATUM VYTVOŘENÍ: 23.7.2013 KLÍČOVÁ AKTIVITA: 02 UČIVO: STUDIJNÍ OBOR: PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) INFORMAČNÍ TECHNOLOGIE
Datové typy strana 29
Datové typy strana 29 3. Datové typy Jak již bylo uvedeno, Java je přísně typový jazyk, proto je vždy nutno uvést datový typ datového atributu, formálního parametru metody, návratové hodnoty metody nebo
Prezentace a vysvětlení programového prostředí NXC
Úvod Další jazyk, který je možno použít pro programování NXT kostky je NXC Not exatly C Na rozdíl od jazyku NXT-G, kde jsme vytvářeli program pomocí grafických prvků přesněji řečeno pomocí programovacích
Proměnné a datové typy
Proměnné a datové typy KAPITOLA 2 V této kapitole: Primitivní datové typy Proměnné Opakování Mezi základní dovednosti každého programátora bezesporu patří dobrá znalost datových typů. Ta vám umožní efektivní
Jazyk C++ II. Šablony a implementace
Jazyk C++ II Šablony a implementace AR 2013/2014 Jazyk C++ II Úvod Dědičnost a kompozice nejsou vždy tou správnou odpovědí na požadavky znovupoužitelnosti kódu. Proto máme možnost definování určité třídy
Ahoj mami. Uložení dat v počítači. Příklady kódování dat. IAJCE Přednáška č. 4
Uložení dat v počítači Data = užitečné, zpracovávané informace Kódování (formát) dat = způsob uložení v počítači (nutno vše převést na čísla ve dvojkové soustavě) Příklady kódování dat Text každému znaku
Kód. Proměnné. #include <iostream> using namespace std; int main(void) { cout << "Hello world!" << endl; cin.get(); return 0; }
Jazyk C++ Jazyk C++ je nástupcem jazyka C. C++ obsahuje skoro celý jazyk C, ale navíc přidává vysokoúrovňové vlastnosti vyšších jazyků. Z toho plyne, že (skoro) každý platný program v C je také platným
Seminář Java II p.1/43
Seminář Java II Seminář Java II p.1/43 Rekapitulace Java je case sensitive Zdrojový kód (soubor.java) obsahuje jednu veřejnou třídu Třídy jsou organizovány do balíků Hierarchie balíků odpovídá hierarchii
7 Formátovaný výstup, třídy, objekty, pole, chyby v programech
7 Formátovaný výstup, třídy, objekty, pole, chyby v programech Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost formátovanému výstupu,
IUJCE 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
14.4.2010. Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod.
Základy programování (IZAPR) Přednáška 7 Ing. Michael Bažant, Ph.D. Katedra softwarových technologií Kancelář č. 229, Náměstí Čs. legií Michael.Bazant@upce.cz Obsah přednášky 7 Parametry metod, předávání
7. Datové typy v Javě
7. Datové typy v Javě Primitivní vs. objektové typy Kategorie primitivních typů: integrální, boolean, čísla s pohyblivou řádovou čárkou Pole: deklarace, vytvoření, naplnění, přístup k prvkům, rozsah indexů
Seznámení s datovými typy a operátory
Knihovny tříd Javy KAPITOLA 2 Seznámení s datovými typy a operátory Klíčové dovednosti a pojmy Seznámení s primitivními typy jazyka Java. Používání literálů. Inicializace proměnných. Seznámení s pravidly
IAJCE Přednáška č. 8. double tprumer = (t1 + t2 + t3 + t4 + t5 + t6 + t7) / 7; Console.Write("\nPrumerna teplota je {0}", tprumer);
Pole (array) Motivace Častá úloha práce s větším množstvím dat stejného typu o Př.: průměrná teplota za týden a odchylka od průměru v jednotlivých dnech Console.Write("Zadej T pro.den: "); double t = Double.Parse(Console.ReadLine());
Z. Kotala, P. Toman: Java ( Obsah )
Z. Kotala, P. Toman: Java ( Obsah ) 13. Výjimky Výjimka (exception) je definována jako událost, která nastane během provádění programu a která naruší normální běh instrukcí. Výjimka je vyvolána například
Úvod Třídy Rozhraní Pole Konec. Programování v C# Hodnotové datové typy, řídící struktury. Petr Vaněček 1 / 39
Programování v C# Hodnotové datové typy, řídící struktury Petr Vaněček 1 / 39 Obsah přednášky Referenční datové typy datové položky metody přístupové metody accessory, indexery Rozhraní Pole 2 / 39 Třídy
III/2 Inovace a zkvalitnění výuky prostřednictvím ICT
Číslo a název šablony Číslo didaktického materiálu Druh didaktického materiálu Autor Jazyk Téma sady didaktických materiálů Téma didaktického materiálu Vyučovací předmět Cílová skupina (ročník) Úroveň
1. Programování proti rozhraní
1. Programování proti rozhraní Cíl látky Cílem tohoto bloku je seznámení se s jednou z nejdůležitější programátorskou technikou v objektově orientovaném programování. Tou technikou je využívaní rozhraní
Vstup a výstup datové proudy v C
Vstup a výstup datové proudy v C Petr Šaloun katedra informatiky FEI VŠB-TU Ostrava 24. října 2011 Petr Šaloun (katedra informatiky FEI VŠB-TU Ostrava) Vstup a výstup 24. října 2011 1 / 37 Přehled, rozdělení
- dělají se také pomocí #define - podobné (použitím) funkcím - předpřipravená jsou např. v ctype.h. - jak na vlastní makro:
21.4.2009 Makra - dělají se také pomocí #define - podobné (použitím) funkcím - předpřipravená jsou např. v ctype.h - jak na vlastní makro: #define je_velke(c) ((c) >= 'A' && (c)
Pokročilé programování v jazyce C pro chemiky (C3220) Vstup a výstup v C++
Pokročilé programování v jazyce C pro chemiky (C3220) Vstup a výstup v C++ Proudy pro standardní vstup a výstup V jazyce C++ provádíme textový vstup a výstup prostřednictvím tzv. datových proudů Datové
Pokročilé programování v jazyce C pro chemiky (C3220) Statické proměnné a metody, šablony v C++
Pokročilé programování v jazyce C pro chemiky (C3220) Statické proměnné a metody, šablony v C++ Globální konstantní proměnné Konstantní proměnné specifikujeme s klíčovým slovem const, tyto konstantní proměné
VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Čí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
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
Aplikovaná informatika. Podklady předmětu Aplikovaná informatika pro akademický rok 2006/2007 Radim Farana. Obsah. Obsah předmětu
1 Podklady předmětu pro akademický rok 2006/2007 Radim Farana Obsah 2 Obsah předmětu, Požadavky kreditového systému, Datové typy jednoduché, složené, Programové struktury, Předávání dat. Obsah předmětu
Výčtový typ strana 67
Výčtový typ strana 67 8. Výčtový typ V této kapitole si ukážeme, jak implementovat v Javě statické seznamy konstant (hodnot). Příkladem mohou být dny v týdnu, měsíce v roce, planety obíhající kolem slunce
VZORCE A VÝPOČTY. Autor: Mgr. Dana Kaprálová. Datum (období) tvorby: září, říjen 2013. Ročník: sedmý
Autor: Mgr. Dana Kaprálová VZORCE A VÝPOČTY Datum (období) tvorby: září, říjen 2013 Ročník: sedmý Vzdělávací oblast: Informatika a výpočetní technika 1 Anotace: Žáci se seznámí se základní obsluhou tabulkového
MQL4 COURSE. By Coders guru www.forex-tsd.com. -5 Smyčky & Rozhodnutí Part 1
MQL4 COURSE By Coders guru www.forex-tsd.com -5 Smyčky & Rozhodnutí Part 1 Vítejte v páté lekci mého kurzu MQL4. Předchozí lekci si můžete stáhnout z tohoto odkazu: http://forex-tsd.com /attachment.php?attachmentid=399
PHP tutoriál (základy PHP snadno a rychle)
PHP tutoriál (základy PHP snadno a rychle) Druhá, vylepšená offline verze. Připravil Štěpán Mátl, http://khamos.wz.cz Chceš se naučit základy PHP? V tom případě si prostuduj tento rychlý průvodce. Nejdříve
Znaky. IAJCE Přednáška č. 10. každému znaku je nutné přiřadit nějaké číslo (nezáporné přímé mapování znak <->
Znaky každému znaku je nutné přiřadit nějaké číslo (nezáporné přímé mapování znak číslo) kódování jiný příklad kódování existuje mnoho kódů pojmy: morseova abeceda problémy o znaková sada které znaky
4.4.2012. Obsah přednášky. Příkaz for neúplný. Příkaz for příklady. Cyklus for each (enhanced for loop) Příkaz for příklady
Základy programování (IZAPR, IZKPR) Přednáška 5 Ing. Michael Bažant, Ph.D. Katedra softwarových technologií Kancelář č. 03 022, Náměstí Čs. legií Michael.Bazant@upce.cz Obsah přednášky Příkazy cyklu -
III/2 Inovace a zkvalitnění výuky prostřednictvím ICT
Číslo a název šablony Číslo didaktického materiálu Druh didaktického materiálu Autor Jazyk Téma sady didaktických materiálů Téma didaktického materiálu Vyučovací předmět Cílová skupina (ročník) Úroveň
JAZYK C# ÚVOD. Literatura. Jazyk C# .NET Framework
JAZYK C# ÚVOD Literatura 1. VIRIUS, M. Od C++ k C#. České Budějovice: KOPP, 2002. 235 s. Cena 199 Kč. ISBN 80-7232-176-5. 2. NAGEL CH. et al. C# 2005. Programujeme profesionálně. Brno: Computer Press,
1. Téma 03 - Rozhodování
1. Téma 03 - Rozhodování Cíl látky Seznámit se a prakticky si vyzkoušet zápis rozhodování v jazyce Java 1.1. Úvod Jednou z nejčastěji používanou konstrukcí při programování je rozhodování. Právě této problematice
Vstupní požadavky, doporučení a metodické pokyny
Název modulu: Základy PHP Označení: C9 Stručná charakteristika modulu Modul je orientován na tvorbu dynamických stánek aktualizovaných podle kontextu volání. Jazyk PHP umožňuje velmi jednoduchým způsobem
Profilová část maturitní zkoušky 2013/2014
Střední průmyslová škola, Přerov, Havlíčkova 2 751 52 Přerov Profilová část maturitní zkoušky 2013/2014 TEMATICKÉ OKRUHY A HODNOTÍCÍ KRITÉRIA Studijní obor: 78-42-M/01 Technické lyceum Předmět: TECHNIKA
VY_32_INOVACE_08_2_04_PR
Ing. Petr Stránský VY_32_INOVACE_08_2_04_PR Příkazy vstupu - definice Výstupním zařízením může být obrazovka, tiskárna nebo soubor. Jednotlivé údaje se zapisují pomocí příkazu WRITE nebo WRITELN. Příkaz
III/2 Inovace a zkvalitnění výuky prostřednictvím ICT
Číslo a název šablony Číslo didaktického materiálu Druh didaktického materiálu Autor Jazyk Téma sady didaktických materiálů Téma didaktického materiálu Vyučovací předmět Cílová skupina (ročník) Úroveň
2 Datové typy v jazyce C
1 Procedurální programování a strukturované programování Charakteristické pro procedurální programování je organizace programu, který řeší daný problém, do bloků (procedur, funkcí, subrutin). Původně jednolitý,
DSL manuál. Ing. Jan Hranáč. 27. října 2010. V této kapitole je stručný průvodce k tvorbě v systému DrdSim a (v
DSL manuál Ing. Jan Hranáč 27. října 2010 V této kapitole je stručný průvodce k tvorbě v systému DrdSim a (v současné době krátký) seznam vestavěných funkcí systému. 1 Vytvoření nového dobrodružství Nejprve
Programování v jazyce C pro chemiky (C2160) 5. Čtení dat ze souboru
Programování v jazyce C pro chemiky (C2160) 5. Čtení dat ze souboru Čtení dat ze souboru FILE *f = NULL; char str[10] = ""; float a = 0.0, b = 0.0; Soubor otevíráme v režimu pro čtení "r" f = fopen("/home/martinp/testdata/test1.txt",
Syntaxe vyjímek. #include <iostream> #include <string> using namespace std; // Trida vyjimek class Vyjimka { private:
Vyjímky. Pod pojmem výjimka se rozumí nějaká výjimečná situace, která nastane v dané funkci. V jazyce C i C++ se často používá návratových hodnot funkcí, které vracejí úspěšnost provádění nějaké operace
Základy programování v jazyce C++ Doprovodný text 1. část
Základy programování v jazyce C++ Zpracoval Mgr. Michal Tarabec (SŠ-COPTH) pro kroužek programování Doprovodný text 1. část 1. díl... 2 2. díl... 5 3. díl... 11 4.díl... 16 5. díl... 23 6. díl... 27 7.
Programování v C++ Ostrava, 2008 Rostislav Fojtík
Programování v C++ Ostrava, 2008 Rostislav Fojtík Obsah: Úvodní lekce... 5 1. Základy OOP v C++... 7 2. Nové prvky jazyka C++... 17 3. Třídy a instance... 29 4. Statické datové členy a funkce. Přátelé....
III/2 Inovace a zkvalitnění výuky prostřednictvím ICT
Číslo a název šablony Číslo didaktického materiálu Druh didaktického materiálu Autor Jazyk Téma sady didaktických materiálů Téma didaktického materiálu Vyučovací předmět Cílová skupina (ročník) Úroveň
WSH Windows Script Hosting. OSY 2 Přednáška číslo 2 opravená verze z 15.10.2007
WSH Windows Script Hosting OSY 2 Přednáška číslo 2 opravená verze z 15.10.2007 Co je skript? Skriptování nástroj pro správu systému a automatizaci úloh Umožňuje psát skripty jednoduché interpretované programové
Iterátory v C++. int pole[20]; for (int *temp = pole, temp!= &pole[20]; temp++) { *temp = 0;
Iterátory v C++. Iterátor v C++ je vlastně taková obdoba ukazatelů pro kontejnery. Dříve, než se dostaneme k bližšímu vysvětlení pojmu iterátor, ukážeme si jednoduchý příklad, jak pracovat s obyčejným
Object Pascal je přísně typový procedurální jazyk, který umožňuje jak strukturované, tak objektově orientované programování.
Delphi lekce 6 Minimum z Object Pascalu Vrátíme se ještě k základům Object Pascalu. Struktura programu Object Pascal je přísně typový procedurální jazyk, který umožňuje jak strukturované, tak objektově
Lekce 19 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
Programování jako nástroj porozumění matematice (seriál pro web modernivyuka.cz)
Programování jako nástroj porozumění matematice (seriál pro web modernivyuka.cz) Autor: Radek Vystavěl Díl 8: Analytická geometrie Polární souřadnice, kružnice, elipsa, spirála MATEMATIKA Pro úlohy aplikované
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:
Plán předmětu Název předmětu: Algoritmizace a programování (PAAPK) Školní rok: 2007/2008 Forma studia: Kombinovaná Studijní obory: DP, DI, PSDPI, OŽPD Ročník: I Semestr: II. (letní) Typ předmětu: povinný
III/2 Inovace a zkvalitnění výuky prostřednictvím ICT
Číslo a název šablony Číslo didaktického materiálu Druh didaktického materiálu Autor Jazyk Téma sady didaktických materiálů Téma didaktického materiálu Vyučovací předmět Cílová skupina (ročník) Úroveň
6. blok část B Vnořené dotazy
6. blok část B Vnořené dotazy Studijní cíl Tento blok je věnován práci s vnořenými dotazy. Popisuje rozdíl mezi korelovanými a nekorelovanými vnořenými dotazy a zobrazuje jejich použití. Doba nutná k nastudování
2 Ukládání dat do paměti počítače
Projekt OP VK Inovace studijních oborů zajišťovaných katedrami PřF UHK Registrační číslo: CZ..7/../8.8 Cíl Studenti budou umět zapisovat čísla ve dvojkové, osmičkové, desítkové a v šestnáctkové soustavě
MQL4 COURSE. V tomto dodatku je obsažen popis 25 obchodních funkcí jazyka MQL4. Rozhodl jsem se napsat
MQL4 COURSE By Coders guru www.forex-tsd.com (Appendix 2) Trading Functions -------------------- V tomto dodatku je obsažen popis 25 obchodních funkcí jazyka MQL4. Rozhodl jsem se napsat tento dodatek
Rozšíření ksh vůči sh při práci s proměnnými
Rozšíření ksh vůči sh při práci s proměnnými (X36UNX, Jan Skalický, 2006) Pole homogenní lineární struktura implicitn ě s číselným rozsahem index ů 0...1023 (někde 4095) implicitn ě řetězcov ě orientovaná
2 Strukturované datové typy 2 2.1 Pole... 2 2.2 Záznam... 3 2.3 Množina... 4
Obsah Obsah 1 Jednoduché datové typy 1 2 Strukturované datové typy 2 2.1 Pole.................................. 2 2.2 Záznam................................ 3 2.3 Množina................................
PB161 Programování v C++ Proudy pro standardní zařízení Souborové proudy Paměťové proudy Manipulátory
PB161 Programování v C++ Proudy pro standardní zařízení Souborové proudy Paměťové proudy Manipulátory Výhody objektového řešení Nástroje pro IO operace jsou v C++ součástí knihoven Hierarchie objektových
Příklad : String txt1 = new String( Ahoj vsichni! ); //vytvoří instanci třídy String a přiřadí ji vnitřní hodnotu Ahoj vsichni!
Java práce s řetězci Trochu povídání.. Řetězce jsou v Javě reprezentovány instancemi tříd StringBuffer a String. Tyto třídy jsou součástí balíčku java.lang, tudíž je možno s nimi pracovat ihned bez nutného
10 Balíčky, grafické znázornění tříd, základy zapozdření
10 Balíčky, grafické znázornění tříd, základy zapozdření Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost příkazům balíčkům, grafickému
Struktura programu a základní prvky
První začátky s C Struktura programu a základní prvky Jazyk C/C++, co se týče struktury souboru, je daleko volnější oproti jiným programovacím jazykům. V podstatě je jedno, kde deklarujete proměnnou nebo
První začátky s C. Struktura programu a základní prvky. Základní termíny (1) Základní termíny (2)
Struktura programu a základní prvky První začátky s C Jazyk C/C++, co se týče struktury souboru, je daleko volnější oproti jiným programovacím jazykům. V podstatě je jedno, kde deklarujete proměnnou nebo
MQL4 COURSE. By Coders guru www.forex-tsd.com. -4 Operace & Výrazy
MQL4 COURSE By Coders guru www.forex-tsd.com -4 Operace & Výrazy Vítejte ve čtvrté lekci mého kurzu MQL4. Předchozí lekce Datové Typy prezentovaly mnoho nových konceptů ; Doufám, že jste všemu porozuměli,
Projekt Obrázek strana 135
Projekt Obrázek strana 135 14. Projekt Obrázek 14.1. Základní popis, zadání úkolu Pracujeme na projektu Obrázek, který je ke stažení na http://java.vse.cz/. Po otevření v BlueJ vytvoříme instanci třídy
map, multimap - Asociativní pole v C++.
map, multimap - Asociativní pole v C++. Jedná se o asociativní pole. V asociativním poli jsou uloženy hodnoty ve tvaru (klíč,hodnota), kde klíč je vlastně "index" prvku. Klíčem může být libovolný objekt,
Program a životní cyklus programu
Program a životní cyklus programu Program algoritmus zapsaný formálně, srozumitelně pro počítač program se skládá z elementárních kroků Elementární kroky mohou být: instrukce operačního kódu počítače příkazy
Distanční opora předmětu: Programování v jazyce C Tématický blok č. 2: Proměnná, výraz, příkaz, podmínka, cyklus Autor: RNDr. Jan Lánský, Ph.D.
Distanční opora předmětu: Programování v jazyce C Tématický blok č. 2: Proměnná, výraz, příkaz, podmínka, cyklus Autor: RNDr. Jan Lánský, Ph.D. Obsah kapitoly 1 Proměnné 1.1 Deklarace a inicializace proměnných
Datové struktury a datové typy.
Datové struktury a datové typy. Základní datové typy. Odvozené datové typy. Základní datové struktury. Odvozené datové struktury. Tomáš Bayer bayertom@natur.cuni.cz Katedra aplikované geoinformatiky a
Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost
Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost Projekt je realizován v rámci Operačního programu Vzdělávání pro konkurence
Čísla a číselné soustavy.
Čísla a číselné soustavy. Polyadické soustavy. Převody mezi soustavami. Reprezentace čísel. Tomáš Bayer bayertom@natur.cuni.cz Katedra aplikované geoinformatiky a kartografie, Přírodovědecká fakulta UK.
DATABÁZE MS ACCESS 2010
DATABÁZE MS ACCESS 2010 KAPITOLA 5 PRAKTICKÁ ČÁST TABULKY POPIS PROSTŘEDÍ Spuštění MS Access nadefinovat název databáze a cestu k uložení databáze POPIS PROSTŘEDÍ Nahoře záložky: Soubor (k uložení souboru,
- znakové konstanty v apostrofech, např. a, +, (znak mezera) - proměnná zabírá 1 byte, obsahuje kód příslušného znaku
Znaky - standardní typ char var Z, W: char; - znakové konstanty v apostrofech, např. a, +, (znak mezera) - proměnná zabírá 1 byte, obsahuje kód příslušného znaku - v TP (často i jinde) se používá kódová
PHP. nejen pro začátečníky. $c; echo { Martin Pokorný. Vzdìlávání, které baví www.c-media.cz. Nakladatelství a vydavatelství.
}else{ { if($b >$ c){ echo $max=$b; // vypí }else{ echo $max=$c; // vypí?> cas se }e B : se{ echo B ; default: ($b>$c){ echo C ; } $max=$b; }else{ $max=$c; PHP nejen pro začátečníky k;?> $c; echo { Martin
Platforma.NET 4. hodina dnes to bude ideologické
Platforma.NET 4. hodina dnes to bude ideologické Aleš Keprt Ales.Keprt@upol.cz říjen 2006 Doporučená literatura 1. Duffy J. Professional.NET Framework 2.0. Wrox Press, 2006. 2. Wikipedia.NET Framework
Virtuální metody - polymorfizmus
- polymorfizmus - potomka lze použít v místě, kde je možné použít předka - v dosud probraných situacích byly vždy volány funkce, které jsou známy již v době překladu. V situaci, kdy v době překladu není
PHP. 1. Úvod do PHP. 2. Základy PHP
PHP 1. Úvod do PHP Tato přednáška obsahuje úvod do skritpového jazyka PHP. Ten je podobný ostatním jazykům vyšší úrovně, jako je například jazyk C, Pascal, Fortran nebo Java, takže programátoři se zkušeností
17. Projekt Trojúhelníky
Projekt Trojúhelníky strana 165 17. Projekt Trojúhelníky 17.1. Základní popis, zadání úkolu Pracujeme na projektu Trojúhelníky, který je ke stažení na java.vse.cz. Aplikace je napsána s textovým uživatelským
Ošetřování chyb v programech
Ošetřování chyb v programech Úvod chyba v programu = normální záležitost typy chyb: 1) programátorská chyba při návrhu každých 10 000 řádek 1 chyba lze jen omezeně ošetřit (před pádem aplikace nabídnout
Vzdělávací oblast: Informatika a informační a komunikační technologie Vzdělávací obor: Programování. Předmět: Programování
Vzdělávací oblast: Informatika a informační a komunikační technologie Vzdělávací obor: Programování Vzdělávací oblast Informatika a informační a komunikační technologie pro vzdělávací obor Programování
Pokročilé programování v jazyce C pro chemiky (C3220) Dědičnost tříd v C++
Pokročilé programování v jazyce C pro chemiky (C3220) Dědičnost tříd v C++ Dědičnost tříd Dědičnost umožňuje vytvářet nové třídy z tříd existujících tak, že odvozené třídy (tzv. potomci) dědí vlastnosti
Roman Lukáš email: lukas@fit.vutbr.cz
ZADÁNÍ PROJEKTU Z PŘEDMĚTŮ IFJ A IAL Roman Lukáš email: lukas@fit.vutbr.cz 22. září 2008 1 Obecné informace Název projektu: Implementace interpretu imperativního jazyka IFJ08. Informace: diskusní skupina
Windows je registrovaná obchodní známka firmy Microsoft v USA a v ostatních zemích.
Sun, Sun Microsystems, Java a všechny obchodní známky a loga obsahující Sun nebo Java jsou ochrannými známkami nebo registrovanými ochrannými známkami firmy Sun Microsystems, Inc. v USA a v ostatních zemích.
Data v počítači. Informační data. Logické hodnoty. Znakové hodnoty
Data v počítači Informační data (elementární datové typy) Logické hodnoty Znaky Čísla v pevné řádové čárce (celá čísla) v pohyblivé (plovoucí) řád. čárce (reálná čísla) Povelová data (instrukce programu)
ExcelVBAmodul. Podpora pro výměnu dat automatů MICROPEL s aplikací Microsoft Excel
ExcelVBAmodul Podpora pro výměnu dat automatů MICROPEL s aplikací Microsoft Excel ExcelVBAmodul Podpora pro výměnu dat automatů MICROPEL s aplikací Microsoft Excel 3. verze dokumentu 05/2013 MICROPEL s.r.o.
Úvod do programování. Lekce 5
I N V E S T I C E D O R O Z V O J E V Z D Ě L Á V Á N Í Inovace a zvýšení atraktivity studia optiky reg. č.: CZ.1.07/2.2.00/07.0289 Úvod do programování Lekce 5 Tento projekt je spolufinancován Evropským
Standardní vstup a výstup
Standardní vstup a výstup Trochu teorie S pojmy standardní vstup/výstup (I/O, input/output) jste se již pravděpodobně setkali, pokud ale ne, zde je krátké vysvětlení. Standardní vstup a výstup jsou vlastně
Inovace bakalářského studijního oboru Aplikovaná chemie http://aplchem.upol.cz
Inovace bakalářského studijního oboru Aplikovaná chemie http://aplchem.upol.cz CZ.1.07/2.2.00/15.0247 Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky. Tvorba
Skriptovací jazyky. Obsah
Skriptovací jazyky doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Obsah Co je to skriptovací jazyk? Výhody a nevýhody
Programy na PODMÍNĚNÝ příkaz IF a CASE
Vstupy a výstupy budou vždy upraveny tak, aby bylo zřejmé, co zadáváme a co se zobrazuje. Není-li určeno, zadáváme přirozená čísla. Je-li to možné, používej generátor náhodných čísel vysvětli, co a jak
Programovací jazyk PASCAL Turbo
Obsah 1 Programovací jazyk PASCAL Turbo 5 11 Základní prostředky pro zápis programu 5 111 Lexikální symboly jazyka 6 12 Struktura programu 7 13 Část definicí a deklarací 8 131 Deklarace návěští 8 132 Definice
3. Je defenzivní programování technikou skrývání implementace? Vyberte jednu z nabízených možností: Pravda Nepravda
1. Lze vždy z tzv. instanční třídy vytvořit objekt? 2. Co je nejčastější příčinou vzniku chyb? A. Specifikace B. Testování C. Návrh D. Analýza E. Kódování 3. Je defenzivní programování technikou skrývání
9. Systém DNS. Počítačové sítě I. 1 (6) KST/IPS1. Studijní cíl. Představíme si problematiku struktury a tvorby doménových jmen.
9. Systém DNS Studijní cíl Představíme si problematiku struktury a tvorby doménových jmen. Doba nutná k nastudování 1,5 hodiny Uvedená kapitola vychází ze zdroje [1]. Celý Internet je z hlediska pojmenovávání
KAPITOLA 2. Hádání slov ( šibenice ) Jakou hru budete tvořit
KAPITOLA 2 Hádání slov ( šibenice ) Jakou hru budete tvořit Obsahem této kapitoly je vytvoření hry, ve které se hráč snaží uhodnout slovo pomocí hádání jednotlivých písmen během omezeného počtu pokusů.
Sekvenční a podmíněné provádění
Programování v Bourne shellu Sekvenční a podmíněné provádění Sekvenční provádění znamená vykonávání jednoho příkazu za druhým bez ohledu na okolnosti. Pro oddělení příkazů při sekvenčním provádění se používá
Jednoduché výrazy 30 Operace přiřazení... 30 Základní aritmetické operace... 33 Relační operátory... 38 Vstup dat... 42
Obsah Předmluva 9 Předpoklady 9 Terminologie 9 Typografické konvence 10 Úvod do práce s daty 11 Konstanty a proměnné 13 Literály a výstupní operace... 13 Literály a výstupní operace v Pascalu... 14 Literály
Programování v jazyku C/C++
Programování v jazyku C/C++ Programovací jazyk, zdrojový kód a překladač Prvním důležitým pojmem je zdrojový kód programu. Zdrojový kód programu není nic jiného, než hromada textových souborů, v nichž
Desatero, aneb nejčastější chyby v programování
Desatero, aneb nejčastější chyby v programování Aleš Keprt Univerzita Palackého listopad 2008, březen 2009 1. Nepoužívejte pole na místě veřejného rozhraní Používejte třídy obsahující pole uvnitř Pole
Používáme pole a kolekce
Kapitola Po přečtení této kapitoly budete schopni: Deklarovat, inicializovat a používat proměnné typu pole Deklarovat, inicializovat a používat proměnné různých typů kolekcí Nyní již víte, jak vytvářet