7.3 Mělká a hluboká kopie Pochopit správně rozdíly mezi mělkou a hlubokou kopií je velmi důležité, provedeme tedy ještě toto shrnutí.

Rozměr: px
Začít zobrazení ze stránky:

Download "7.3 Mělká a hluboká kopie Pochopit správně rozdíly mezi mělkou a hlubokou kopií je velmi důležité, provedeme tedy ještě toto shrnutí."

Transkript

1 Vážení zákazníc, dovolujeme s Vás upozornt, že na tuto ukázku knhy se vztahují autorská práva, tzv. copyrght. To znamená, že ukázka má sloužt výhradnì pro osobní potøebu potencálního kupujícího (aby ètenáø vdìl, jakým zpùsobem je ttul zpracován a mohl se také podle tohoto, jako jednoho z parametrù, rozhodnout, zda ttul koupí è ne). Z toho vyplývá, že není dovoleno tuto ukázku jakýmkolv zpùsobem dále šíøt, veøejnì è neveøejnì napø. ums ováním na datová méda, na jné nternetové stránky (an prostøednctvím odkazù) apod. redakce nakladatelství BEN techncká lteratura redakce@ben.cz

2 7. PŘETĚŽOVÁNÍ OPERÁTORŮ VYLEPŠENÍ TŘÍDY TRETEZ Program vypíše: a=text 1 b= c=text 1 Pokračujte stsknutím lbovolné klávesy... a=text a b=text 1 c=text c Pokračujte stsknutím lbovolné klávesy... a=a: Text a b=b: Text 1 c=c: c Pokračujte stsknutím lbovolné klávesy... a=a: Text ab: Text 1c: c b=b: Text 1 c=c: c Pokračujte stsknutím lbovolné klávesy... a[1]=; a=a; Text ab: Text 1c: c Pokračujte stsknutím lbovolné klávesy... str=a; Text ab: Text 1c: c Pokračujte stsknutím lbovolné klávesy... Zadej retezec: C++ d=c++ Pokračujte stsknutím lbovolné klávesy Mělká a hluboká kope Pochopt správně rozdíly mez mělkou a hlubokou kopí je velm důležté, provedeme tedy ještě toto shrnutí. Mělká kope znamená, že se nstance kopíruje po složkách. Čl atrbuty tak jak jsou, se ze zdrojové nstance zkopírují do cílové nstance. Takové chování je v pořádku, pokud jsou v atrbutech jednoduché datové typy. Dokonce se korektně zkopíruje pole (přpomeňme, že normálně není kope pole možná a musí být provedena po jednotlvých prvcích). Velké problémy nastanou, pokud je některý z atrbutů ukazatel. Adresa uložená v ukazatel se zkopíruje a oba atrbuty v různých nstancích ukazují na stejná data. Pokud se změní jedna nstance, promítnou se změny do druhé. Př destrukc jedné nstance začne ukazatel ve druhé nstanc odkazovat na jž neexsující data. Bohužel, standardní verze operátoru přřazení a kopírovacího konstruktoru provádí právě mělkou kop. Hluboká kope zohledňuje přítomnost ukazatelů tak, že v cílové nstanc vytváří stejná dynamcká data znovu a získanou adresu ukládá do příslušného ukazatele. Mez zdrojovou a cílovou nstancí neexstuje žádná vazba. Každá nstance pracuje se svou kopí dat. Ovšem hlubokou kop musíme sam předepsat tím, že mplementujeme vlastní verze operátoru přřazení a kopírovacího konstruktoru. 7.4 Další možná rozšíření třídy TStrng Regulérní řetězcová třída obvykle obsahuje další operace s řetězc. Mez obvyklé operace patří zejména: stanovení délky řetězce, vkládání podřetězce, mazání část řetězce, kopírování podřetězce. Takové operace není možno zavést ve formě operátorů, ale je nutno defnovat nové metody. 7-7

