Proměnná a její uložení v paměti

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Download "Proměnná a její uložení v paměti"

Transkript

1 Proměnná a její uložení v paměti Počítačová paměť - řada buněk uložených za sebou, každá buňka má velikost 1 bajt (byte, B) - buňky jsou očíslovány, tato čísla se nazývají adresy Proměnná - data, se kterými programy pracují jsou ukládána do tzv. proměnných - proměnná = místo v paměti počítače, kde je uložena nějaká informace - může zabírat jednu i více buněk (podle typu proměnné - později) Název proměnné (identifikátor) - označení buňky, ve které je uložena proměnná - pomocí názvu můžeme využívat a měnit hodnotu proměnné, aniž bychom se starali o přesnou adresu, na které je uložená (názvu se také říká symbolická adresa ) 1 bajt (byte, 1B) proměnná s názvem P zabírá jeden bajt paměti a je uložena na adrese 254 proměnná P paměť adresa Jan Hnilica Počítačové modelování I / 2 1

2 Zákadní typy proměnných - chcete-li vytvořit proměnnou, je nutné kompilátoru oznámit jakého bude typu - tím se určí: kolik místa v paměti se pro ni vyhradí (a tím také rozsah hodnot, které se do ní vejdou) co s ní lze v programu provádět - do jazyka C jsou zakomponovány tyto základní datové typy: URČENÍ TYP POZNÁMKA celá čísla reálná čísla short int (short) int long int (long) float double long double - typy pro uložení a práci s celočíselnými údaji (např. počet studentů ve třídě) - od standardu C99 lze použít i typ long long int - typy pro uložení a práci s reálnými čísly (např ) - ve skutečnosti lze přesně uložit pouze čísla s konečným desetinným rozvojem (tzv. racionální čísla) znaky char - typ pro práci se znaky (např. a ) Jan Hnilica Počítačové modelování I / 2 2

3 Definice proměnné v programu - chcete-li v programu používat nějakou proměnnou, musíte ji nejprve definovat definice obsahuje (v tomto pořadí): 1. typ proměnné 2. mezeru 3. název proměnné 4. středník (definice je příkaz a všechny příkazy v C jsou ukončeny středníkem) - příklady definic proměnných: int pocet_aut_v_servisu; char znak; double teplotapacienta; Co se děje při definici? kompilátor vyhradí (alokuje) v paměti potřebné místo pro proměnnou proměnné přidělí název - hodnota proměnné je v této chvíli náhodná pozn. definovat lze i více proměnných (stejného typu) najednou - názvy jednotlivých proměnných jsou pak odděleny čárkou - celý příkaz je opět ukončen středníkem: int a, b; double x, y; Jan Hnilica Počítačové modelování I / 2 3

4 Přiřazení hodnoty do proměnné - provádí se pomocí operátoru přiřazení = int a, b; // definice dvou proměnných typu int a = 5; // přiřazení hodnoty 5 do proměnné a b = 7; // přiřazení hodnoty 7 do proměnné b a = b; // přiřazení hodnoty a do b (obě proměnné mají teď hodnotu 7) float c; c = ; double d = 6.3; // definice proměnné typu float // přiřazení hodnoty do proměnné c // definici a přiřazení lze spojit do jediného příkazu - na levé straně operátoru přiřazení musí být proměnná (proměnná má adresu, na kterou je uložena hodnota z pravé strany) int = 5; // chyba - nelze přiřadit hodnotu do datového typu! - na pravé straně operátoru přiřazení jsme zatím viděli konstanty (5, ) nebo proměnné (b) - obecně je ale na pravé straně výraz (výrazy probereme později) - přiřazení je ukončeno středníkem (jako každý příkaz) Jan Hnilica Počítačové modelování I / 2 4

5 Přiřazení hodnoty do proměnné int a; // krok 1 a = 12; // krok 2 int b; // krok 3 b = 7; // krok 4 a = b; // krok 5 Co se děje v jednotlivých krocích? krok 1: v paměti se vyhradí prostor pro proměnnou typu int a je pojmenován a, hodnota je zatím neznámá krok 2: do paměti vyhrazené pro a je zapsána hodnota 12 krok 3: jinde v paměti je vyhrazen prostor pro proměnnou b a a 12 a 12 b krok 4: do prostoru pro b je zapsána hodnota 7 krok 5: do prostoru pro a je zapsána hodnota proměnné b a b 12 7 a b 7 7 Jan Hnilica Počítačové modelování I / 2 5

6 Konstanty celočíselné sekvence číslic, která nesmí začínat nulou: 1, -58, konstantu lze zapsat i v osmičkové soustavě: nula + sekvence osmičkových číslic: 0714 v šestnáctkové soustavě: nula + znak X (nebo x) + sekvence šestnáctkových číslic: 0X3A reálné např , 55.1 exponenciální zápis, např e3 ( = ), nebo s velkým E: 5.123E3 můžou začínat i končit desetinnou tečkou, např..11 ( = 0.11), 4. ( = 4.0) znakové jeden znak z obou stran uzavřený apostrofy, např. a řetězce posloupnost znaků uzavřená v uvozovkách, např. toto je retezcova konstanta řetězce znaků budeme probírat později Symbolické konstanty - vytvoříme je z proměnných pomocí klíčového slova const const int a = 5; - a je proměnná, která má pevně danou hodnotu po celou dobu běhu programu - jakýkoliv pokus o změnu hodnoty a povede k chybě v době kompilace Jan Hnilica Počítačové modelování I / 2 6

