Praktická cvičení algoritmů

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

Download "Praktická cvičení algoritmů"

Transkript

1 texty pro distanční studium Ing. Eliška Treterová Ostravská univerzita v Ostravě, Přírodovědecká fakulta Katedra Informatiky a počítačů Ostrava 2003

2 2 Praktická cvičení algoritmů

3 Úvod Jednoduchá proměnná Číselná proměnná Celá čísla Příklady použití jednoduché celočíselné proměnné Korespondenční úkol č Reálná čísla Příklady použití reálné proměnné Znaková proměnná Znaky Příklady použití znakové proměnné Logická proměnná Logické konstanty Příklady použití logické proměnné Korespondenční úkol č Statické datové struktury Řetězec znaků Pole Jednorozměrné pole Dvourozměrné pole Záznam Množina Korespondenční úkol č Uložení dat mimo operační paměť Textový soubor Typový soubor Korespondenční úkol č Závěr Literatura

4 4 Praktická cvičení algoritmů

5 Úvod Studijní text je určen pro zájemce o studium problematiky tvorby algoritmů a jejich zápisu v programovacím jazyku Borland Pascal. Je možné jej využít v předmětu Praktická cvičení algoritmů. Předpokladem úspěšného zvládnutí učiva tohoto studijního textu je dobrá orientace v integrovaném prostředí Borland Pascalu a dobrá znalost základních rysů tohoto programovacího jazyka. Studující musí byt schopen používat jednoduché i strukturované příkazy jazyka Borland Pascal, vytvářet vlastní podprogramy obou dovolených typů procedury a funkce a znát problematiku datových typů. Studijní text je rozdělen do tří velkých kapitol. V úvodní kapitole jsou vysvětleny základní principy práce s jednoduchou proměnnou. Další kapitola se zabývá problematikou uložení dat pomocí datových struktura a jejich následným zpracováním. Třetí kapitola pak je věnována ukládání dat mimo operační paměť počítače. Studující se zde naučí uložit data do externího souboru a následně pak také zpět do operační paměti. Všechny kapitoly a podkapitoly jsou doplněny velkým množstvím příkladů. U každého příkladu je proveden rozbor řešení a je vloženo řešení ve zdrojovém kódu programovacího jazyka Borland Pascal. 5

6 1. Jednoduchá proměnná Cíl: Po prostudování této kapitoly budete schopni: - používat v programech číselné proměnné - zařadit do algoritmů znakovou proměnnou - rozlišit situace, kdy do algoritmů je vhodně zařadit logickou proměnnou Klíčová slova: Proměnná, celé číslo, reálné číslo, znak, logická proměnná, logická konstanta, aritmetické operace, relační operace, logické operace, logický výraz, standardní podprogramy, datový typ, předefinovaná konstanta. Jednoduchá proměnná slouží k uložení jedné hodnoty. Jako hodnota se zde může objevit celé číslo, desetinné číslo, znak nebo logická konstanta. Význam jednoduché proměnné pro programování spočívá především v tom, že často programátor potřebuje různá počítadla, přepínače a pomocné proměnné pro uložení výsledků a mezivýsledků Číselná proměnná V programovacím jazyku Borland Pascal rozlišujeme čísla celá a čísla desetinná. Obecně platí, že čísla desetinná v programování nazýváme reálná. Rozdělení čísel do těchto dvou skupin vychází z odlišného způsobu jejich vnitřního reprezentace a v závislosti na tom i provádění výpočtu Celá čísla Celá čísla se v paměti počítače ukládají přesně. Kladná část čísla je zobrazena ve dvojkové soustavě, záporná čísla se ukládají v doplňkovém kódu. Nejvyšší bit slouží k uložení znaménka. Pokud je tento bit roven nule, je číslo kladné, pokud je roven 1, znamená to, že číslo je záporné. Další bity vymezeného prostoru slouží k uložení vlastní hodnoty. Velikost paměti přidělená jednomu číslu je přesně určena datovým typem proměnné. V Borland Pascalu existuje 5 různých datových typů, kdy nejběžnějším typem je typ INTEGER, který proměnné přiděluje paměť velikosti 16 bitů. Z tohoto prostoru je jeden bit určen pro znaménko a zbývajících 15 bitů pro uložení čísla. Z toho vyplývá, že v tomto prostoru lze uložit libovolné celé číslo z rozmezí až , tj do Překladač Borland Pascalu rozlišuje 5 datových typů pro celá čísla. Typ Množina hodnot (rozsah) Velikost paměti v bytech BYTE SHORTINT

7 WORD INTEGER LONGINT Příklady použití jednoduché celočíselné proměnné. Při použití celočíselné proměnné je vhodné si zapamatovat, které operace Borland Pascal pro celočíselné operace nabízí. Dovolené operace s proměnnými celočíselných typů: a) aritmetické operátory: + sčítání - odčítání * násobení DIV celočíselné dělení MOD zbytek po celočíselném dělení / přesné dělení Použití operace dělení pomocí operátoru / je dovoleno pro celočíselné proměnné, ale výsledek tohoto dělení je reálné číslo (číslo s desetinnou částí). Výsledkem ostatních operací bude celočíselná hodnota. Průvodce studiem: Na tomto místě bych vás chtěla upozornit především na existenci operátorů DIV a MOD. Programátor by se bez nich docela lehce obešel, ale proč je nepoužívat, když jsou k dispozici? Jestliže vypočítáme: 7 : 2 = 3, zbytek je 1 Pak stejné výsledky dostaneme takto: 7 DIV 2 = 3 7 MOD 2 = 1 Vhodnost použití operátorů DIV a MOD a zároveň jejich nahraditelnost je znázorněna v příkladu č.1-1 a příkladu č.1-2. b) relační operátory: = rovná se <> nerovná se > větší než >= větší nebo rovno < menší než <= menší nebo rovno Výsledkem těchto operací je logická hodnota TRUE nebo FALSE! 7

8 Předdefinované celočíselné konstanty - není třeba je zavádět v deklarační části programu. MAXINT - obsahuje největší dovolenou hodnotu, kterou lze uložit do proměnné typu INTEGER, což je MAXLONGINT - obsahuje největší dovolenou hodnotu, kterou lze uložit do proměnné typu LONGINT, což je Průvodce studiem: Je výhodné znát, že existují tzv. předdefinované konstanty. Tyto konstanty pak můžete použít, aniž byste je museli uvádět v deklarační část programu a pak také máte jistotu, že mají vždy stejnou hodnotu. V dalším textu jsou občas použity. Příklad 1-1: Zjistěte celou část podílu celých čísel A,B. Předpoklad: máme deklarovány proměnné Vysl, A a B jako celá čísla. Řešení s využitím operátoru DIV: Vysl := A DIV B; Řešení bez použití operátoru DIV: Vysl := trunc(a/b) ; Výsledek obou řešení je stejný! Druhé řešení je ale zbytečně složité, obvykle se k němu uchýlí programátor, který neví o existenci standardního operátoru DIV. Příklad 1-2: Zjistěte, zda je číslo A dělitelné číslem B. Předpoklad: máme deklarovány proměnné A a B jako celá čísla. Řešení s využitím operátoru MOD: If A MOD B = 0 then { }; Řešení s využitím operátoru DIV a zpětné násobení podílu dělitelem: If (A DIV B) * B = K then { }; Toto řešení je v podstatě správné, ale zbytečně složité. Řešení bez použití operátoru MOD: If (A DIV B) = A/B then { }; If round(a / B) * B = A then { }; Tato řešení jsou poněkud nešikovná, protože vyžadují přechod do reálných čísel. 8

