POČÍTAČE A PROGRAMOVÁNÍ 2

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

Download "POČÍTAČE A PROGRAMOVÁNÍ 2"

Transkript

1 POČÍTAČE A PROGRAMOVÁNÍ 2 Přednášky Zbyněk Raida, Irena Hlavičková, Michal Pokorný a další ÚSTAV RADIOELEKTRONIKY

2

3 POČÍTAČE A PROGRAMOVÁNÍ 2 Přednášky Zbyněk Raida, Irena Hlavičková, Michal Pokorný a další ÚSTAV RADIOELEKTRONIKY

4 Zbyněk Raida, Irena Hlavičková, Michal Pokorný, 2007 ISBN

5

6 Název POČÍTAČE A PROGRAMOVÁNÍ 2 Přednášky Autoři Vydavatel Vydání Prof. Dr. Ing. Zbyněk Raida Mgr. Irena Hlavičková Ing. Michal Pokorný Vysoké učení technické v Brně Fakulta elektrotechniky a komunikačních technologií Ústav radioelektroniky Purkyňova 118, Brno druhé, přepracované Rok vydání 2007 Náklad Tisk 400 ks MJ Servis s.r.o., Kouty 16, Brno ISBN Tato publikace neprošla redakční ani jazykovou úpravou

7 obsah Obsah 1 Úvod Programování Borland C++ Builder první pohled Jazyk C Identifikátory, typy dat, proměnné Lokální a globální proměnné Pravidla deklarování proměnných Základní typy proměnných Ukazatele Pole Výrazy, operátory, konverze Aritmetické konverze Priorita operací Aritmetické operátory Relační operátory Logické operátory Bitové operátory Operátory inkrementování a dekrementování Přiřazovací operátory Řetězce, ukazatele Příkazy Příkazy pro větvení programu Příkazy pro cykly Příkazy pro přenos řízení Příklad Abecední seznam příkazů Funkce Programové jednotky, hlavičkové soubory Rekurze funkcí Pokročilé datové typy Struktury Unie Výčtové typy Dynamické proměnné

8 obsah 8.5 Příklad Auta Příklad Žáci Struktury ve Windows Borland C++ Builder druhý pohled Vývoj aplikace pro Windows Seznam počítačů Struktury v C Matice ve Windows Sčítání a inverze Uživatelské rozhraní Grafika ve Windows Kreslení grafů Tvary MDI aplikace Práce se soubory Příklady Stavový automat Interaktivní vykreslování přenosové charakteristiky filtru Literatura

9 úvod 1 Úvod Předmět Počítače a programování 2 (ve zkratce BPC2) je vyučován v letním semestru prvního ročníku bakalářského studia. Předmět je společný všem oborům studijního programu Elektrotechnika, elektronika, komunikační a řídicí technika. Základním cílem předmětu je naučit se programovat v jazyku C. Tento jazyk je v současnosti používán pro programování mikroprocesorů řídících vše od vysavače přes měřicí přístroj po jednotlivé subsystémy moderního auta. Jazyk C se používá pro vývoj všemožných aplikací pro Windows i LINUX. Jazyk C je zkrátka všude. S jazykem C se budeme seznamovat prostřednictvím vývojového nástroje Borland C++ Builder. Dvouměsíční licenci programu lze získat zdarma na Každý se tak může s programováním v jazyce C seznamovat sám doma s využitím legálního software. Programovací jazyk je jazykem stejným jako každý jiný. Naučit se anglicky je dřina a s jazykem C je to stejné. Bez toho, že by člověk hodiny programoval, o programech přemýšlel a zkoušel stejnou věc naprogramovat lépe a lépe, to zkrátka nejde. Přejeme tedy otevřenou mysl a spoustu trpělivosti. Předkládané skriptum vzniklo po několikaleté zkušenosti s výukou jazyka C na FEKT VUT v Brně. S jeho psaním pomohli Ilona Lázničková, Lukáš Oliva, Miloš Richter a mnoho dalších. Všichni se snažíme učit jazyk C co možná nejlépe a nejzajímavěji. Snad se to alespoň trochu daří. 1.1 Programování Pod pojmem programování rozumíme psaní textu, který procesoru počítače jednoznačně říká, co má dělat a jak. Psaní programu můžeme rozdělit do následujících kroků: 1. Sestavení algoritmu. Na základě zadaného úkolu navrhneme postup (sestavíme algoritmus), jakým lze danou úlohu vyřešit. Algoritmus obvykle vyjadřujeme blokovým schématem. Na pevném disku počítače máme v souboru teplo.dat uloženy teploty, které byly během předchozího dne naměřeny v každou celou hodinu. Našim úkolem je určit tu hodinu, kdy byla teplota nejnižší. Soubor tedy otevřeme a data z něj uložíme do sady proměnných souhrnně označených jako temp (temperature, teplota). Dále si vytvoříme pomocnou proměnnou min_temp (minimum temperature) a uložíme start temp teplo.dat min_temp 900 m 1 min_temp >temp(m) ANO NE min_temp teplo(m) min_time m m<25 m m + 1 ANO NE konec Obr. 1.1 Algoritmus hledání nejnižší teploty - 7 -

10 úvod do ní nerealisticky vysokou teplotu 900 C. Obsah proměnné min_temp budeme postupně porovnávat s jednotlivými zaznamenanými teplotami (na právě porovnávaný obsah proměnné ze sady temp ukazuje index m). Pokud je některá zaznamenaná teplota nižší nežli obsah min_temp (větev ANO) uložíme tuto hodnotu do min_temp, a současně do proměnné min_time uložíme pořadí daného čísla (dané teploty) v souboru teplot; pořadí čísla v souboru totiž odpovídá hodině, kdy byla teplota naměřena. V opačném případě (testovaná teplota ze souboru je vyšší nežli obsah min_temp) se nic neděje. Jakmile projdeme všechna čísla v souboru (index m je větší než počet hodin dne), budeme mít v proměnné min_temp údaj o nejnižší naměřené teplotě a v proměnné min_time údaj o hodině, kdy byla tato teplota naměřena. Popsaný algoritmus lze vyjádřit blokovým schématem z obr Zapsání algoritmu v programovacím jazyku. Na základě přesně daných pravidel jazyka (tzv. syntaxe) napíšeme text (tzv. zdrojový kód), který překladač programovacího jazyka umí přeložit do kódu strojového do kódu, kterému rozumí procesor počítače. Pokud se rozhodneme algoritmus pro vyhledávání nejnižší teploty (obr. 1.1) vyjádřit v jazyku C, může zdrojový kód algoritmu vypadat následovně 2 : #include <conio.h> void main( void) // pole teplot; první údaj naměřen v 1:00, poslední údaj // naměřen ve 24:00 float temp[24] = -8.1, -8.3, -8.6, -9.2, -9.4, -9.2, -9.0, -8.5, -7.9, -6.7, -5.0, -2.3, +1.1, +2.3, +1.2, -0.8, -2.6, -4.1, -5.2, -6.3, -7.7, -8.5, -9.1, -9.3; float min_temp; // nejnižší teplota int min_time; // hodina, kdy naměřena min.teplota int m; // index pro vyhledávání min_temp = 900; // počáteční nastavení for( m=1; m<25; m++) // cyklus přes 24 hodiny if( temp[m-1]<min_temp) // pokud v m-té hodině teplota nižší // nežli min_temp min_temp = temp[m-1]; // změň obsah min_temp min_time = m; // ulož údaj o hodině s min.teplotou cprintf("min. teplota %4.1f ", min_temp); cprintf("byla v %d hodin", min_time); // zobraz min.teplotu // zobraz hodinu getch(); 1 2 Obr. 1.1 je tzv. vývojový diagram. Jeho účelem je popsání algoritmu. Oválné rámečky značí začátek nebo konec programu či podprogramu, obdélníkové proceduru, funkci nebo příkaz. Kosodélníky značí místo větvení, ve kterém se rozhoduje o pokračovací větvi. V textu budeme pro psaní programů využívat následující konvence: klíčová slova (float, int, if, for ) budou tučně, poznámky budou psány kurzívou, ostatní zdrojový kód je psán proporcionálním písmem