7 Speciální znaky - slouží k formátování výpisu (na monitor nebo do souboru) - zapisují se jako kombinace dvou znaků: zpětného lomítka \ (tzv. backslash) znaku - nejčastěji používané speciální znaky: Znak Význam \n nový řádek \t tabulátor \r posun kurzoru zpět na začátek řádky \b posun kurzoru o jeden znak zpět \a pípnutí pozn. 1: těmto znakům se také říká escape sekvence pozn. 2: existují i jiné způsoby jejich zápisu, ale stačí umět tento způsob, tzn. \ + znak. - znakovou konstantu těchto znaků vyrobíte opět s pomocí apostrofů: char znak_tabulatoru = \t ; Jan Hnilica Počítačové modelování I / 2 7

8 Rozsah hodnot číselných typů - rozsah hodnot pro jednotlivé typy závisí na počítači (procesoru) a na použitém kompilátoru (jazyk C rozsahy hodnot přímo nedefinuje!) - pro získání informace o rozsazích hodnot na vašem počítači lze použít tyto konstanty: typ konstanty vymezující rozsah přibližný očekávatelný rozsah (nespoléhat se) short int (short) int long int (long) float double long double SHRT_MIN SHRT_MAX INT_MIN INT_MAX LONG_MIN LONG_MAX FLT_MIN FLT_MAX DBL_MIN DBL_MAX LDBL_MIN LDBL_MAX stejný jako short nebo vyšší e e+37 1e e308 stejný jako double nebo vyšší (tyto konstanty si rozhodně nemusíte pamatovat, pouze o nich vědět) - pro použití celočíselných konstant musíte do programu vložit soubor <limits.h> #include <limits.h> - pro použití reálných konstant musíte zahrnout soubor <float.h> #include <float.h> operátor sizeof - vrací velikost datového typu v bajtech (tzn. kolik místa pro proměnnou je vyhrazeno při její definici) sizeof(char) sizeof(int) // vrátí velikost typu char (vždy 1 bajt) // vrátí velikost typu int (obvykle 2 nebo 4 bajty) Jan Hnilica Počítačové modelování I / 2 8

9 Celá čísla a znaménka - celočíselné datové typy mají dvě varianty: signed - mohou nabývat záporných i kladných hodnot (např. signed int) unsigned - mohou nabývat pouze kladných hodnot (např. unsigned int) obě varianty jednoho typu zabírají stejné množství paměti => největší hodnota typu unsigned je dvakrát větší než největší hodnota typu signed (protože polovina rozsahu typu signed je vyhrazena pro záporné hodnoty) např.: typ signed short nabývá hodnot* typ unsigned short nabývá hodnot oba typy obsahují prostor pro uložení hodnot, ale typ signed spotřebuje polovinu tohoto prostoru pro záporné hodnoty pozn. 1: pokud při definici proměnné neuvedete variantu signed / unsigned, bude proměnná implicitně typu signed pozn. 2: konstanty maximálních hodnot unsigned typů jsou USHRT_MAX, UINT_MAX, ULONG_MAX * na vašem počítači se rozsah může lišit Jan Hnilica Počítačové modelování I / 2 9

10 Znaky - jsou vnitřně reprezentovány jako čísla číslo příslušící znaku je jeho kód z ASCII tabulky (tzv. ordinální číslo) - kompilátor umí znaky a jejich ordinální čísla mezi sebou oběma směry převádět ASCII tabulka - obsahuje kódy číslic, malých a velkých písmen, interpunkčních znamének a dalších znaků - vybrané úseky: Znaky Kódy ASCII tabulky (ordinální čísla) číslice velká písmena A Z malá písmena a z pokud tedy proměnná typu char obsahuje znak a, ve skutečnosti obsahuje číslo 97 char znak1 = a ; char znak2 = 97; obě proměnné mají přiřazenu stejnou hodnotu pozor: celočíselná hodnota 3 znak 3 obě jsou to čísla, ale číselná hodnota znaku 3 je 51 Jan Hnilica Počítačové modelování I / 2 10

11 Názvy proměnných - názvy proměnných by měly výstižně vyjadřovat, co je v proměnné uloženo int rokzakoupenivozidla; vhodný název int rzakvoz; méně vhodný název int qqf1a43f4s; nesmyslný (ale povolený) název Víceslovné názvy - jejich používání je doporučeno - dva obvyklé způsoby zápisu: rokzakoupenivozidla (tzv. velbloudí notace) rok_zakoupeni_vozidla Malá a velká písmena - jazyk C je rozlišuje, tzn. rok_vyroby a Rok_Vyroby jsou dvě různé proměnné Klíčová slova - vyhrazená slova, která mají v jazyce C zvláštní význam - nemohou být proto použita jako názvy proměnných (např. while, for, if atd.) pozn. žádné klíčové slovo není vhodným názvem proměnné DOPORUČENÍ - volte výstižné názvy (nejlépe víceslovné) - vytvořte si postupně svůj styl pojmenovávání a ten dodržujte - nepoužívejte k odlišení proměnných malá / velká písmena Jan Hnilica Počítačové modelování I / 2 11