9 Příklad 1-3: Zjistěte, kolikrát musí jet dopravní prostředek o kapacitě K, aby přepravil skupinu cestujících o počtu P. Zajistěte regulérnost vstupní hodnoty a nabídněte možnost opakování celého výpočtu na základě dotazu. Použijeme aritmetické operace DIV a MOD, které jsou pro celá čísla dovolené. Pomocí DIV zjistíme, kolik bude zcela plných dopravních prostředků, a pomocí MOD zjistíme, zda je třeba poslat další dopravní prostředek, který nebude plný. Program PR1_3; K,P,pocet_jizd,zbytek:integer; opakovani:integer; write('zadej pocet cestujicich: '); readln(p); write('zadej kapacitu dopr.prostredku vetsi nez nula:'); readln(k); until (P>0) and (K>0); pocet_jizd:=p div k; zbytek:= p mod k; if zbytek <> 0 then pocet_jizd := pocet_jizd + 1; writeln('dopr.prostredek musi jet',pocet_jizd); Write('opakovat cely vypocet? '); Writeln('1=ano, ostatni cisla = konec programu'); readln(opakovani); until opakovani <> 1; Průvodce studiem: Algoritmus řešení tohoto problému byl vcelku jednoduchý, hlavně proto, že jste využili operátory DIV a MOD. Do programu jsem zařadila nabídku opakování celého výpočtu. To nemá vliv na vlastní algoritmus řešení, ale uživateli programu tím umožníte pohodlným způsobem testovat různé ianty řešení. Často v programech tuto nabídku naleznete. 9

10 Příklad 1-4 Z klávesnice zadáváme předem známý počet celých čísel. Počet vstupních hodnot je uložen v N. Zjistěte kolik ze zadaných hodnot bylo záporných a kolik hodnot bylo dělitelných 5 (použijte operátor MOD). K řešení použijte libovolný příkaz cyklu. Dělitelnost čísla zde chápeme jako situaci, kdy nám po vydělení zůstane zbytek roven nule. K tomuto účelu nám dobře poslouží operátor MOD. Zápornost čísla zjistíme porovnáním čísla s nulou. V programu není zařazena nabídka opakování výpočtu. Pro zamezení automatického návratu do integrovaného prostředí Borland Pascalu po vytištění výsledků je na konci programu vložen příkaz cyklu s podmínkou na konci ve tu: until keypressed; kde keypressed je logická funkce, která vrací hodnotu TRUE při stisku libovolné klávesy. Program PR1_4; i, cislo, pocet, zap, del:integer; Clrscr; Write('Zadejte pocet cisel: '); ReadLn(pocet); del:=0; zap:=0; For i:=1 to pocet do Write('Zadejte cislo: '); ReadLn(cislo); if cislo mod 5 = 0 then inc(del); {del:=del+1} if cislo < 0 then inc(zap); Writeln('Z celk. poctu ', pocet,' cisel bylo: '); Writeln('zapornych : ',zap); Writeln('delitelnych 5: ',del); until keypressed; Příklad 1-5 Sestavte proceduru, která čas zadaný v sekundách převede na hodiny, minuty a sekundy. Načtení času a tisk výsledků bude provedeno v hlavním programu. Zajistěte regulérnost vstupní hodnoty a nabídněte možnost opakování celého výpočtu na základě dotazu. Výsledkem by mělo být vyjádření času v tzv. digitální podobě. Jednoduchým způsobem pomocí operátorů DIV a MOD získáme výsledek. Výpočet má smyl pouze v případě, že na vstupu bude kladné číslo. 10

11 program PR1_5; pocet_sec:longint; h,m,sec:integer; opakovani:integer; procedure prevod(pocet:longint; hod,min,sec:integer); zb:integer; hod:= pocet div 3600; zb:=pocet mod 3600; min:= zb div 60; sec:= zb mod 60; write('zadej cas v sekundach: '); readln(pocet_sec); If pocet_sec <= 0 then writeln('cas zadejte vetsi nez nula!'); until pocet_sec > 0; prevod(pocet_sec,h,m,sec); writeln('cas v hodinach: ',h,':',m,':',sec); Write('opakovat cely vypocet? '); writeln('1=ano, ostatni cisla = konec programu'); readln(opakovani); until opakovani <> 1; Samostatný úkol č1: Vyřešte úkol PR1_5 bez použití operátorů DIV a MOD. Celočíselné dělení nahradíme postupným odčítáním dělitele od dělence. Příklad 1-6 Sestavte funkci, která vypočítá N-tou mocninu reálného čísla Z, řešte i pro případ záporného mocnitele. Funkce bude mít dva formální parametry. Tuto funkci využijte v programu. Platí: z n = z * z* z* z. Pro záporného mocnitele se provede výpočet mocniny s kladným mocnitelem a výsledek pak získáme jako převrácenou hodnotu výsledku. 11

12 Průvodce studiem: Překladač jazyka Borland Pascal obsahuje pouze standardní funkci SQR(x), která vypočítá druhou mocninu čísla x. Pokud potřebujete vypočítat N-tou mocninu nebo umocnit číslo na záporného mocnitele, musíte sestavit potřebný algoritmus sami. Algoritmus výpočtu je vcelku jednoduchý, nezapomeňte správně nastavit ve funkci počáteční hodnotu lokální proměnné V na hodnotu 1. Program PR1_6; cis,vysl:real; moc:integer; Function mocnina(z:real;n:integer):real; i:integer; v:real; v:=1; for I:= 1 to abs(n) do v:=v*z; if n<0 then v:= 1/v; mocnina:=v; Write('Zadej cislo: '); readln(cis); write('zadej mocnitele: '); readln(moc); vysl:=mocnina(cis,moc); writeln('n-ta mocnina cisla: ',vysl:5:2); write('zmackni ENTER: '); readln; Příklad 1-7 Sestavte funkci pro výpočet N!. Funkce bude mít jeden formální parametr. Funkci využijte v programu v programu zajistěte, aby se funkce volala pouze v případě, že lze N! vypočítat. Nabídněte možnost opakování celého výpočtu na základě dotazu. Pro faktoriál přirozeného čísla N platí: N! = 1*2*3*4* *N Pro nulu platí: 0! = 1 Pro záporná čísla není faktoriál definován. Funkce pro výpočet faktoriálu netestuje správnost vstupní hodnoty, to je zajištěno v hlavním programu návratem na opětovné zadání čísla, pokud je číslo záporné. 12