3 OBJEKTOVÉ PROGRAMOVÁNÍ V C++ V PŘÍKLADECH V následujícím textu se seznámíme s algortmy, které tyto operace realzují. Metoda Length stanovení délky řetězce Tato metoda nejdříve vynuluje počítadlo. Potom prochází řetězcem tak dlouho, dokud nenalezne zarážku. Za každý průchod s zvýší počítadlo o 1. Počet znaků před zarážkou (což je vlastně délka řetězce) je pak uložen v tomto počítadle. Počítadlo je možno současně použít jako ndex právě procházeného prvku uvntř řetězce. Tato metoda patří mez nejjednodušší řetězcové operace. Z hledska standardní řetězcové knhovny j zajšťuje funkce strlen. Př realzac této metody nemusíme testovat žádné chybové stavy, to je v podstatě dáno tím, že metoda nemá vstupní parametry! Doporučená hlavčka: unsgned Length( ) const; =0 =1 =2 =3 =4 'A' 'h' 'o' 'j' 'A' 'h' 'o' 'j' 'A' 'h' 'o' 'j' 'A' 'h' 'o' 'j' 'A' 'h' 'o' 'j' konec Obr Naznačení průchodu řetězcem pro stanovení jeho délky Metoda SubStr získání podřetězce Parametry této metody jsou startovací pozce (start) a počet kopírovaných znaků (count), které defnují podřetězec. Výsledkem je podřetězec zkopírovaný z původního řetězce. Nejdříve se musí vytvořt nová nstance řetězce, do kterého se podřetězec nakopíruje. Celá operace je pak provedtelná cyklem for, který v původním řetězc používá ndex od start do start+count 1 a v cílovém řetězc se pak jedná o ndexy 0 až count 1. Na pozc count ve výsledku musí být umístěna zarážka. původní řetězec 'N' 'e' 'j' 'a' 'k' 5 'y' ' ' 't' 'e' 'x' 10 't' 11 start = 2 count = 3 start start+count 1 výsledek 'j' 'a' 'k' 3 Obr Vysvětlení úlohy parametrů start a count, odpovídající podřetězec Podmínky úspěšného provedení operace: cílový řetězec musí mít fyzckou délku vyšší než je dáno parametrem count (lze vyřešt př jeho vytváření, je to plně v rež této metody), ndexy start start+count 1 musí padnout do rozsahu platných ndexů řetězce (musí být nžší než délka řetězce), count musí být nezáporné číslo (je-l count = 0, je výsledkem prázdný řetězec). 7-8

4 Doporučená hlavčka: 7. PŘETĚŽOVÁNÍ OPERÁTORŮ VYLEPŠENÍ TŘÍDY TRETEZ TStrng SubStr(nt start, nt count) const; Metoda Delete rušení podřetězce Parametry této metody jsou obvykle startovací pozce (start) a počet rušených znaků (count). Celá operace je pak provedtelná cyklem, který startuje od ndexu start a prochází řetězcem až do jeho konce (včetně). Pokud použjeme řídcí ndex zavedený jako, bude se z pravé část řetězce (pozce +count) kopírovat jeden znak do levé část řetězce (pozce ). Index se bude zvyšovat až do nalezení zarážky. I ta se však ještě zkopíruje z pravé část nalevo. 1. krok start = 3 count = 3 'T' 'e' 'n' ' ' 't' 5 'o' ' ' 'r' 'e' 'k' krok 'T' 'e' 'n' ' ' 't' 'o' ' ' 'r' 'e' 'k' +count 3. krok 'T' 'e' 'n' ' ' 'r' 'o' ' ' 'r' 'e' 'k' 4. krok 'T' 'e' 'n' ' ' 'r' 'e' ' ' 'r' 'e' 'k' 5. krok 'T' 'e' 'n' ' ' 'r' 'e' 'k' 'r' 'e' 'k' 6. krok 'T' 'e' 'n' ' ' 'r' 'e' 'k' 'e' 'k' +count nový konec řetězce Obr Naznačení operace rušení podřetězce +count +count +count Podmínky úspěšného provedení operace: ndexy start start+count 1 musí padnout do rozsahu platných ndexů řetězce (musí být nžší než délka řetězce), count musí být nezáporné číslo (je-l count = 0, nezruší se žádný znak). Doporučená hlavčka: vod Delete(nt start, nt count); Metoda Insert vložení podřetězce Parametry této metody jsou obvykle startovací pozce (start) a vkládaný řetězec (SubStr). Operac musíme rozdělt na dvě část: Nejdříve vytvoříme místo pro vkládaný řetězec. Takže znaky počínaje ndexem start musí být odsunuty směrem ke konc řetězce o tolk pozc, kolk udává délka vkládaného řetězce. Znaky je třeba kopírovat od konce a to 7-9