12 Výpis na monitor - abychom mohli používat dále popsané funkce, je nutné připojit soubor stdio.h - to provedeme příkazem #include <stdio.h> // instrukce preprocesoru nekončí středníkem funkce printf - zajišťuje výpis na monitor - základním parametrem je řetězcová konstanta (tzv. řídící řetězec) printf( jak se dnes vede? ); - do řetězce je možné vkládat výpis proměnných // vypíše: jak se dnes vede? int pocetusaku = 5; printf( bylo uloveno %i zajicu, pocetusaku); // vypíše: bylo uloveno 5 zajicu rozbor druhého příkladu: - řetězec obsahuje znak % který oznamuje, že na toto místo výpisu bude vložená proměnná - znak i oznamuje, že proměnná bude typu int - samotná proměnná (pocetusaku) je uvedena jako druhý parametr funkce, hned za řetězcem - řetězec a proměnná jsou odděleny čárkou znaky %i tvoří tzv. FORMÁTOVOU SPECIFIKACI Jan Hnilica Počítačové modelování I / 2 12

13 Formátové specifikace funkce printf - kompletní formátová specifikace se skládá z několika částí: % příznak šířka přesnost modifikace typ červené položky jsou povinné zelené položky jsou nepovinné typ - určuje typ proměnné, která se bude tisknout - tabulka uvádí specifikace pro tisk základních typů: datový typ celé číslo se znaménkem celé číslo bez znaménka float, double znak řetězec znaků* specifikace ukazatel (pointer)* p přesnost * typy řetězec znaků a ukazatel - číslo, jehož význam se liší podle typu proměnné budeme probírat později - pro tisk float a double nastavuje počet cifer za desetinnou tečkou - před údajem přesnost se píše desetinná tečka: double a = ; printf( %.3f, a); // vytiskne: příznak, šířka, modifikace - umožňují podrobnější formátování výpisu, zatím se jimi nebudeme zabývat i, d u f c s Jan Hnilica Počítačové modelování I / 2 13

14 Příklady použití funkce printf int a = 1; double b = ; printf( hodnota a je %i, hodnota b je %.2f\n, a, b); - vytiskne: hodnota a je 1, hodnota b je 2.03 a odřádkuje - lze tedy tisknout více proměnných najednou - počet proměnných musí být shodný s počtem formátových specifikací v řídícím řetězci! char znak = x ; printf( ASCII kod znaku %c je %i, znak, znak); - vytiskne: ASCII kod znaku x je dvakrát byla použita stejná proměnná typu char, poprvé byla vytištěna jako znak, podruhé jako int (=> takže se vytisklo její ordinální číslo) printf( ASCII kod znaku %c je %i, x, x ); - vytiskne to samé jako v předchozím případě pozn. funkce printf má i návratovou hodnotu - celé číslo, které udává počet vypsaných znaků Jan Hnilica Počítačové modelování I / 2 14

15 Funkce scanf - funkce pro načítání vstupů z klávesnice - funguje velmi podobně jako funkce printf, také obsahuje řídící řetězec a formátové specifikace int a; scanf( %i, &a); // přečte zadání z klávesnice a uloží ho do proměnné a - před názvem proměnné je nutné napsat znak & (ampersand) - to je rozdíl oproti printf - vynechání & je chyba, funkce scanf pak nebude pracovat správně - pro načítání typu double platí formátová specifikace lf (malé L + f), pro float jen f int main() { printf( zadejte cele cislo: ); int a; scanf( %i, &a); printf( zadane cislo je %i, a); return 0; } int a, b, c; scanf( %i %i %i, &a, &b, &c); pozn. funkce scanf má také návratovou hodnotu - celé číslo, které udává počet úspěšně načtených hodnot - program vyzve k zadání celého čísla - uživatel napíše číslo a stiskne enter - funkce scanf zadané číslo uloží do proměnné a - hodnota proměnné a je vytisknuta na monitor - načtení tří čísel najednou - uživatel napíše čísla oddělená prázdnými znaky (mezerami, tabulátory) a stiskne enter - funkce scanf postupně zadaná čísla uloží do proměnných a b c, prázdné znaky přeskočí Jan Hnilica Počítačové modelování I / 2 15

16 Načtení a výpis jednoho znaku funkce putchar - provádí výpis jednoho znaku na monitor putchar( r ); putchar(promenna); putchar( \n ); // vypíše na monitor znak r // vypíše obsah proměnné promenna // vypíše znak nového řádku (odřádkuje výstup) funkce getchar - načítá jeden znak z klávesnice - funkce getchar nemá žádné argumenty, prázdné kulaté závorky je ale nutné při jejím volání napsat int znak = getchar(); // načte jeden znak poznámka - obě funkce oficiálně pracují s typem int a ne s typem char (důvodem je práce se soubory, bude vysvětleno později) - jak už ale bylo řečeno, typ char je ve skutečnosti celé číslo putchar( a ); // vypíše na monitor a putchar(97); // vypíše na monitor a char znak = getchar(); // načtení znaku z klávesnice char znak = (char) getchar(); // čistější způsob: přetypování na char (později) Jan Hnilica Počítačové modelování I / 2 16

