Proměnné (1) Proměnná: Definice proměnných:

Slides:



Advertisements
Podobné prezentace
A1PRG - Programování – Seminář Ing. Michal Typová konverze, oblast platnosti, paměťové třídy 9 Verze
Advertisements

Standardní knihovní funkce pro práci s textovými řetězci
VISUAL BASIC Práce s řetězci Použitá literatura: Kvoch: Visual Basic 4.
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Programování funkcí v Excelu
Základní pojmy v jazyce C
Základy jazyka C.
Prezentace a vysvětlení programového prostředí NXC
25/08/20141 Typ struktura (1) Datový typ struktura ( struct ) je agrego- vaný heterogenní datový typ Jedná se o skupinu několika proměnných, které mohou.
Algoritmy I Cvičení č. 2. Cíl hodiny Datové typy a přetypování (int, float, double, bool, char, long, short) Konstanty – Celočíselné Desítkové – 15, 0,
JUI - 1. přednáška Funkcionální programování Úvod do jazyka Lisp RNDr. Jiří Dvořák, CSc.
If-else, do-while, switch, operátory
Algoritmizace a programování
Druhé cvičení Vytváření identifikátorů Datové typy
Materiály k přednášce Úvod do programování Ondřej Čepek.
Operátory (1. část) 3 A1PRG - Programování – Seminář
Algoritmizace a programování Podmíněné a cyklické příkazy- 08
Informatika I 3. přednáška
Vyučovací hodina 1 vyučovací hodina: Opakování z minulé hodiny 5 min Nová látka 20 min Procvičení nové látky 15 min Shrnutí 5 min 2 vyučovací hodiny: Opakování.
Jednoduché datové typy
A1PRG - Programování – Seminář Ing. Michal Operátory (2. část) 4 Verze
C – strukturované příkazy
Gramatiky a jazyky Přednáška z předmětu Řízení v komplexních systémech
KOMBINAČNÍ LOGICKÉ FUNKCE
Počítače a programování 1
Cvičení.
3. Příkazy  Příkazy dělíme na jednoduché a strukturované.  Jednoduché příkazy - žádnou jejich dílčí částí neni příkaz - přiřazovací, vstupu a výstupu,
5. Procedury a funkce Procedura je samostatně odladěný algoritmus, v programu může být volána vícekrát. Dvojí terminologie - rozlišujeme procedury a funkce.
Programovací jazyk PASCAL
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Příklady v jazyku C – část 3
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Algoritmizace a programování Vývojové diagramy - 03
7. Typ soubor Souborem dat běžně rozumíme uspořádanou množinu dat, uloženou mimo operační paměť počítače (na disku). Pascalský soubor je abstrakcí skutečného.
NEÚPLNÁ PODMÍNKA V JAVĚ. VÝVOJOVÝ DIAGRAM +- Podmínka Příkaz_1.
A1PRG - Programování – Seminář Ing. Michal Řízení běhu programu 5 Verze
PROGRAMOVÁNÍ V PHP PERSONAL HOME PAGES CYKLY V PHP.
Počítače a programování 1 7.přednáška. Základy Pole ve třídách a metodách Pole Arrays.
Datové typy a operátory. Co jsou datové typy  Charakterizují proměnnou nebo konstantu – jaká data obsahuje  Data jsou v počítači ukládána jako skupiny.
ZÁKLADNÍ POJMY. ZDROJOVÝ TEXT PROGRAMU Tvoří: klíčová slova komentáře identifikátory.
Jazyk C A0B36PRI - PROGRAMOVÁNÍ Část II.
Jazyk C A0B36PRI - PROGRAMOVÁNÍ Část I.
C – if Mgr. Lenka Švancarová. if vývojový diagram Podmínka Příkaz(y) Podmínka Příkaz(y) Úplné větveníNeúplné větvení ++--
C – cyklus do-while Mgr. Lenka Švancarová.
Vícerozměrná pole (1) Jazyk C povoluje, aby pole mělo více rozměrů (dimenzí) než jeden Z vícerozměrných polí bývá nejčastěji použí-váno pole dvourozměrné.
Počítače a programování 1 2.přednáška. Základní lexikální struktura programu Program v jazyce Java je tvořen symboly a oddělovači Program Java je psán.
Pokročilé datové typy (struktury, unie, dynamické proměnné)
Programování KONSTANTY, ČTENÍ PO JEDNOM ZNAKU GETCHAR() FORMÁTOVANÝ VÝSTUP POMOCÍ PRINTF, VÝVOJOVÉ DIAGRAMY, CYKLY.
Praha & EU: Investujeme do vaší budoucnosti Evropský sociální fond Gymnázium, Praha 10, Voděradská 2 Projekt OBZORY Datové typy a operátory Základní programové.
Programování ÚVOD, PROMĚNNÉ, OPERÁTORY A PODMÍNĚNÝ PŘÍKAZ ERIK KRÁL.
Typ struktura (1) Datový typ struktura (struct) je agrego-vaný heterogenní datový typ Jedná se o skupinu několika proměnných, které mohou mít různé datové.
Inf Cykly ve vývojových diagramech
Programování ENUM, SWITCH,pole jednorozměrná a vícerozměrná, deklarace, inicializace, kopírování, porovnání Erik Král.
Vícerozměrná pole (1) Jazyk C povoluje, aby pole mělo více rozměrů (dimenzí) než jeden Z vícerozměrných polí bývá nejčastěji použí-váno pole dvourozměrné.
Výukový materiál zpracován v rámci projektu
Výukový materiál zpracován v rámci projektu
Programovací jazyk C Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Jitka Vlčková. Dostupné z Metodického portálu ISSN.
Funkce výstupu (2) Funkce printf: deklarována v: stdio.h
Výukový materiál zpracován v rámci projektu
Lexikální atomy jazyka C
Řetězce (24) Funkce strchr: deklarována v: string.h
Příkazy cyklu (1) Umožňují vícekrát (nebo ani jednou) pro-vést určitý příkaz Jazyk C rozlišuje příkaz cyklu: s podmínkou na začátku: obecný tvar: while.
Oblast platnosti identifikátoru (1)
Opakování základních příkazů a syntaxí v programovacím jazyce Pascal
Typ pole (1) Proměnná typu pole představuje kolekci proměnných stejného datového typu, které mohou být označovány společným jménem (identifikátorem) Pole.
Opakování ze 3. cvičení deklarace proměnných výpis na monitor (výstup)
Řetězce (1) Řetězec (string) je posloupnost znaků (hod-not typu char)
Typ ukazatel (1) Proměnné typu ukazatel (pointer) uchovávají paměťovou adresu Hodnota ukazatele říká, kde (na jaké adrese) se v paměti nachází nějaký objekt.
Cyklus for (1) Obecný tvar: for (výraz1; výraz2; výraz3) příkaz
Opakování ze 4. cvičení int a; printf("Zadej číslo: ");
Transkript prezentace:

