Algoritmus a jeho vlastnosti

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

Download "Algoritmus a jeho vlastnosti"

Transkript

1 Programování 3 a 4 poznámky k výuce verze Tento text není v žádném případě učebnicí Delphi nebo programování, jsou to pouze (mírně) uspořádané poznámky, které chronologicky kopírují to, co děláme na semináři z programování. V textu jsou odkazy i další dokumenty a literaturu k danému tématu. U jednotlivých komponent nejsou uváděny všechny vlastnosti, ale jen ty, které budeme ze začátku potřebovat. Podobně i další informace v tomto textu nejsou leckdy úplné, často jde o zjednodušení dané problematiky. RNDr. Jan Preclík, Ph.D. Další literatura Text se odkazuje na další literaturu, zejména na: [1] Pavel Satrapa. Pascal pro zelenáče. Neokortex spol. s r.o., Praha, (výborná knížka o jazyce Pascal) [2] dokument Algoritmus a jeho vlastnosti. [3] dokument Jazyk Pascal úvod. [4] dokument Pole (vícerozměrné i jednorozměrné). [5] dokument Vyhledávání v poli. [6] nápověda k Delphi (menu Help/Delphi Help) Algoritmus a jeho vlastnosti Viz dokument [2] Algoritmus a jeho vlastnosti.

2 Delphi úvod, aneb jak se programuje pod Windows Delphi jsou nástrojem pro RAD = Rapid Application Development (rychlý vývoj aplikací), vzhled aplikace se skládá z předpřipravených prvků komponent, jde o tzv. vizuální programování (programování pomocí myši, bez psaní programového kódu). Co se stane například po stisku tlačítka (stisk tlačítka = event, událost) je ale už třeba psát přímo v programovacím jazyce (tzv. event handler = zpracující procedura této události). Delphi jsou založeny na jazyce Pascal a jeho rozšíření Object Pascal. Hlavní program je v podstatě nekonečná smyčka, ve které se zpracovávají události, které nastanou, tj. vyvolávají se odpovídající event handlery, ve kterých se skrývá celá funkčnost programu. Hovoříme o programování řízeném událostmi (event-driven programming). Dneska všechny programy běží v nekonečné smyčce a čekají, až si nějakej cvok zvykne na myš. Dr. Rudolf Kryl, MFF UK, přednáška Metodika programování a filozofie programovacích jazyků, 2005 Komponenty v Delphi Komponentu umístíme na formulář jejím výběrem v paletě komponent a kliknutím na formulář (komponenta bude mít svoji standardní velikost) nebo tažením myší (a tím určíme velikost komponenty). Object Inspector Okno slouží k nastavování vlastností komponent (karta Properties) a reakcí na události (karta Events). Vlastnosti mohou být: jednoduché (mohou obsahovat pouze jednu hodnotu, například číslo Left) výčtového typu (nabízí se nám seznam možných hodnot symbolických konstant s prefixem odpovídajícím názvu vlastnosti, např. BorderStyle a možné hodnoty bssizeable, bsdialog ) strukturované položky se zobrazí po kliknutí na symbol, případně tlačítko vyvolá editor této vlastnosti (samostatné dialogové okno) Vlastnosti společné všem komponentám (až na pár výjimek) Name jméno komponenty, musí být (na formuláři) jedinečné, komponentu jednoznačně na formuláři identifikuje Left x-souřadnice levého horního rohu komponenty v pixelech (pozor, odkud se počítá od levého horního rohu uživateli dostupné plochy, tj. ne od levého horního rohu okna!) Top y-souřadnice levého horního rohu komponenty v pixelech (pozor, odkud se počítá!) Width šířka komponenty Height výška komponenty Nevizuální komponenty (reprezentované na formuláři pouze svojí ikonou, např. MainMenu nebo Timer) mají pouze vlastnost Name. Formulář (TForm) Caption text v titulkovém pruhu BorderStyle vlastnosti okraje okna (bsdialog, bssizeable, bsnone) Position umístění formuláře (podesigned podle vlastností Top a Left, poscreencenter vždy ve středu bez ohledu na rozlišení obrazovky)

3 Ještě pár obecnějších vlastností společné pro TLabel, TEdit, TButton, TBitBtn Font písmo Hint text popisku (žluté okno se stručnou nápovědou), objeví se, pokud kurzor myši chvíli setrvá nad komponentou ShowHint zda se bude popisek zobrazovat Visible zda je komponenta viditelná (při běhu, při návrhu je viditelná vždy) Enabled zda je komponenta povolená (pro uživatele přístupná) Komponenta Label (TLabel) pro zobrazení textu na formuláři Caption text AutoSize automatická změna velikosti (velikost komponenty se přizpůsobuje jejímu obsahu) Color barva podkladu (barva písma se nastavuje ve vlastnosti Font) Transparent zda je pozadí průhledné (pokud ano, pak se na barvu Color nebere ohled) Alignment zarovnání textu v rámci komponenty (nemá smysl, pokud je AutoSize = TRUE) WordWrap zalamování textu na více řádků Komponenta Edit (TEdit) editační řádek (políčko), pro vstup hodnot od uživatele Text text zobrazený v editačním políčku (je dobré vymazat přednastavený název komponenty) ReadOnly zda je komponenta určená pouze pro čtení Komponenta Button (TButton) tlačítko Caption text na tlačítku Tlačítku nejde nastavit barva pozadí (tj. barva tlačítka). Komponenta BitBtn (TBitBtn) podobné jako TButton, ale navíc má vlastnost Kind Kind určuje druh tlačítka (podle toho se nastaví text a obrázek) Komponenta Image (TImage) obrázek (formát JPG, BMP, ICO, EMF, WMF, GIF) Picture obrázek, okno pro práci s obrázkem se objeví také po dvojkliku na komponentu AutoSize velikost komponenty se přizpůsobí velikosti obrázku Stretch velikost obrázku se přizpůsobí velikosti komponenty, algoritmus pro změnu velikosti není příliš podařený, je lepší obrázek zmenšit/zvětšit v grafickém editoru a do Delphi ho nahrát v té velikosti, ve které je potřeba (vhodné i pro úsporu místa) Center pokud je obrázek menší jak komponenta, bude umístěn v rámci komponenty na střed Transparent zda bude pozadí obrázku průhledné (záleží na formátu: ICO, WMF, EMF průhledné vždy, GIF průhlednost podle alfa-kanálu obrázku, JPG nemá průhlednost, BMP jako průhledná barva se bere barva pixelu v levém dolním rohu obrázku) Některé kombinace vlastností jsou nemá smysl používat, např. AutoSize a Strech, Center a AutoSize Komponenta Shape (TShape) geometrické tvary pro umístění na formulář Shape tvar Brush štětec = výplň (Color barva, Style typ výplně) Pen pero = čára (Color barva, Style typ čáry, Width tloušťka čáry v pixelech)