11 úvod První řádek nám říká, že do programu zahrnujeme knihovnu naprogramovaných funkcí conio 3 (console input output funkce pro načítání a vypisování do příkazového řádku). Do této knihovny patří např. cprintf (tisk do příkazového řádku) nebo getch (načtení znaku). Druhý řádek programu je tzv. hlavička funkce. Uprostřed hlavičky se nachází jméno funkce (v našem případě main 4 ). Nalevo od jména je uveden typ hodnoty, kterou funkce vrací (v našem případě void 5 ). Napravo od jména se v závorce uveden seznam vstupních parametrů (v našem případě opět void). Slovo void značí prázdný parametr, tedy nic. Každý program v jazyku C je chápán jako funkce. Složené závorky označují kód, který společně tvoří jeden blok tělo funkce. Za dvojité lomítko můžeme psát svůj komentář (znaky komentáře jsou překladačem ignorovány). Slovo float uvozuje reálnou proměnnou, slovo int celočíselnou proměnnou. Proměnná temp sestává z 24 reálných čísel, první číslo má v hranatých závorkách index 0. Znaménkem = vložíme do proměnné konkrétní číselnou hodnotu. Řádkem for říkáme, že následný kód budeme vykonávat od m=1 do m=24 (poté přestane platit m<25), přičemž po každém vykonání následného kódu bude hodnota indexu m zvýšena o jedničku (m++). Pokud je splněna nerovnost v kulaté závorce za if, vykoná se následný blok ve složené závorce; v opačném případě nebude vykonáno nic. Poslední dva řádky vypíší nejnižší teplotu a odpovídající hodinu do příkazového řádku (viz obr. 1.2). Za %4.1f je dosazen obsah proměnné min_temp typu float; vypsané číslo sestává celkem ze čtyř znaků, z nichž jeden je za desetinnou tečkou. Za %d je dosazen obsah proměnné min_time typu int. Obr. 1.2 Textový výstup programu do příkazového řádku. 3. Ladění programu. Člověk je omylný, a proto se při psaní zdrojového kódu dopouští omylů. Naše možné chyby přitom můžeme rozdělit na omyly syntaktické a omyly logické Knihovna conio je speciální knihovna prostředí Borland C++ Builder. Jak si asi všimli ti, kteří používají jinou literaturu nebo už s jazykem C měli co do činění, její funkce cprintf, resp. cscanf se podobají funkcím standardní knihovny C pro vstup a výstup (stdio.h) scanf, printf, a stejně se i používají. Funkce knihovny stdio na rozdíl od conio zkompilujeme kdekoli (Linux/Windows, gcc/msvisual Studio/...), a výsledkem jejich používání je přenositelný kód. Funkce main() je nejdůležitější funkcí programu. V každém programu smí být jen jedna. Funkce main() obsahuje, co program dělá. Ostatní funkce jsou pouze pomocné a jsou spouštěny v main() nebo v ostatních funkcích. Pokud by měl být zdrojový kód zcela obecný (tzn. přeložitelný libovolným kompilátorem jazyka C), musela by funkce vracet celočíselnou hodnotu. Jelikož překladač Borlandu nemá s návratovou hodnotou void potíže, nebudeme se jí vyhýbat

12 úvod Syntaktickým omylem rozumíme omyl v zápisu (záměna malého a velkého písmene, odkaz na neexistující proměnnou, atd.). Na syntaktický omyl nás upozorní překladač, který v důsledku našeho omylu není schopen převést náš zdrojový kód na kód strojový. Pokud bychom cyklus v našem příkladu zahájili slovem For, dopustili bychom se syntaktického omylu. Syntaxe jazyka C totiž vyžaduje začít slovo for malým písmenem. Logickým omylem je omyl, který překladač neodhalí. Po spuštění programu se však naše aplikace chová jinak, než jsme očekávali 6. Napíšeme-li v našem příkladu místo přiřazení min_time=m nesprávně min_time=m+1, bude údaj o času nejnižší teploty posunut o jednu hodinu. Běh programu bude bezproblémový, avšak produkovaný výsledek bude chybný. Proces odstraňování chyb je nazýván laděním (debugging). Ladění je posledním krokem při vývoji programu. 1.2 Borland C++ Builder první pohled Borland C++ Builder je komplexní nástroj pro vytváření rozsáhlých aplikací určených pro operační systémy Microsoft Windows. Zahrnuje podporu programování databázových, internetových, grafických a dalších aplikací. Tyto aplikace jsou programovány v jazyce C++. Jazyk C++ vznikl jako tzv. objektové rozšíření základního jazyka C 7. Stručné vysvětlení pojmu objektově orientované programování si ponecháme na druhou polovinu semestru. Hlouběji se lze s objektovým jazykem C++ seznámit v navazujících předmětech v dalších semestrech studia. Náš předmět se soustřeďuje na základní neobjektovou verzi jazyka C. Abychom se zbytečně nerozptylovali všemi možnostmi, které nám Windows přinášejí, budou naše první programy určeny pouze pro příkazovou řádku. Mluvit budeme o tzv. konzolových aplikacích (console applications). Uživatelský pohled na konzolovou aplikaci vidíme na obr Obr. 1.3 ukazuje základní pohled na Borland C++ Builder. Novou konzolovou aplikaci vytvoříme postupným výběrem položek menu New Other. V okénku, které se následně otevře, vybereme ikonu Console Wizard. Výběrem ikony Console Wizard otevřeme dialog pro základní nastavení konzolové aplikace (viz obr. 1.4). Jelikož budeme psát neobjektový program, v levé části dialogu vybereme možnost C. Jelikož nebudeme psát program, který řeší úlohu rozdělenou do několika paralelních vláken (threads), možnost Multi Threaded zůstane v pravé části okna nevybrána. Potvrdíme-li nastavení aplikace tlačítkem OK, otevře se editor pro psaní zdrojového kódu. Kód můžeme uložit do souboru, spustit, krokovat řádek po řádku. Všechny tyto úkony lze spustit stiskem ikony na tzv. speedbaru Builderu (viz obr. 1.5). 6 7 Toto je lepší varianta. Horší chyby se projeví až v okamžiku, když program považujeme za funkční. Předejít oběma druhům chyb se dá pomocí správných programátorských návyků (inicializace proměnných, kontrola přetečení polí, apod.), jak se dozvíme v dalším textu. Jazyk C++ se na rozdíl od C poměrně rychle vyvíjí. Důvodem jeho vzniku bylo zjednodušení vývoje aplikací a vytvoření jazyka se stručnějším zápisem. V současné době C++ přináší možnosti, které v C přímo nejsou (např. šablony nebo přetížení operátorů). Využití těchto vlastností ale vyžaduje naučit se něco navíc. Tyto možnosti slouží k usnadnění programování. Na druhou stranu není pravda, že by algoritmus, který lze naprogramovat v C++ nešlo naprogramovat v C