17 Výrazy - pojmem VÝRAZ označujeme vše, co se vyhodnotí na nějakou hodnotu - dosud jsme se setkali s konstantami a proměnnými 3.11 je výraz a hodnota tohoto výrazu je 3.11 a je výraz a hodnota tohoto výrazu je rovna hodnotě proměnné a - s proměnnými a konstantami můžeme provádět aritmetické operace - syntaxe a sémantika jsou většinou stejné jako v matematice (jako bychom psali do sešitu) 6 / 2 je výraz a hodnota tohoto výrazu je rovna 3 x + y je výraz a hodnota tohoto výrazu je rovna součtu hodnot proměnných x a y Co přesně dělá operátor přiřazení? - vyhodnotí výraz na pravé straně a jeho hodnotu dosadí ho do proměnné na levé straně int x = 3 + 3; // definice x a nastavení jeho hodnoty na 6 int y = x + 2; // definice y a nastavení jeho hodnoty na 8 x = x + 2; // zvýšení hodnoty x o 2.0 (= neznamená rovná se!!!) - samotné přiřazení je výrazem, jeho hodnota je rovna hodnotě pravé strany - může být tedy na pravé straně dalšího přiřazení x = y = 5; // nastavení hodnoty 5 oběma proměnným x, y přiřazení se stává příkazem až když je ukončeno středníkem! Jan Hnilica Počítačové modelování I / 2 17

18 Aritmetické operátory - operátor je symbol (např. +), který přiměje kompilátor vykonat nějakou akci s operandy (např. je sečíst) - operandy jsou výrazy operátor význam příklad + sčítání vrací hodnotu 9 - odečítání 6-3 vrací hodnotu 3 * násobení 6 * 3 vrací hodnotu 18 / dělení 6 / 3 vrací hodnotu 2 % zbytek po celočíselném dělení 9 % 2 vrací hodnotu 1 obvyklé použití jako test dělitelnosti Dělení celočíselné a reálné - při celočíselném dělení se odřízne desetinná část výsledku (např. 3 / 2 vrací hodnotu 1) - dělení je celočíselné, pouze pokud oba operandy jsou celá čísla int x = 5; int y = 2; double z = 2.1; x / y vrací hodnotu 2 x / z vrací hodnotu Jan Hnilica Počítačové modelování I / 2 18

19 Priorita operátorů - operátory v jednom výrazu je možné kombinovat / 2 // jaká je hodnota tohoto výrazu? - výrazy se vyhodnocují podle priorit operátorů - operátory * / % mají přednost před operátory hodnota výrazu je tedy 7 (nejdřív se provede dělení) Závorky - mají nejvyšší prioritu ze všech operátorů - pomocí závorek je možné změnit pořadí vyhodnocování (4 + 6) / 2 // hodnota výrazu je nyní 5 Vyhodnocení výrazů 1. uzávorkování 2. priorita operátorů 3. operátory stejné priority zleva dopava DOPORUČENÍ: 1) nepište příliš komplikované výrazy (lze je rozepsat do několika jdnodušších) 2) pokud jste na pochybách, závorkujte!!! - závorky mohou být libovolně hluboko vnořené ( / (2 + 2 * 1.5)) / 2 * (7-3) // hodnota výrazu je 20 Jan Hnilica Počítačové modelování I / 2 19

20 Operátory inkrementace a dekrementace - jazyk C nabízí dva speciální operátory, které mění hodnotu operandu o jedničku Inkrementace - zvýšení hodnoty o jedničku - provádí se operátorem ++ (dva symboly plus za sebou) Dekrementace - snížení hodnoty o jedničku - provádí se operátorem -- (dva symboly mínus za sebou) int a = 5; a++; // zvýšení hodnoty a na 6 a--; // snížení hodnoty a na 5 - příkaz a++; je ekvivalentní příkazu a = a + 1; Prefixová a postfixová varianta - inkrementace i dekrementace mají dvě varianty - rozdíly mezi nimi se projeví, pokud je spojíte do jednoho příkazu s přiřazením postfix: a++ 1. nejprve je vrácena hodnota výrazu 2. potom dojde k inkrementaci proměnné prefix: ++a 1. nejprve dojde k inkrementaci 2. potom je vrácena hodnota výrazu int a = 5; int b = a++; // hodnota b je 5 int a = 5; int b = ++a; // hodnota b je 6 (konečná hodnota proměnné a je v obou případech 6) Jan Hnilica Počítačové modelování I / 2 20

21 Složené operátory přiřazení - dovolují úsporně spojit operátor přiřazení s dalšími operátory místo lze napsat proměnná = proměnná operátor výraz proměnná operátor= výraz - např. a = a + 5; je ekvivalentiní zápisu a += 5; mojepromennasestrasnedlouhymnazvem = mojepromennasestrasnedlouhymnazvem + 3; mojepromennasestrasnedlouhymnazvem += 3; - stejným způsobem lze používat i operátory -= *= /= %= int a = 1; a += 4; // a má hodnotu 5 int b = 20; b /= a; // b má hodnotu 4 int c = 0; c -= (a + b); // c má hodnotu -9 a %= 2; // a má hodnotu 1 Jan Hnilica Počítačové modelování I / 2 21

22 Přetečení celočíselných proměnných - celá čísla mají omezenou velikost (např. typ int nabývá rozsahu INT_MIN... INT_MAX) - pokud se pokusíme zvýšit/snížit hodnotu celého čísla nad/pod možný rozsah, dojde k tzv. přetečení přetečení: hodnota čísla se skokem dostane na opačný konec rozsahu čísla bez znaménka unsigned short int a; a = USHRT_MAX; // nastavení na maximální hodnotu (např ) a++; // zvýšení nad limit, a má teď hodnotu 0 a--; // snížení pod limit, a má teď hodnotu USHRT_MAX čísla se znaménkem short int a; a = SHRT_MAX; // nastavení na maximální hodnotu (např ) a++; // zvýšení nad limit, a má teď hodnotu SHRT_MIN a--; // snížení pod limit, a má teď hodnotu SHRT_MAX Jan Hnilica Počítačové modelování I / 2 22