13 Průvodce studiem: Ve funkci, kterou sestavíte pro výpočet faktoriálu, musíte zavést dvě pomocné lokální proměnné. Proměnná i slouží jako řídící proměnná cyklu a proměnná v slouží pro uložení výsledku. Teprve na konci funkce přiřaďte obsah proměnné v do názvu funkce. Pokud byste toto přiřazení neprovedli, funkce by vám v místě svého volání nevracela vypočtenou hodnotu. Také je důležité to, že ve funkce netestuje, zda lze či nelze faktoriál ze zadaného čísla vypočítat. To musíte zajistit v programu dříve, než funkci zavoláte. Vzhledem k tomu, že hodnota faktoriálu roste velmi rychle, je důležité, abyste stanovili návratový typ funkce (a také lokální proměnné v na longint. Pokud by ani tento rozsah nestačil, tak zvolte jako návratový typ funkce datový typ real. Nezapomeňte nastavit počáteční hodnotu proměnné v na jedničku. Kdybyste do v dali nulu, byl by výsledek vašeho výpočtu pořád nulový. Program PR1_7; F,opakovani:integer; vysl:longint; Function FAKT(n:integer):longint; i:integer; v:longint; v:=1; for i:= 1 to n do v:=v*i; fakt:=v; Write('Zadej cislo N intervalu <0,15> '); readln(f); until (f>=0) and (f<=15); vysl:=fakt(f); writeln('faktorial cisla: ',vysl); Write('opakovat cely vypocet? '); writeln('1=ano, ostatni cisla = konec programu'); readln(opakovani); until opakovani <> 1; 13

14 Příklad 1-8 Sestavte funkci, která bude počítat součin dvou celých čísel pomocí postupného sčítání. Řešte i pro záporné hodnoty. Tuto funkci využijte v programu. Nabídněte možnost opakování celého výpočtu na základě dotazu. Základem řešení je to, že násobení dvou celých čísel je ve své podstatě opakované sčítání jednoho činitele. Počet opakování sčítání je dán hodnotou druhého činitele. Např.: 3*4 = Pro záporné hodnoty pak je nutné především zajistit, aby výpočet vždy proběhl. To zajišťuje použití standardní funkce ABS(cis1). Po výpočtu je třeba upravit výsledek pro situaci, kdy cis1 je záporné číslo. Ostatní je v pořádku. Např.: 3*4 = = 12 3*(-4) = (-4) + (-4) + (-4) = -12-3*4 = = 12-3*(-4) = (-4) + (-4) + (-4) =-12 Průvodce studiem: Vyřešení tohoto úkolu je dosti snadné, zvláště, pokud si nepřečtete pozorně zadání a opominete zajistit funkčnost algoritmu i pro záporné hodnoty. Jakmile ale začne student předělávat svůj algoritmus tak, aby dával správné řešení i pro záporné hodnoty, málokdy dojde k řešení, které jsem vám nabídla. Obvykle ke správným výsledkům dospěje, ale v programu bývá velmi mnoho zbytečných rozhodovacích bloků. Proto jsem zařadila tento dosti podrobný rozbor vcelku jednoduchého algoritmu. Program PR1_8; c1,c2,opakovani:integer; vysl:longint; Function soucin(cis1,cis2:integer):longint; i:integer; v:longint; v:=0; for i:= 1 to abs(cis1) do v:=v+cis2; if cis1<0 then v:=-v; soucin:=v; write('zadej 1.cinitele: '); 14

15 readln(c1); write('zadej 2.cinitele: '); readln(c2); vysl:=soucin(c1,c2); writeln(c1,' * ',c2,' = ',vysl); Write('opakovat cely vypocet? '); writeln('1=ano, ostatni cisla = konec programu'); readln(opakovani); until opakovani <> 1; Samostatný úkol č.2 Sestavte program, který vypočítá celočíselný podíl a zbytek po celočíselném dělení dvou celých čísel. Řešte i pro záporné hodnoty dělence a dělitele. Příklad 1-9 Sestavte funkci pro výpočet ciferného součtu přirozeného čísla. Použijte v programu, funkci volejte pouze v případě, že číslo je přirozené. Nabídněte možnost opakování celého výpočtu na základě dotazu. Ciferný součet chápeme jako součet jednotlivých cifer zadaného přirozeného čísla. Např: pro číslo je ciferný součet 10. V algoritmu zjistíme zbytek čísla X po dělení 10 (pomocí MOD), který přičteme do pomocné proměnné, a následně pak číslo X zmenšíme 10 krát (pomocí DIV). Toto vše vložíme do cyklu, který končí v okamžiku, kdy X je rovno 0. Program PR1_9; x:longint; soucet,opakovani:integer; Function ciferny_soucet(a:longint):integer; zb,souc:integer; souc:=0; zb:=a mod 10; souc:=souc+zb; a:=a div 10; until a = 0; ciferny_soucet:=souc; Write('Zadej cislo X >= 0 '); readln(x); until x>=0; 15

16 soucet:=ciferny_soucet(x); writeln('ciferny soucet : ',soucet); Write('opakovat cely vypocet? '); writeln('1=ano, ostatni cisla = konec programu'); readln(opakovani); until opakovani <> 1; Příklad 1-10 Určete počet cifer daného přirozeného čísla X. Pro výpočet sestavte vlastní funkci, kterou volejte jen v případě, že X je vyhovující hodnoty. Nabídněte možnost opakování celého výpočtu na základě dotazu. Algoritmus využívá pro zjištění počtu cifer pouze číselné proměnné. Celý postu spočívá v tom, že vstupní hodnota X je postupně v cyklu zmenšována 10 krát (pomocí DIV) až se bude rovnat nule. Počet průchodů cyklem se rovna počtu cifer. Průvodce studiem: Překladač jazyka Borland Pascal nabízí konverzní proceduru STR, která převede číselnou hodnotu do podoby řetězce. Pak pomocí standardní funkce length můžete zjistíte délku této řetězcové proměnné a bude mít v podstatě počet cifer zadaného čísla. Který způsob v praxi použijete závisí na vašem rozhodnutí. Program PR1_10; poc,opakovani:integer; cis:longint; Function cifry(cislo:longint):integer; p:integer; p:=0; cislo:=cislo div 10; inc(p); until cislo = 0; cifry:=p; Write('Zadej cislo N >= 0 '); readln(cis); until cis>=0; 16

17 poc:=cifry(cis); writeln('pocet cifer: ',poc); Write('opakovat cely vypocet? '); writeln('1=ano, ostatni cisla = konec programu'); readln(opakovani); until opakovani <> 1; Samostatný úkol č3: Sestavte program, který načte přirozené číslo X, a vypočítá k němu číslo, které má stejné cifry, ale v opačném pořadí. Použijte pouze číselné hodnoty (neprovádějte konverzi na řetězec) Korespondenční úkol č. 1 Sestavte v programovacím jazyku Borland Pascal jeden ze samostatných úkolů z této kapitoly Reálná čísla Pro reálná čísla nabízí překladač Borland Pascalu více datových typů. TYP Množina hodnot (rozsah) Velikost paměti v bytech REAL 2.9 * * SINGLE 1.5 * * DOUBLE 5.0 * * EXTENDED 3.4 * * COMP Nejpoužívanější je datový typ REAL. Tento datový typ má přesnost 11 až 12 platných číslic. Dovolené operace s proměnnými reálného datového typu: a) aritmetické: + sčítání - odčítání * násobení / dělení Nelze použít operace DIV a MOD!!! b) relační : = <> > >= < <= Výsledkem těchto operací je logická hodnota TRUE nebo FALSE. Předdefinované reálné konstanty - není třeba je zavádět v deklarační části programu. PI Ludolfovo číslo, které má hodnotu 3,14 17