13 úvod Nyní, když jsme se stručně seznámili s programem Borland C++ Builder, můžeme se pustit do studia jazyka C. Získané znalosti si můžeme ověřovat na vlastních programech. Při jejich ladění s výhodou využijeme nástrojů, které nám Builder poskytuje. Obr. 1.3 C++ Builder: konzolová aplikace. Při ladění zastavíme program na začátku bloku, v němž předpokládáme chybu. Toho dosáhneme vložením tzv. breakpointu na odpovídající řádek programu (klikneme myší na šedý levý okraj řádku; řádek zčervená a na okraji se objeví tučná tečka téže barvy). Poté kritický blok krokujeme pomocí Trace Into nebo Step Over. V jednotlivých krocích prohlížíme obsah proměnných a ověřujeme správnost jejich obsahu. Pokud zjistíme nesprávnou hodnotu, můžeme ji pro další ladění nahradit hodnotou korektní. Obr. 1.4 Console Wizard. Ke kontrole obsahu proměnných a jejich změně slouží položka menu Run Evaluate/ Modify. Výběrem této položky otevřeme okno z obr Do řádku Expression vepíšeme název proměnné, stiskneme Evaluate a v editačním poli Result objeví její obsah. Chceme-li obsah proměnné změnit, vepíšeme do řádku New value novou hodnotu proměnné a stiskneme Modify. Do řádku Expression lze psát i celé výrazy (např. i+j)

14 úvod nový projekt otevři ulož funkce v jednom kroku spusť aplikaci zastav běh aplikace krokuj dovnitř funkce Obr. 1.5 Tzv. speedbar Builderu. Ladicí nástroje Builderu jsou efektivní a pohodlné. Přesto je lepší dobře si promyslet a nakreslit algoritmus sestavovaného programu, abychom se nedopouštěli zbytečných logických omylů. Nutné je dobře se naučit syntaxi programovacího jazyka, abychom se nedopouštěli zbytečných omylů syntaktických. Obr. 1.6 Dialog pro sledování obsahu proměnných

15 jazyk c 2 Jazyk C Programovací jazyk C vyvinul na přelomu šedesátých a sedmdesátých let D.M. Ritchie u firmy AT&T. Jazyk se stal postupem doby natolik oblíbený, že byl kodifikován Americkým národním úřadem pro normalizaci (ANSI 8 ). Na základě této normy vznikla řada implementací jazyka C pro různé typy počítačů a pro různé druhy operačních systémů. Počátkem osmdesátých let byla navržena objektová verze 9 jazyka, pro níž se vžilo označení C++. Jazyk C++ se postupem doby stal základem moderních vývojových nástrojů, jakými jsou Borland C++ Builder nebo Microsoft Visual C++. S nástrojem Borland C++ Builder jsme se již seznámili a zůstaneme mu dále věrni. Nicméně, naši pozornost soustředíme na původní, neobjektovou verzi jazyka, na ANSI C. Důležité pro nás bude, abychom si zvykli na syntaxi jazyka C a abychom se naučili v jazyce C myslet. Přechod k moderní, objektové verzi C++ by pak už měl být pro nás relativně snadný. 8 9 Současná používaná norma jazyka C je ISO99. Program obvykle sestává z nezávislého kódu (posloupnost instrukcí v tělech funkcí) a z nezávislých dat (proměnné, v nichž jsou uloženy programem zpracovávané údaje). Objektové programování skládá funkce (kód) a proměnné (data) do jediné struktury, kterou nazýváme objekt

16 identifikátory, typy dat, proměnné 3 Identifikátory, typy dat, proměnné Identifikátorem rozumíme libovolnou posloupnost písmen anglické abecedy a číslic 10. Identifikátor hraje roli jména naší vlastní proměnné nebo naší vlastní funkce. Identifikátor musí začínat písmenem (nesmí mít na první pozici číslo). V jazyce C je třeba rozlišovat malá a velká písmena. Termínem proměnná rozumíme místo v paměti, do něhož ukládáme data určitého typu. Jméno proměnné (sestavujeme jej podle výše uvedených pravidel pro identifikátory) zastupuje adresu paměťového místa. Typ proměnné jednoznačně určuje, jak velký paměťový prostor má být na dané platformě vyhrazen pro uložení obsahu proměnné a jak má být interpretován. Proměnné musíme před jejich použitím deklarovat. Deklarace počítači oznamuje, jak velké paměťové místo má být pro naši proměnnou rezervováno a jakým jménem se budeme na toto paměťové místo odkazovat. 3.1 Lokální a globální proměnné Podle umístění deklarace můžeme proměnné rozdělit na lokální a globální. Lokální proměnná je deklarována v těle funkce 11. Tato proměnná je pak dostupná jen v rámci této funkce a existuje jen po dobu jejího provádění. Jakmile tělo funkce opustíme (je vykonána poslední instrukce funkce či bloku), je paměťové místo, v němž byla proměnná uložena, uvolněno (vymaže se jeho adresa, a tím je ztracen i jeho obsah). Globální proměnná je většinou deklarována mimo těla funkce. Tato proměnná existuje po celou dobu provádění programu a mohou k ní přistupovat všechny funkce, které jsou definovány za deklarací této proměnné. Základním programátorským pravidlem je používat globální proměnné pouze v nejnutnějších případech. Deklarace sestává z typu proměnné (kolik bajtů je třeba v paměti rezervovat pro uložení obsahu proměnné) a z identifikátoru proměnné (jméno reprezentující adresu paměťového prostoru pro uložení hodnoty). Práci s lokálními a globálními proměnnými si vysvětlíme na jednoduchém příkladu. Později, až budeme probírat funkce, se k tomuto tématu ještě podrobněji vrátíme Existuje ještě několik dalších znaků, které jsou povoleny, ale s výjimkou podtržítka _ se nedoporučuje je užívat. Přesněji platí, že proměnné lze v C deklarovat na začátku bloku. Blok je ohraničen složenými závorkami vyskytuje se jako těla cyklů for či podmínky if. Je možné ho i vložit kamkoli v programu. Začátek bloku je kromě globální deklarace (před funkcí main) jediným místem programu, kde mohou být deklarovány proměnné

17 identifikátory, typy dat, proměnné #include <conio.h> int a = 10; void main( void) int b = 20; // global variable // local variable cprintf( "Global: %d\r\n", a); getch(); cprintf( "Local : %d\r\n", b); getch(); Proměnná a je globální a je přístupná ze všech funkcí deklarovaných v programu níže. Proto můžeme její obsah vytisknout i uvnitř funkce main. Proměnná b je lokální. Existuje pouze v rámci funkce main, v níž je deklarovaná. Mimo funkci main není proměnná b přístupná. Ve výše uvedeném výpisu si můžeme všimnout, že se v deklaraci globální proměnné a objevuje za jménem proměnné rovnítko následované celočíselnou hodnotou. Pomocí této konstrukce můžeme přímo v deklarační části programu nově vytvořenou proměnnou inicializovat (na paměťové místo označené identifikátorem a ukládáme hodnotu 10). Dále připomeňme: #include <conio.h> spojí náš program s knihovnou funkcí určených pro vytváření konzolových aplikací. void main( void) je hlavička funkce hlavní program. Náš hlavní program nemá žádný vstupní parametr (void v závorce) a žádný parametr výstupní (void vlevo). K tisku slouží funkce cprintf. Řetězec, který chceme zobrazit v příkazovém řádku, je vepsán do uvozovek. Za %d je do řetězce vložen obsah celočíselné proměnné a (první volání funkce) nebo b (druhé volání funkce). Řídicí znak \r přenese kurzor na začátek příkazového řádku, řídicí znak \n přenese kurzor na nový řádek. Funkce getch() slouží k načtení znaku z konzoly. Zde funkci používáme jako čekání na stisk klávesy. 3.2 Pravidla deklarování proměnných Jak je zřejmé z uvedeného výpisu, deklarování proměnné se řídí následujícími pravidly: 1. Na volném řádku uvedeme typ proměnné (v našem případě int). 2. Typ proměnné oddělíme mezerou od jména proměnné daného typu. 3. Pokud potřebujeme deklarovat více proměnných daného typu, jejich jména oddělujeme čárkami (např. int first, second, third;). 4. Řádek s deklarací je ukončen středníkem. Dosud jsme se v našich příkladech setkali pouze s celočíselným typem proměnné int a racionálním typem proměnné float. O dalších základních typech se dozvíme v následujícím odstavci