5 OBJEKTOVÉ PROGRAMOVÁNÍ V C++ V PŘÍKLADECH včetně zarážky. Uložíme-l s do proměnné délku původního řetězce a do proměnné len délku vkládaného podřetězce, budeme vždy kopírovat jeden znak zleva (ndex ) napravo (ndex +len). Poslední kope proběhne pro prvek s ndexem start. Druhou částí operace je pak kopírování znaků z řetězce SubStr (ndexy 0 až len 1) do cílového řetězce (ndexy start až start+len 1). 1. krok start = 4 SubStr = " a " 'c' 'u' 'k' 'r' 'b' = Length( ) len = SubStr.Length( ) '' 'c' 2. krok 'c' 'u' 'k' 'r' 'b' '' 'c' 3. krok 'c' 'u' 'k' 'r' 'b' '' 'c' 'c' 4. krok 'c' 'u' 'k' 'r' 'b' '' 'c' '' 'c' 5. krok 'c' 'u' 'k' 'r' 'b' '' 'c' 'b' '' 'c' +len +len +len +len vložení SubStr 0 ' ' 1 'a' 2 ' ' 3 výsledek 'c' 'u' 'k' 'r' ' ' 5 'a' 6 ' ' 'b' '' 'c' 10 Obr Naznačení operace rušení podřetězce Podmínky úspěšného provedení operace: cílový řetězec musí mít fyzckou délku vyšší než je dáno součtem délek obou řetězců, ndex start musí padnout do rozsahu platných ndexů cílového řetězce (musí být nžší nebo roven délce řetězce, pokud je start roven délce řetězce, přdá se vkládaný řetězec na konec). Doporučená hlavčka: vod Insert(nt start, const TStrng& SubStr); 7-10

6 8. PROUDOVÁ KNIHOVNA 8 Proudová knhovna Základní nformace o proudech byly uvedeny v kaptole 1.3. Proudům se budeme nyní věnovat podrobněj. 8.1 Herarche proudů Na obr. 8.1 je uvedena herarche proudových tříd. Na vrcholu stojí třída os, přímým následníky jsou třídy ostream (vstupní proud) a ostream (výstupní proud). Z těchto tříd jsou pak posléze odvozeny souborové a řetězcové proudy. os stream fstreambase strstreambase ostream fstream strstream ostream ostrstream ofstream fstream strstream Obr Herarche tříd proudové knhovny 8.2 Standardně zavedené proudy Prostor jmen std zavádí tř standardní nstance proudů, vz tab 8.1. Tab. 8.1 Standardně defnované proudy Proud Směr Význam cout výstup standardní výstupní proud cn vstup standardní vstupní proud cerr výstup standardní výstup chybových zpráv 8.3 Základní třídy Přpomeňme krátce význam základních tříd herarche. Tyto základní proudové třídy jsou defnovány v hlavčkovém souboru ostream. Výstup ostream Třída ostream je defnována tak, aby operátor << zajstl výstup vestavěných typů. Umožňuje tedy výstup datových typů: char*, char, short, nt, long, double, vod*. Třída je přímým následníkem os. Vstup stream Třída stream je defnována tak, aby operátor >> zajstl vstup vestavěných typů. Třída je přímým následníkem os. 8-1

7 OBJEKTOVÉ PROGRAMOVÁNÍ V C++ V PŘÍKLADECH 8.4 Souborové proudy C++ defnuje tř souborové proudy, vz tab Souborové proudy jsou defnovány v hlavčkovém souboru fstream. Třída fstream ofstream fstream Tab. 8.2 Souborové proudy Význam proud pro vstupní soubor proud pro výstupní soubor proud pro čtení záps do souboru Otevření souboru Každý soubor, se kterým chceme pracovat, je třeba nejdříve otevřít pomocí metody open. Hlavčka: jméno souboru vod open( const char* flename, nt openmode, způsob otevření nt protect=flebuf::openprot ); ochrana souboru Tab. 8.3 Režmy otevření proudu defnované v os (btové pole) Režm Význam os::n otevř pro čtení os::out otevř pro záps os::ate otevř a přesuň se na konec souboru os::app přdej na konec (append) os::trunc zkrať délku souboru na 0 (přeps) os::bnary otevř jako bnární (ne textový) soubor Zavření souboru close Soubor zavíráme metodou close, hlavčka: vod close(); Test úspěšnost poslední operace Úspěšnost poslední operace s proudem lze testovat tak, že proud použjeme v logckém výrazu. Proběhla-l poslední operace korektně, chápe se stav proudu jako pravdvý (true). Pokud došlo k chybě (například neúspěšné otevření souboru nebo dosažení konce souboru), chápe se stav proudu jako nepravdvý (false) PROG_08-01 záps do textového souboru pomocí proudu Zadání: Napšte program, který do souboru DATA.TXT zapíše 1000 náhodně vygenerovaných celých čísel v rozsahu 1 až 100. Každé číslo bude zapsáno na zvláštním řádku. Nejdříve deklarujeme proměnnou typu ofstream s dentfkátorem vystup. Tento proud metodou open napojíme na soubor s názvem DATA.TXT. Úspěšné otevření ověříme tak, že proměnnou vystup použjeme v podmíněném příkazu. Pokud se otevření souboru podařlo, je výraz brán jako pravdvý a provedou se další příkazy. 8-2