4 Komponenta CheckBox (TCheckBox) samostatné zaškrtávací (označovací) tlačítko, může jich být označeno více najednou Caption text vedle označovacího čtverečku Checked zda je označené Color barva pozadí Související komponenty CheckBox můžeme umístit do komponenty GroupBox nebo na komponentu Panel. Komponenta RadioGroup (TRadioGroup) skupina radiových tlačítek, z této skupiny může být označeno nejvýše jedno tlačítko Caption nadpis skupiny Color barva pozadí skupiny Columns počet sloupců, do kterých jsou položky rozmístěny (pokud je počet sloupců stejný jako počet položek, budou položky v řadě vedle sebe) Items položky (jejich názvy), každá na jednom řádku ItemIndex číslo vybrané položky (první položka v seznamu má číslo 0), -1 znamená, že není vybraná žádná položka Můžeme také použít komponenty RadioButton (samostatná rádiová tlačítka) a umístit je do komponenty GroupBox, která je sváže dohromady. Je to však komplikovanější. Komponenta MainMenu (TMainMenu) hlavní menu aplikace, jde o nevizuální komponentu na formuláři je reprezentována pouze svojí ikonou, která se při běhu aplikace nezobrazuje (nemá vlastnosti Top, Left, Height, Width), po dvojkliku se objeví Menu Designer editor menu Pro položky menu můžeme nastavovat: Caption text položky menu, přiřazením - (mínus) do této vlastnosti vytvoří vodorovnou čáru místo položky ShortCut klávesová zkratka položky Komponenta Panel (TPanel) slouží pro umísťování dalších (vizuálních) komponent, jde o tzv. kontejner (=komponenta, která může obsahovat další komponenty) BevelInner vnitřní okraj BevelOuter vnější okraj BevelWidth šířka okraje, kombinací těchto tří vlastností lze vytvářet nejrůznější efekty (rámeček, vyvýšení/snížený panel ) Caption nadpis panelu, většinou je potřeba standardní text (jméno komponenty) vymazat Color barva panelu Zarovnávání komponent na formuláři Chceme-li, aby například tlačítko bylo vždy umístěno u dolního okraje formuláře i při změně jeho velikosti, nemusíme hned programovat, ale můžeme využít vlastnost Align u většiny komponent. Tato vlastnost určuje, jak bude komponenta zarovnána v rámci kontejneru, který ji obsahuje (buď formulář nebo komponenta Panel). Nastavování vlastností více komponentám najednou Pokud vybereme více komponent na formuláři, v Object Inspectoru se objeví pouze ty vlastnosti, které jsou společné všem komponentám, a lze je nastavit najednou.

5 Programování v Delphi Borland Delphi jsou založeny na programovacím jazyce Pascal, viz dokument [3] Jazyk Pascal úvod. Konzolová aplikace aneb programování ve stylu operačního systému MS DOS Konzolová aplikace využívá pouze standardní textový vstup (z klávesnice) a standardní textový výstup (na textovou konzoli DOSovské okno ). Můžeme tak programovat (s některými omezeními) podobně jako v Turbo Pascalu pro operační systém MS DOS. Konzolovou aplikaci založíme v Delphi z menu File/New/Other, Console Application. Důležitý je řádek {$APPTYPE CONSOLE}, který překladači specifikuje, o jaký typ aplikace se jedná. Poznámka: Překladač lze přímo ovládat pomocí příkazů ve tvaru {$...}. Z hlediska Pascalu jde o komentář nemá tedy význam pro program, ale je to informace pro překladač. Výhodou konzolových aplikací je malá velikost výsledného exe souboru (v porovnání s aplikací pro Windows). Příklad KONZOLE_LINEARNI_ROVNICE Příklad KONZOLE_KVADRATICKA_ROVNICE Programování pod Windows Jak pojmenovávat komponenty Je výhodné zavést a dodržovat určité konvence, například jméno komponenty začínat prefixem určujícím typ komponenty, tj. například: Buton btntlacitko Label lblnapis Edit edtpolicko Image imgobrazek CheckBox ckbzaskrtavatko RadioButton rdbradiovetlacitko RadioGroup rdgskupinaradiovychtlacitek Panel pnlpanel Při psaní kódu v editoru Delphi po napsání části názvu komponenty a stisku CTRL+SPACE nám budou nabídnuty všechny komponenty, jejichž název začíná zapsaným textem. Takže pokud napíšeme edt a stiskneme CTRL+SPACE, budou nám nabídnuta jména všech editačních políček na formuláři (pochopitelně pokud dodržujeme výše uvedenou konvenci). Události V Delphi nenajdete žádný hlavní program ale pouze několik podprogramů (event-handler, zpracující procedura události), které se vyvolají, pokud nastane určitá událost (event). Událost může vygenerovat například uživatel (stisk tlačítka, pohyb myší, kliknutí myší, vypnutí počítače ) nebo ji může vygenerovat operační systém (po uplynutí určitého času, v pravidelných časových intervalech ). Události pro vybranou komponentu nastavujeme v Object Inspectoru na kartě Events. Každá komponenta má jiné vlastnosti, některé jsou společné. Nastavování vlastností komponent za běhu Tečková notace umožňuje přistupovat k vlastnostem komponent jako by to byly proměnné určitého typu. Syntaxe je JmenoKomponenty.JmenoVlastnosti. Jméno vlastnosti je stejné, jako v Object Inspectoru. Po napsání jména komponenty a tečky nám Delphi po chvíli nabídnou seznam vlastností komponenty (pro urychlení lze stisknout CTRL+SPACE).