18 identifikátory, typy dat, proměnné 3.3 Základní typy proměnných Vybrané základní typy proměnných jsou uvedeny v tab Proměnné z tabulky můžeme rozdělit do tří skupin: Znakové char (znak ANSI znakové sady 12 ), unsigned char (unsigned omezuje proměnnou pouze na kladné hodnoty). Celočíselné int (32-bitové celé číslo se znaménkem), short int (short sníží možnou velikost celého čísla; ušetříme 16 bitů), unsigned int (unsigned omezuje proměnnou pouze na kladné hodnoty). Racionální float (32-bitové číslo s plovoucí desetinnou čárkou a znaménkem), double (64-bitové číslo s plovoucí desetinnou čárkou a znaménkem), long double (long zvýší přesnost reprezentace racionálního čísla double). Neštěstím jazyka C je skutečnost, že velikosti typů jsou závislé na použitém procesoru či prostředí. Datové typy int a double by měly být nejpřirozenějšími typy z hlediska výpočtů pro danou platformu. Nejsou dány velikosti datových typů, ale pouze jejich relace (obsah menšího datového typu se vždy vejde do typu většího). Typy s pevnou velikostí jsou definovány v rámci normy v stdint.h. U PC Windows to je: typ bitů rozsah unsigned char 8 X <0, +255> char 8 X <-128, +127> short int 16 X < ; > unsigned int 32 X <0; > int 32 X < ; > float 32 1, < X < 3, double 64 2, < X < 1, long double 80 3, < X < 1, Tab. 2.1 Vybrané základní typy proměnných Borland C++ Builderu 13 Při výběru vhodného typu proměnné se rozhodujeme nejdříve mezi základními skupinami. Pro uložení znaku volíme skupinu char, pro uložení celočíselného indexu skupinu int, pro uložení racionálního čísla skupinu float-double. Podrobnější specifikaci typu uvnitř zvolené skupiny pak formulujeme pomocí tzv. modifikátorů (modifiers) unsigned, short, long s ohledem na požadovaný číselný rozsah proměnné na jedné straně a na dostupnou velikost paměti na straně druhé. Jakmile procesor vykoná úkony spojené s deklarací, je v paměti vytvořeno místo pro uložení hodnoty daného typu. Adresa tohoto paměťového místa je reprezentovaná proměnnou. Např. pro float z je rezervováno v paměti 32 bitů a adresa tohoto prostoru je repre Každý znak je reprezentován odpovídajícím celočíselným ASCII kódem. Se znakovými proměnnými tedy můžeme pracovat rovněž jako s celými čísly. Aby to nebylo tak jednoduché, velikost typů se může mezi procesory měnit. Pro získání velikosti typu lze použít operátor sizeof()

19 identifikátory, typy dat, proměnné zentována identifikátorem z. Pokud deklaraci doplníme nepovinným přiřazením float z=3.14, je do vytvořeného paměťového místa přímo uložena hodnota Přiřazení počátečních hodnot deklarovaným proměnným nazýváme inicializací. V inicializační části deklarace se mohou vyskytovat i výrazy. Například při deklaraci int a = 3, b = 4; double c = 0.2*a + b; je nejdříve vyčíslen výraz 0.2*a+b, a poté je vypočítaný výsledek uložen do proměnné c. Deklarace a inicializace proměnných a a b musí samozřejmě předcházet výše uvedenou deklaraci a inicializaci proměnné c. Vyčíslování výrazů při inicializaci proměnné c se liší v případě, kdy je c deklarováno jako globální proměnná (na začátku jednotky, mimo funkce) a kdy jako proměnná lokální (uvnitř některé z funkcí). V prvém případě je výraz v inicializační části vyčíslován jen jednou, a to na začátku programu. V druhém případě je výraz počítán při každém volání funkce znovu. Pokud je obsah proměnných a a b neměnný během vykonávání celého programu, je lepší inicializovat c jako globální proměnnou. Pokud se však obsah a a b během programu mění, nezbývá než c inicializovat lokálně. 3.4 Ukazatele Termínem ukazatel (pointer) rozumíme proměnnou, která je určena pro uložení adresy určitého paměťového místa. Každý ukazatel musí být přitom spjatý s datovým typem, který je na dané adrese uložen. Při čtení popisu ukazatelů v dalších odstavcích můžeme mít pocit, že z praktického pohledu nejsou užitečné. O jejich užitečnosti se přesvědčíme později při probírání dynamických proměnných. Deklarujeme-li v programu ukazatel, stačí nám do standardní deklarace přidat před jeho jméno symbol *. Tzn., int *b je ukazatel na celočíselnou proměnnou. Pokud chceme do ukazatele uložit adresu proměnné int a, použijeme zápisu b=&a. Pokud si chceme prohlédnout obsah paměťového místa, jehož adresa je uložena v b, použijeme konstrukce c=*b (c je deklarováno jako celé číslo, obsah adresy uložené v b tzn. hodnotu proměnné a kopírujeme do proměnné c). Práci s ukazateli si opět vysvětlíme na příkladu: #include <conio.h> void main( void) float x = 3.14, y = 2.27; // 1 float* p; // 2 p = &x; // 3 address of x to p *p = y; // 4 cont. of y on address in p cprintf("in x, we have: %4.2f. \r\n",x); // 5 printing result getch(); V našem programu máme deklarovány dvě lokální racionální proměnné x a y. Obě proměnné jsou přímo v deklarační části naplněny konkrétními hodnotami. Po vykonání řádku 1 máme tedy v paměti uloženo na adrese &x číslo 3.14 a na adrese &y číslo