8 8. PROUDOVÁ KNIHOVNA Vlastní ukládání čísel je řešeno klascky, operátorem <<. Nakonec musíme zavřít soubor pomocí metody close. #nclude <ostream> #nclude <fstream> #nclude <omanp> #nclude <stdlb.h> usng namespace std; nt man() { ofstream vystup; otevření souboru vystup.open("data.txt",os::out); f(vystup) test úspěšnost otevření { for(nt =1;<=1000;++) vystup<<1+rand()%100<<endl; uložení čísla vystup.close(); výstupní proud zavření souboru } cout<<"data zapsana"<<endl; } else cout<<"soubor nelze otevrt"<<endl; PROG_08-02 čtení z textového souboru pomocí proudu Zadání: Napšte program, který přečte celá čísla uložená v souboru DATA.TXT a vypočítá jejch součet a průměr. Pro tento příklad musíme deklarovat jednak nstanc třídy fstream (označíme j dentfkátorem vstup) a dále proměnnou na načtení jednoho čísla (), proměnnou na výpočet součtu (označíme j soucet a vynulujeme) a proměnnou na počítání čísel (označíme j pocet a vynulujeme j). Následně otevřeme soubor pomocí metody open. Kontrola úspěšného otevření je opět provedena testováním stavu proudu v podmíněném příkaze. Pokud se otevření souboru podaří, je spuštěn cyklus whle. Ten nejdříve přečte jedno číslo ze souboru a okamžtě zkontroluje, zda bylo čtení úspěšné. Úspěšně přečtené číslo zvýší proměnnou pocet o 1 a jeho hodnota je přčtena do součtu čísel představovaných obsahem proměnné soucet. Po přečtení všech čísel zavřeme soubor metodou close. Pokud byl počet čísel nenulový (a tedy lze provést výpočet průměru), zobrazí se jednak součet čísel, jejch počet a dále průměr všech čísel (vzpomeňte s, že pro vyvolání reálného podílu je nutné celočíselné hodnoty přetypovat na typ double). 8-3

Basic256 - úvod do programování Příklady. ing. petr polách

Basic256 - úvod do programování Příklady. ing. petr polách Basic256 - úvod do programování Příklady ing. petr polách 1 Basic 256 input, print Př.: Vytvořte program pro součet dvou čísel: input "Zadej a: ", a input "Zadej b: ", b print a+b input "Zadej a: ", a

Více

2.4 Cykly 2. ZÁKLADY JAZYKA C

2.4 Cykly 2. ZÁKLADY JAZYKA C 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

Více

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++ 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

Iterační výpočty. Dokumentace k projektu pro předměty IZP a IUS. 22. listopadu projekt č. 2

Iterač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

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

Obsah. 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íce

LOGICKÉ OBVODY J I Ř Í K A L O U S E K

LOGICKÉ OBVODY J I Ř Í K A L O U S E K LOGICKÉ OBVODY J I Ř Í K A L O U S E K Ostrava 2006 Obsah předmětu 1. ČÍSELNÉ SOUSTAVY... 2 1.1. Číselné soustavy - úvod... 2 1.2. Rozdělení číselných soustav... 2 1.3. Polyadcké číselné soustavy... 2

Více

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 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

Více

11 Elektrické specifikace Mezní parametry* Okolní teplota pøi zapojeném napájení 40 C až +125 C Skladovací teplota 65 C až +150 C Napájecí napìtí na V

11 Elektrické specifikace Mezní parametry* Okolní teplota pøi zapojeném napájení 40 C až +125 C Skladovací teplota 65 C až +150 C Napájecí napìtí na V 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

Více

= + + R. u 1 = N R R., protože proud: i je protlačován napětím: u 1P ve smyčce