Proměnné (1) Proměnná: Definice proměnných: identifikátor, který může být v různých okam-žicích realizace programu spojen s různými hodnotami (téhož nebo kompatibilního) typu Definice proměnných: datový_typ1 id11, id12, …, id1n; datový_typ2 id21, id22, …, id2m; Např.: int i, j, k; double x, y; 16/01/2019

Proměnné (2) V zápisu definice proměnné je možné pro-vést i její inicializaci (nastavení její počá-teční hodnoty) Např.: int i = 0, j = 1, k; double x, y = 315.25; Jazyk C povoluje také použití tzv. konstant-ních proměnných const int i = 1000, j = 50; 16/01/2019

Proměnné (3) Hodnota konstantní proměnné je pevně dá-na její definicí a nemůže se v průběhu prog-ramu nijak měnit Konvence: identifikátory všech proměnných a funkcí zapi-sovat jako lower camel case: první písmeno vždy malé jestliže identifikátor je složen z více slov, pak každé slovo (vyjma prvního) začíná velkým písmenem Příklady: i, j, m, tlak, teplota, x1, x2, maxHodnota, nactiCislo, vypisPrvniZnak 16/01/2019

Funkce vstupu (1) Funkce scanf: deklarována v: stdio.h prototyp: int scanf(const char *format,…); funkce: načítá znaky ze standardního vstupu (klávesnice po-čítače) a převádí je podle řídícího řetězce format převedené znaky jsou po řadě ukládány do proměn-ných, jejichž adresy (ukazatele na ně) jsou zapsány jako další argumenty funkce scanf poznámka: adresu proměnné získáme zápisem: &identifikátor_proměnné (např. &x) 16/01/2019

Funkce vstupu (2) vrácená hodnota: parametr format: počet převedených a přiřazených (uložených) hodnot jestliže dojde k chybě nebo vyčerpání vstupních zna-ků dříve, než je přiřazena nějaká hodnota, pak funkce scanf vrací hodnotu EOF parametr format: může obsahovat: mezery nebo tabulátory, které jsou ignorovány obyčejné znaky (vyjma %), které by měly odpovídat násle-dujícím znakům na vstupu – používané zřídka konverzní specifikace 16/01/2019

Funkce vstupu (3) Konverzní specifikace: obecný tvar: %[potlačení_dosazení][šířka][velikost]operace operace: d celé číslo se znaménkem v desítkové soustavě i celé číslo se znaménkem, které může být v: desítkové soustavě osmičkové soustavě (s 0 na začátku) šestnáctkové soustavě (s 0x nebo 0X na začátku) o celé číslo se znaménkem v osmičkové soustavě (s nulou na začátku nebo bez ní) 16/01/2019