6 Co budeme dále potřebovat Načtení hodnoty uložené v editačním políčku do proměnné konverzní funkce HodnotaRetezec := edtpolicko.text Toto bude fungovat pouze pokud je proměnná HodnotaRetezec typu string (textový řetězec), jinak musíme řetězcovou hodnotu uloženou v edtpolicko.text převést na číslo pomocí konverzní funkce StrToFloat (řetězec na reálné číslo) nebo StrToInt (řetězec na celé číslo). HodnotaRealneCislo := StrToFloat(edtPolicko.Text) HodnotaCeleCislo := StrToInt(edtPolicko.Text) Výpis hodnoty proměnné do komponenty Label Výpis hodnoty řetězcové proměnné je jednoduchý: lblnapis.caption := HodnotaRezetec Vlastnost Caption je typu string, proto pro výpis číselných hodnot musíme použít konverzní funkce FloatToStr (reálné číslo na řetězec) nebo IntToStr (celé číslo na řetězec). lblnapis.caption := FloatToStr(HodnotaRealneCislo) lblnapis.caption := IntToStr(HodnotaCeleCislo) Příklad KVADRATICKA_ROVNICE Poznámka: Řešení kvadratické rovnice, algoritmus je stejný jako v příkladu KONZOLE_KVADRATICKA_ROVNICE, ale jedná se o okenní aplikaci. Podmíněný příkaz Syntaxe viz dokument [3] Jazyk Pascal úvod a [1] Pascal pro zelenáče (str kap. 3.5, kap. 5.1 a 5.2). Složené podmínky, priorita operátorů, tabulky pravdivostních hodnot viz [1] Pascal pro zelenáče (str kap. 5.1 a 5.2). Příklad POHYB_KOLECKA_1 Poznámka: Kolečko se pohybuje bez ohledu na rozměry formuláře. Příklad POHYB_KOLECKA_2 Poznámka: Pomocí podmínek nepovolíme kolečku opustit formulář, kolečko se na okrajích formuláře zarazí. Rozměry oblasti formuláře, kam lze umísťovat komponenty (tzv. klientská oblast) zjistíme pomocí vlastností ClientWidth a ClientHeight. Vlastnosti Width a Height udávají velikost okna formuláře, tj. včetně titulkového pruhu, okrajů apod. Příklad POHYB_KOLECKA_3 Poznámka: Stejné jako POHYB_KOLECKA_3, ale kolečkem pohybujeme pomocí kláves A, S, D, W pomocí události OnKeyPress. Klávesnice má funkci autorepeat, takže stačí klávesu držet a kolečko se bude pohybovat. Příklad POHYB_KOLECKA_4 Poznámka: Stejné jako POHYB_KOLECKA_3, ale kolečkem pohybujeme pomocí kurzorových šipek k tomu je potřeba události OnKeyDown, která na rozdíl od události OnKeyPress dovoluje pomocí virtuálních kódů kláves ošetřit i kurzorové klávesy, funkční klávesy a další. Zkrácené a úplné vyhodnocování booleovských výrazů viz [1] Pascal pro zelenáče (str. 57 kap. 5.2), v Delphi je ho možno (kromě direktiv překladače {$B+} a {$B-}) zapnout/vypnout v menu Project/Options, karta Compiler, volba Complete boolean eval. Toto nastavení se ukládá pro daný projekt do souboru JMENO_PROJEKTU.CFG.