18 Příklady použití reálné proměnné. Příklad 1-21 Načtěte poloměr R a vypočítejte obvod a obsah kruhu. Ošetřete regulérnost vstupních dat (výpočet má smysl pro R > 0). Nabídněte možnost opakování celého výpočtu na základě dotazu. Program PR1_21; r,opak:integer; obvod,obsah:real; write('zadej polomer (R>=0): '); readln(r); until r>=0; obvod:=2*pi*r; obsah:=pi*sqr(r); writeln('obvod: ', obvod:0:2,' obsah: ',obsah:0:2); Write('opakovat cely vypocet? '); writeln('1=ano, ostatni cisla = konec programu'); readln(opak); until opak <> 1; Průvodce studiem: Algoritmus výpočtu je založen na triviálních matematických vzorcích. Zařadila jsem jej tady proto, že se již nemůžete vyhnout nutnosti použít reálnou proměnnou. I když zadáte poloměr jako celé číslo, použitím PI se nutně dostanete do oboru desetinných čísel. V souvislosti s reálnou proměnnou narazíte na problém tu výpisu čísla na obrazovku. Reálná čísla se vypisuji ve tu E+1. Pokud chcete, aby se reálné číslo vytisklo ve tu se zadaným počtem desetinných míst, musíte vložit do příkazu writeln za název proměnné informaci o počtu míst celkem a o počtu desetinných míst, např.: obsah:10:2 znamená, že číslo na obrazopvce zabere celkem 10 míst a z toho budou dvě desetinná. Příklad 1-22 Sestavte program, který vypočítá kořeny kvadratické rovnice ax 2 +bx+c = 0. Program musí pracovat pro libovolné hodnoty koeficientů a, b,c. Vyjdeme z obecného řešení kvadratické rovnice: x 1, 2 = (-b± D) /2*a, kde D = b 2 4*a*c. Nejdříve vypočteme hodnotu diskriminantu D. Pokud je tato hodnota záporná, znamená to komplexně sdružené kořeny kvadratické rovnice. 18