9.3.2010 Program převod z desítkové na dvojkovou soustavu: /* Prevod desitkove na binarni */ #include

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

Formátové specifikace formátovací řetězce

Formátové specifikace formátovací řetězce 27.2.2007 Formátové specifikace formátovací řetězce - je to posloupnost podle které překladač pozná jaký formát má výstup mít - posloupnosti začínají znakem % a určující formát vstupu/výstupu - pokud chcete

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

Ú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

Algoritmizace a programování. Ak. rok 2012/2013 vbp 1. ze 44

Algoritmizace a programování. Ak. rok 2012/2013 vbp 1. ze 44 Algoritmizace a programování Ak. rok 2012/2013 vbp 1. ze 44 Vladimír Beneš Petrovický K101 katedra matematiky, statistiky a informačních technologií vedoucí katedry E-mail: vbenes@bivs.cz Telefon: 251

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

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

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632

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

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

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

Lekce 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

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

Základy jazyka C. Základy programování 1 Martin Kauer (Tomáš Kühr) Základy jazyka C Základy programování 1 Martin Kauer (Tomáš Kühr) Organizační záležitosti Konzultace Pracovna 5.076 Úterý 15:00 16:30 Emailem martin.kauer@upol.cz Web předmětu http://tux.inf.upol.cz/~kauer/index.php?content=var&class=zp1

Více

Operátory. Základy programování 1 Tomáš Kühr

Operátory. Základy programování 1 Tomáš Kühr Operátory Základy programování 1 Tomáš Kühr Operátory a jejich vlastnosti Základní konstrukce (skoro) každého jazyka Z daných operandů vytvoří výsledek, který je možné dále využívat Arita udává počet operandů

Více

1.1 Struktura programu v Pascalu Vstup a výstup Operátory a některé matematické funkce 5

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

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

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

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

Ú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

Standardní vstup a výstup

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ě

Více

Racionální čísla, operátory, výrazy, knihovní funkce

Racionální čísla, operátory, výrazy, knihovní funkce Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Racionální čísla, operátory, výrazy, knihovní funkce BI-PA1 Programování a algoritmizace 1 Katedra teoretické informatiky Miroslav Balík

Více

Jazyk C Program v jazyku C má následující strukturu: konstanty nebo proměnné musí Jednoduché datové typy: Strukturované datové typy Výrazy operátory

Jazyk C Program v jazyku C má následující strukturu: konstanty nebo proměnné musí Jednoduché datové typy: Strukturované datové typy Výrazy operátory Jazyk C Program v jazyku C má následující strukturu: Direktivy procesoru Globální definice (platné a známé v celém programu) Funkce Hlavička funkce Tělo funkce je uzavřeno mezi složené závorky { Lokální

Více

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

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

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

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu: Čtvrtek 8 prosince Pascal - opakování základů Struktura programu: 1 hlavička obsahuje název programu, použité programové jednotky (knihovny), definice konstant, deklarace proměnných, všechny použité procedury

Více

Datové typy pro reálná čísla

Datové typy pro reálná čísla Datové typy pro reálná čísla V kapitole 2 jsme se seznámili s celočíselnými datovými typy. Pro uložení číselných hodnot ve velkém rozsahu obvykle nepožadujeme tak velkou přesnost, jakou nám poskytují celá

Více

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

Operátory. Základy programování 1 Martin Kauer (Tomáš Kühr) Operátory Základy programování 1 Martin Kauer (Tomáš Kühr) Organizační poznámky Formátujte kód přehledně! Pomůžete sobě i mně. Spusťte si vaše programy a zkuste různé vstupy! Pokud program nedává správné

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

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

Základy jazyka C. Úvod do programování 1 Tomáš Kühr

Základy jazyka C. Úvod do programování 1 Tomáš Kühr Základy jazyka C Úvod do programování 1 Tomáš Kühr Organizační záležitosti Konzultace Pracovna 5.043 Pondělí 9.30 11.30, středa 10.00 11.30 a 13.00 14.30 (oficiální) Pátek 8.00 9.30 (někdy), 12.30-13.00

Více

IUJCE 07/08 Přednáška č. 4. v paměti neexistuje. v paměti existuje

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

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

Data v počítači. Informační data. Logické hodnoty. Znakové hodnoty

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)

Více

Bitové operátory a bitová pole. Úvod do programování 2 Tomáš Kühr

Bitové operátory a bitová pole. Úvod do programování 2 Tomáš Kühr Bitové operátory a bitová pole Úvod do programování 2 Tomáš Kühr Bitové operátory Provádějí danou operaci s jednotlivými bity svých operandů Operandy bitových operátorů mohou být pouze celočíselné Vyhodnocení

Více

Základy jazyka C. Základy programování 1 Tomáš Kühr

Základy jazyka C. Základy programování 1 Tomáš Kühr Základy jazyka C Základy programování 1 Tomáš Kühr Organizační záležitosti Konzultace Osobně v pracovně 5.043 Pondělí 15.00 16.00 Úterý 14.00 16.00 Čtvrtek 13.00 15.00 Pátek 9.30 11.30 Něco jde vyřešit

Více

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

Programování v jazyce C pro chemiky (C2160) 9. Práce s PDB soubory