Funkce vstupu (4) u celé číslo bez znaménka v desítkové soustavě x celé číslo se znaménkem v šestnáctkové soustavě (s 0x nebo 0X na začátku, popř. bez nich) f, e, g reálné číslo float (i v semilogaritmic- kém) tvaru pro načítání čísel typu double je nezbytné na místě velikost zapsat l, tj.: lf, le, lg reálné číslo double (i v semilogarit- mickém) tvaru 16/01/2019

Lexikální atomy jazyka C Znaky, které tvoří program v jazyce C, se spo-jují do tzv. lexikálních atomů Existuje 5 tříd atomů: klíčové (rezervované) slovo identifikátor konstanta (celočíselná, reálná, znaková, řetězcová) operátor oddělovač 16/01/2019

Klíčová (rezervovaná) slova auto enum restrict unsigned break extern return void case float short volatile char for signed while const goto sizeof _Bool continue if static _Complex default inline struct _Imaginary do int switch double long typedef else register union 16/01/2019

Identifikátory (1) Identifikátor může mít libovolnou délku, ale různé implementace rozlišují jen pouze prvních n znaků (C99 – 63 znaků) Písmeno Podtržítko Písmeno Číslice Podtržítko 16/01/2019

Identifikátory (2) Podtržítko: _ Písmeno: A Z a z 16/01/2019

Číslice Číslice:  Nenulová číslice: Oktálová číslice: 9 1 9 Oktálová číslice: 7 Hexadecimální číslice: Číslice A F a f 16/01/2019

Čísla (1) Celá: dekadická: oktálová: Nenulová číslice Číslice Přípona Oktálová číslice Přípona 16/01/2019

Čísla (2) hexadecimální: přípona: poznámka: 0x Hex. číslice Přípona 0X u u l l L L U U L L poznámka: l, L – označuje long ll, LL – označuje long long u, U – označuje unsigned 16/01/2019

Čísla (3) Reálná (vždy v desítkové soustavě): Exp: - Reálná přípona Číslice . Číslice Exp Exp: E + Číslice e - 16/01/2019

Čísla (4) Reálná přípona: Poznámka: f, F: označuje float l, L: označuje long double jestliže není použita přípona, pak se jedná o typ double 16/01/2019

Čísla (5) Hodnota celočíselné i reálné konstanty je vždy nezáporná Pro vyjádření záporných konstant je možné použít znaménko - (mínus) Znaménko - je považováno za unární ope-rátor, který se aplikuje na konstantu, tj. není součástí konstanty 16/01/2019

Přiřazovací příkaz (1) Obecný tvar: proměnná = výraz; Funkce: Např.: vyhodnotí výraz na pravé straně a výslednou hodnotu vloží do proměnné na levé straně pří-kazu Např.: i = 10; j = 2*i+15; k = j; i = i+2; k = k+1; Výraz na pravé straně přiřazovacího příkazu musí být typově kompatibilní s proměnnou uvedenou na jeho levé straně 16/01/2019

! ~ ++ -- + - * & (typ) sizeof Přiřazovací příkaz (2) Při vyhodnocování výrazu je respektována následující priorita operátorů: Operátory Asociativita Skupina ( ) [ ] -> . Zleva doprava Primární ! ~ ++ -- + - * & (typ) sizeof Zprava doleva Unární * / % Zleva doprava Multiplikativní + - Zleva doprava Aditivní << >> Zleva doprava Posuny < <= > >= Zleva doprava Relační == != Zleva doprava Relační 16/01/2019

%= &= ^= |= <<= >>= Přiřazovací příkaz (3) Operátory Asociativita Skupina & Zleva doprava Bitový součin ^ Zleva doprava Exkl. bit. součet | Zleva doprava Bitový součet && Zleva doprava Logický součin || Zleva doprava Logický součet ?: Zprava doleva Ternární podm. = += -= *= /= %= &= ^= |= <<= >>= Zprava doleva Přiřazovací , Zleva doprava Operátor čárka 16/01/2019

Přiřazovací příkaz (4) Zápisy, v nichž se proměnná na levé straně ihned opakuje na pravé straně, lze zapsat v kompaktnější formě: proměnná = proměnná op (výraz); lze zapsat jako: proměnná op= výraz; Např.: i = i+2; lze zapsat jako i += 2; j = j-5; lze zapsat jako j -= 5; k = k*4; lze zapsat jako k *= 4; l = l/3; lze zapsat jako l /= 3; 16/01/2019