19 Pak se musíme soustředit na eventuality, které mohu nastat při zadávání vstupních hodnot. Pokud je a = 0, jedná se o lineární rovnici b*x+c=0 a jejím řešením je kořen: x = -(c/b). Program PR1_22; a,b,c,diskr:real; writeln('vypocet korenu kvadraticke rovnice'); writeln('zadej koeficienty a,b,c:); Readln(a); Readln(b); Readln(c); diskr:=b*b - 4*a*c; If diskr<0 then writeln('rovnice ma komplexni koreny.') else if a=0 then write('rovnice je linearni s korenem'); writeln('x = ',(-c)/b:10:3); end else writeln('prvni koren=',-b+sqrt(diskr)/2*a:10:3); writeln('druhy koren=',-b-sqrt(diskr)/2*a:10:3); Příklad 1-23 Sestavte program pro výpočet přepony pravoúhlého trojúhelníka. Hodnoty obou odvěsen načtěte z klávesnice. Zajistěte regulérnost vstupních dat. K výpočtu přepony je použita Pythagorova věta. V algoritmu je zajištěna regulérnost vstupních dat hodnota odvěsen musí být větší než nula. Teprve po splnění této podmínky proběhne výpočet. Program PR1_23; odvesnaa,odvesnab,prepona:real; odp:integer; write('zadej 1.odvesnu: '); readln(odvesnaa); until odvesnaa>0; write('zadej 2.odvesnu: '); readln(odvesnab); until odvesnab>0; prepona:=sqrt(sqr(odvesnaa)+sqr(odvesnab)); writeln('prepona: ',prepona:6:2); 19

20 write('opakovat vypocet? '); writeln('1 = Ano, 2 = Ne'); readln(odp); until (odp=1) or (odp=2); until odp=2; Příklad 1-24 Přečtěte hodnotu úhlu ve stupních a napište hodnoty funkcí sinus a kosinus. Po zobrazení výsledků nabídněte možnost opakování celého výpočtu. Po naplnění stránky (asi 20 řádků) výpis zastavte a zajistěte, aby se další stránka vytiskla až po zmáčknutí klávesy ENTER. Překladač jazyka Borland Pascal má standardní funkce sin(x) a cos(x). Tyto funkce pracují s argumenty v radiánech, proto je třeba zadanou hodnotu úhlu přepočítat (1 stupeň = PI/180 rad.). Pro zajištění průchodnosti řešení je v programu zařazeno volání procedury, která provede záměnu dolní a horní hranice intervalu v případě, že dolní hranice je větší než hranice horní. Záměna se provádí bez dotazu nebo upozornění uživatele na chybu. program PR1_24; stup1,stup2,i,k:integer; rad:real; procedure zmena( a,b:integer); pom:integer; pom:=a; a:=b; b:=pom; function radian (stupne:integer):real; radian:=stupne*(pi/180); procedure hlavicka; writeln(' Stupne sin(x) cos(x) '); writeln('================================'); write('zadejte prvni hodnotu: '); readln(stup1); write('zadejte druhou hodnotu: '); 20

21 readln(stup2); if stup1>stup2 then zmena(stup1,stup2); hlavicka; k:=0; for i:= stup1 to stup2 do k:=k+1; rad:=radian(i); writeln(' ',i:3,sin(rad):13:5,cos(rad):12:5); if k=20 then k:=0; writeln('pro pokr. stiskni cokoli.'); readkey; if i<>stup2 then hlavicka; Samostatný úkol č. 4 Doplňte do převodní tabulky další sloupec, ve kterém znázorněte hodnoty funkce tangens. Pro funkci tangens není v prostředí Borland Pascalu standardní funkce, proto musíme tangens vypočítat takto: tg(x) = sin(x)/cos(x). Také musíme dát pozor na to, že funkce tangens není pro některé hodnoty definována. Příklad 1-25 Vypočítejte hodnotu Eulerova čísla e pomocí součtu řady: Výpočet ukončete, až bude rozdíl sousedních členů řady menší než zadaná hodnota, tzn. že bude platit: 1/n 1/(n+1) < zadaná hodnota. V takto zadaném úkolu neznáme dopředu počet opakování výpočtu, proto můžeme použít příkaz cyklu s podmínkou na začátku nebo s podmínkou na konci. Jako výhodnější se zde jeví příkaz cyklu s podmínkou na konci, jako ukončující podmínka zde slouží porovnání rozdílu Program PR1_25; n:integer; e,clen,rozdil:real; Write('rozdil sousednich clenu 0=konec '); readln(rozdil); 21

22 rozdil := abs(rozdil); If rozdil <> 0 then e:=0; n:=1; clen:=1; INC(n); clen := clen/n; e:=e + clen; until (clen - clen/n) < rozdil; writeln('e = ',e:10:8); until rozdil = 0; Průvodce studiem: Proměnná typu Real je pro programátora důležitá. Pokud ale máte jistotu, že při výpočtech zůstanete v oboru celých čísel, využijte toho a reálné proměnné nezavádějte. Použitím celočíselných proměnných bude mít váš program menší nároky na paměť a také výpočty budou rychlejší Znaková proměnná Znaková proměnná dovoluje zařadit do programu práci se znaky. Programátor pak může například zlepšit komunikaci s uživatelem Znaky. Do znakové proměnné můžeme uložit libovolný znak z ASCII tabulky. Je rozdíl mezi malým a velkým písmenem, protože malá a velká písmena jsou v ASCII tabulce uložena na jiných místech. Znaková proměnná zabere v operační paměti 1 B. V paměti se ukládá ve dvojkové soustavě číselná hodnota ASCII kódu. ACSII kód je vzájemně jednoznačné přiřazení mezi znakem a číslem (pořadí v ASCII tabulce). Průvodce studiem: Znakovou konstantu poznáme ve zdrojovém textu podle toho, že je znak uzavřen mezi apostrofy. Toto lze ale použít pouze pro zobrazitelné znaky. Pokud budete potřebovat přiřadit nebo vytisknout nezobrazitelný znak, pak musíte znát jeho pořadí v ASCCI tabulce. Zápis pak provedete tak, že napíšete symbol # a celé číslo bez znaménka vyjadřujícího pořadí znaku v ASCII tabulce. Např.: #7 zvonek nebo #13 enter Stejný význam jako znak # má funkce CHR( ). #7 a CHR(7) dávají stejný výsledek (zvonek). 22

23 Můžeme použít pouze relační operace: = rovná se <> nerovná se > větší než >= větší nebo rovno < menší než <= menší nebo rovno Standardní funkce ORD(x) funkce, která vrací číslo (pořadí) znaku v ASCII tabulce, tj. číslo z intervalu CHR(c) funkce, která vrací znak, který odpovídá danému číslu v ASCII tabulce PRED(x) funkce, která vrací znak, který v ASCII tabulce má pořadové číslo o 1 menší než znak uvedený jako argument funkce SUCC(x) funkce, která vrací znak, který v ASCII tabulce má pořadové číslo o 1 větší než znak uvedený jako argument funkce UPCASE(x)..funkce, která převádí malé písmeno na velké. Pokud je argumentem funkce jiný znak než malé písmeno, zůstává argument beze změny Příklady použití znakové proměnné Příklad 1-31 Sestavte program, pro výpis části tabulky ASCII kódů. Zadávejte počáteční a koncovou hodnotu ASCII kódu (vstup omezte na interval ). Po naplnění obrazovky, výpis zastavte. Výstup upravte do tabulky takto: ASCII znak Hodnoty ASCCI kódu se pohybují v intervalu Pro každé číslo z tohoto intervalu můžeme pomocí standardní funkce CHR(x) získat odpovídající znak. Omezení dolní hranice intervalu na větší nebo rovno 32 je proto, že znaky s číslem nižším než 32 jsou nezobrazitelné. Program PR1_31; Var poc,kon,i,radek:integer; procedure zamena( a,b:integer); pom:integer; pom:=a; a:=b; b:=pom; 23

24 write('zadej poc.hodnotu.. cislo z <32,255>: '); readln(poc); until (poc>=32) and (poc<=255); write('zadej konc.hodnotu..cislo z <32,255>: '); readln(kon); until (kon>=32) and (kon<=255); zamena(poc,kon); writeln(' ASCII znak'); writeln(' '); radek:=0; for i:=poc to kon do writeln( i:8,' ',chr(i)); radek:=radek+1; if radek = 20 then write('zmackni ENTER: '); readln; radek:=0; writeln(' ASCII znak'); writeln(' '); write('zmackni ENTER: '); readln; Příklad 1-32 Sestavte program, který načítá z klávesnice znaky. Pokud bude znak malé písmeno, převede jej na písmeno velké pomocí standardní funkce UpCase. Pokud bude znakem velké písmeno, převede jej pomocí vlastní funkce DnCase. Ostatní znaky zůstanou nezměněny. Znaky načítejte opakovaně, program ukončete po zadání znaku *. Funkce pro převod velkého písmena na malé je založena na tom, že rozdíl ASCII hodnoty malého a velkého písmena je stejný pro všechna písmena abecedy. Ve funkci je tento rozdíl uložen do konstanty. Pokud je pak argumentem funkce velké písmeno, dojde k přičtení zjištěného rozdílu k jeho ASCII hodnotě a pak následuje zjištění znaku, který odpovídá vypočtené číselné hodnotě. Program PR1_32; znak:char; 24

25 Function DownCase(z:char):char; const posun = ord('a') - ord('a'); if (z>='a')and(z<='z') then z:=chr(ord(z)+posun) ; DownCase:=z; znak:=' '; while znak <> '*' do write('zadej znak, * = ukonceni programu: '); readln(znak); if (znak>='a') and (znak <='Z') then znak:=downcase(znak) else if (znak>='a') and (znak <='z') then znak:=upcase(znak); writeln('znak po konverzi: ',znak); Příklad 1-33 Sestavte program, který bude číst větu jako posloupnost písmen a mezer ukončenou tečkou. Zjistěte, kolik má věta písmen. V zadání je uveden požadavek na načítání věty jako posloupnosti písmen. Samozřejmě celou větu chceme zadat na jednom řádku, a proto je nutné pro načítání jednotlivých znaků použít proceduru READ (ne READLN). Po skončení cyklu ale musíme zařadit jednou proceduru READLN bez parametrů, protože potřebujeme načíst klávesu ENTER, která zadávání věty ukončuje. Program PR1_33; znak:char; pocet:integer; writeln('zadej vetu ukoncenou teckou!'); read(znak); if (znak <> ' ' ) and (znak <> '.') then INC(pocet); until znak = '.'; readln; writeln('veta ma :',pocet,' pismen'); writeln('zmackni ENTER'); readln; 25

26 Průvodce studiem: Načítání věty znak po znaku budete zařazovat, jen když se vám to bude pro řešení algoritmu zdát výhodné. Programovací jazyk Borland Pascal totiž umožňuje pracovat s proměnnou typu STRING a pak je možné provést načtení věty jedním příkazem READLN. Je to rychlejší a pohodlnější. Podrobnější informace a příklady pro práci s proměnnou typu STRING jsou v kapitole 2.1. Řetězec znaků. Příklad 1-34 Sestavte program, který bude číst větu jako posloupnost písmen a mezer ukončenou tečkou. Zkontrolujte, zda po písmenech h,k,r není písmeno i nebo í. Větu zde načítáme opět znak po znaku pomocí příkazu READ a v pomocné logické proměnné si pamatujeme, zda došlo k definované chybě. Pokud chceme v řešení uvažovat malá i velká písmena a také krátká i dlouhá písmena, tak podmínka zjišťující výskyt písmene je dosti dlouhá. Jako elegantní řešení se tady nabízí použití množinového operátoru IN, který znamená je prvkem. Relace pak má hodnotu TRUE, pokud proměnná na levé straně výrazu nabude hodnoty uvedené v hranatých závorkách. Program PR1_34; znak:char; chyba:boolean; chyba := false; writeln('zadej vetu ukoncenou teckou!'); read(znak); if znak IN ['h','h','k','k','r','r'] then read(znak); if znak IN ['i','i',í,í] then chyba := true; until znak = '.'; readln; if chyba then writeln('chyba-vyskyt i po h,k,r') else writeln('bez chyby!'); writeln('zmackni ENTER'); rea dln; 26

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

Programy na PODMÍNĚNÝ příkaz IF a CASE

Programy na PODMÍNĚNÝ příkaz IF a CASE Vstupy a výstupy budou vždy upraveny tak, aby bylo zřejmé, co zadáváme a co se zobrazuje. Není-li určeno, zadáváme přirozená čísla. Je-li to možné, používej generátor náhodných čísel vysvětli, co a jak

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

- 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

Pascal. Katedra aplikované kybernetiky. Ing. Miroslav Vavroušek. Verze 7

Pascal. Katedra aplikované kybernetiky. Ing. Miroslav Vavroušek. Verze 7 Pascal Katedra aplikované kybernetiky Ing. Miroslav Vavroušek Verze 7 Proměnné Proměnná uchovává nějakou informaci potřebnou pro práci programu. Má ve svém oboru platnosti unikátní jméno. (Připadne, musí

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

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

II. Úlohy na vložené cykly a podprogramy

II. Úlohy na vložené cykly a podprogramy II. Úlohy na vložené cykly a podprogramy Společné zadání pro příklady 1. - 10. začíná jednou ze dvou možností popisu vstupních dat. Je dána posloupnost (neboli řada) N reálných (resp. celočíselných) hodnot.

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

Pracovní listy - programování (algoritmy v jazyce Visual Basic) Algoritmus

Pracovní listy - programování (algoritmy v jazyce Visual Basic) Algoritmus Pracovní listy - programování (algoritmy v jazyce Visual Basic) Předmět: Seminář z informatiky a výpočetní techniky Třída: 3. a 4. ročník vyššího stupně gymnázia Algoritmus Zadání v jazyce českém: 1. Je

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

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

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

Test prvočíselnosti. Úkol: otestovat dané číslo N, zda je prvočíslem

Test prvočíselnosti. Úkol: otestovat dané číslo N, zda je prvočíslem Test prvočíselnosti Úkol: otestovat dané číslo N, zda je prvočíslem 1. zkusit všechny dělitele od 2 do N-1 časová složitost O(N) cca N testů 2. stačí zkoušet všechny dělitele od 2 do N/2 (větší dělitel

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

NPRG030 Programování I, 2018/19 1 / :25:37

NPRG030 Programování I, 2018/19 1 / :25:37 NPRG030 Programování I, 2018/19 1 / 26 24. 9. 2018 10:25:37 Čísla v algoritmech a programech 10 26 Poloměr vesmíru 2651 studujících studentů MFF UK 3.142857... Ludolfovo číslo 10 16 stáří vesmíru v sekundách!!!

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

Algoritmy a datové struktury 1

Algoritmy a datové struktury 1 Modul 2 Ukládání dat v operační paměti text pro distanční studium Ing. Eliška Treterová Ostravská univerzita v Ostravě, Přírodovědecká fakulta Katedra Informatiky a počítačů Ostrava 2003 2 Obsah Úvod...4

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

Příklady: (y + (sin(2*x) + 1)*2)/ /2 * 5 = 8.5 (1+3)/2 * 5 = /(2 * 5) = 1.3. Pavel Töpfer, 2017 Programování 1-3 1

Příklady: (y + (sin(2*x) + 1)*2)/ /2 * 5 = 8.5 (1+3)/2 * 5 = /(2 * 5) = 1.3. Pavel Töpfer, 2017 Programování 1-3 1 Výraz - syntaxe i sémantika podobné jako v matematice - obsahuje proměnné, konstanty, operátory, závorky, volání funkcí - všechny operátory nutno zapisovat (nelze např. vynechat znak násobení) - argumenty

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

Jednoduché cykly 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45.

Jednoduché cykly 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. Jednoduché cykly Tento oddíl obsahuje úlohy na první procvičení práce s cykly. Při řešení každé ze zde uvedených úloh stačí použít vedle podmíněných příkazů jen jediný cyklus. Nepotřebujeme používat ani

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

Lekce 01 Úvod do algoritmizace

Lekce 01 Úvod do algoritmizace Počítačové laboratoře bez tajemství aneb naučme se učit algoritmizaci a programování s využitím robotů Lekce 01 Úvod do algoritmizace Tento projekt CZ.1.07/1.3.12/04.0006 je spolufinancován Evropským sociálním

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

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

Cykly a pole 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116.

Cykly a pole 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. Cykly a pole Tato část sbírky je tvořena dalšími úlohami na práci s cykly. Na rozdíl od předchozího oddílu se zde již v řešeních úloh objevuje více cyklů, ať už prováděných po sobě nebo vnořených do sebe.

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

CVIČNÝ TEST 5. OBSAH I. Cvičný test 2. Mgr. Václav Zemek. II. Autorské řešení 6 III. Klíč 17 IV. Záznamový list 19

CVIČNÝ TEST 5. OBSAH I. Cvičný test 2. Mgr. Václav Zemek. II. Autorské řešení 6 III. Klíč 17 IV. Záznamový list 19 CVIČNÝ TEST 5 Mgr. Václav Zemek OBSAH I. Cvičný test 2 II. Autorské řešení 6 III. Klíč 17 IV. Záznamový list 19 I. CVIČNÝ TEST 1 Zjednodušte výraz (2x 5) 2 (2x 5) (2x + 5) + 20x. 2 Určete nejmenší trojciferné

Více

NPRG030 Programování I, 2010/11

NPRG030 Programování I, 2010/11 Podmínka = něco, co JE, nebo NENÍ splněno typ Boolean hodnoty: TRUE pravda FALSE lež domluva (optimistická): FALSE < TRUE když X, Y jsou (číselné) výrazy, potom X = Y X Y X < Y X > Y X = Y jsou

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

1 PRVOCISLA: KRATKY UKAZKOVY PRIKLAD NA DEMONSTRACI BALIKU WEB 1

1 PRVOCISLA: KRATKY UKAZKOVY PRIKLAD NA DEMONSTRACI BALIKU WEB 1 1 PRVOCISLA: KRATKY UKAZKOVY PRIKLAD NA DEMONSTRACI BALIKU WEB 1 1. Prvocisla: Kratky ukazkovy priklad na demonstraci baliku WEB. Nasledujici program slouzi pouze jako ukazka nekterych moznosti a sluzeb,

Více

Inovace a zkvalitnění výuky prostřednictvím ICT Základy programování a algoritmizace úloh Jednoduché příkazy jazyka Pascal

Inovace a zkvalitnění výuky prostřednictvím ICT Základy programování a algoritmizace úloh Jednoduché příkazy jazyka Pascal 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 Jednoduché příkazy

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

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

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

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

Více

Vektory a matice. Obsah. Aplikovaná matematika I. Carl Friedrich Gauss. Základní pojmy a operace

Vektory a matice. Obsah. Aplikovaná matematika I. Carl Friedrich Gauss. Základní pojmy a operace Vektory a matice Aplikovaná matematika I Dana Říhová Mendelu Brno Obsah 1 Vektory Základní pojmy a operace Lineární závislost a nezávislost vektorů 2 Matice Základní pojmy, druhy matic Operace s maticemi

Více

KTE / PPEL Počítačová podpora v elektrotechnice

KTE / PPEL Počítačová podpora v elektrotechnice KTE / PPEL Počítačová podpora v elektrotechnice Ing. Lenka Šroubová, Ph.D. email: lsroubov@kte.zcu.cz http://home.zcu.cz/~lsroubov 3. 10. 2012 Základy práce s výpočetními systémy opakování a pokračování

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

Operátory pro maticové operace (operace s celými maticemi) * násobení maticové Pro čísla platí: 2*2

Operátory pro maticové operace (operace s celými maticemi) * násobení maticové Pro čísla platí: 2*2 * násobení maticové Pro čísla platí: Pro matice - násobení inverzní maticí inv inverzní matice A -1 k dané matici A je taková matice, která po vynásobení s původní maticí dá jednotkovou matici. Inverzní

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

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

Algoritmy a datové struktury 1

Algoritmy a datové struktury 1 Modul 1 Vývojové diagramy a příkazy jazyka Borland Pascal Text pro distanční studium Ing. Eliška Treterová Ostravská univerzita v Ostravě, Přírodovědecká fakulta Katedra Informatiky a počítačů Ostrava

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

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

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

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

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 21.

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 21. Vyhledávání doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 21. září 2018 Jiří Dvorský (VŠB TUO) Vyhledávání 242 / 433 Osnova přednášky

Více

Klasický podprogram, který nazýváme procedura. Jedná se v podstatě o příkaz. 1

Klasický podprogram, který nazýváme procedura. Jedná se v podstatě o příkaz. 1 Kapitola 3 Podprogramy Jak již název napovídá, podprogram je část programu ( malý program), která může být kdykoliv v příkazové části programu (hlavního, velkého programu) aktivována. V jazyce Pascalu

Více

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

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

Více

Digitální učební materiál

Digitální učební materiál Digitální učební materiál Číslo projektu: CZ.1.07/1.5.00/34.0548 Název školy: Gymnázium, Trutnov, Jiráskovo náměstí 325 Název materiálu: VY_32_INOVACE_144_IVT Autor: Ing. Pavel Bezděk Tematický okruh:

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

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

KOMPLEXNÍ ČÍSLA INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

KOMPLEXNÍ ČÍSLA INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ KOMPLEXNÍ ČÍSLA Gymnázium Jiřího Wolkera v Prostějově Výukové materiály z matematiky pro vyšší gymnázia Autoři projektu Student na prahu 21. století - využití ICT ve vyučování matematiky na gymnáziu INVESTICE

Více

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

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

Více

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

Algoritmizace prostorových úloh

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

Více

Digitální učební materiál

Digitální učební materiál Digitální učební materiál Číslo projektu: CZ.1.07/1.5.00/34.0548 Název školy: Gymnázium, Trutnov, Jiráskovo náměstí 325 Název materiálu: VY_32_INOVACE_147_IVT Autor: Ing. Pavel Bezděk Tematický okruh:

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

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

Makro. PDF vytvořeno zkušební verzí pdffactory Pro www.fineprint.cz

Makro. PDF vytvořeno zkušební verzí pdffactory Pro www.fineprint.cz Makro Je posloupnost příkazů, která je uložena pod určitým názvem a kterou lze spustit jedinou akcí. (příkaz, klávesová zkratka nebo stisknutí tlačítka) Lze je jednoduše tvořit záznamem činnosti. Postup:

Více

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

9.3.2010 Program převod z desítkové na dvojkovou soustavu: /* Prevod desitkove na binarni */ #include <stdio.h> 9.3.2010 Program převod z desítkové na dvojkovou soustavu: /* Prevod desitkove na binarni */ #include int main(void) { int dcislo, kolikbcislic = 0, mezivysledek = 0, i; int vysledek[1000]; printf("zadejte

Více

Úvod do programování. Lekce 1

Úvod do programování. Lekce 1 Úvod do programování Lekce 1 Základní pojmy vytvoření spustitelného kódu editor - psaní zdrojových souborů preprocesor - zpracování zdrojových souborů (vypuštění komentářů atd.) kompilátor (compiler) -

Více

VÝRAZY výrazy = operandy prokládané operátory, vyhodnocované podle priority operátorů

VÝRAZY výrazy = operandy prokládané operátory, vyhodnocované podle priority operátorů VÝRAZY výrazy = operandy prokládané operátory, vyhodnocované podle priority operátorů Výrazy podle priority operátorů (od nejnižší priority) OPERANDY OPERÁTORY výraz = jednoduché výrazy a relační operátory

Více

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

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

Více

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

(Cramerovo pravidlo, determinanty, inverzní matice)

(Cramerovo pravidlo, determinanty, inverzní matice) KMA/MAT1 Přednáška a cvičení, Lineární algebra 2 Řešení soustav lineárních rovnic se čtvercovou maticí soustavy (Cramerovo pravidlo, determinanty, inverzní matice) 16 a 21 října 2014 V dnešní přednášce

Více

Maticí typu (m, n), kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru:

Maticí typu (m, n), kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru: 3 Maticový počet 3.1 Zavedení pojmu matice Maticí typu (m, n, kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru: a 11 a 12... a 1k... a 1n a 21 a 22...

Více

PROGRAMOVÁNÍ V SHELLU

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

Více

- 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

CVIČNÝ TEST 15. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17

CVIČNÝ TEST 15. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17 CVIČNÝ TEST 15 Mgr. Tomáš Kotler OBSAH I. Cvičný test 2 II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17 I. CVIČNÝ TEST VÝCHOZÍ TEXT K ÚLOZE 1 Je dána čtvercová mřížka, v níž každý čtverec má délku

Více

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

Příklad elektrický obvod se stejnosměrným zdrojem napětí

Příklad elektrický obvod se stejnosměrným zdrojem napětí Příklad elektrický obvod se stejnosměrným zdrojem napětí Určete proudy 18, 23, 4, 5, 67 v obvodu na obr., je-li dáno: 1 = 1 Ω, 2 = 2 Ω, 3 = 3 Ω, 4 = 5 Ω, 5 = 3 Ω, 6 = 2 Ω, 7 = 4 Ω, 8 = 4,5 Ω, U = 6 V.

Více

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

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

Více

Algoritmy a datové struktury

Algoritmy a datové struktury Algoritmy a datové struktury 1 / 34 Obsah přednášky Základní řídící struktury posloupnost příkazů podmínka cyklus s podmínkou na začátku cyklus s podmínkou na konci cyklus s pevným počtem opakování Jednoduchá

Více

2.1 Podmínka typu case Cykly Cyklus s podmínkou na začátku Cyklus s podmínkou na konci... 5

2.1 Podmínka typu case Cykly Cyklus s podmínkou na začátku Cyklus s podmínkou na konci... 5 Obsah Obsah 1 Řídicí struktury 1 2 Podmínka 1 2.1 Podmínka typu case......................... 2 3 Příkaz skoku 3 4 Cykly 4 4.1 Cyklus s podmínkou na začátku................... 4 4.2 Cyklus s podmínkou

Více

M - Příprava na 3. čtvrtletní písemnou práci

M - Příprava na 3. čtvrtletní písemnou práci M - Příprava na 3. čtvrtletní písemnou práci Určeno pro třídu ODK VARIACE 1 Tento dokument byl kompletně vytvořen, sestaven a vytištěn v programu dosystem - EduBase. Více informací o programu naleznete

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

Řídicí struktury. alg3 1

Řídicí struktury. alg3 1 Řídicí struktury Řídicí struktura je programová konstrukce, která se skládá z dílčích příkazů a předepisuje pro ně způsob provedení Tři druhy řídicích struktur: posloupnost, předepisující postupné provedení

Více

type Obdelnik = array [1..3, 1..4] of integer; var M: Obdelnik;

type Obdelnik = array [1..3, 1..4] of integer; var M: Obdelnik; Vícerozměrné pole type Obdelnik = array [1..3, 1..4] of integer; var M: Obdelnik; M[2,3] := 3145; - počet indexů není omezen (v praxi obvykle nejvýše tři) - více indexů pomalejší přístup k prvku (počítá

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

Programování v jazyce JavaScript

Programování v jazyce JavaScript Programování v jazyce JavaScript Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Pavel Štěpán, 2011 Operátory a příkazy BI-JSC Evropský sociální fond

Více

Přijímací zkouška z informatiky Dz

Přijímací zkouška z informatiky Dz Přijímací zkouška z informatiky Dz Každý příklad je hodnocen osmi body. Je dovoleno používat počítací stroje a není dovoleno používat matematické tabulky. Hodnotí se nejen výsledek, ale i postup. 1. Určete

Více

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

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

Více

Sada 1 - Základy programování

Sada 1 - Základy programování S třední škola stavební Jihlava Sada 1 - Základy programování 13. Práce s řetězci - palindrom Digitální učební materiál projektu: SŠS Jihlava šablony registrační číslo projektu:cz.1.09/1.5.00/34.0284 Šablona:

Více

Pseudonáhodná čísla = algoritmicky generovaná náhrada za náhodná čísla

Pseudonáhodná čísla = algoritmicky generovaná náhrada za náhodná čísla Pseudonáhodná čísla = algoritmicky generovaná náhrada za náhodná čísla Použití: - náhodnost při rozhodování např. ve hrách (výběr z více možných stejně dobrých tahů v dané pozici, házecí kostka) - generování

Více

VZOROVÝ TEST PRO 3. ROČNÍK (3. A, 5. C)

VZOROVÝ TEST PRO 3. ROČNÍK (3. A, 5. C) VZOROVÝ TEST PRO 3. ROČNÍK (3. A, 5. C) max. 3 body 1 Zjistěte, zda vektor u je lineární kombinací vektorů a, b, je-li u = ( 8; 4; 3), a = ( 1; 2; 3), b = (2; 0; 1). Pokud ano, zapište tuto lineární kombinaci.

Více

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

Obsah. Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15 Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15 KAPITOLA 1 Úvod do programo vání v jazyce C++ 17 Základní pojmy 17 Proměnné a konstanty 18 Typy příkazů 18 IDE integrované vývojové

Více

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

NPRG030 Programování I, 2015/16 1 / :25:32

NPRG030 Programování I, 2015/16 1 / :25:32 NPRG030 Programování I, 2015/16 1 / 21 22. 10. 2015 13:25:32 Podprogramy Příklad: Vytiskněte tabulku malé násobilky ve tvaru XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X X 1 2 3 4 5 6 7 8 9 10 X

Více

Exponent. Integer 4 bajty až Double Integer 8 bajtů až

Exponent. Integer 4 bajty až Double Integer 8 bajtů až 1. Opakování teorie 1.1. Reprezentace čísel v počítači Celá čísla (přesné výpočty, velmi omezený rozsah): INTEGER => 2 byty = 16 bitů => 2 16 čísel LONGINT => 4 byty = 32 bitů => 2 32 čísel

Více

pi Ludolfovo číslo π = 3,14159 e Eulerovo číslo e = 2,71828 (lze spočítat jako exp(1)), např. je v Octave, v MATLABu tato konstanta e není

pi Ludolfovo číslo π = 3,14159 e Eulerovo číslo e = 2,71828 (lze spočítat jako exp(1)), např. je v Octave, v MATLABu tato konstanta e není realmax maximální použitelné reálné kladné číslo realmin minimální použitelné reálné kladné číslo (v absolutní hodnotě, tj. číslo nejblíž k nule které lze použít) 0 pi Ludolfovo číslo π = 3,14159 e Eulerovo

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

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

CVIČNÝ TEST 35. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17

CVIČNÝ TEST 35. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17 CVIČNÝ TEST 35 Mgr. Tomáš Kotler OBSAH I. Cvičný test II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17 I. CVIČNÝ TEST 1 Vypočtěte [( 3 3 ) ( 1 4 5 3 0,5 ) ] : 1 6 1. 1 bod VÝCHOZÍ TEXT K ÚLOZE

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

Š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