Programování v jazyce C pro chemiky (C2160) 9. Práce s PDB soubory Programování v jazyce C pro chemiky (C2160) 9. Práce s PDB soubory Jednoduché (základní) datové typy Jazyk C obsahuje několik základní datových typů: int celá čísla (integer) char znak (character) float

Více

Vstup a výstup datové proudy v C

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í

Více

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

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

Více

int => unsigned int => long => unsigned long => float => double => long double - tj. bude-li:

int => unsigned int => long => unsigned long => float => double => long double - tj. bude-li: 13.4.2010 Typová konverze - změna jednoho datového typu na jiný - známe dva základní implicitní ("sama od sebe") a explicitní (výslovně vyžádána programátorem) - C je málo přísné na typové kontroly = dokáže

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

IUJCE 07/08 Přednáška č. 1

IUJCE 07/08 Přednáška č. 1 Úvod do předmětu Literatura Záznamy přednášek a vaše poznámky Harbison, S. P., Steele, G. L.: Referenční příručka jazyka C Herout, P.: Učebnice jazyka C Kernighan, B. W., Ritchie, D. M.: The C Programming

Více

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

Více

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

Operační systémy. Cvičení 3: Programování v C pod Unixem Operační systémy Cvičení 3: Programování v C pod Unixem 1 Obsah cvičení Editace zdrojového kódu Překlad zdrojového kódu Základní datové typy, struktura, ukazatel, pole Načtení vstupních dat Poznámka: uvedené

Ví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í 04. Datové typy, operace, logické operátory 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

EVROPSKÝ SOCIÁLNÍ FOND. Úvod do PHP PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI

EVROPSKÝ SOCIÁLNÍ FOND. Úvod do PHP PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI EVROPSKÝ SOCIÁLNÍ FOND Úvod do PHP PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI Úvod do PHP PHP Personal Home Page Hypertext Preprocessor jazyk na tvorbu dokumentů přípona: *.php skript je součást HTML stránky!

Více

Odvozené a strukturované typy dat

Odvozené a strukturované typy dat Odvozené a strukturované typy dat Petr Šaloun katedra informatiky FEI VŠB-TU Ostrava 14. listopadu 2011 Petr Šaloun (katedra informatiky FEI VŠB-TU Ostrava) Odvozené a strukturované typy dat 14. listopadu

Více

Proměnné a datové typy

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í

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

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

ZPRO v C Ing. Vít Hanousek. verze 0.3 verze 0.3 Hello World Nejjednoduší program ukazující vypsání textu. #include using namespace std; int main(void) { cout

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

Data, výrazy, příkazy

Data, výrazy, příkazy Data, výrazy, příkazy Karel Richta a kol. katedra počítačů FEL ČVUT v Praze Přednášky byly připraveny s pomocí materiálů, které vyrobili Ladislav Vágner, Pavel Strnad, Martin Hořeňovský, Aleš Hrabalík

Více

Programovací jazyk C(++) C++ area->vm_mm->locked_vm -= len >> PAGE_SHIFT;

