PB161 Programování v C++ Proudy pro standardní zařízení Souborové proudy Paměťové proudy Manipulátory
|
|
- Renáta Havlíčková
- před 8 lety
- Počet zobrazení:
Transkript
1 PB161 Programování v C++ Proudy pro standardní zařízení Souborové proudy Paměťové proudy Manipulátory
2 Výhody objektového řešení Nástroje pro IO operace jsou v C++ součástí knihoven Hierarchie objektových typů Bezpečnost Snadnost použití Rozšiřitelnost Přetížené operátory (zejména << a >>) Jednotné použití
3 Vstupy, výstupy std. zařízení ios_base istream ostream istream vstupní operace, např. >> ostream instance: cin výstupní operace, např. << iostream instance: cout, cerr, clog instance cin, cout, definovány v <iostream>
4 Příklad přetíženého operátoru << class moje_neco { private: int a, b; //...ostatni slozky,... public: friend ostream & operator<<(ostream &o, const moje_neco & neco); }; ostream & operator<<(ostream &o, const moje_neco & neco) { o<<neco.a<<" "<<neco.b<<endl; return o; }
5 std.cc Příklad přetíženého operátoru >> class moje_neco { private: int a, b; //...ostatni slozky,... public: friend istream & operator>>(istream &o, moje_neco & neco); }; istream & operator>>(istream &i, moje_neco & neco) { i>>neco.a>>neco.b; return i; }
6 Souborové proudy Hlavičkový soubor <fstream> Třídy: ifstream vstupní ofstream fstream výstupní vstupně výstupní Při otevírání proudu pomocí třídy fstream specifikujeme I/O/IO otevření proudu.
7 Souborové proudy ifstream vstup( nazev ); ofstream vystup( nazev ); fstream vv; vv.open( nazev, ios_base::in ); if(!vv) { chyba(); } vv.close(); vv.open(...);
8 Souborové proudy fstream::fstream(const char* jmeno, ios_base::openmode mode); Openmody: in out ate app otevře soubor pro čtení otevře soubor pro zápis otevře soubor na konci, lze se přesunout pomocí seekp() otevře soubor na konci, nelze změnit
9 Souborové proudy trunc binary existuje li soubor, smaže se soubor bude otevřen jako binární (např. nelze <<, >>) nocreate noreplace není li uvedeno, otevře se v textovém režimu neexistuje li soubor, nastane chyba (staré implementace, nepoužívat) existuje li soubor, nastane chyba (staré implementace, nepoužívat) Pozor na typ jména souboru (není string) const char *
10 Souborové proudy binární soubor istream& read( char* buffer, streamsize num ); přečte num bytů z proudu a uloží do bufferu ostream& write( const char* buffer, streamsize num ); zapíše do proudu num bytů z bufferu istream& get( char& ch ); načte znak a uloží do ch ostream& put( char ch ); vloží do výstupního souboru znak z ch
11 Souborové proudy binární soubor, posun Vstupní proudy pos_type tellg(); vrací současnou pozici v proudu ostream& seekg( off_type offset, ios::seekdir origin ); ostream& seekg( pos_type position ); Výstupní proudy nastaví aktuální pozici v proudu pos_type tellp(); vrací současnou pozici v proudu ostream& seekp( off_type offset, ios::seekdir origin ); ostream& seekp( pos_type position ); nastaví aktuální pozici v proudu
12 Souborové proudy zjištění velikosti souboru ios_base::seek_dir beg cur end posun vůči začátku posun vůči aktuální pozici posun vůči konci fin.seekg(0, ios_base::end); int velikost = fin.tellg();
13 Souborové proudy 1. úkol a) Napište program, který se bude chovat stejně jako standardní systémová funkce cp (copy v MSDOS). Použití: cpy zdroj cíl Program musí fungovat i pro binární soubory. b) Program nechť nepřepisuje existující soubory, ale zahlásí chybu. Nepoužívejte noreplace.
14 Vstupy, výstupy manipulátory Hlavičkový soubor <iomanip> Vkládají se mezi operátory vstupu a výstupu (dojde k volání funkce). cout<<" "<<setw(10)<<"ahoj"<<" "<<endl; vypíše ahoj Prototyp jednoduchého manipulátoru ostream& manipulator (ostream&); Většina manipulátorů má platnost až do změny nastaví stav proudu (neplatí pro setw)
15 Vstupy, výstupy manipulátory (2) boolalpha/noboolalpha true, false / 1,0 left/right zarovnání vlevo/zarovnání vpravo cout<<left<<setw(20)<<"ahoj"<<endl<<setw(20)\ <<145<<endl<<right<<setw(20)<<145<<endl; Ahoj
16 Vstupy, výstupy manipulátory (3) fixed scientific oct, hex reálná čísla s pevnou řádovou čárkou reálná čísla ve vědeckém tvaru výstupy budou v osmičkové, šestnáctkové soustavě setbase(n) endl určuje (0, 8, 10, 16) číselnou soustavu zapíše konec řádku ('\n')
17 Vstupy, výstupy manipulátory (4) setprecision(n) přesnost setfill(int n) flush výplňový znak např. u setw(), je li vstup kratší vyprázdní buffer skipws/noskipws přeskakuj/nepřeskakuj bílé znaky
18 Vstupy, výstupy manipulátory (5) skipws/noskipws char c; while (cin >> c) cout <<c; char c; cin>>noskipws; while (cin >> c) cout <<c; ahoj jak se mas ahojjaksemas ahoj jak se mas ahoj jak se mas
19 Vstupy, výstupy <string> istream& getline( istream& is, string& s,\ char delimiter = '\n' ); Přečte celý řádek z proudu is a uloží do parametru s. Pracuje s řetězci dle C++ Není nutné uvádět maximální délku řetězce. string s; getline(cin, s); cout << "napsano: " << s << endl;
20 Vstupy, výstupy <fstream> istream& getline( char* buffer,\ streamsize num, char delim ); Přečte nejvýše num 1 znaků a uloží je do buffer = řetězec dle C. Oddělovač není nutno specifikovat (přetíženo). char radek[100]; while(fin.getline(radek, 100)) cout << "precteno: " << radek << endl;
21 Paměťové proudy Hlavičkový soubor <sstream> istringstream vstupní paměťový proud ostringstream výstupní paměťový proud stringstream vstupně výstupná paměťový proud Vhodné pro konverze, buffery, formátování v paměti atd.
22 Paměťové proudy Iniciace konstruktorem (např.) ostringstream pproud( blabla"); Metora str(); vrátí obsah proudu string str(); Nastaví obsah void str( string s ); C++ analogie C sprintf() scanf()
23 Stav proudu Vyjadřuje příznak typu iostate Definovány v ios_base goodbit eofbit failbit badbit hardbit OK konec souboru poslední operace se nezdařila pokus o neplatnou operaci HW chyba
24 Stav proudu Metody pro přístup: bool ios::good() const; bool ios::eof() const; bool ios::fail() const; bool ios::bad() const; void ios::clear(iostate stav=goodbit); je li proud v chybovém stavu, musíme pro další použití vymazat příznak void ios::setstate(iostate stav); nastavení daného příznaku
25 Úkol stavy proudu Napište program, který bude číst jen čísla typu int, ostatní bude ignorovat a vždy zahlásí, že vstup nebyl OK, ale bude pokračovat dále.
PB161 Programování v jazyce C++ Přednáška 5
PB161 Programování v jazyce C++ Přednáška 5 Jmenné prostory Vstupní/výstupní proudy Nikola Beneš 19. října 2015 PB161 přednáška 5: jmenné prostory, vstupní/výstupní proudy 19. října 2015 1 / 29 Jmenné
VíceProstory jmen. při vkládání několika hlavičkových souborů může vzniknout kolize. logika.h const int x=5; typedef struct {...
Proudy v C++ Jmenné prostory Prostory jmen při vkládání několika hlavičkových souborů může vzniknout kolize zeleznice.h const int x=10; typedef struct {... } Hradlo; logika.h const int x=5; typedef struct
VíceDatové proudy objektový vstup a výstup v C++
Datové proudy objektový vstup a výstup v C++ Petr Šaloun 10. listopadu 2014 PJCPP Objektový vstup/výstup 10-1 Datové proudy objektový vstup a výstup v C++ Základní pojmy Znakje elementární textová informace,
Více18. února 2015, Brno Připravil: David Procházka. Programovací jazyk C++
18. února 2015, Brno Připravil: David Procházka Vstupní a výstupní proudy v C++ Programovací jazyk C++ Vstup dat do programu Strana 2 / 26 Obsah přednášky 1 Vstup dat do programu 2 Terminál 3 Textový soubor
VícePB přednáška (19. října 2015)
PB161 5. přednáška (19. října 2015) Jmenné prostory Motivace problém: výskyt dvou entit (např. tříd) se stejným jménem typicky nenastává uvnitř jednoho projektu použití více nezávislých knihoven příp.
VícePB161 Programování v jazyku C++
PB161 Programování v jazyku C++ Textové řetězce (2. část) Vstupy a výstupy STL Základ (0. část) Manipulátory Kontejnery Iterátory Algoritmy Řetězce ve stylu C++ Používá se třída string. Řetězec ve stylu
VíceVstupní a vstupní proudy v C++
Programovací jazyk C++ MZLU - PEF - Ústav informatiky 11. října 2007 Vstup na terminál a čtení z něj Používá se knihovna iostream. Pro výstup lze použít standardní výstup cout. nebo chybový výstup cerr.
VícePB161 Programování v jazyce C++ Přednáška 6
PB161 Programování v jazyce C++ Přednáška 6 Přátelství Přetěžování operátorů Vstup a výstup Nikola Beneš 23. října 2018 PB161 přednáška 6: přátelství, přetěžování operátorů, vstup/výstup 23. října 2018
VíceVstupy a výstupy v jazyce C++
Vstupy a výstupy v jazyce C++ - jazyk C++ dává možnost řešit vstup a výstup proměnných (na V/V zařízení) podstatně elegantněji než jazyk C. Tyto mechanizmy se postupně vyvíjejí, v poslední době využívají
VícePB161 Programování v jazyce C++ Přednáška 6
PB161 Programování v jazyce C++ Přednáška 6 Přátelství Přetěžování operátorů Vstup a výstup Nikola Beneš 23. října 2018 PB161 přednáška 6: přátelství, přetěžování operátorů, vstup/výstup 23. října 2018
VícePokroč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é
VíceÚvod do programování. Lekce 1
Úvod do programování Lekce 1 Základní pojmy vytvoření spustitelného kódu editor - psaní zdrojových souborů preprocesor - zpracování zdrojových souborů (vypuštění komentářů atd.) kompilátor (compiler) -
VíceJazyk C++, některá rozšíření oproti C
Karel Müller, Josef Vogel (ČVUT FIT) Jazyk C++, některá rozšíření oproti C BI-PA2, 2011, Přednáška 1 1/22 Jazyk C++, některá rozšíření oproti C Ing. Josef Vogel, CSc Katedra softwarového inženýrství Katedra
VíceZpracoval: houzvjir@fel.cvut.cz
Zpracoval: houzvjir@fel.cvut.cz 9. Datový typ ukazatel, přetěžování funkcí, typ reference, vstup a výstup, třídy, staticky vázané metody, dědění, dynamicky vázané metody, abstraktní třídy, polymorfní datové
Vícepřetížení operátorů (o)
přetížení operátorů (o) - pro vlastní typy je možné přetížit i operátory (tj. definovat vlastní) - pro definici slouží klíčové slovo operator následované typem/znakem operátoru - deklarace pomocí funkčního
VíceVISUAL BASIC. Práce se soubory
VISUAL BASIC Práce se soubory Práce se soubory 1/2 2 Vstupní data pro programy bývají uloženy do souborů Vstupy pro výpočet, nastavení vzhledu aplikace Výsledky práce programu je potřeba uchovat uložit
VícePB161 Programování v jazyce C++ Objektově Orientované Programování. Podzim 2014
Programování v jazyce C++ Objektově Orientované Programování Podzim 2014 Jmenné prostory, I/O proudy 1 Jmenné prostory, IO proudy 13.10.2014 Jmenné prostory 2 Jmenné prostory, IO proudy 13.10.2014 Jmenné
Vícepřetížení operátorů (o)
přetížení operátorů (o) - pro vlastní typy je možné přetížit i operátory (tj. definovat vlastní) - pro definici slouží klíčové slovo operator následované typem/znakem operátoru - operátor je speciální
VíceObsah. Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15
Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15 KAPITOLA 1 Úvod do programo vání v jazyce C++ 17 Základní pojmy 17 Proměnné a konstanty 18 Typy příkazů 18 IDE integrované vývojové
VíceProgramování v C++ 3, 3. cvičení
Programování v C++ 3, 3. cvičení úvod do objektově orientovaného 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 Dokončení spojového
Více8. Načítání a zápis PDB souboru
Pokročilé programování v jazyce C pro chemiky (C3220) 8. Načítání a zápis PDB souboru Třída string Typ string není základním vestavěným typem ale je implementován jako třída ve standardní knihovně C++.
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íceProgramování v C++ 1, 5. cvičení
Programování v C++ 1, 5. cvičení konstruktory, nevirtuální dědě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 3 Shrnutí minule procvičené
VíceÚvod do programování. Lekce 3
Úvod do programování Lekce 3 Řízení běhu programu - pokračování /2 příklad: program vypisuje hodnotu sin x dx pro různé délky integračního kroku 0 #include #include // budeme pouzivat funkci
VíceObjekty a třídy. Procedurální a objektově orientované programování. V této kapitole se naučíte: Procedurální a objektově orientované programování
Objekty a třídy Objektově orientované programování (OOP) je určitý koncepční přístup návrhu programů a jazyk C++ rozšiřuje jazyk C o vlastnosti, které jeho použití usnadňují. Mezi nejdůležitější vlastnosti
Vícefor (int i = 0; i < sizeof(hodnoty) / sizeof(int); i++) { cout<<hodonoty[i]<< endl; } cin.get(); return 0; }
Pole Kdybychom v jazyce C++chtěli načíst větší počet čísel nebo znaků a všechny bylo by nutné všechny tyto hodnoty nadále uchovávat v paměti počítače, tak by bylo potřeba v paměti počítače alokovat stejný
VíceObjektov orientované programování. C++ Akademie SH. 7. Objektov orientované programování. Michal Kvasni ka. Za áte níci C++ 2.
C++ Akademie SH Za áte níci C++ 2. kv tna 2011 Obsah 1 Objektov orientované programování Obsah Objektov orientované programování 1 Objektov orientované programování P et ºování Jev, díky kterému m ºeme
VíceZáklady C++ I. Jan Hnilica Počítačové modelování 18
Základy C++ I 1 Přechod z C na C++ jazyk C++ je nadmnožinou jazyka C z hlediska syntaxe se jedná o velmi podobné jazyky, spolu s dalšími jazyky "céčkovské" rodiny, jako je např. C# každý platný program
VíceProgramovací jazyk C++ Cvičení 2
Programovací jazyk C++ Cvičení 2 Ačkoliv opakujeme jazyk C, naučíme se již něco z C++ 1. Komentáře: komentáře v jazyce C: /* */ nesmějí se vnořovat je možné je využívat i v C++ používají se hlavně jako
VícePráce se soubory. Základy programování 2 Tomáš Kühr
Práce se soubory Základy programování 2 Tomáš Kühr Soubory z pohledu C Soubor zjednodušeně chápeme jako posloupnost bytů uložených někde na disku Datový proud (anglicky stream) Ještě obecnější přístup
VíceAbstraktní třídy, polymorfní struktury
Karel Müller, Josef Vogel (ČVUT FIT) Abstraktní třídy, polymorfní struktury BI-PA2, 2011, Přednáška 9 1/32 Abstraktní třídy, polymorfní struktury Ing. Josef Vogel, CSc Katedra softwarového inženýrství
VíceMichal Krátký. Úvod do programovacích jazyků (Java), 2006/2007
Úvod do programovacích jazyků (Java) Michal Krátký 1 Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků
VícePřetěžování operátorů
Přetěžování operátorů Cíle lekce Cílem lekce je seznámit se s mechanizmem přetížení operátorů a s použitím tohoto mechanizmu při návrhu a implementaci programů. Po absolvování lekce budete: umět využívat
VíceVstup 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í
VíceSYSTÉMOVÉ PROGRAMOVÁNÍ Cvičení č.1
SYSTÉMOVÉ PROGRAMOVÁNÍ Cvičení č.1 Autor: Ing. Michal Bližňák Témata cvičení: Bleskový úvod do C++ Rozdíly mezi C a C++ Základním rozdílem mezi C a C++ samozřejmě je, že C++ je na rozdíl od tradičního
VíceZápis programu v jazyce C#
Zápis programu v jazyce C# Základní syntaktická pravidla C# = case sensitive jazyk rozlišuje velikost písmen Tzv. bílé znaky (Enter, mezera, tab ) ve ZK překladač ignoruje každý příkaz končí ; oddělovač
VíceŠablony, kontejnery a iterátory
7. října 2010, Brno Připravil: David Procházka Šablony, kontejnery a iterátory Programovací jazyk C++ Šablony Strana 2 / 21 Šablona funkce/metody Šablona je obecný popis (třídy, funkce) bez toho, že by
VíceŠablony, kontejnery a iterátory
11. března 2015, Brno Připravil: David Procházka Šablony, kontejnery a iterátory Programovací jazyk C++ Šablony Strana 2 / 31 Obsah přednášky 1 Šablony 2 Abstraktní datové struktury 3 Iterátory 4 Array
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ícePB161 Programování v jazyce C++ Přednáška 8
.. PB161 Programování v jazyce C++ Přednáška 8 Výjimky Správa prostředků (RAII) Nikola Beneš 9. listopadu 2015 PB161 přednáška 8: výjimky, RAII 9. listopadu 2015 1 / 24 . PB161 přednáška 8: výjimky, RAII
VíceMělká a hluboká kopie
Karel Müller, Josef Vogel (ČVUT FIT) Mělká a hluboká kopie BI-PA2, 2011, Přednáška 5 1/28 Mělká a hluboká kopie Ing. Josef Vogel, CSc Katedra softwarového inženýrství Katedra teoretické informatiky, Fakulta
VíceMartin Flusser. Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague. November 16, 2017
ZPRO cvičení 7 Martin Flusser Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague November 16, 2017 Outline I 1 Outline 2 Práce se soubory 3 Zápis cvičení 4 Čtení
VíceAlgoritmizace a programování. Terminálový vstup a výstup
Algoritmizace a programování Terminálový vstup a výstup Verze pro akademický rok 2012/2013 1 Výpis hodnot Terminálový vstup a výstup budeme používat jako základní způsob interakce programu s uživatelem
VíceSoubor jako posloupnost bytů
Soubory Soubor je množina údajů uložená ve vnější paměti počítače, obvykle na disku Pro soubor jsou typické tyto operace. otevření souboru čtení údaje zápis údaje uzavření souboru Přístup k údajům (čtení
VícePráce s binárními soubory. Základy programování 2 Tomáš Kühr
Práce s binárními soubory Základy programování 2 Tomáš Kühr Binární soubory Mohou mít libovolnou strukturu Data jsou uložena ve stejné podobě jako v paměti za běhu programu Výhody: Pro uložení je potřeba
VíceIterá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
VíceDnes samostatná norma ANSI jazyka C++ podobně jako u jazyka C
Jazyk C++ Jan Cvejn, Technická univerzita v Liberci, Fakulta mechatroniky 2001-2002 Moderní jazyk založený na jazyku C obsahuje četná vylepšení oproti jazyku C rozšíření jazyka C o rysy objektově orientovaného
VíceFunkční objekty v C++.
Funkční objekty v C++. Funkční objekt je instance třídy, která má jako svou veřejnou metodu operátor (), tedy operátor pro volání funkce. V dnešním článku si ukážeme jak zobecnit funkci, jak používat funkční
Více- 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á
VíceAbstraktní datové typy
Karel Müller, Josef Vogel (ČVUT FIT) Abstraktní datové typy BI-PA2, 2011, Přednáška 10 1/27 Abstraktní datové typy Ing. Josef Vogel, CSc Katedra softwarového inženýrství Katedra teoretické informatiky,
Více<surface name="pozadi" file="obrazky/pozadi/pozadi.png"/> ****************************************************************************
zdroje/zdroje.xml
VíceStandardní algoritmy vyhledávací.
Standardní algoritmy vyhledávací. Vyhledávací algoritmy v C++ nám umožňují vyhledávat prvky v datových kontejnerech podle různých kritérií. Také se podíváme na vyhledávání metodou půlením intervalu (binární
VícePřetěžování operátorů
Karel Müller, Josef Vogel (ČVUT FIT) Přetěžování operátorů BI-PA2, 2011, Přednáška 4 1/31 Přetěžování operátorů Ing. Josef Vogel, CSc Katedra softwarového inženýrství Katedra teoretické informatiky, Fakulta
VíceDatové typy pro reálná čísla
Datové typy pro reálná čísla KAPITOLA 3 V této kapitole: Vlastnosti datových typů pro reálná čísla v jazyce C/ C++ Vstupně/výstupní operace z pohledu reálných čísel Aritmetické operace s reálnými čísly
VíceKonstruktory a destruktory
Konstruktory a destruktory Nedostatek atributy po vytvoření objektu nejsou automaticky inicializovány hodnota atributů je náhodná vytvoření metody pro inicializaci, kterou musí programátor explicitně zavolat,
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ícePráce se soubory. Úvod do programování 2 Tomáš Kühr
Práce se soubory Úvod do programování 2 Tomáš Kühr Soubory z pohledu C u Soubor chápeme jako posloupnost bytů uložených na disku u Datový proud (anglicky stream) u Ještě obecnější přístup u Sjednocuje
VíceDědičnost. Časová náročnost lekce: 3 hodiny Datum ukončení a splnění lekce: 23.března
Dědičnost Cíle lekce Cílem lekce je naučit se pracovat a využívat dědičnosti při návrhu a tvorbě programů. Lekce je zaměřena hlavně na jednoduchou dědičnost. Bude rovněž vysvětlen rozdíl mezi dědičností
VícePB161 6. přednáška (26. října 2015)
PB161 6. přednáška (26. října 2015) Standardní knihovna C++ obsahuje řadu částí, některé už jsme viděli (strings, I/O streams) mimo jiné obsahuje i knihovní funkce ze standardní knihovny jazyka C jiné
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íceProgramování v C++ 1, 6. cvičení
Programování v C++ 1, 6. cvičení dědičnost, polymorfismus 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 3 Shrnutí minule procvičené
VícePokroč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ícePB161 Programování v jazyce C++ Přednáška 9
PB161 Programování v jazyce C++ Přednáška 9 Právo friend Přetěžování operátorů Nikola Beneš 16. listopadu 2015 PB161 přednáška 9: friend, přetěžování operátorů 16. listopadu 2015 1 / 30 Reklama PB173 Tematicky
VíceProgramovací jazyk Pascal
Programovací jazyk Pascal Syntaktická pravidla (syntaxe jazyka) přesná pravidla pro zápis příkazů Sémantická pravidla (sémantika jazyka) pravidla, která každému příkazu přiřadí přesný význam Všechny konstrukce
VícePří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
Více24-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
Více1. Programování pro DOS a některé zastaralé součásti C++
1. Programování pro DOS a některé zastaralé součásti C++ Tento text obsahuje výklad a příklady, které jsem vyřadil ze druhého vydání skripta Programování v C++. Jde především o programování pro operační
VíceMichal Krátký. Úvod do programovacích jazyků (Java), 2006/2007
Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků
Více1.1 Struktura programu v Pascalu Vstup a výstup Operátory a některé matematické funkce 5
Obsah Obsah 1 Programovací jazyk Pascal 1 1.1 Struktura programu v Pascalu.................... 1 2 Proměnné 2 2.1 Vstup a výstup............................ 3 3 Operátory a některé matematické funkce 5
VícePB161 Programování v jazyce C++ Přednáška 4
PB161 Programování v jazyce C++ Přednáška 4 Přetěžování funkcí Konstruktory a destruktory Nikola Beneš 9. října 2017 PB161 přednáška 4: přetěžování funkcí, konstruktory, destruktory 9. října 2017 1 / 20
VíceJazyk C# a platforma.net
Jazyk C# a platforma.net Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Pavel Štěpán, 2011 Syntaxe jazyka C# - 1. část BI-DNP Evropský sociální fond
VíceDědění, polymorfismus
Programování v jazyce C/C++ Ladislav Vagner úprava Pavel Strnad Dědění. Polymorfismus. Dnešní přednáška Statická a dynamická vazba. Vnitřní reprezentace. VMT tabulka virtuálních metod. Časté chyby. Minulá
VícePROGRAMOVÁNÍ V C++ CVIČENÍ
PROGRAMOVÁNÍ V C++ CVIČENÍ INFORMACE Michal Brabec http://www.ksi.mff.cuni.cz/ http://www.ksi.mff.cuni.cz/~brabec/ brabec@ksi.mff.cuni.cz gmichal.brabec@gmail.com PODMÍNKY ZÁPOČTU Základní podmínky společné
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íceIB111 Programování a algoritmizace. Objektově orientované programování (OOP)
IB111 Programování a algoritmizace Objektově orientované programování (OOP) OP a OOP Objekt Kombinuje data a funkce a poskytuje určité rozhraní. OP = objektové programování Vše musí být objekty Např. Smalltalk,
Více1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:
1. lekce 1. Minimální program do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: #include #include int main() { printf("hello world!\n"); return 0; 2.
VíceProgramování v C++ Objektové programování
Programování v C++ Objektové programování Ing. Drahomír Stanke Zlepšování podmínek pro využívání ICT ve výuce a rozvoj výuky angličtiny na SPŠei Ostrava č.projektu CZ.1.07/1.1.07/03.0089 Ostrava 2011 Obor:
VíceMnožina čísel int stl-set-int.cpp
Řetězce, pole a STL V C++ je výhodné pro práci s řetězci použít třídu string, funkce C jsou stále k dispozici cstring, ukazatele a pole lze stále používat stejně, jako v C, použití iterátorů a dalších
VícePráce se soubory. Úvod do programování 2 Tomáš Kühr
Práce se soubory Úvod do programování 2 Tomáš Kühr Soubory z pohledu C Soubor zjednodušeně chápeme jako posloupnost bytů uložených někde na disku Datový proud (anglicky stream) Ještě obecnější přístup
VícePolymorfismus. Časová náročnost lekce: 3 hodiny Datum ukončení a splnění lekce: 30.března
Polymorfismus Cíle lekce Cílem lekce je vysvětlit význam pojmu polymorfismus jako základní vlastnosti objektově orientovaného programování. Lekce objasňuje vztah časné a pozdní vazby a jejich využití.
VícePráce se soubory v Javě
Práce se soubory v Javě Cílem kapitoly je naučit pracovat se soubory a adresáři v Javě. Na jednoduchých příkladech ukázat procházení adresáře, čtení z textového souboru a zápis do textového souboru. Klíčové
VíceStandardní algoritmy v C++.
Standardní algoritmy v C++. Standardní algoritmy jsou součástí STL. Jedná se o spoustu užitečných šablon funkcí, které za nás naprogramoval někdo jiný. Na nás je jen, abychom je používali. Také si ukážeme
VíceProgramování v C++ 2, 8. cvičení
Programování v C++ 2, 8. cvičení návrhový vzor iterátor 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í minule procvičené látky
VíceŘetězce. Karel Richta a kol. katedra počítačů FEL ČVUT v Praze. Karel Richta, Martin Hořeňovský, Aleš Hrabalík, 2016
Řetězce Karel Richta a kol. katedra počítačů FEL ČVUT v Praze Karel Richta, Martin Hořeňovský, Aleš Hrabalík, 2016 Programování v C++, A7B36PJC 4/2016, Lekce 9c https://cw.fel.cvut.cz/wiki/courses/a7b36pjc/start
VíceZáklady programování. Úloha: Eratosthenovo síto. Autor: Josef Hrabal Číslo: HRA0031 Datum: 28.11.2009 Předmět: ZAP
Základy programování Úloha: Eratosthenovo síto Autor: Josef Hrabal Číslo: HRA0031 Datum: 28.11.2009 Předmět: ZAP Obsah 1 Zadání úkolu: 3 1.1 Zadání:............................... 3 1.2 Neformální zápis:.........................
VícePráce s textem. Třída Character. Třída Character. Třída Character. reprezentuje objekty zapouzdřující hodnotu typu char (boxing / unboxing)
Třída Character Práce s textem 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 reprezentuje objekty zapouzdřující hodnotu
VíceAlgoritmizace a programování
Algoritmizace a programování Typy Základní (primitivní) datové typy Deklarace Verze pro akademický rok 2012/2013 1 Typy v jazyce Java Základní datové typy (primitivní datové typy) Celočíselné byte, short,
VíceNPRG030 Programování I, 2016/17 1 / :58:13
NPRG030 Programování I, 2016/17 1 / 31 10. 10. 2016 10:58:13 Podmínka = něco, co JE, nebo NENÍ splněno typ Boolean hodnoty: TRUE pravda FALSE lež domluva (optimistická): FALSE < TRUE NPRG030 Programování
VícePŘETĚŽOVÁNÍ OPERÁTORŮ
PŘETĚŽOVÁNÍ OPERÁTORŮ Jazyk C# podobně jako jazyk C++ umožňuje přetěžovat operátory, tj. rozšířit definice některých standardních operátorů na uživatelem definované typy (třídy a struktury). Stejně jako
VíceDruhy souborů. textové. binární. nestrukturované txt strukturované - ini, xml, csv. veřejné bmp, jpg, wav proprietární docx, cdr, psd
Soubory Druhy souborů textové nestrukturované txt strukturované - ini, xml, csv binární veřejné bmp, jpg, wav proprietární docx, cdr, psd Základy zápisu using System.IO; nutné pro odkázání na jmenný prostor,
Více1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:
1. lekce 1. Minimální program do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: #include #include int main() { printf("hello world!\n"); return 0; 2.
VíceProgramování v C++ První kroky
Programování v C++ První kroky Karel Mozdřeň 29. října 2009 1 Obsah 1 Úvod 5 1.1 Pro koho je kniha určena...................... 5 1.2 Proč první kroky?.......................... 5 2 Začínáme 6 2.1 Hello,
VíceVíce o konstruktorech a destruktorech
Více o konstruktorech a destruktorech Více o konstruktorech a o přiřazení... inicializovat objekt lze i pomocí jiného objektu lze provést přiřazení mezi objekty v původním C nebylo možné provést přiřazení
VíceTextové soubory. alg9 1
Textové soubory Textový soubor je posloupnost znaků členěná na řádky každý znak je reprezentován jedním bytem, jehož obsah je dán nějakým kódováním znaků členění na řádky je závislé na platformě a obvykle
VíceVector datový kontejner v C++.
Vector datový kontejner v C++. Jedná se o datový kontejner z knihovny STL jazyka C++. Vektor je šablona jednorozměrného pole. Na rozdíl od "klasického" pole má vector, mnoho užitečných vlastností a služeb.
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í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íceC++ přetěžování funkcí a operátorů. Jan Hnilica Počítačové modelování 19
C++ přetěžování funkcí a operátorů 1 Přetěžování funkcí jazyk C++ umožňuje napsat více funkcí se stejným názvem, těmto funkcím říkáme přetížené přetížené funkce se musí odlišovat typem nebo počtem parametrů,
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í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íce