7 Cyklus s podmínkou na začátku a na konci Syntaxe viz dokument [3] Jazyk Pascal úvod a [1] Pascal pro zelenáče (str kap. 3.6). Příklad KONZOLE_HVEZDICKY_TROJ_1 Poznámka: Pravoúhlý trojúhelník z hvězdiček v textovém režimu. Příklad KONZOLE_HVEZDICKY_TROJ_2 Poznámka: Rovnoramenný trojúhelník z hvězdiček v textovém režimu. Číselné datové typy Dělí se na celočíselné a reálné. Celočíselné jsou buďto se znaménkem (Integer, Shortint, Smallint, Longint, Int64) nebo bez znaménka (Byte, Word, Longword, Cardinal), viz [6] nápověda k Delphi (klíčové slovo integer). Ze znalosti, kolik daný celočíselný typ zabírá místa v paměti odvodíme rozsah hodnot tohoto typu: integer zabírá 32 bitů, tj. může uchovávat 2 32 různých hodnoty, a protože je se znaménkem, tak tato čísla budou z intervalu ; 2 2 1, tj., Horní mez je o 1 menší kvůli 0. Pozor, díky omezenému rozsahu nemusí být například sčítání asociativní, viz [1] Pascal pro zelenáče, str. 40 (kap. 4.1) a (kap. 4.5). Reálné datové typy jsou ukládány v semilogaritmickém tvaru, viz [1] Pascal pro zelenáče, str. 41 (kap. 4.2). Reálná čísla jsou vždy uchovávána na konečný počet desetinných míst nebo jako zlomky jedná se tedy vždy pouze o čísla racionální!!! V Delphi jde o datové typy Single, Extended, Real48, Double, Comp, Currency, Real, viz [6] nápověda k Delphi (klíčové slovo real). Pozor, díky zaokrouhlovacím chybám může porovnávání reálných čísel působit problémy, viz [1] Pascal pro zelenáče, str. 49 (kap. 4.4) není vhodné testovat reálné hodnoty na rovnost. Datový typ Char Reprezentuje jeden znak. Znaková konstanta je (podobně jako řetězec) uzavřena do apostrofů. Apostrof zapíšeme tak, že ho zdvojíme tj. '''' je znaková konstanta pro zápis apostrofu. Znaky jsou uspořádány v pořadí podle tzv. ASCII tabulky (American Standard Code for Information Interchange). Jazyk Pascal předpokládá o ASCII tabulce následující viz [1] Pascal pro zelenáče, kapitola 6.1 (str. 61). Příklad ASCII_TABULKA_1 Poznámka: Konzolová varianta výpis ASCII tabulky na textovou konzoli. Příklad ASCII_TABULKA_2 Poznámka: Výpis ASCII tabulky do ListBoxu.

8 Konstanty Pro zpřehlednění kód a zjednodušení případných změn stačí změnit danou hodnoty pouze na jednom místě, viz [1] Pascal pro zelenáče, kapitola 4.3 (str ). Používání symbolických konstant nijak neovlivňuje výsledný exe soubor, protože preprocesor ještě před vlastním překladem nahradí všechny zápisy identifikátorů konstant jejich hodnotami. Typované konstanty Jsou to v podstatě inicializované proměnné (tj. již při deklaraci jim je přiřazena hodnota), viz [1] Pascal pro zelenáče, kapitola 4.3 (str ). Pozor, pokud se jedná o lokální konstantu, hodnota je jí přiřazena pouze jednou ne při každém volání podprogramu. V Delphi je tato nebezpečná možnost standardně vypnuta, lze ji ale povolit Project/Options, karta Compiler, pole Assignable typed constant. Stejnou funkci má direktiva překladače {$J+} musí být uvedena na začátku zdrojového kódu.

9 Co dělá preprocesor Preprocesor upraví zdrojový kód ještě před vlastním překladem, například odstraní komentáře a nahradí identifikátory konstant jejich hodnotami. program Pokus; const CISLO = 25; {symbolická konstanta} var A, B: integer; begin A:=CISLO; {inicializace proměnné A} B:=A+CISLO; {výpočet hodnoty proměnné B} Zdrojový kód preprocesor program Pokus; var A, B: integer; begin A:=25; B:=A+25; Upravený zdrojový kód překladač Strojový kód Pole Deklarace viz [1] Pascal pro zelenáče, kapitola 9.1 (str ). Vícerozměrné pole a kompatibilita typů viz [4] Pole (vícerozměrné i jednorozměrné). Příklad POLE_1 Příklad POLE_2 Poznámka: Kopírování obsahu jednoho pole do druhého kompatibilita typů v praxi. Poznámka: Ukázka generování náhodných čísel z určitého rozmezí, ukládání do pole a výpis obsah pole do komponenty TListBox. Delphi při standardním nastavení projektu při běhu nekontrolují meze polí, takže následující kód neohlásí chybu při překladu (což je vcelku logické) ale ani při běhu (!):. var pole: array[1..10] of integer; i: integer; begin i:=11; pole[i]:=999; Bude však přistupovat k paměti, která mu není vyhrazena to je hodně nebezpečné a bývá to příčinou těžko odhalitelných chyb ( program občas spadne, zatuhne ). Při běhu se můžeme v lepším případě (tj. víme, že je něco špatně) dočkat následujícího hlášení, v horším případě se bude program chovat nepředvídatelně a nevypíše žádnou chybovou hlášku:

10 Proto je vhodné ve vlastnostech projektu nastavit kontrolu mezí polí za běhu Project/Options, karta Compiler, pole Range Checking. Je to bezpečnější (každé překročení mezí pole bude hlášeno vyvoláním výjimky), ale mírně to zpomaluje výsledný kód. Vyhledávání v poli (lineární vyhledávání) Viz dokument [5] Vyhledávání v poli. Příklad SPORTKA Poznámka: Program generuje 6 náhodných neopakujících se čísel ze 49. Pro vyhledávání v poli je použito lineární vyhledávání se zarážkou. Komponenta TTimer časovač V pravidelných intervalech generuje zprávu vyvolává událost OnTimer. Je to nevizuální komponenta (nezáleží na jejím umístění a nelze nastavovat její velikost). Vlastnost Enabled udává, zda bude tato událost generována (tj. časovač bude aktivní) a ve vlastnosti Interval je časový interval v milisekundách. Příklad HODINY Práce s datumem a časem Datový typ TDateTime je totožný s reálným typem Double, datum a čas se uchovává jako počet dní od dopoledne (čas se uchovává jako zlomky dne 1/24 je jedna hodina, 1/(24*60) jedna minuta ). Díky tomu lze od sebe dva datumy odečíst a dostaneme počet dní mezi nimi. Funkce Now vrací aktuální datum a čas, Date vrací pouze datum, Time pouze čas. Pro převod datumu a času na řetězce slouží funkce DateTimeToStr, funkce DateToStr převádí pouze datum na řetězec, TimeToStr pouze čas. Nejvíce možností pro formátování datumu a času nabízí funkce FormatDateTime. K převodům řetězců na datum a čas slouží funkce StrToDateTime, StrToDate, StrToTime. Více viz [6] nápověda k Delphi (klíčové slovo date/time routines) Příklad STOPKY_1 Poznámka: Nepřesné stopky časovač není příliš přesný. Příklad STOPKY_2 Poznámka: Stopky s vylepšenou přesností využívající systémového času. Jednoduché animace pomocí časovače Komponentu TTimer můžeme využít k jednoduché animaci. Výhodou (na rozdíl od použití cyklů) je, že tento způsob neblokuje celou aplikaci, která tam může reagovat na myš, klávesnici apod. Příklad POHYB_KOLECKA_5 Poznámka: Pohyb kolečka pomocí časovače. Klikáním na šipky zvětšujeme rychlost pohybu v daném směru. Kolečko se odráží od okrajů formuláře. Datový typ String (řetězec) práce s textem Datový typ String slouží pro uložení posloupnosti znaků, mohli bychom ho nahradit polem znaků, tj. deklarací: const MaxDelka = 100; var retezec: array[1..100] of char; Při použití datového typu řetězec určeného pro práci s textem nám Delphi dávají k dispozici další funkce například pro spojení řetězců, zjištění délky, vyhledávání v řetězci apod. K jednotlivým znakům řetězce přistupujeme podobně jako v prvkům pole index znaku je uzavřen v hranatých závorkách.

11 V jazyce Pascal je datový typ řetězec ukládán jako pole znaků o maximální délce 255 znaků (Pascalovské řetězce). V nultém indexu pole je uložen znak, jehož ordinální hodnota udává aktuální počet znaků v řetězci. Do závorek je možno při deklaraci uvést maximální možný počet znaků v řetězci (do hranatých závorek, tj. např. String[13]). Tomuto odpovídá v Delphi datový typ ShortString. Delphi umožňují (a upřednostňují) používání i tzv. null-terminated strings (pocházejících z jazyka C) řetězců ukončených znakem s ordinální hodnotou nula (null, #0), tento znak označuje konec řetězce. Řetězec může mít délku až 2 30 znaků a zabírá v paměti 4 B až 2 GB. Tomuto odpovídají datové typy AnsiString a WideString. Jak se chová obecný datový typ String určuje nastavení překladače menu Project/Options, karta Compiler, volba Huge strings: pokud je zapnuto, tak String=AnsiString (standardně), jinak String=ShortString. Lze přepínat i volbami překladače {$H+} zapne Huge strings, a {$H-} vypne tuto volbu. Pozor, v Delphi nemůže řetězcová konstanta obsahovat více jak 255 znaků. Tj. zápis retezec := 'více jak 255 znaků'; je chybný (i když proměnná retezec je typu AnsiString), chybu ohlásí už při překladu ( String literals may have at most 255 elements. ). Tuto dlouhou řetězcovou konstantu je nutno rozdělit na dvě a ty spojit (sečíst): retezec := 'první část - méně jak 255 znaků' + 'druhá část - méně jak 255 znaků'; Přetypování Jde vlastně o násilnou změnu typu proměnné donutím překladač, aby s hodnotou, která je uložena v proměnné určitého typu, pracoval jako s hodnotou jiného typu. Pozor, je to dosti nebezpečné!!! Musím přesně vědět, co dělám, proč to dělám a zda si mohu přetypování dovolit. Přetypování může být bezpečné (překladač provádí základní kontroly, zda takto přetypovat mohu) a nebezpečné (bez jakýchkoli kontrol). Bezpečné přetypování: <proměnná> as <nový typ> Nebezpečné přetypování: <nový typ>(<proměnná>) var znak: char; cislo: byte; begin znak:='a'; // cislo:=znak; // prosté přiřazení - nelze, chyba!!! // cislo:=znak as byte; // bezpečné přetypování - nelze, chyba!!! cislo:=byte(znak); // nebezpečné přetypování lze // nyní bude v proměnné cislo hodnota 65, // tj. ordinální číslo znaku 'A' Použití přetypování pro načítání a výpis hodnot výčtového typu Hodnoty výčtového typu nelze jednoduše načítat ani vypisovat. Při načítání hodnot výčtového typu, které uživatel vybírá z rozbalovacího seznamu (TComboBox), si lze ulehčit práci pomocí přetypování. Musí ale platit, že hodnoty uvedené při deklaraci výčtového typu jsou ve stejném pořadí jako hodnoty v rozbalovacím seznamu. Zde využíváme toho, že symbolické konstanty ve výčtovém typu mají hodnoty 0, 1, 2 podle jejich pořadí při deklaraci. type TStav = (svobodny, zenaty, rozvedeny, vdovec); var stav: TStav;

12 Doporučený postup pomocí case delší, ale bezpečné: procedure TForm1.ComboBox1Change(Sender: TObject); begin case ComboBox1.ItemIndex of 0: stav:=svobodny; 1: stav:=zenaty; 2: stav:=rozvedeny; 3: stav:=vdovec; Kratší, ale nebezpečnější postup pomocí přetypování: procedure TForm1.ComboBox1Change(Sender: TObject); begin stav:=tstav(combobox1.itemindex); Podobný přístup můžeme využít při výpisu hodnot uložených v proměnné stav. Připravíme si pole hodnot výčtového typu (tak, jak chceme, aby se v textové podobě vypisovaly) a poté jednoduše pomocí ordinální hodnoty konstanty uložené v proměnné stav toto pole indexujeme. Můžete také využít přetypování proměnné stav na typ byte (to je ale méně bezpečné). const stav_hodnoty: array[0..3] of string = ('svobodný', 'ženatý', 'rozvedený', 'vdovec');... ShowMessage(stav_hodnoty[ord(stav)]); // pomocí ordinální hodnoty ShowMessage(stav_hodnoty[byte(stav)]); // pomocí přetypování Příklad VYCTOVY_TYP_PRETYPOVANI Práce se soubory Soubor = abstrakce, kterou nám poskytuje OS; takže pracuji se souborem a nezajímá mě, kde a jak jsou data skutečně fyzicky uložena (na HDD, disketě, flash disku, magnetické pásce ). Práce se souborem má většinou následující fáze: 1. otevření souboru (OS zjistí, zda takový soubor existuje, zda aplikace má právo pracovat s tímto souborem, provede zamčení souboru, aby do něho ostatní aplikace nemohly zapisovat ) 2. zpracování dat (čtení a zápis dat) 3. uzavření souboru (uložení dat z vyrovnávací paměti na disk, uvolnění souboru) Dělení souborů: 1. textové (informace v nich jsou čitelné v textové podobě) 2. binární (data v binární podobě) typové nebo netypové (amorfní) Jak v Delphi? Příkazy pro práci se soubory v Delphi se mírně liší od příkazů jazyka Turbo Pascal, ale až na pár odlišností je vše uvedeno v [1] Pascal pro zelenáče, kapitola 15 (str ). V Delphi pracujeme s proměnnou typu soubor, tu nejprve svážeme s fyzickým souborem na disku pomocí AssignFile(<prom. typu soubor>, 'c:\...'). Poté soubor otevřeme procedurou Reset(<prom. typu soubor>) nebo Rewrite(<prom. typu soubor>). Data do souboru zapisujeme pomocí write(<prom. typu soubor>, <prom1>, <prom2>, ), ze souboru čteme data pomocí read(<prom. typu soubor>, <prom1>, <prom2>, ). Na konec soubor uzavřeme procedurou CloseFile(<prom. typu soubor>). Pro test, zda jsme přičtení na konci souboru používáme funkci EOF(<prom. typu soubor>).

13 Textové soubory Textové soubory jsou čitelné pro lidi, data v nich jsou uspořádána do řádků. Řádky jsou odděleny dvojicí znaků CR+LF (ordinální hodnoty 13 a 10). Pro podrobnější informace viz [1] Pascal pro zelenáče, kapitola 10 (str ). Deklarace var soubor: TextFile; Reset otevře soubor pro čtení a nastaví čtecí hlavu na začátek, soubor musí existovat. Rewrite založí nový soubor (stávající případně smaže) a otevře ho pro zápis. Append otevře existující soubor pro zápis a nastaví zápisovou hlavu na konec souboru. Procedura writeln(<prom. typu soubor>) zapíše do souboru znak konce souboru EOLN (který je reprezentován dvojicí znaků CR+LF), procedura readln(<prom. typu soubor>) skočí (nastaví čtecí hlavu) za nejbližší znak EOLN. writeln(<prom. typu soubor>, <prom1>, <prom2>) je zkratkou za write(<prom. typu soubor>, <prom1>); write(<prom. typu soubor>, <prom2>); writeln(<prom. typu soubor>) Funkci EOLN(<prom. typu soubor>) používáme pro testování zda je konec řádku. Textové soubory poskytují pouze sekvenční přístup čteme jednotlivé znaky od začátku do konce, jeden po druhém. Nemohu tedy v souboru skákat.

Tematický celek Proměnné. Proměnné slouží k dočasnému uchovávání hodnot během provádění aplikace Deklarace proměnných

Tematický celek Proměnné. Proměnné slouží k dočasnému uchovávání hodnot během provádění aplikace Deklarace proměnných Tematický celek 03 3.1 Proměnné Proměnné slouží k dočasnému uchovávání hodnot během provádění aplikace. 3.1.1 Deklarace proměnných Dim jméno_proměnné [As typ] - deklarace uvnitř procedury platí pouze pro

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

Delphi popis prostředí

Delphi popis prostředí Delphi popis prostředí Delphi je komplexní vývojové prostředí, které slouží pro tvorbu aplikací. Řadí se mezi objektově orientované jazyky, protože podporuje koncepci skutečného objektového programování.

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

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

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

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

Sada 1 - Základy programování

Sada 1 - Základy programování S třední škola stavební Jihlava Sada 1 - Základy programování 06. Proměnné, deklarace proměnných 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

- speciální symboly + - * / =., < > <> <= >= a další. Klíčová slova jsou chráněnými útvary, které nelze použít ve významu identifikátorů.

- speciální symboly + - * / =., < > <> <= >= a další. Klíčová slova jsou chráněnými útvary, které nelze použít ve významu identifikátorů. Základní symboly - písmena A B C Y Z a b c y z - číslice 0 1 2 9 - speciální symboly + - * / =., < > = a další - klíčová slova and array begin case const a další Klíčová slova jsou chráněnými útvary,

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

Vyučovací hodina. 1vyučovací hodina: 2vyučovací hodiny: Opakování z minulé hodiny. Procvičení nové látky

Vyučovací hodina. 1vyučovací hodina: 2vyučovací hodiny: Opakování z minulé hodiny. Procvičení nové látky Vyučovací hodina 1vyučovací hodina: Opakování z minulé hodiny Nová látka Procvičení nové látky Shrnutí 5 min 20 min 15 min 5 min 2vyučovací hodiny: Opakování z minulé hodiny Nová látka Procvičení nové

Více

Dělení a vlastnosti komponent

Dělení a vlastnosti komponent Dělení komponent Komponenty lze dělit podle dvou hledisek: Dělení a vlastnosti komponent heirarchické dělí komponenty podle toho, co jsou funkční dělí komponenty podle použití Hierarchie Komponenty Nevizuální

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

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

02. HODINA. 2.1 Typy souborů a objektů. 2.2 Ovládací prvky Label a TextBox

02. HODINA. 2.1 Typy souborů a objektů. 2.2 Ovládací prvky Label a TextBox 02. HODINA Obsah: 1. Typy souborů a objektů 2. Ovládací prvky Label a TextBox 3. Základní příkazy a vlastnosti ovládacích prvků 4. Práce s objekty (ovládací prvky a jejich vlastnosti) 2.1 Typy souborů

Více

Cvičení 7: Delphi objekty CheckedBox, Radio- Button, EditBox

Cvičení 7: Delphi objekty CheckedBox, Radio- Button, EditBox Cvičení 7: Delphi objekty CheckedBox, Radio- Button, EditBox 1 Opakování kreslení do Image 1. Canvas = plátno - Color, Caption Nastavení typu čáry pro kreslení perem Pen: barva Image1.Canvas.Pen.Color

Více

DUM 07 téma: Proměnné, konstanty a pohyb po buňkách ve VBA

DUM 07 téma: Proměnné, konstanty a pohyb po buňkách ve VBA DUM 07 téma: Proměnné, konstanty a pohyb po buňkách ve VBA ze sady: 03 tematický okruh sady: Tvorba skript a maker ze šablony: 10 Algoritmizace a programování určeno pro: 4. ročník vzdělávací obor: vzdělávací

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

6. Formátování: Formátování odstavce

6. Formátování: Formátování odstavce 6. Formátování: Formátování odstavce Obrázek 1: Formát / Odstavec Odstavec je text mezi dvěma znaky konce odstavce. Konec odstavce je skrytý znak a vkládáme jej během psaní při každém stisknutí klávesy

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

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

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: 1. lekce 1. Minimální program do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: #include #include int main() { printf("hello world!\n"); return 0; 2.

Více

Důležité: Pokud jako Caption zadáme (tj. pomlčku), je položka menu změněna na oddělovač.

Důležité: Pokud jako Caption zadáme (tj. pomlčku), je položka menu změněna na oddělovač. Delphi lekce 8 Vrátíme se k popisu často používaných komponent. TMainMenu Komponenta symbolizuje hlavní menu aplikace se všemi podmenu. Po umístění komponenty na formulář se dá poklepání na ikonu komponenty

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

Delphi nastavení formulářů

Delphi nastavení formulářů Úvod Formulář je základní komponentou aplikace a nastavení jeho vlastností má podstatný vliv na její celkový vzhled. Je proto velmi vhodné ihned po jeho vložení a přidání nové jednotky, která je s formulářem

Více

Prostředí Microstationu a jeho nastavení. Nastavení výkresu

Prostředí Microstationu a jeho nastavení. Nastavení výkresu Prostředí Microstationu a jeho nastavení Nastavení výkresu 1 Pracovní plocha, panely nástrojů Seznámení s pracovním prostředím ovlivní pohodlí, rychlost, efektivitu a možná i kvalitu práce v programu Microstation.

Více

Sada 1 - Základy programování

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

Více

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování 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

Object Pascal je přísně typový procedurální jazyk, který umožňuje jak strukturované, tak objektově orientované programování.

Object Pascal je přísně typový procedurální jazyk, který umožňuje jak strukturované, tak objektově orientované programování. Delphi lekce 6 Minimum z Object Pascalu Vrátíme se ještě k základům Object Pascalu. Struktura programu Object Pascal je přísně typový procedurální jazyk, který umožňuje jak strukturované, tak objektově

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

8. Formátování. Úprava vzhledu tabulky

8. Formátování. Úprava vzhledu tabulky 8. Formátování Úprava vzhledu tabulky Výšku řádku nastavíme tak, že kurzorem najedeme na rozhraní mezi políčky s čísly řádků. Kurzor se změní na křížek s dvojšipkou. Stiskneme levé tlačítko a tahem myší

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

Inovace a zkvalitnění výuky prostřednictvím ICT Vytváření aplikací pro systém Windows

Inovace a zkvalitnění výuky prostřednictvím ICT Vytváření aplikací pro systém Windows 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 Vytváření aplikací pro systém Windows Tlačítka Autor: Ing.

Více

Print Version. Delphi

Print Version. Delphi Print Version Delphi Table of Contents Úvodní informace Práce ve vývojovém prostředí základní obrazovka Nástrojové lišty Vytvoření projektu vložení komponent Zarovnání komponent Programování události Odladění

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

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

VISUAL BASIC. Přehled témat

VISUAL BASIC. Přehled témat VISUAL BASIC Přehled témat 1 ÚVOD DO PROGRAMOVÁNÍ Co je to program? Kuchařský předpis, scénář k filmu,... Program posloupnost instrukcí Běh programu: postupné plnění instrukcí zpracovávání vstupních dat

Více

Soubory. Hung Hoang Dieu. Department of Mathematics Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague 1 / 7

Soubory. Hung Hoang Dieu. Department of Mathematics Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague 1 / 7 Hung Hoang Dieu Department of Mathematics Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague 1 / 7 Co je to soubor? Soubor je kus diskového prostoru, vyhrazeného

Více

Realizace algoritmu v Delphi

Realizace algoritmu v Delphi Realizace algoritmu v Delphi Jedná se o výukový materiál určený k shrnutí učiva pro ty, co nemají žádné dřívější zkušenosti s programováním. Není to určené k učení nazpaměť, tím pádem je to obsáhlejší.

Více

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

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: 1. lekce 1. Minimální program do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: #include #include int main() { printf("hello world!\n"); return 0; 2.

Více

Programování 2 (NMIN102) Soubory. RNDr. Michal Žemlička, Ph.D.

Programování 2 (NMIN102) Soubory. RNDr. Michal Žemlička, Ph.D. Programování 2 (NMIN102) Soubory RNDr. Michal Žemlička, Ph.D. Soubor abstrakce vstupního, výstupního či vstupně výstupního zařízení textová, typovaná a netypovaná varianta základní operace: otevření, čtení/zápis,

Více

Pracovní prostředí Word 2003 versus Word 2010

Pracovní prostředí Word 2003 versus Word 2010 Zdokonalování gramotnosti v oblasti ICT Pracovní prostředí Word 2003 versus Word 2010 Inovace a modernizace studijních oborů FSpS Vránová Hana 11.7.2012 OBSAH Srovnání pracovního prostředí Word 2003 a

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

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

Excel tabulkový procesor

Excel tabulkový procesor Pozice aktivní buňky Excel tabulkový procesor Označená aktivní buňka Řádek vzorců zobrazuje úplný a skutečný obsah buňky Typ buňky řetězec, číslo, vzorec, datum Oprava obsahu buňky F2 nebo v řádku vzorců,

Více

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

Gymnázium Vysoké Mýto nám. Vaňorného 163, 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

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

DUM 06 téma: Tvorba makra pomocí VBA

DUM 06 téma: Tvorba makra pomocí VBA DUM 06 téma: Tvorba makra pomocí VBA ze sady: 03 tematický okruh sady: Tvorba skript a maker ze šablony: 10 Algoritmizace a programování určeno pro: 4. ročník vzdělávací obor: 18-20-M/01 Informační technologie

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

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

Formuláře. Téma 3.2. Řešený příklad č Zadání: V databázi formulare_a_sestavy.accdb vytvořte formulář pro tabulku student.

Formuláře. Téma 3.2. Řešený příklad č Zadání: V databázi formulare_a_sestavy.accdb vytvořte formulář pro tabulku student. Téma 3.2 Formuláře Formuláře usnadňují zadávání, zobrazování, upravování nebo odstraňování dat z tabulky nebo z výsledku dotazu. Do formuláře lze vybrat jen určitá pole z tabulky, která obsahuje mnoho

Více

Sada 2 Microsoft Word 2007

Sada 2 Microsoft Word 2007 S třední škola stavební Jihlava Sada 2 Microsoft Word 2007 18. Editor rovnic Digitální učební materiál projektu: SŠS Jihlava šablony registrační číslo projektu:cz.1.09/1.5.00/34.0284 Šablona: III/2 - inovace

Více

Spuštění a ukončení databázové aplikace Access

Spuštění a ukončení databázové aplikace Access Spuštění a ukončení databázové aplikace Access Aplikaci Access spustíte tak, že vyhledáte její ikonu v nabídce "Start" a klepnete na ní. Najdete ho v Sekci Všechny programy/mircosoft Office. Po výběru

Více

Začínáme pracovat s tabulkovým procesorem MS Excel

Začínáme pracovat s tabulkovým procesorem MS Excel Začínáme pracovat s tabulkovým procesorem MS Excel Nejtypičtějším představitelem tabulkových procesorů je MS Excel. Je to pokročilý nástroj pro tvorbu jednoduchých i složitých výpočtů a grafů. Program

Více

PHP - úvod. Kapitola seznamuje se základy jazyka PHP a jeho začleněním do HTML stránky.

PHP - úvod. Kapitola seznamuje se základy jazyka PHP a jeho začleněním do HTML stránky. PHP - úvod Kapitola seznamuje se základy jazyka PHP a jeho začleněním do HTML stránky. Klíčové pojmy: PHP, webový prohlížeč, HTTP, FTP Základní pojmy služba WWW = 1990 první prototyp serveru, od roku 1994

Více

Úvod do problematiky ÚPRAVY TABULKY

Úvod do problematiky ÚPRAVY TABULKY Úvod do problematiky ÚPRAVY TABULKY Zaměříme se na úpravy, které určují finální grafickou úpravu tabulky (tzv. formátování.). Měnit můžeme celou řadu vlastností a ty nejdůležitější jsou popsány v dalším

Více

Manuál k ovládání aplikace INFOwin.

Manuál k ovládání aplikace INFOwin. Manuál k ovládání aplikace INFOwin. Základní práce s formuláři je ve všech modulech totožná. Vybereme tedy například formulář Pokladní kniha korunová na kterém si funkce ukážeme. Po zápisech se lze pohybovat

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

- 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

Operační systém MS Windows XP Professional

Operační systém MS Windows XP Professional Operační systém MS Windows XP Professional Operační systém základní programové vybavení počítače zprostředkovává komunikaci uživatele s počítačem s technickým vybavením počítače s aplikačním programovým

Více

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

Gymnázium Vysoké Mýto nám. Vaňorného 163, 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

Dokument a jeho části oddíly, záhlaví, zápatí

Dokument a jeho části oddíly, záhlaví, zápatí Dokument a jeho části oddíly, záhlaví, zápatí Nejčastějším úkolem bývá ukončení stránky a pokračování textu na další stránce nebo vložení stránky před napsaný text. Podobným úkolem je jiné svislé zarovnání

Více

Masarykova střední škola zemědělská a Vyšší odborná škola, Opava, příspěvková organizace

Masarykova střední škola zemědělská a Vyšší odborná škola, Opava, příspěvková organizace Masarykova střední škola zemědělská a Vyšší odborná škola, Opava, příspěvková organizace Číslo projektu Číslo materiálu Autor Průřezové téma Předmět CZ.1.07/1.5.00/34.0565 VY_32_INOVACE_284_Programovací_jazyky

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

zobrazuje názvy polí, vložené hodnoty jednotlivých záznamů, lze v něm zadávat data (přidávat záznamy) v návrhovém zobrazení:

zobrazuje názvy polí, vložené hodnoty jednotlivých záznamů, lze v něm zadávat data (přidávat záznamy) v návrhovém zobrazení: DUM 02 téma: Tabulky v MS Access ze sady: 3 tematický okruh sady: Databáze ze šablony: 07 - Kancelářský software určeno pro: 2. ročník vzdělávací obor: vzdělávací oblast: číslo projektu: anotace: metodika:

Více

Vzorce. Suma. Tvorba vzorce napsáním. Tvorba vzorců průvodcem

Vzorce. Suma. Tvorba vzorce napsáním. Tvorba vzorců průvodcem Vzorce Vzorce v Excelu lze zadávat dvěma způsoby. Buď známe přesný zápis vzorce a přímo ho do buňky napíšeme, nebo použijeme takzvaného průvodce při tvorbě vzorce (zejména u složitějších funkcí). Tvorba

Více

KAPITOLA 8 TABULKOVÝ PROCESOR

KAPITOLA 8 TABULKOVÝ PROCESOR KAPITOLA 8 TABULKOVÝ PROCESOR FORMÁT BUNĚK Parametry formátu buněk a tabulky můžeme nastavit pomocí celkem šesti karet v nabídce Domů/Buňky FORMÁT BUNĚK - OKNO FORMÁT BUNĚK Karta Číslo - nastavuje formát

Více

Kapitola 11: Formuláře 151

Kapitola 11: Formuláře 151 Kapitola 11: Formuláře 151 Formulář DEM-11-01 11. Formuláře Formuláře jsou speciálním typem dokumentu Wordu, který umožňuje zadávat ve Wordu data, která lze snadno načíst například do databázového systému

Více

František Hudek. duben ročník

František Hudek. duben ročník VY_32_INOVACE_FH12_WIN Jméno autora výukového materiálu Datum (období), ve kterém byl VM vytvořen Ročník, pro který je VM určen Vzdělávací oblast, obor, okruh, téma Anotace František Hudek duben 2013 6.

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

Tvorba fotogalerie v HTML str.1

Tvorba fotogalerie v HTML str.1 Tvorba fotogalerie v HTML str.1 obr. A obr. B 1) Spustíme PsPad, vytvoříme nový dokument a otevře se nám okno nový soubor, kde si můžeme zvolit jaký chceme typ. My označíme HTML a potvrdíme. 2) Pro správné

Více

Ing. Igor Kopetschke TUL, NTI

Ing. Igor Kopetschke TUL, NTI ALGORITMY A DATOVÉ STRUKTURY 1. Organizace dat v paměti, datové typy Ing. Igor Kopetschke TUL, NTI http://www.nti.tul.cz Jednotlivé body Ukládání a a organizace dat Vnitřní paměť Vnější paměť Přístup k

Více

Anotace. Soubory a práce s nimi, rekurze podruhé, struktury (datový typ record), Martin Pergel,

Anotace. Soubory a práce s nimi, rekurze podruhé, struktury (datový typ record), Martin Pergel, Anotace Soubory a práce s nimi, rekurze podruhé, struktury (datový typ record), základní třídicí algoritmy. Soubory a práce s nimi Dnes budou pouze soubory textové. Textový soubor ovládáme pomocí proměnné

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

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

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

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

MALUJEME v MALOVÁNÍ. Základní nabídka. a) tažením úchytů umístěných v pravém dolním rohu a na spodním okraji obrázku

MALUJEME v MALOVÁNÍ. Základní nabídka. a) tažením úchytů umístěných v pravém dolním rohu a na spodním okraji obrázku Vytvoření nového obrázku a jeho uložení MALUJEME v MALOVÁNÍ Po otevření programu se automaticky otevře i čistá bílá plocha, na které budeme malovat. Velikost této kreslící čtvrtky si můžeme libovolně změnit.

Více

Tabulkový procesor. Orientace textu. O úroveň níž O úroveň výš

Tabulkový procesor. Orientace textu. O úroveň níž O úroveň výš Formátování Formátováním rozumíme změnu vlastností daného objektu, dle našich představ a možností programu MS Excel. Formátovat můžeme texty v buňkách, můžeme formátovat buňky, listy i celý sešit a měnit

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

dovolují dělení velkých úloh na menší = dekompozice

dovolují dělení velkých úloh na menší = dekompozice Podprogramy dovolují dělení velkých úloh na menší = dekompozice Příklad: Vytiskněte tabulku malé násobilky ve tvaru XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X X 1 2 3 4 5 6 7 8 9 10 X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Více

MS PowerPoint ZÁKLADY

MS PowerPoint ZÁKLADY MS PowerPoint ZÁKLADY UKÁZKA ŠKOLÍCÍCH MATERIÁLŮ Centrum služeb pro podnikání s.r.o. 2014, I. Verze, TP OBSAH 1. Úvod do PowerPointu... 1 2. Otevření PowerPointu... 1 3. Pracovní prostředí PowerPointu...

Více

Reliance 3 design OBSAH

Reliance 3 design OBSAH Reliance 3 design Obsah OBSAH 1. První kroky... 3 1.1 Úvod... 3 1.2 Založení nového projektu... 4 1.3 Tvorba projektu... 6 1.3.1 Správce stanic definice stanic, proměnných, stavových hlášení a komunikačních

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

Sada 1 - Základy programování

Sada 1 - Základy programování S třední škola stavební Jihlava Sada 1 - Základy programování 05. Turbopascal, prostředí TP6, struktura programu v TP 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

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

Práce v programu Word 2003

Práce v programu Word 2003 Práce v programu Word 2003 Prostředí programu WORD 2003 Program WORD 2003 slouží k psaní textů, do kterých je možné vkládat různé obrázky, tabulky a grafy. Vytvořené texty se ukládají, jako dokumenty s

Více

ČÁST 1. Základy 32bitového programování ve Windows

ČÁST 1. Základy 32bitového programování ve Windows Obsah Úvod 13 ČÁST 1 Základy 32bitového programování ve Windows Kapitola 1 Nástroje pro programování ve Windows 19 První program v Assembleru a jeho kompilace 19 Objektové soubory 23 Direktiva INVOKE 25

Více

Jak v Javě primitivní datové typy a jejich reprezentace. BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické

Jak v Javě primitivní datové typy a jejich reprezentace. BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické Jak v Javě primitivní datové typy a jejich reprezentace BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické Obsah Celočíselný datový typ Reálný datový typ Logický datový typ, typ Boolean

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

Řízení toku programu Programátor musí být schopen nějak ovlivňovat běh programu a k tomu má několik možností:

Řízení toku programu Programátor musí být schopen nějak ovlivňovat běh programu a k tomu má několik možností: Delphi lekce 7 Minimum z Object Pascalu (část 2) Řízení toku programu Programátor musí být schopen nějak ovlivňovat běh programu a k tomu má několik možností: Větvení cykly větvení volání podprogramů V

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

Školní kolo soutěže Baltík 2009, kategorie C

Školní kolo soutěže Baltík 2009, kategorie C Úloha 1 Sídliště Počet bodů: 40 b Pracujte v 3D režimu s Baltíkem. a) Bílý a šedivý Baltík si postaví šachovnici o rozměru 6x6 políček následujícím způsobem. Předměty SGP21.sgpm a SGP22.sgpm upravte na

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

NPRG030 Programování I, 2017/18 1 / :22:16

NPRG030 Programování I, 2017/18 1 / :22:16 NPRG030 Programování I, 2017/18 1 / 26 20. 10. 2017 11:22:16 Ordinální typy standardní: integer, char, boolean Vlastnosti ordinálních typů: 1. hodnot je konečný počet a hodnoty jsou uspořádány 2. ke každé

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

Excel tabulkový procesor

Excel tabulkový procesor Pozice aktivní buňky Excel tabulkový procesor Označená aktivní buňka Řádek vzorců zobrazuje úplný a skutečný obsah buňky Typ buňky řetězec, číslo, vzorec, datum Oprava obsahu buňky F2 nebo v řádku vzorců,

Více

22. Tvorba webových stránek

22. Tvorba webových stránek 22. Tvorba webových stránek Webové stránky jsou spolu s elektronickou poštou nejpoužívanější prostředky internetu. Brouzdáme li internetem používáme nějaký prohlížeč. To, co vidíme na obrazovce v prohlížeči

Více

10 Algoritmizace Příklad 2 Word 2007/ VBA

10 Algoritmizace Příklad 2 Word 2007/ VBA TÉMA: Zápis algoritmu, cyklus se známým počtem opakování Prostředí aplikace Wordu je možné doplnit v rámci využití maker o automatizaci složitějších posloupností příkazů. Vedle záznamu makra je možno makra

Více

Aplikovaná informatika. Podklady předmětu Aplikovaná informatika pro akademický rok 2006/2007 Radim Farana. Obsah. Obsah předmětu

Aplikovaná informatika. Podklady předmětu Aplikovaná informatika pro akademický rok 2006/2007 Radim Farana. Obsah. Obsah předmětu 1 Podklady předmětu pro akademický rok 2006/2007 Radim Farana Obsah 2 Obsah předmětu, Požadavky kreditového systému, Datové typy jednoduché, složené, Programové struktury, Předávání dat. Obsah předmětu

Více