20 identifikátory, typy dat, proměnné Na řádku 2 deklarujeme ukazatel na racionální číslo p. Do proměnné p tedy můžeme uložit adresu již existujícího racionálního čísla (v našem případě buď &x nebo &y). Identifikátor p tedy reprezentuje adresu místa v paměti, které je určeno pro uložení adresy. Chceme-li se podívat na obsah proměnné, jejíž adresa je uložena v p, napíšeme *p. Přiřadíme-li p = &x, bude *p vracet hodnotu Přiřadíme-li p = &y, bude *p vracet hodnotu Situace je graficky znázorněna na obr adresa selektor : offset proměnná místo v paměti &x 3.14 x &y 2.27 y &p p Obr. 3.1 Ukazatele. V našem případě na řádku 3 do proměnné p vkládáme adresu proměnné x, na řádku 4 měníme obsah místa v paměti s adresou uloženou v p přiřazujeme do něj obsah proměnné y. Provedením příkazu na řádku 4 se tedy změní hodnota proměnné x, neboť v p byla uložena právě její adresa. Výsledkem příkazu na 5. řádku tím pádem bude výpis: In x, we have: 2.27 Pokud bychom napsali *x, kompilátor nás upozorní, že se jedná o nesmysl. Proměnná x není ukazatel, proměnná x reprezentuje datovou oblast pro racionální číslo, a proto nemůžeme prostřednictvím hvězdičky říci podívej se do datového prostoru, jehož adresa je uložena v x. Naopak zápis &p je v pořádku. Ptáme se totiž na adresu, na níž je uložena adresa (ukazatel) reprezentovaná proměnnou p, jak je znázorněno na obr Následující program ukazuje poměrně častou chybu: void main( void) int x=1; // 1 int *p; // 2 *p = x; // 3 no address saved in p Na řádku 3 se snažíme změnit obsah místa paměti, jehož adresa je uložena v p. Jenže v p zatím není uložena žádná rozumná adresa, obsah proměnné p nebyl inicializován, takže p může ukazovat na nějaké náhodné místo. Může to být místo zcela neškodné, takže zápisem na ně nic nepokazíme a program bude vypadat, že funguje normálně. Může se však také stát, že se budeme v paměti snažit přepsat nějakou důležitou informaci, což povede k chybě. 3.5 Pole Pole (array) je datová struktura tvořená několika složkami stejného typu. Počet složek pole udáváme v jeho deklaraci v lomené závorce za jménem pole. Počet složek musí být kladné celé číslo. Např. deklarace int d[3] zavádí pole d tvořené třemi složkami typu int

21 identifikátory, typy dat, proměnné Jelikož složky pole jsou indexovány od nuly, sestává naše pole ze tří celých čísel d[0], d[1] a d[2]. Má-li pole více indexů, objeví se v deklaraci za jménem pole více lomených závorek. Např. pole double d[2][2] sestává ze čtyř racionálních čísel d[0][0], d[0][1], d[1][0] a d[1][1]. Pole můžeme stejně jako prosté proměnné inicializovat přímo v deklarační části programu. U pole je deklarace doplněna složenou závorkou, která obsahuje počáteční hodnoty jeho složek double angle[5] = 0.0, 0.1, 0.2, 0.3, A[0] B[x][0] B[x][1] 1 A[1] 0 1 B[0][y] A 2 A[2] B 2 3 B[1][y] 3 A[3] 4 5 B[2][y] 4 A[4] Obr. 3.2 Pole. Práci s poli si vysvětlíme na jednoduchém příkladu. Budeme mít jednorozměrné pole tří celých čísel x, do něhož budeme ukládat velikosti úhlů ve stupních. Ke každé složce pole x chceme vypočítat hodnotu funkce sinus a výsledek uložit do odpovídající složky pole y. Abychom mohli pracovat s funkcí sinus, musíme propojit náš program s matematickou knihovnou math.h. V této knihovně je též definována konstanta π jako M_PI. Ludolfovo číslo π potřebujeme pro přepočítávání velikosti úhlů ze stupňů na radiány. Celý program může vypadat následovně: # include <conio.h> // library of console functions # include <math.h> // library of mathematical functions void main( void) int x[3] = 30, 60, 90, n; // array of angles, variable for cycles float y[3]; // array of functional values cprintf( "Functional values of sine:\r\n" ); cprintf("x sin(x)\r\n"); // printing headline for( n=0; n<3; n++) y[n]=sin( x[n]*m_pi/180.0); cprintf("%d %f\r\n",x[n],y[n]); // computing functional values // printing results getch(); Abychom nemuseli výpočtu každé funkční hodnoty a jejímu tisku do konzolového okna věnovat zvláštní řádek zdrojového kódu, který by se lišil pouze hodnotou indexu pole, použili jsme cyklus for. Fungování cyklu for nyní vysvětlíme jen zhruba, ale později se k němu ještě vrátíme

22 identifikátory, typy dat, proměnné Cyklus for se používá tehdy, chceme-li nějaké příkazy provádět opakovaně s tím, že hodnota jisté proměnné (říká se jí řídicí proměnná cyklu) se postupně mění od určité počáteční po určitou hodnotu koncovou. Např. v Pascalu cyklus for i:=1 to 10 do xxx provádí příkaz xxx postupně pro hodnoty řídicí proměnné i=1, i=2,..., i=10. V jazyce C má cyklus for syntaxi 14 for( init; cond; incr) tělo cyklu Výrazem init nastavíme počáteční hodnotu řídicí proměnné, výrazem cond zadáme podmínku trvání cyklu a výrazem incr realizujeme zvýšení (nebo nějakou jinou změnu) řídicí proměnné po vykonání všech příkazů z těla cyklu. Dále tělo cyklu je příkaz nebo více příkazů, které se mají cyklicky opakovat. Je-li příkazů více, musí být ohraničeny složenými závorkami. Zvláštní pozornost si zaslouží příkaz i++. Pomocí tohoto příkazu zvyšujeme hodnotu proměnné i o jedničku. Stejného výsledku bychom dosáhli příkazem i=i+1. Je nutné zdůraznit, že kompilátor jazyka C žádným způsobem nekontroluje překročení hranice polí. Při logické chybě se tedy může stát, že náš program pracuje se složkami pole mimo rozsah, daný v deklaraci. Tento případ často nastává při chybné indexaci pole od jedničky namísto od nuly. Potom je poslední složka pole uložena do nedeklarované složky (tj. do paměťového místa mimo prostor vyhrazený deklarací), což může způsobit předčasné ukončení běhu programu. Vše si můžeme ověřit na výše uvedeném příkladě stačí nám změnit parametry cyklu for na ( n=1; n<4; n++). Program se bez problému zkompiluje a spustí, protože neobsahuje žádnou chybu syntaxe, problémy mohou nastat až při jeho vykonávání. Proto musíme práci s indexy polí věnovat zvýšenou pozornost [3]. V dalším příkladu si vyzkoušíme práci s polem dvojrozměrným. Původní (original) dvojrozměrné pole znaků orig odpovídá dvěma slovům psaným nad sebou. Každé slovo sestává z pěti písmen. Našim úkolem je znaky zkopírovat do přepsaného (rewritten) pole rev tak, aby řádky byly přehozeny a slova plynula od konce. Jedno z možných řešení následuje: # include <conio.h> void main( void) char orig[2][5] = 't','a','m','t','o', 's','a','l','e','k'; // first word // second word char rev[2][5]; int i; for(i=0;i<5;i++) rev[0][i] = orig[1][4-i]; rev[1][i] = orig[0][4-i]; // rearranged words // rearranging words // first <- second // second <- first 14 Je dobré si všimnout, za příkazem for není středník. Příkaz for zakončený středníkem by proběhl tolikrát, kolikrát říká jeho hlavička, ale ve výsledku by nic neprovedl (vykonal by několikrát prázdný příkaz reprezentovaný středníkem)

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

Č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

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

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

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

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

ALGORITMIZACE A PROGRAMOVÁNÍ

ALGORITMIZACE A PROGRAMOVÁNÍ Metodický list č. 1 Algoritmus a jeho implementace počítačovým programem Základním cílem tohoto tematického celku je vysvětlení pojmů algoritmus a programová implementace algoritmu. Dále je cílem seznámení

Více

PROGRAMOVÁNÍ V JAZYCE C V PŘÍKLADECH 11 Dynamické datové struktury 11.1 Spojové struktury... 11-1 11.2 Příklad PROG_11-01... 11-2 11.