Programovací jazyk C(++) C++ area->vm_mm->locked_vm -= len >> PAGE_SHIFT; Programovací jazyk C(++) static struct vm_area_struct * unmap_fixup(struct mm_struct *mm, struct vm_area_struct *area, unsigned long addr, size_t len, struct vm_area_struct 1. *extra) Základy { struct

Více

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

Základy jazyka C. Základy programování 1 Martin Kauer (Tomáš Kühr) Základy jazyka C Základy programování 1 Martin Kauer (Tomáš Kühr) Organizační záležitosti Konzultace Pracovna 5.076 Středa 10:30 12:00 Emailem martin.kauer@upol.cz Web předmětu http://tux.inf.upol.cz/~kauer/index.php?content=var&class=zp1

Více

Paměť počítače. alg2 1

Paměť počítače. alg2 1 Paměť počítače Výpočetní proces je posloupnost akcí nad daty uloženými v paměti počítače Data jsou v paměti reprezentována posloupnostmi bitů (bit = 0 nebo 1) Připomeňme: paměť je tvořena řadou 8-mi bitových

Více

Začínáme vážně programovat. Řídící struktury Přetypování Vstupně výstupní operace Vlastní tvorba programů

Začínáme vážně programovat. Řídící struktury Přetypování Vstupně výstupní operace Vlastní tvorba programů Začínáme vážně programovat Řídící struktury Přetypování Vstupně výstupní operace Vlastní tvorba programů Podmínky a cykly Dokončení stručného přehledu řídících struktur jazyka C. Složený příkaz, blok Pascalské

Více

Struktura programu, proměnné, konstanty, výrazy v jazycích C a C#

Struktura programu, proměnné, konstanty, výrazy v jazycích C a C# Struktura programu, proměnné, konstanty, výrazy v jazycích C a C# Seznámit žáky se strukturou programu v jazycích C/C#, s klíčovými slovy jazyků C/C#, s psaním komentářů, se základními datovými typy, deklarací

Více

Programovací jazyk. - norma PASCAL (1974) - implementace Turbo Pascal, Borland Pascal FreePascal Object Pascal (Delphi)

Programovací jazyk. - norma PASCAL (1974) - implementace Turbo Pascal, Borland Pascal FreePascal Object Pascal (Delphi) Programovací jazyk - norma PASCAL (1974) - implementace Turbo Pascal, Borland Pascal FreePascal Object Pascal (Delphi) Odlišnosti implementace od normy - odchylky např.: nepovinná hlavička programu odlišná

Více

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ý Ukazatel (Pointer) jako datový typ - proměnné jsou umístěny v paměti na určitém místě (adrese) a zabírají určitý prostor (počet bytů), který je daný typem proměnné - ukazatel je tedy adresa společně s

Více

7: #include //standardni knihovna

7: #include <stdio.h> //standardni knihovna Zdroj: http://www.sallyx.org/sally/c/index.php Struktura programu První program Komentáře Knihovny Funkce Funkce printf() Vše o vzniku programu již bylo objasněno a tak se můžeme věnovat čistě jen syntaxi

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

2. cvičení z ZI1 - Excel

2. cvičení z ZI1 - Excel Doc.Ing. Vlastimil Jáneš... janes@fd.cvut.cz 2. cvičení z ZI1 - Excel O Excelu - organizace listů : 1 list : max. 65 536 řádků a 256 sloupců, tj. 16 777 216 buněk. Sloupce : A, B,.Z, AA, AB,. IU, IV (26

Více

2 Datové typy v jazyce C

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

Více

Jazyk C# a platforma.net

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

Základy algoritmizace a programování

Základy algoritmizace a programování Základy algoritmizace a programování Přednáška 1 Olga Majlingová Katedra matematiky, ČVUT v Praze 19. září 2011 Obsah Úvodní informace 1 Úvodní informace 2 3 4 Doporučená literatura web: http://marian.fsik.cvut.cz/zapg

Více

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

Řešení sady 1. Úvod do programování 1 Tomáš Kühr Řešení sady 1 Úvod do programování 1 Tomáš Kühr Hello World #include #include int main(){ printf("hello world!\n"); return 0; } Práce s proměnnými 1/2 #include int main(){

Více

Kód. Proměnné. #include using namespace std; int main(void) { cout << "Hello world!" << endl; cin.get(); return 0; }

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

Více

- dělají se také pomocí #define - podobné (použitím) funkcím - předpřipravená jsou např. v ctype.h. - jak na vlastní makro:

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

Více

Číselné soustavy v mikroprocesorové technice Mikroprocesorová technika a embedded systémy

Číselné soustavy v mikroprocesorové technice Mikroprocesorová technika a embedded systémy Ústav radioelektroniky Vysoké učení technické v Brně Číselné soustavy v mikroprocesorové technice Mikroprocesorová technika a embedded systémy Přednáška 8 doc. Ing. Tomáš Frýza, Ph.D. listopad 2012 Obsah

Více

KAPITOLA 9 - POKROČILÁ PRÁCE S TABULKOVÝM PROCESOREM

KAPITOLA 9 - POKROČILÁ PRÁCE S TABULKOVÝM PROCESOREM KAPITOLA 9 - POKROČILÁ PRÁCE S TABULKOVÝM PROCESOREM CÍLE KAPITOLY Využívat pokročilé možnosti formátování, jako je podmíněné formátování, používat vlastní formát čísel a umět pracovat s listy. Používat

Více

Výrazy, operace, příkazy

Výrazy, operace, příkazy Výrazy, operace, příkazy Karel Richta a kol. katedra počítačů FEL ČVUT v Praze Přednášky byly připraveny s pomocí materiálů, které vyrobili Ladislav Vágner, Pavel Strnad Karel Richta, Martin Hořeňovský,

Více

C2110 Operační systém UNIX a základy programování

C2110 Operační systém UNIX a základy programování C2110 Operační systém UNIX a základy programování 5. lekce Petr Kulhánek kulhanek@chemi.muni.cz Národní centrum pro výzkum biomolekul, Masarykova univerzita, Kotlářská 2, CZ-61137 Brno C2110 Operační systém

Více

Opakování programování

Opakování programování Opakování programování HW návaznost - procesor sběrnice, instrukční sada, optimalizace rychlosti, datové typy, operace (matematické, logické, podmínky, skoky, podprogram ) - paměti a periferie - adresování

Více

Zjednodušené základy jazyku C. Josef Podstata

Zjednodušené základy jazyku C. Josef Podstata Zjednodušené základy jazyku C Josef Podstata 3. 4. 014 1 Předmluva Tento dokument je určen všem zájemcům o programování v jazyce C. Nezáleží na tom, jestli už jste někdy v céčku programovali nebo ne. Text

Více

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

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace Programování v jazyce C a C# část I. Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace Předmět: Algoritmizace a programování Téma: Programování Vyučující: Ing. Milan Káža

Více

Číselné soustavy. Binární číselná soustava

Číselné soustavy. Binární číselná soustava 12. Číselné soustavy, binární číselná soustava. Kódování informací, binární váhový kód, kódování záporných čísel. Standardní jednoduché datové typy s pevnou a s pohyblivou řádovou tečkou. Základní strukturované

Více

Datové typy strana 29

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

Více

Architektury počítačů a procesorů

Architektury počítačů a procesorů Kapitola 3 Architektury počítačů a procesorů 3.1 Von Neumannova (a harvardská) architektura Von Neumann 1. počítač se skládá z funkčních jednotek - paměť, řadič, aritmetická jednotka, vstupní a výstupní

Více

Stručný návod k programu Octave

Stručný návod k programu Octave Stručný návod k programu Octave Octave je interaktivní program vhodný pro technické výpočty. Je nápadně podobný programu MATLAB, na rozdíl od něho je zcela zadarmo. Jeho domovská vebová stránka je http://www.octave.org/,

Více

CZ.1.07/1.5.00/

CZ.1.07/1.5.00/ Celá čísla Celočíselný typ má označení INTEGER. Kromě tohoto základního jsou k dispozici ještě další celočíselné typy, které uvádí následující tabulka. Každý typ umožňuje definovat určitý rozsah celých

Více

Algoritmy v jazyku C a C++

Algoritmy v jazyku C a C++ 4 ALGORITMY V JAZYKU C A C++ Algoritmy v jazyku C a C++ praktický průvodce Jiří Prokop Vydala Grada Publishing, a.s. U Průhonu 22, Praha 7 jako svou 3473. publikaci Odpovědný redaktor Zuzana Malečková

Více

Část I. Část 1 Základy programování v C. Přehled témat. Základy programování v C. Jazyk C

Část I. Část 1 Základy programování v C. Přehled témat. Základy programování v C. Jazyk C Přehled témat Základy programování v C Jan Faigl Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Přednáška 0 B0B36PRP Procedurální programování Část 1 Základy programování

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

LEKCE 6. Operátory. V této lekci najdete:

LEKCE 6. Operátory. V této lekci najdete: LEKCE 6 Operátory V této lekci najdete: Aritmetické operátory...94 Porovnávací operátory...96 Operátor řetězení...97 Bitové logické operátory...97 Další operátory...101 92 ČÁST I: Programování v jazyce

Více

Objektově orientované programování

Objektově orientované programování 10. října 2011 Pragmatické informace Volitelný předmět, zápočet: zápočtový program(s dokumentací), aktivní účast na cvičení(body v CodExu), praktický test, zkouška: zkoušková písemka na objektový návrh

Více

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

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace Předmět: Vývoj aplikací Téma: Datové typy Vyučující: Ing. Milan Káža Třída: EK3 Hodina: 5 Číslo: V/5 Programování v jazyce

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

NPRG030 Programování I, 2016/17 1 / :58:13

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

7 Formátovaný výstup, třídy, objekty, pole, chyby v programech

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,

Více

Strukturované typy a ukazatele. Úvod do programování 1 Tomáš Kühr

Strukturované typy a ukazatele. Úvod do programování 1 Tomáš Kühr Strukturované typy a ukazatele Úvod do programování 1 Tomáš Kühr Motivace Se základními datovými typy si sice vystačíme Někdy to ale může být nepříjemně nepřehledné Příklady: long double soucet(const long

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

Strukturu lze funkci předat: (pole[i])+j. switch(výraz) velikost ukazatele

Strukturu lze funkci předat: (pole[i])+j. switch(výraz) velikost ukazatele Strukturu lze funkci předat: hodnotou i pomocí ukazatele pouze pomocí ukazatele (reference na strukturu) pouze hodnotou (kopie struktury) (pole[i])+j adresa prvku na souřadnicích i, j adresa i-tého řádku

Více

Algoritmizace a programování. Terminálový vstup a výstup

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

8. Laboratoř: Aritmetika a řídicí struktury programu

8. Laboratoř: Aritmetika a řídicí struktury programu 8. Laboratoř: Aritmetika a řídicí struktury programu Programy v JSA aritmetika, posuvy, využití příznaků Navrhněte a simulujte v AVR studiu prográmky pro 24 bitovou (32 bitovou) aritmetiku: sčítání, odčítání,

Více

PŘETĚŽOVÁNÍ OPERÁTORŮ

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

ŘÍDÍCÍ STRUKTURY - PODMÍNKY

ŘÍDÍCÍ STRUKTURY - PODMÍNKY ŘÍDÍCÍ STRUKTURY - PODMÍNKY Pokusíme se rozvětvit sktipt v Bashi ŘÍDÍCÍ STRUKTURY - PODMÍNKY V této lekci budeme probírat podmínkové, tj., které nám pomohou rozvětvit skript a provádět určité pouze při

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

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování Řídicí struktury, standardní metody Problematika načítání pomocí Scanner Některé poznámky k příkazům Psaní kódu programu Metody třídy Math Obalové třídy primitivních datových

Více

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

Více

Znalost výčtových typů. Aktivní znalost kombinovaných (zkrácených přiřazení). Znalost bitových operací. Znalost operátoru sekvence.

Znalost výčtových typů. Aktivní znalost kombinovaných (zkrácených přiřazení). Znalost bitových operací. Znalost operátoru sekvence. Distanční opora předmětu: Programování v jazyce C Tématický blok č. 3: Datové typy a operátory Autor: RNDr. Jan Lánský, Ph.D. Obsah kapitoly 1 Datové typy 1.1 Celočíselné typy 1.2 Logické typy 1.3 Znakový

Více

Preprocesor. Karel Richta a kol. katedra počítačů FEL ČVUT v Praze. Karel Richta, Martin Hořeňovský, Aleš Hrabalík, 2016

Preprocesor. Karel Richta a kol. katedra počítačů FEL ČVUT v Praze. Karel Richta, Martin Hořeňovský, Aleš Hrabalík, 2016 Preprocesor 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 9b https://cw.fel.cvut.cz/wiki/courses/a7b36pjc/start

Více

Programovanie v jazyku C - ti to zratam...

Programovanie v jazyku C - ti to zratam... CVIČENIE 2/13 (S7) Programovanie v jazyku C - ti to zratam... PrednaskaB: Datové typy PrednaskaZ: Výrazy a příkazy, programové konstrukce, operátory About aritmeticke operacie TODO: Declaration vs. definition

Více