Přiřazovací příkaz (5) Poznámka: operátory op= se nazývají přiřazovací operátory zápis x *= y+1; vyjadřuje x = x*(y+1); nikoliv x = x*y+1; V případě zvyšování (snižování) hodnoty proměnné o 1 lze použít operátor inkremen-tace (dekrementace) Např.: i = i+1; lze zapsat jako i++; nebo ++i; j = j-1; lze zapsat jako j--; nebo --j; 16/01/2019

Přiřazovací příkaz (6) Poznámka: zápis i++; (j--;) provede zvýšení (snížení) hodnoty proměnné i (j) o jedničku až po jejím použití zápis ++i; (--j;) provede zvýšení (snížení) hodnoty proměnné i (j) o jedničku před jejím použitím příklad: n = 5; x = n++; /* x = 5 a n = 6 */ n = 5; x = ++n; /* n = 6 a x = 6 */ 16/01/2019

Složený příkaz (1) Označovaný také jako blok Obecný tvar: { seznam deklarací a definic p1 /* posloupnost */ p2 /* příkazů */ pn } Poznámka: složený příkaz není ukončen středníkem 16/01/2019

Složený příkaz (2) Funkce: posloupnost deklarací, definic a příkazů uzavře-ných mezi symboly { a } sdružuje příkazy p1 až pn do jednoho složeného příkazu (bloku) deklarované a definované symboly jsou dostup-né pouze v daném bloku a všech blocích do něj vnořených používán v okamžiku, kdy je místo jednoho pří-kazu nutné provést příkazů více, např. u podmí-něného příkazu nebo u příkazů cyklu 16/01/2019

Relační a logické operátory (1) Relační operátory: slouží k porovnávání svých operandů tyto operátory testují vztah: < je menší než <= je menší nebo roven > je větší než >= je větší nebo roven == je roven != je různý od poznámka: operátory == a != mají nižší prioritu než operátory <, <=, > a >= 16/01/2019

Relační a logické operátory (2) umožňují provádět logické operace: && logický součin, konjunkce || logický součet, disjunkce Pro vyjádření logické negace lze použít operátor ! Relační a logické operátory lze využít pro zápis výrazů, které reprezentují podmínky pro podmíněný příkaz a příkazy cyklu Výraz je: pravdivý: jestliže má nenulovou hodnotu nepravdivý: jestliže má hodnotu rovnou nule 16/01/2019

Podmíněný příkaz (1) Používá se v případě, kdy je zapotřebí vyjá-dřit rozhodování Zvolí k provedení jeden (nebo žádný) ze svých dílčích příkazů Tato volba je dána pravdivostní hodnotou výrazu (reprezentujícího podmínku) Jazyk C rozlišuje dva typy podmíněného příkazu: 16/01/2019

Podmíněný příkaz (2) neúplný: úplný: obecný tvar: if (výraz) příkaz funkce: vyhodnotí se výraz za klíčovým slovem if je-li výraz pravdivý, provede se příkaz, v opačném případě program pokračuje dalším příkazem úplný: obecný tvar: if (výraz) příkaz1 else příkaz2 je-li výraz pravdivý, provede se příkaz1, v opačném případě se provede příkaz2 16/01/2019

Podmíněný příkaz (3) Funkce podmíněných příkazů znázorněná graficky pomocí vývojových diagramů: výraz výraz příkaz příkaz1 příkaz2 16/01/2019

Příkazy cyklu (1) Umožňují vícekrát (nebo ani jednou) pro-vést určitý příkaz Jazyk C rozlišuje příkaz cyklu: s podmínkou na začátku: obecný tvar: while (výraz) příkaz funkce: vyhodnotí se výraz za klíčovým slovem while je-li výraz pravdivý, provede se příkaz a opět se vy-hodnotí výraz příkaz se provádí tak dlouho, dokud je výraz pravdivý v okamžiku, kdy výraz není pravdivý, program pokra-čuje dalším příkazem pozn.: příkaz nemusí být proveden ani jednou 16/01/2019

Příkazy cyklu (2) Poznámka: s podmínkou na konci: obecný tvar: do příkaz while (výraz); funkce: provede se příkaz za klíčovým slovem do vyhodnotí se výraz za klíčovým slovem while je-li výraz pravdivý, provádí se příkaz znovu, v opač-ném případě program pokračuje následujícím příkazem pozn.: příkaz je vždy proveden alespoň jednou Poznámka: cyklus s podmínkou na začátku lze vždy nahra-dit cyklem s podmínkou na konci a naopak prakticky však bývá v některých případech jed-nodušší použití cyklu s podmínkou na začátku a v jiných případech cyklu podmínkou na konci 16/01/2019

Příkazy cyklu (3) Funkce příkazů cyklu znázorněná graficky pomocí vývojových diagramů: cyklus s podmínkou na začátku cyklus s podmínkou na konci výraz příkaz výraz příkaz 16/01/2019