= + + R. u 1 = N R R., protože proud: i je protlačován napětím: u 1P ve smyčce Vážení zákazníc, dovoljeme s Vás pozornt, že na tto kázk knhy se vztahjí atorská práva, tzv copyrght o znamená, že kázka má složt výhradnì pro osobní potøeb potencálního kpjícího (aby ètenáø vdìl, jakým

Více

C# konzole Podíl dvou čísel, podmínka IF

C# konzole Podíl dvou čísel, podmínka IF C# konzole Podíl dvou čísel, podmínka IF Tematická oblast Datum vytvoření 2013 Ročník 3 Stručný obsah Způsob využití Autor Kód Internetové technologie, programování Výpočet podílu v konzolové aplikaci

Více

2 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.

2 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íce

8. 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 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

Úvod do programování. Lekce 3

Ú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íce

Úvod do programování. Lekce 1

Ú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íce

Zadání: TÉMA: Zápis algoritmu, čtení textového souboru, porovnání řetězců.

Zadání: TÉMA: Zápis algoritmu, čtení textového souboru, porovnání řetězců. TÉMA: Zápis algoritmu, čtení textového souboru, porovnání řetězců. Zadání: V textovém souboru text.txt je uloženo několik řádků textu. Vytvořte makro, které určí nejdelší řádek z daného souboru. 1. Název

Více

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

Programová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

Algoritmizace a programování

Algoritmizace 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íce

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

Programová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íce

Iterátory v C++. int pole[20]; for (int *temp = pole, temp!= &pole[20]; temp++) { *temp = 0;

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

Více

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

Více

9. Harmonické proudy pulzních usměrňovačů

9. Harmonické proudy pulzních usměrňovačů 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

Více

Algoritmizace a programování

Algoritmizace 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íce

Pole a kolekce. v C#, Javě a C++

Pole a kolekce. v C#, Javě a C++ Pole a kolekce v C#, Javě a C++ C# Deklarace pole typ_prvku_pole[] jmeno_pole; Vytvoření pole jmeno_pole = new typ_prvku_pole[pocet_prvku_pole]; Inicializace pole double[] poled = 4.8, 8.2, 7.3, 8.0; Java

Více

Výrazy a operátory. Operátory Unární - unární a unární + Např.: a +b

Výrazy a operátory. Operátory Unární - unární a unární + Např.: a +b Výrazy a operátory i = 2 i = 2; to je výraz to je příkaz 4. Operátory Unární - unární a unární + Např.: +5-5 -8.345 -a +b - unární ++ - inkrement - zvýší hodnotu proměnné o 1 - unární -- - dekrement -

Více

Zá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 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íce

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

Pole 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íce

Úvod do programování 8. hodina

Úvod do programování 8. hodina Úvod do programování 8. hodina RNDr. Jan Lánský, Ph.D. Katedra informatiky a matematiky Fakulta ekonomických studií Vysoká škola finanční a správní 2015 Umíme z minulé hodiny Algoritmy Hornerovo schéma

Více

Standardní algoritmy vyhledávací.

Standardní 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íce

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 {...

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 {... 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íce

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

Programová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

Programovací jazyk Pascal

Programovací 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íce

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

př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íce

Čísla a aritmetika. Řádová čárka = místo, které odděluje celou část čísla od zlomkové.

Čísla a aritmetika. Řádová čárka = místo, které odděluje celou část čísla od zlomkové. Příprava na cvčení č.1 Čísla a artmetka Číselné soustavy Obraz čísla A v soustavě o základu z: m A ( Z ) a z (1) n kde: a je symbol (číslce) z je základ m je počet řádových míst, na kterých má základ kladný

Více

C++ 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. 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íce

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

Ú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íce

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

Jazyk 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íce

Algoritmizace prostorových úloh

Algoritmizace prostorových úloh INOVACE BAKALÁŘSKÝCH A MAGISTERSKÝCH STUDIJNÍCH OBORŮ NA HORNICKO-GEOLOGICKÉ FAKULTĚ VYSOKÉ ŠKOLY BÁŇSKÉ - TECHNICKÉ UNIVERZITY OSTRAVA Algoritmizace prostorových úloh Datové struktury Daniela Szturcová

Více

Implementace LL(1) překladů

Implementace LL(1) překladů Překladače, přednáška č. 6 Ústav informatiky, FPF SU Opava sarka.vavreckova@fpf.slu.cz Poslední aktualizace: 30. října 2007 Postup Programujeme syntaktickou analýzu: 1 Navrhneme vhodnou LL(1) gramatiku

Více

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

1. 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íce

Algoritmizace prostorových úloh

Algoritmizace prostorových úloh INOVACE BAKALÁŘSKÝCH A MAGISTERSKÝCH STUDIJNÍCH OBORŮ NA HORNICKO-GEOLOGICKÉ FAKULTĚ VYSOKÉ ŠKOLY BÁŇSKÉ - TECHNICKÉ UNIVERZITY OSTRAVA Algoritmizace prostorových úloh Datové struktury Daniela Szturcová

Více

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

př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íce

Základy PERLu snadno a rychle

Základy PERLu snadno a rychle Základy PERLu snadno a rychle Začínáme Začneme tak, že si vytvoříme třeba soubor hellopl, do souboru napíšeme: print "Hello world\n"; Pak soubor nastavíme jako spustitelný: $ chmod +x hellopl A teď si

Více

Práce se soubory. Základy programování 2 Tomáš Kühr

Prá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íce

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

Martin 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íce

VISUAL BASIC. Práce se soubory

VISUAL 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íce

1.2 Realizace èekání pomocí jednoduché programové smyèky Pøíklad 3: Chceme-li, aby dítì blikalo baterkou v co nejpøesnìjším intervalu, øekneme mu: Roz

1.2 Realizace èekání pomocí jednoduché programové smyèky Pøíklad 3: Chceme-li, aby dítì blikalo baterkou v co nejpøesnìjším intervalu, øekneme mu: Roz 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

Více

.include "m32def.inc" // Konstanty.equ N = 5 // Počet prvků v poli.equ PRVNI = 3 // První číslo v poli

.include m32def.inc // Konstanty.equ N = 5 // Počet prvků v poli.equ PRVNI = 3 // První číslo v poli Příklad č. 1 Vytvořte v paměti RAM pole, umístěte jen v paměti SRAM od začátku, jeho velikost bude dána konstantou N. Pole naplňte, přičemž hodnota prvního prvku bude dána konstantou PRVNI, a další prvky

Více

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

Proměnná. Datový typ. IAJCE Cvičení č. 3. Pojmenované místo v paměti sloužící pro uložení hodnoty. Proměnná Pojmenované místo v paměti sloužící pro uložení hodnoty. K pojmenování můžeme použít kombinace alfanumerických znaků, včetně diakritiky a podtržítka Rozlišují se velká malá písmena Název proměnné

Více

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

1. 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íce

9.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 <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íce

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

Množina v C++ (set, multiset). Množina v C++ (set, multiset). Množina je datová struktura, ve které jsou uloženy nějaké prvky. V množině nesmí být dva stejné prvky. Naopak multimnožina může obsahovat i stejné prvky. Nad množinou lze

Více

7. Datové typy v Javě

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ů

Více

Mělká a hluboká kopie

Mě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íce

Konstruktory a destruktory

Konstruktory 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íce

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

Programová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íce

Lineární spojový seznam (úvod do dynamických datových struktur)

Lineární spojový seznam (úvod do dynamických datových struktur) Lineární spojový seznam (úvod do dynamických datových struktur) Jan Hnilica Počítačové modelování 11 1 Dynamické datové struktury Definice dynamické struktury jsou vytvářeny za běhu programu z dynamicky

Více

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu

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

Více

Pokročilé programování v jazyce C pro chemiky (C3220) Operátory new a delete, virtuální metody

Pokročilé programování v jazyce C pro chemiky (C3220) Operátory new a delete, virtuální metody Pokročilé programování v jazyce C pro chemiky (C3220) Operátory new a delete, virtuální metody Dynamická alokace paměti Jazyky C a C++ poskytují programu možnost vyžádat si část volné operační paměti pro

Více

Spínaèe jsou elektrické pøístroje, které slouží k zapínání, pøepínání a vypínání elektrických obvodù a spotøebièù. Podle funkce, kterou vykonávají, je

Spínaèe jsou elektrické pøístroje, které slouží k zapínání, pøepínání a vypínání elektrických obvodù a spotøebièù. Podle funkce, kterou vykonávají, je 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

Více

Ivana Linkeová SPECIÁLNÍ PŘÍPADY NURBS REPREZENTACE. 2 NURBS reprezentace křivek

Ivana Linkeová SPECIÁLNÍ PŘÍPADY NURBS REPREZENTACE. 2 NURBS reprezentace křivek 25. KONFERENCE O GEOMETRII A POČÍTAČOVÉ GRAFICE Ivana Lnkeová SPECIÁLNÍ PŘÍPADY NURBS REPREZENTACE Abstrakt Příspěvek prezentuje B-splne křvku a Coonsovu, Bézerovu a Fergusonovu kubku jako specální případy

Více

Přednáška 7. Celočíselná aritmetika. Návratový kód. Příkazy pro větvení výpočtu. Cykly. Předčasné ukončení cyklu.

Přednáška 7. Celočíselná aritmetika. Návratový kód. Příkazy pro větvení výpočtu. Cykly. Předčasné ukončení cyklu. Přednáška 7 Celočíselná aritmetika. Návratový kód. Příkazy pro větvení výpočtu. Cykly. Předčasné ukončení cyklu. 1 Příkaz expr výraz Celočíselná aritmetika I Zašle na standardní výstup vyhodnocení výrazu

Více

for (i = 0, j = 5; i < 10; i++) { // tělo cyklu }

for (i = 0, j = 5; i < 10; i++) { // tělo cyklu } 5. Operátor čárka, - slouží k jistému určení pořadí vykonání dvou příkazů - oddělím-li čárkou dva příkazy, je jisté, že ten první bude vykonán dříve než příkaz druhý. Např.: i = 5; j = 8; - po překladu

Více

Vstupní a vstupní proudy v C++

Vstupní 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íce

PROGRAMOVÁNÍ V SHELLU

PROGRAMOVÁNÍ V SHELLU PROGRAMOVÁNÍ V SHELLU Prostředí, jazyk, zdrojový kód chceme-li posloupnost jistých příkazů používat opakovaně, případně z různých míst adresářové struktury, můžeme tuto posloupnost uložit souboru, který

Více

Úvod do programovacích jazyků (Java)

Úvod do programovacích jazyků (Java) Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2007/2008 c 2006 2008 Michal Krátký Úvod do programovacích

Více

Vector datový kontejner v C++.

Vector 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íce

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu

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

Více

OBJEKTOVÉ PROGRAMOVÁNÍ V C++ V PŘÍKLADECH 8 Proudová knihovna 8.1 Hierarchie proudů... 8-1 8.2 Standardně zavedené proudy... 8-1 8.

OBJEKTOVÉ PROGRAMOVÁNÍ V C++ V PŘÍKLADECH 8 Proudová knihovna 8.1 Hierarchie proudů... 8-1 8.2 Standardně zavedené proudy... 8-1 8. David MATOUŠEK OBJEKTOVÉ PROGRAMOVÁNÍ V C++ V PØÍKLADECH Praha 2011 David Matoušek Objektové programování v C++ v pøíkladech Lektoroval Ing. Bohumil Brtník, Ph.D. Bez pøedchozího písemného svolení nakladatelství

Více

Práce se soubory. Úvod do programování 2 Tomáš Kühr

Prá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íce

Dědičnost. Časová náročnost lekce: 3 hodiny Datum ukončení a splnění lekce: 23.března

Dě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íce

Sada 1 - Základy programování

Sada 1 - Základy programování S třední škola stavební Jihlava Sada 1 - Základy programování 07. Základní příkazy vstup a výstup hodnot Digitální učební materiál projektu: SŠS Jihlava šablony registrační číslo projektu:cz.1.09/1.5.00/34.0284

Více

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování Řídicí struktury jazyka Java Struktura programu Příkazy jazyka Blok příkazů Logické příkazy Ternární logický operátor Verze pro akademický rok 2012/2013 1 Struktura programu

Více

konstruktory a destruktory (o)

konstruktory a destruktory (o) konstruktory a destruktory (o) - slouží k ovlivnění vzniku (inicializace) a zániku (úklid) objektu - základní myšlenkou je, že proměnná by měla být inicializována (nastavena do počátečního stavu) a zároveň

Více

cyklus s daným počtem opakování cyklus s podmínkou na začátku (cyklus bez udání počtu opakování)

cyklus s daným počtem opakování cyklus s podmínkou na začátku (cyklus bez udání počtu opakování) Řídící příkazy: if podmíněný příkaz switch přepínač for while cyklus s daným počtem opakování cyklus s podmínkou na začátku (cyklus bez udání počtu opakování) if logický_výraz příkaz; příkaz; příkaz; Podmínka

Více

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

Třetí skupina zadání projektů do předmětu Algoritmy II, letní semestr 2017/2018 Třetí skupina zadání projektů do předmětu Algoritmy II, letní semestr 2017/2018 doc. Mgr. Jiří Dvorský, Ph.D. 24. dubna 2018 Verze zadání 24. dubna 2018 První verze 1 1 Hašovací tabulka V tomto zadání

Více

18. února 2015, Brno Připravil: David Procházka. Programovací jazyk C++

18. ú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íce

APS mini.ed programová nadstavba pro základní vyhodnocení docházky. Příručka uživatele verze 2.2.0.6

APS mini.ed programová nadstavba pro základní vyhodnocení docházky. Příručka uživatele verze 2.2.0.6 APS mini.ed programová nadstavba pro základní vyhodnocení docházky Příručka uživatele verze 2.2.0.6 APS mini.ed Příručka uživatele Obsah Obsah... 2 Instalace a konfigurace programu... 3 Popis programu...

Více

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

Zá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íce

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

5 Přehled operátorů, příkazy, přetypování 5 Přehled operátorů, příkazy, přetypování Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně budou uvedeny detaily týkající se operátorů. Doba nutná k nastudování

Více

6 Příkazy řízení toku

6 Příkazy řízení toku 6 Příkazy řízení toku 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 pro řízení toku programu. Pro všechny tyto základní

Více

1. D Y N A M I C K É DAT O V É STRUKTUR Y

1. D Y N A M I C K É DAT O V É STRUKTUR Y 1. D Y N A M I C K É DAT O V É STRUKTUR Y Autor: Petr Mik Abychom se mohli pustit do dynamických datových struktur, musíme se nejdřív podívat na datový typ ukazatel. 1. D AT O V Ý TYP U K A Z AT E L Datové

Více

Datové typy v Javě. Tomáš Pitner, upravil Marek Šabo

Datové typy v Javě. Tomáš Pitner, upravil Marek Šabo Datové typy v Javě Tomáš Pitner, upravil Marek Šabo Úvod k datovým typům v Javě Existují dvě základní kategorie datových typů: primitivní a objektové Primitivní v proměnné je uložena přímo hodnota např.

Více

VLASTNOSTI PLOŠNÝCH SPOJÙ

VLASTNOSTI PLOŠNÝCH SPOJÙ 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

Více

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

for (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íce

Vkládání pomocí Viterbiho algoritmu

Vkládání pomocí Viterbiho algoritmu Vkládání pomocí Vterbho algortmu Andrew Kozlk KA MFF UK C Vkládání pomocí Vterbho algortmu Cíl: Využít teor konvolučních kódů. Motvace: Vterbho dekodér je soft-decson dekodér. Každému prvku nosče přřadíme

Více

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

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,

Více

Úvodem... 9 Kapitola 1 Karetních

Úvodem... 9 Kapitola 1 Karetních Úvodem... 9 Základní znalosti o programovacích jazycích...10 Jazyk C# a platforma.net...10 Visual C# 2010 Express...11 Instalace platformy.net 4.0 a Visual C# 2010 Express...11 Zdrojový kód aplikací...12

Více

Příklad : String txt1 = new String( Ahoj vsichni! ); //vytvoří instanci třídy String a přiřadí ji vnitřní hodnotu Ahoj vsichni!

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

Více

Programování v jazyce C pro chemiky (C2160) 4. Textové řetězce, zápis dat do souboru

Programování v jazyce C pro chemiky (C2160) 4. Textové řetězce, zápis dat do souboru Programování v jazyce C pro chemiky (C2160) 4. Textové řetězce, zápis dat do souboru Textové řetězce V jazyce C neexistuje typ proměnné, který by byl určen výhradně pro ukládání textu V jazyce C používáme

Více

Úvod do programování 7. hodina

Úvod do programování 7. hodina Úvod do programování 7. hodina RNDr. Jan Lánský, Ph.D. Katedra informatiky a matematiky Fakulta ekonomických studií Vysoká škola finanční a správní 2015 Umíme z minulé hodiny Syntax Znaky Vlastní implementace

Více

Přednáška 4. Regulární výrazy. Filtry grep, sed a awk. Úvod do Operačních Systémů Přednáška 4

Přednáška 4. Regulární výrazy. Filtry grep, sed a awk. Úvod do Operačních Systémů Přednáška 4 1 Přednáška 4 Regulární výrazy. Filtry grep, sed a awk. 2 grep grep [přepínače] vzor [soubory] Implicitně vypíše na standardní výstup řádky, které obsahují zadaný vzor. Vzor může být definován základním

Více

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

- 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íce

Prá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 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íce

Úvod do programovacích jazyků (Java)

Úvod do programovacích jazyků (Java) Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2007/2008 c 2006 2008 Michal Krátký Úvod do programovacích

Více

A7B38UOS Úvod do operačních systémů. 6. Cvičení. Příkazy sed a awk

A7B38UOS Úvod do operačních systémů. 6. Cvičení. Příkazy sed a awk A7B38UOS Úvod do operačních systémů 6. Cvičení Příkazy sed a awk sed sed [přepínače] 'příkaz' [soubory] sed [přepínače] -f skript [soubory] Stream editor - edituje neinteraktivně jeden nebo více souborů.

Více

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

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 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íce

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

Více

ADT/ADS = abstraktní datové typy / struktury

ADT/ADS = abstraktní datové typy / struktury DT = datové typy obor hodnot, které může proměnná nabývat, s operacemi na tomto oboru určen: obor hodnot + výpočetní operace např. INT = { 2 147 483 648 až +2 147 483 647} + {+,,*,/,} ADT/ADS = abstraktní

Více

Zápis programu v jazyce C#

Zá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