PROGRAMOVÁNÍ V JAZYCE C V PŘÍKLADECH 11 Dynamické datové struktury 11.1 Spojové struktury... 11-1 11.2 Příklad PROG_11-01... 11-2 11. David Matoušek Programování v jazyce C v pøíkladech Praha 2011 David Matoušek Programování v jazyce C v pøíkladech Bez pøedchozího písemného svolení nakladatelství nesmí být kterákoli èást kopírována nebo

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

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

Základní vzorce a funkce v tabulkovém procesoru

Základní vzorce a funkce v tabulkovém procesoru Základní vzorce a funkce v tabulkovém procesoru Na tabulkovém programu je asi nejzajímavější práce se vzorci a funkcemi. Když jednou nastavíte, jak se mají dané údaje zpracovávat (některé buňky sečíst,

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

Ú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

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

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

Základní pojmy. Úvod do programování. Základní pojmy. Zápis algoritmu. Výraz. Základní pojmy

Základní pojmy. Úvod do programování. Základní pojmy. Zápis algoritmu. Výraz. Základní pojmy Úvod do programování Michal Krátký 1,Jiří Dvorský 1 1 Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programování, 2004/2005 Procesor Procesorem je objekt, který vykonává algoritmem popisovanou

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

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 21. září 2009 Obsah Úvodní informace 1 Úvodní informace 2 3 4 Organizace předmětu Přednášky 1. 5. Základní

Více

Maturitní otázky z předmětu PROGRAMOVÁNÍ

Maturitní otázky z předmětu PROGRAMOVÁNÍ Wichterlovo gymnázium, Ostrava-Poruba, příspěvková organizace Maturitní otázky z předmětu PROGRAMOVÁNÍ 1. Algoritmus a jeho vlastnosti algoritmus a jeho vlastnosti, formy zápisu algoritmu ověřování správnosti

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

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

Vzorce. StatSoft. Vzorce. Kde všude se dá zadat vzorec

Vzorce. StatSoft. Vzorce. Kde všude se dá zadat vzorec StatSoft Vzorce Jistě se Vám již stalo, že data, která máte přímo k dispozici, sama o sobě nestačí potřebujete je nějak upravit, vypočítat z nich nějaké další proměnné, provést nějaké transformace, Jinak

Více

MAXScript výukový kurz

MAXScript výukový kurz MAXScript výukový kurz Díl čtvrtý jazyk MAXScript, část I. Jan Melichar, březen 2008 Jan Melichar (aka JME) strana 1 OBSAH ÚVOD... 4 ZÁKLADNÍ PŘÍKAZY... 5 OPERÁTORY... 6 PROMĚNNÉ... 6 POLE... 7 ZÁVĚREM...

Více

Obr. P1.1 Zadání úlohy v MS Excel

Obr. P1.1 Zadání úlohy v MS Excel Přílohy Příloha 1 Řešení úlohy lineárního programování v MS Excel V této příloze si ukážeme, jak lze řešit úlohy lineárního programování pomocí tabulkového procesoru MS Excel. Výpočet budeme demonstrovat

Více

Přílohy. Příloha 1. Obr. P1.1 Zadání úlohy v MS Excel

Přílohy. Příloha 1. Obr. P1.1 Zadání úlohy v MS Excel Přílohy Příloha 1 Řešení úlohy lineárního programování v MS Excel V této příloze si ukážeme, jak lze řešit úlohy lineárního programování pomocí tabulkového procesoru MS Excel 2007. Výpočet budeme demonstrovat

Více

VYTVÁŘENÍ DATABÁZÍ, VKLÁDÁNÍ ÚDAJŮ

VYTVÁŘENÍ DATABÁZÍ, VKLÁDÁNÍ ÚDAJŮ Úvod do problematiky VYTVÁŘENÍ DATABÁZÍ, VKLÁDÁNÍ ÚDAJŮ Databáze je uspořádaná množina velkého množství informací (dat). Příkladem databáze je překladový slovník, seznam PSČ nebo telefonní seznam. Databáze

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

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

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

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

Inovace a zkvalitnění výuky prostřednictvím ICT Základy programování a algoritmizace úloh. Ing. Hodál Jaroslav, Ph.D. VY_32_INOVACE_25 09

Inovace a zkvalitnění výuky prostřednictvím ICT Základy programování a algoritmizace úloh. Ing. Hodál Jaroslav, Ph.D. VY_32_INOVACE_25 09 Střední průmyslová škola a Vyšší odborná škola technická Brno, Sokolská 1 Šablona: Název: Téma: Inovace a zkvalitnění výuky prostřednictvím ICT Základy programování a algoritmizace úloh Operátory Autor:

Více

1. Základní pojmy a číselné soustavy

1. Základní pojmy a číselné soustavy 1. Základní pojmy a číselné soustavy 1.1. Základní pojmy Hardware (technické vybavení počítače) Souhrnný název pro veškerá fyzická zařízení, kterými je počítač vybaven. Software (programové vybavení počítače)

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

Stěžejní funkce MS Excel 2007/2010, jejich ovládání a možnosti využití

Stěžejní funkce MS Excel 2007/2010, jejich ovládání a možnosti využití Stěžejní funkce MS Excel 2007/2010, jejich ovládání a možnosti využití Proč Excel? Práce s Excelem obnáší množství operací s tabulkami a jejich obsahem. Jejich jednotlivé buňky jsou uspořádány do sloupců

Více

Vytvoření tiskové sestavy kalibrace

Vytvoření tiskové sestavy kalibrace Tento návod popisuje jak v prostředí WinQbase vytvoříme novou tiskovou sestavu, kterou bude možno použít pro tisk kalibračních protokolů. 1. Vytvoření nového typu sestavy. V prvním kroku vytvoříme nový

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

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

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

DSL manuál. Ing. Jan Hranáč. 27. října 2010. V této kapitole je stručný průvodce k tvorbě v systému DrdSim a (v

DSL manuál. Ing. Jan Hranáč. 27. října 2010. V této kapitole je stručný průvodce k tvorbě v systému DrdSim a (v DSL manuál Ing. Jan Hranáč 27. října 2010 V této kapitole je stručný průvodce k tvorbě v systému DrdSim a (v současné době krátký) seznam vestavěných funkcí systému. 1 Vytvoření nového dobrodružství Nejprve

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

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

Čtvrtek 3. listopadu. Makra v Excelu. Obecná definice makra: Spouštění makra: Druhy maker, způsoby tvorby a jejich ukládání

Čtvrtek 3. listopadu. Makra v Excelu. Obecná definice makra: Spouštění makra: Druhy maker, způsoby tvorby a jejich ukládání Čtvrtek 3. listopadu Makra v Excelu Obecná definice makra: Podle definice je makro strukturovanou definicí jedné nebo několika akcí, které chceme, aby MS Excel vykonal jako odezvu na nějakou námi definovanou

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

PHP tutoriál (základy PHP snadno a rychle)

PHP tutoriál (základy PHP snadno a rychle) PHP tutoriál (základy PHP snadno a rychle) Druhá, vylepšená offline verze. Připravil Štěpán Mátl, http://khamos.wz.cz Chceš se naučit základy PHP? V tom případě si prostuduj tento rychlý průvodce. Nejdříve

Více

Nový způsob práce s průběžnou klasifikací lze nastavit pouze tehdy, je-li průběžná klasifikace v evidenčním pololetí a školním roce prázdná.

Nový způsob práce s průběžnou klasifikací lze nastavit pouze tehdy, je-li průběžná klasifikace v evidenčním pololetí a školním roce prázdná. Průběžná klasifikace Nová verze modulu Klasifikace žáků přináší novinky především v práci s průběžnou klasifikací. Pro zadání průběžné klasifikace ve třídě doposud existovaly 3 funkce Průběžná klasifikace,

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

STATISTICA Téma 1. Práce s datovým souborem

STATISTICA Téma 1. Práce s datovým souborem STATISTICA Téma 1. Práce s datovým souborem 1) Otevření datového souboru Program Statistika.cz otevíráme z ikony Start, nabídka Programy, podnabídka Statistika Cz 6. Ze dvou nabídnutých možností vybereme

Více

VZORCE A VÝPOČTY. Autor: Mgr. Dana Kaprálová. Datum (období) tvorby: září, říjen 2013. Ročník: sedmý

VZORCE A VÝPOČTY. Autor: Mgr. Dana Kaprálová. Datum (období) tvorby: září, říjen 2013. Ročník: sedmý Autor: Mgr. Dana Kaprálová VZORCE A VÝPOČTY Datum (období) tvorby: září, říjen 2013 Ročník: sedmý Vzdělávací oblast: Informatika a výpočetní technika 1 Anotace: Žáci se seznámí se základní obsluhou tabulkového

Více

Dotazy tvorba nových polí (vypočítané pole)

Dotazy tvorba nových polí (vypočítané pole) Téma 2.4 Dotazy tvorba nových polí (vypočítané pole) Pomocí dotazu lze také vytvářet nová pole, která mají vazbu na již existující pole v databázi. Vznikne tedy nový sloupec, který se počítá podle vzorce.

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

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

15. Projekt Kalkulačka

15. Projekt Kalkulačka Projekt Kalkulačka strana 143 15. Projekt Kalkulačka 15.1. Základní popis, zadání úkolu Pracujeme na projektu Kalkulačka, který je ke stažení na java.vse.cz. Po otevření v BlueJ vytvoříme instanci třídy

Více

14.4.2010. Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod.

14.4.2010. Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod. Základy programování (IZAPR) Přednáška 7 Ing. Michael Bažant, Ph.D. Katedra softwarových technologií Kancelář č. 229, Náměstí Čs. legií Michael.Bazant@upce.cz Obsah přednášky 7 Parametry metod, předávání

Více

Výhody a nevýhody jednotlivých reprezentací jsou shrnuty na konci kapitoly.

Výhody a nevýhody jednotlivých reprezentací jsou shrnuty na konci kapitoly. Kapitola Reprezentace grafu V kapitole?? jsme se dozvěděli, co to jsou grafy a k čemu jsou dobré. rzo budeme chtít napsat nějaký program, který s grafy pracuje. le jak si takový graf uložit do počítače?

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

Ukazatele a pole. Chceme-li vyplnit celé pole nulami, použijeme prázdný inicializátor: 207 Čárka na konci seznamu inicializátorů

Ukazatele a pole. Chceme-li vyplnit celé pole nulami, použijeme prázdný inicializátor: 207 Čárka na konci seznamu inicializátorů Ukazatele a pole 204 Deklarace jednorozměrného pole s inicializací Chceme-li pole v deklaraci inicializovat, zapíšeme seznam inicializátorů jednotlivých prvků do složených závorek: #define N 5 int A[N]

Více

Styly odstavců. Word 2010. Přiřazení stylu odstavce odstavci. Změna stylu odstavce

Styly odstavců. Word 2010. Přiřazení stylu odstavce odstavci. Změna stylu odstavce Styly odstavců V textu, který přesahuje několik stránek a je nějakým způsobem strukturovaný (což znamená, že se dá rozdělit na části (v knize jim říkáme kapitoly) a jejich podřízené části (podkapitoly),

Více

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Číslo a název šablony Číslo didaktického materiálu Druh didaktického materiálu Autor Jazyk Téma sady didaktických materiálů Téma didaktického materiálu Vyučovací předmět Cílová skupina (ročník) Úroveň

Více

Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto

Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto Registrační číslo projektu Šablona Autor Název materiálu / Druh CZ.1.07/1.5.00/34.0951 III/2 INOVACE A ZKVALITNĚNÍ VÝUKY PROSTŘEDNICTVÍM ICT

Více

KAPITOLA 3 - ZPRACOVÁNÍ TEXTU

KAPITOLA 3 - ZPRACOVÁNÍ TEXTU KAPITOLA 3 - ZPRACOVÁNÍ TEXTU KLÍČOVÉ POJMY textové editory formát textu tabulka grafické objekty odrážky a číslování odstavec CÍLE KAPITOLY Pracovat s textovými dokumenty a ukládat je v souborech různého

Více

Microsoft Office. Word hromadná korespondence

Microsoft Office. Word hromadná korespondence Microsoft Office Word hromadná korespondence Karel Dvořák 2011 Hromadná korespondence Hromadná korespondence je způsob, jak určitý jeden dokument propojit s tabulkou obsahující více záznamů. Tímto propojením

Více

Překladač a jeho struktura

Překladač a jeho struktura Překladač a jeho struktura Překladače, přednáška č. 1 Šárka Vavrečková Ústav informatiky, FPF SU Opava sarka.vavreckova@fpf.slu.cz http://fpf.slu.cz/ vav10ui Poslední aktualizace: 23. září 2008 Definice

Více

MQL4 COURSE. By Coders guru www.forex-tsd.com. -4 Operace & Výrazy

MQL4 COURSE. By Coders guru www.forex-tsd.com. -4 Operace & Výrazy MQL4 COURSE By Coders guru www.forex-tsd.com -4 Operace & Výrazy Vítejte ve čtvrté lekci mého kurzu MQL4. Předchozí lekce Datové Typy prezentovaly mnoho nových konceptů ; Doufám, že jste všemu porozuměli,

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

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

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

WSH Windows Script Hosting. OSY 2 Přednáška číslo 2 opravená verze z 15.10.2007

WSH Windows Script Hosting. OSY 2 Přednáška číslo 2 opravená verze z 15.10.2007 WSH Windows Script Hosting OSY 2 Přednáška číslo 2 opravená verze z 15.10.2007 Co je skript? Skriptování nástroj pro správu systému a automatizaci úloh Umožňuje psát skripty jednoduché interpretované programové

Více

Algoritmus. Přesné znění definice algoritmu zní: Algoritmus je procedura proveditelná Turingovým strojem.

Algoritmus. Přesné znění definice algoritmu zní: Algoritmus je procedura proveditelná Turingovým strojem. Algoritmus Algoritmus je schematický postup pro řešení určitého druhu problémů, který je prováděn pomocí konečného množství přesně definovaných kroků. nebo Algoritmus lze definovat jako jednoznačně určenou

Více

Tvar dat a nástroj přeskupování

Tvar dat a nástroj přeskupování StatSoft Tvar dat a nástroj přeskupování Chtěli jste někdy použít data v jistém tvaru a STATISTICA Vám to nedovolila? Jistě se najde někdo, kdo se v této situaci již ocitl. Není ale potřeba propadat panice,

Více

2 Strukturované datové typy 2 2.1 Pole... 2 2.2 Záznam... 3 2.3 Množina... 4

2 Strukturované datové typy 2 2.1 Pole... 2 2.2 Záznam... 3 2.3 Množina... 4 Obsah Obsah 1 Jednoduché datové typy 1 2 Strukturované datové typy 2 2.1 Pole.................................. 2 2.2 Záznam................................ 3 2.3 Množina................................

Více

DATABÁZE MS ACCESS 2010

DATABÁZE MS ACCESS 2010 DATABÁZE MS ACCESS 2010 KAPITOLA 5 PRAKTICKÁ ČÁST TABULKY POPIS PROSTŘEDÍ Spuštění MS Access nadefinovat název databáze a cestu k uložení databáze POPIS PROSTŘEDÍ Nahoře záložky: Soubor (k uložení souboru,

Více

Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost Projekt je realizován v rámci Operačního programu Vzdělávání pro konkurence

Více

KAPITOLA 4 ZPRACOVÁNÍ TEXTU

KAPITOLA 4 ZPRACOVÁNÍ TEXTU KAPITOLA 4 ZPRACOVÁNÍ TEXTU TABULÁTORY Jsou to značky (zarážky), ke kterým se zarovná text. Můžeme je nastavit kliknutím na pravítku nebo v dialogovém okně, které vyvoláme kliknutím na tlačítko Tabulátory

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

Úvod do programování

Úvod do programování Úvod do programování Základní literatura Töpfer, P.: Algoritmy a programovací techniky, Prometheus, Praha učebnice algoritmů, nikoli jazyka pokrývá velkou část probíraných algoritmů Satrapa, P.: Pascal

Více

Prezentace a vysvětlení programového prostředí NXC

Prezentace a vysvětlení programového prostředí NXC Úvod Další jazyk, který je možno použít pro programování NXT kostky je NXC Not exatly C Na rozdíl od jazyku NXT-G, kde jsme vytvářeli program pomocí grafických prvků přesněji řečeno pomocí programovacích

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

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

HROMADNÉ ÚPRAVY NAJÍT A NAHRADIT

HROMADNÉ ÚPRAVY NAJÍT A NAHRADIT HROMADNÉ ÚPRAVY NAJÍT A NAHRADIT Funkce Najít a nahradit slouží k rychlému vyhledávání určitých slov a jejich nahrazování jinými slovy. Lze hledat i určité varianty slov a nahrazovat je buď hromadně (všechny

Více

MS Word 2007 Šablony programu MS Word

MS Word 2007 Šablony programu MS Word MS Word 2007 Šablony programu MS Word Obsah kapitoly V této kapitole se seznámíme s: Možností využití šablon při vytváření nových dokumentů Vytvářením vlastních šablon Studijní cíle Po absolvování této

Více

Algoritmy a datové struktury

Algoritmy a datové struktury Algoritmy a datové struktury Data a datové typy 1 / 28 Obsah přednášky Základní datové typy Celá čísla Reálná čísla Znaky 2 / 28 Organizace dat Výběr vhodné datvé struktry různá paměťová náročnost různá

Více

Více o konstruktorech a destruktorech

Více o konstruktorech a destruktorech Více o konstruktorech a destruktorech Více o konstruktorech a o přiřazení... inicializovat objekt lze i pomocí jiného objektu lze provést přiřazení mezi objekty v původním C nebylo možné provést přiřazení

Více

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Číslo a název šablony Číslo didaktického materiálu Druh didaktického materiálu Autor Jazyk Téma sady didaktických materiálů Téma didaktického materiálu Vyučovací předmět Cílová skupina (ročník) Úroveň

Více

Informatika 8. třída/6

Informatika 8. třída/6 Rekurze Jedním z důležitých principů pro návrh procedur je tzv. rekurze. Nejlépe uvidíme tento princip na příkladech dvou velmi jednoduchých procedur (hvězdička označuje násobení). Rekurze vlastně označuje

Více

Programování v C++ Úplnej úvod. Peta (maj@arcig.cz, SPR AG 2008-9)

Programování v C++ Úplnej úvod. Peta (maj@arcig.cz, SPR AG 2008-9) Programování v C++ Úplnej úvod Co se naučíte? tak samozřejmě C++, s důrazem na: dynamické datové struktury Objektově Orientované Programování STL (standardní knihovna šablon) vytváření vlastních šablon

Více

Výčtový typ strana 67

Výčtový typ strana 67 Výčtový typ strana 67 8. Výčtový typ V této kapitole si ukážeme, jak implementovat v Javě statické seznamy konstant (hodnot). Příkladem mohou být dny v týdnu, měsíce v roce, planety obíhající kolem slunce

Více

Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto

Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto Registrační číslo projektu Šablona Autor Název materiálu / Druh CZ.1.07/1.5.00/34.0951 III/2 INOVACE A ZKVALITNĚNÍ VÝUKY PROSTŘEDNICTVÍM ICT

Více

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

Operační systémy. Cvičení 4: Programování v C pod Unixem Operační systémy Cvičení 4: Programování v C pod Unixem 1 Obsah cvičení Řídící struktury Funkce Dynamická alokace paměti Ladění programu Kde najít další informace Poznámka: uvedené příklady jsou dostupné

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 jazyku LOGO - úvod

Programování v jazyku LOGO - úvod Programování v jazyku LOGO - úvod Programovací jazyk LOGO je určen pro výuku algoritmizace především pro děti školou povinné. Programovací jazyk pracuje v grafickém prostředí, přičemž jednou z jeho podstatných

Více

Tiskové sestavy. Zdroj záznamu pro tiskovou sestavu. Průvodce sestavou. Použití databází

Tiskové sestavy. Zdroj záznamu pro tiskovou sestavu. Průvodce sestavou. Použití databází Tiskové sestavy Tiskové sestavy se v aplikaci Access používají na finální tisk informací z databáze. Tisknout se dají všechny objekty, které jsme si vytvořili, ale tiskové sestavy slouží k tisku záznamů

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

Vstupní požadavky, doporučení a metodické pokyny

Vstupní požadavky, doporučení a metodické pokyny Název modulu: Základy PHP Označení: C9 Stručná charakteristika modulu Modul je orientován na tvorbu dynamických stánek aktualizovaných podle kontextu volání. Jazyk PHP umožňuje velmi jednoduchým způsobem

Více

Microsoft Office Word 2003

Microsoft Office Word 2003 Microsoft Office Word 2003 č. 6 název anotace očekávaný výstup druh učebního materiálu druh interaktivity Microsoft Office Word 2003 - Cesta k základním úpravám Prezentace je zaměřena na úpravy textu v

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

- 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

Vysoké učení technické v Brně Fakulta elektrotechniky a komunikačních technologií

Vysoké učení technické v Brně Fakulta elektrotechniky a komunikačních technologií Vysoké učení technické v Brně Fakulta elektrotechniky a komunikačních technologií http://www.utee.feec.vutbr.cz/~fialap/vyuka/cpl.html Kolejní 2906/4 612 00 Brno Ovládání Builderu C++ pro kurz BSCP vytvořila

Více

Gabriela Janská. Středočeský vzdělávací institut akademie J. A. Komenského www.sviajak.cz

Gabriela Janská. Středočeský vzdělávací institut akademie J. A. Komenského www.sviajak.cz PŘÍRUČKA KE KURZU: ZÁKLADY PRÁCE NA PC MS WORD 2003 Gabriela Janská Středočeský vzdělávací institut akademie J. A. Komenského www.sviajak.cz Obsah: 1. Písmo, velikost písma, tučně, kurzíva, podtrhnout

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

MS OFFICE MS WORD. Editor rovnic - instalace

MS OFFICE MS WORD. Editor rovnic - instalace MS OFFICE Může se zdát, že užití kancelářského balíku MS Office při výuce fyziky nepřesahuje běžné aplikace a standardní funkce, jak jsou popsány v mnoha příručkách ke všem jednotlivým částem tohoto balíku.

Více