- znakové konstanty v apostrofech, např. a, +, (znak mezera) - proměnná zabírá 1 byte, obsahuje kód příslušného znaku
|
|
- Michal Lukáš Beran
- před 5 lety
- Počet zobrazení:
Transkript
1 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á tabulka ASCII 0-31 speciální řídicí znaky základní část znakové sady národní abecedy resp. semigrafika - dekadické číslice souvislá řada v pořadí od 0 do 9 - velká písmena anglické abecedy souvislá řada od A do Z - malá písmena anglické abecedy souvislá řada od a do z - znakové konstanty lze zapisovat i kódem, např. #65 (totéž co A ) nebo #27 (klávesa Esc) Pavel Töpfer, 2017 Programování 1-7 1
2 - lze používat v procedurách read, write např. read(z); write( Z ); POZOR v příkladu výše rozlišovat Z a Z! - do proměnné lze dosazovat, např. W:=? ; Z:=W; - na typu char je definováno uspořádání (podle kódů), je možné používat relační operátory =, <, >, <=, >=, <> if (Z>= A ) and (Z<= Z ) then {hodnotou proměnné Z je velké písmeno anglické abecedy} while Z <> W do {dokud mají proměnné Z a W různou hodnotu} Pavel Töpfer, 2017 Programování 1-7 2
3 Standardní funkce var Z, Z1: char; B: byte; B := ord(z); Z := chr(b); vrací kód znaku Z v ASCII-tabulce (ordinální hodnotu) k zadanému ASCII-kódu vrací příslušný znak - funkce navzájem inverzní tedy chr(ord(z)) = Z - z hlediska syntaxe jazyka jde o přetypování - v kódu se nic neděje (znak je stejně reprezentován svým kódem) Použití: B:=ord(Z) ord( 0 ); cifra její hodnota Z:=chr(B+ord( 0 )); hodnota 0..9 cifra Z1 := UpCase(Z) malá písmena anglické abecedy změní na velká, ostatní znaky ponechá beze změny Použití: místo delšího if UpCase(Z) = A then if (Z= A ) or (Z= a ) then Pavel Töpfer, 2017 Programování 1-7 3
4 Příklad: vstup čísla po znacích - co přibližně dělá procedura read - algoritmus: Hornerovo schéma var Zn: char; {čtené znaky} Hodn: integer; {číselná hodnota} Hodn:=0; read(zn); while (Zn>= 0 ) and (Zn<= 9 ) do Hodn := Hodn*10 + ord(zn) ord( 0 ); read(zn) end; {výsledná hodnota je v proměnné Hodn} Pro jednoduchost předpokládáme korektní vstup, bez vedoucích mezer. Pavel Töpfer, 2017 Programování 1-7 4
5 Znakové řetězce - standardní typ string type JmenoTypu = string [N]; N celočíselná konstanta udávající maximální délku stringu N je nejvýše rovno 255 pokud N neuvedeme, implicitní hodnota je 255 Příklad: type JmenoMesice = string[8]; var Mesic: JmenoMesice; {proměnná pro řetězce max. 8 znaků} S: string; {proměnná pro řetězce max. 255 znaků} Reprezentace proměnné: - jednorozměrné pole znaků indexované od 1 do N - vlastní evidence aktuální délky uloženého řetězce (v bytu s indexem 0 pozor při manipulaci, formálně je typu char) Pavel Töpfer, 2017 Programování 1-7 5
6 Konstanty: duben řetězec délky 5 znaků? řetězec délky 1 znak (jako char) prázdný řetězec (žádný znak) Operace se stringy: - do proměnné lze dosazovat, např. Mesic := duben ; nastaví se tím aktuální délka (zde na 5) - jediný operátor + znamená zřetězení, např. po provedení S := Mesic; bude mít proměnná S hodnotu 12. duben a aktuální délku 9 - lze používat v procedurách read, write read(s); - načte tolik znaků, kolik je maximální délka S, nejvýše však do konce řádku na vstupu write(s); - vypíše tolik znaků, kolik je aktuální délka S Doporučení: Při čtení používat raději readln(s) přijdeme sice případně o znaky, které se nevešly do maximální délky S, zato při následujícím čtení budeme číst od začátku dalšího řádku. Jinak při čtení dalšího stringu ze vstupu načteme prázdný řetězec! Pavel Töpfer, 2017 Programování 1-7 6
7 Standardní procedury a funkce se znakovými řetězci Length(S) aktuální délka řetězce Concat(S1, S2,, Sn) spojení řetězců za sebe totéž se snáze zapíše operátorem + : S1 + S2 + + Sn Copy(S, Index, Pocet) vykopírování podřetězce dané délky počínaje od daného indexu Delete(S, Index, Pocet) v řetězci S zruší podřetězec dané délky počínaje od daného indexu Insert(Co, Kam, Index) do řetězce Kam vloží Co na pozici daného indexu Pos(Co, Kde) pozice prvního výskytu podřetězce Co v řetězci Kde (0 když tam není obsažen) Pavel Töpfer, 2017 Programování 1-7 7
8 Indexování: S[i] = i-tý znak řetězce S, je typu char S[2] := 5 ; for I:=1 to length(s) do if S[I] =? then S[I] :=! ; {v řetězci S nahradí všechny otazníky vykřičníkem} POZOR při indexování stringu změny neovlivňují aktuální délku: S:= ABC ; {aktuální délka S je 3} for I:= 1 to 10 do S[I]:= Z ; {do S se vloží 10 znaků, ale aktuální délka S zůstává nastavena na 3} write(s); {vypíše ZZZ } Uspořádání stringů - lexikografické, indukované uspořádáním na typu char 4 < Z < f < fa < fb < g < č < á - je možné používat relační operátory =, <, >, <=, >=, <> Pavel Töpfer, 2017 Programování 1-7 8
9 Příklad: načtení dlouhého čísla (kladné celé, max. 100 cifer) type Cislo = array [1..100] of byte; var A: Cislo; {A[1] cifra v řádu jednotek} PA: byte; {počet cifer} S: string[100]; I: integer; readln(s); PA := 0; for I:=length(S) downto 1 do inc(pa); A[PA] := ord(s[i])-ord( 0 ) end; Pavel Töpfer, 2017 Programování 1-7 9
10 Konverzní procedury Str(V, S) - konverze číselná hodnota V string S - V může být výraz typu integer nebo real - součástí V může být formátování V:n resp. V:n:m jako u write - volání Str se implicitně provádí v proceduře write (zápis čísla) Val(S, V, ErrCode) - konverze string S číselná hodnota V - V může být proměnná typu integer nebo real - ErrCode = 0 převod se povedl bez chyby - ErrCode > 0 pozice výskytu chyby (index v S) - volání Val se implicitně provádí v proceduře read (čtení čísla) Pavel Töpfer, 2017 Programování
11 Číselné soustavy - převod z dvojkové soustavy na číselnou hodnotu - algoritmus: Hornerovo schéma = = (((( ).2 + 0).2 + 0).2 + 1) = 50 - převod z šestnáctkové soustavy na číselnou hodnotu A1F A F.16 0 = = = = ( ) = 2591 Pavel Töpfer, 2017 Programování
12 program Bin_Dec; {převod čísla z dvojkové soustavy - Hornerovo schéma} var S: string[15]; {dvojkový zápis čísla} N: integer; {jeho hodnota} I: integer; read(s); N:=0; for I:= 1 to length(s) do N:=N * 2 + ord(s[i]) - ord('0'); writeln('hodnota: ', N) end. Pavel Töpfer, 2017 Programování
13 program Hex_Dec; {převod čísla z šestnáctkové soustavy - Hornerovo schéma} var S: string[15]; {šestnáctkový zápis čísla} N: integer; {jeho hodnota} I: integer; read(s); N:=0; for I:= 1 to length(s) do if (S[I] >= '0') and (S[I] <= '9') then N:=N * 16 + ord(s[i]) - ord('0') else N:=N * 16 + ord(s[i]) - ord('a') + 10; end; writeln('hodnota: ', N) end. Pavel Töpfer, 2017 Programování
14 = = (((( ).2 + 0).2 + 0).2 + 1) = 50 - převod číselné hodnoty do dvojkové soustavy - algoritmus: Hornerovo schéma využité v opačném směru posloupnost zbytků při celočíselném dělení dvěma tvoří odzadu dvojkový zápis čísla připojování dvojkových cifer do stringu zleva 50 : 2 = 25, zb : 2 = 12, zb : 2 = 6, zb. 0 6 : 2 = 3, zb. 0 3 : 2 = 1, zb. 1 1 : 2 = 0, zb. 1 Pavel Töpfer, 2017 Programování
15 program Dec_Bin; {převod čísla do dvojkové soustavy - obrácené Hornerovo schéma} var S: string[15]; {dvojkový zápis čísla} N: integer; {jeho hodnota} read(n); S:=''; {prázdný řetězec} while N > 0 do if odd(n) then S:='1'+S else S:='0'+S; N:=N div 2 end; writeln('dvojkový zápis čísla: ', S) end. Pavel Töpfer, 2017 Programování
16 program Dec_Hex; {převod čísla do šestnáctkové soustavy - obrácené Hornerovo schéma} var S: string[15]; {šestnáctkový zápis čísla} N: integer; {jeho hodnota} Z: integer; read(n); S:=''; {prázdný řetězec} while N > 0 do Z:=N mod 16; if (Z <= 9) then S:= chr(z + ord('0')) + S else S:= chr(z 10 + ord('a')) + S; N:=N div 16; end; writeln('šestnáctkový zápis čísla: ', S) end. Pavel Töpfer, 2017 Programování
17 Rychlé umocňování aplikace dvojkové soustavy Úkol: spočítat hodnotu X N, kde - N je velké kladné celé číslo - X může být reálné číslo nebo třeba matice Řešení: - přímočaře v čase O(N): V:=1; for i:=1 to N do V:=V * X; - rychleji v čase O(log N): postupně počítáme hodnoty X, X 2, X 4, X 8, a vhodné z nich násobíme do výsledku V Pavel Töpfer, 2017 Programování
18 Které hodnoty X k jsou ty vhodné? Pozorování: X 25 = X 16. X 8. X 1, neboť 25 = to je jednoznačný rozklad čísla N na součet mocnin dvojky - jsou to ty mocniny dvojky, kde je jednička v binárním zápisu čísla N Postup je tedy podobný, jak převod čísla do dvojkové soustavy. V:=1; while N > 0 do if odd(n) then V:=V * X; X:=X * X; N:=N div 2 end; Časová složitost O(log N) počet opakování while-cyklu. Pavel Töpfer, 2017 Programování
19 Textové soubory - data uložena jako posloupnost ASCII-kódů jednotlivých znaků - lze číst a vytvářet v textovém editoru, čitelné pro člověka (narozdíl od binárních souborů budou později) - při čtení (zápisu) čísel se automaticky provádí konverze z (do) textové podoby do (z) vnitřního tvaru jako implicitní volání konverzních procedur Val a Str - soubor je vždy otevřen jen pro čtení nebo jen pro zápis - výhradně sekvenční přístup čte (zapisuje) se postupně od začátku - standardní vstup a výstup dat (z klávesnice, na obrazovku) jsou jen zvláštním případem textových souborů (tzv. pseudosoubory) 1. deklarace var T: text; 2. přiřazení assign(t, S); S je výraz typu string (často konstanta nebo proměnná), určuje fyzickou adresu souboru na disku např. assign(t, C:\Data\Vstupni1.txt ); Pavel Töpfer, 2017 Programování
20 3. otevření reset(t); - pro čtení soubor musí existovat! rewrite(t); - pro zápis vytváření nového append(t); - pro zápis připsání na konec existujícího souboru 4. operace vstupu a výstupu read(t, ); readln(t); write(t, ); writeln(t); write(t, A:n, R:n:m); - již známe pro standardní vstup a výstup, jen navíc jako první parametr uvést jméno souboru funkce typu boolean eof(t) konec souboru eoln(t) konec řádku seekeof(t) přeskočí případné bílé znaky a pak testuje konec souboru seekeoln(t) obdobně pro konec řádku 5. zavření close(t); Pavel Töpfer, 2017 Programování
21 Poznámky: - jeden soubor lze v programu otevřít postupně vícekrát (několikrát za sebou ho číst nebo třeba nejdříve ho vytvořit a pak po sobě číst) - pokud soubor existuje, provedením rewrite je nemilosrdně smazán (bez ověření dotazem) - při čtení čísel používat seekeof, seekeoln namísto běžných funkcí eof, eoln (pozor na případné bílé znaky za posledním číslem) - soubory zavírat (uvolnění systémových prostředků, jistota zápisu dat z vyrovnávací paměti na disk) - předdefinované proměnné input a output typu text spojené s klávesnicí a obrazovkou se automaticky doplňují do všech příkazů, v nichž není uvedeno jméno souboru - funkci eof lze použít i pro vstup dat z klávesnice (tzn. pro input, bez parametru), zadávání dat z klávesnice pak ale musí uživatel explicitně ukončit znakem EOF = #26 (pomocí Ctrl+Z) - pozor na čtení dat, když už eof(t)=true Pavel Töpfer, 2017 Programování
22 Chyby při I/O operacích = chyby při provádění operací se soubory, např. pokus o otevření neexistujícího souboru pro čtení nebo při pokusu o vstup čísla se ze souboru přečtou jiné znaky než číslice - reakce podle nastavení přepínače $I: {$I+} provádí se kontrola při výpočtu běhová chyba (standardní výchozí nastavení) {$I-} úspěšnost poslední I/O operace je programu pouze oznámena funkce IOResult typu integer: 0 = bez chyby nenulová hodnota = kód chyby Doporučení: - automatickou detekci I/O chyb vypínat jen pro mimořádné účely - při vypnuté kontrole {$I-} volat po každé I/O operaci IOResult (nastala-li chyba, všechny další I/O operace se ignorují až do zavolání funkce IOResult) Pavel Töpfer, 2017 Programování
23 Příklad využití {$I-} var Soubor: Text; Jmeno: string[50]; write( Zadej jmeno souboru: ); readln(jmeno); assign(soubor, Jmeno); {$I-} reset(soubor); {$I+} while IOResult <> 0 do writeln( Soubor, Jmeno, neexistuje! ); write( Zadej nove jmeno souboru: ); readln(jmeno); assign(soubor, Jmeno); {$I-} reset(soubor); {$I+} end; Pavel Töpfer, 2017 Programování
- 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íceTest 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íceNPRG030 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íceNPRG030 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íceProgramovací 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ícePří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íce1.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íceNPRG030 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íceMaturitní 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íceProgramovací 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íce9.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íceVyuč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ícePseudoná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Č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ícedovolují 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íceBinární soubory (datové, typované)
Binární soubory (datové, typované) - na rozdíl od textových souborů data uložena binárně (ve vnitřním tvaru jako v proměnných programu) není čitelné pro člověka - všechny záznamy téhož typu (může být i
Více- jak udělat konstantu long int: L long velka = 78L;
Konstanty (konstatní hodnoty) Např.: - desítkové: 25, 45, 567, 45.678 - osmičkové: 045, 023, 03 vždy začínají 0 - šestnáctkové: 0x12, 0xF2, 0Xcd, 0xff, 0xFF - jak udělat konstantu long int: 245566553L
VíceÚ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Ú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ícePascal. 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íceAnotace. 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íceO datových typech a jejich kontrole
.. O datových typech a jejich kontrole Programovací techniky doc. Ing. Jiří Rybička, Dr. ústav informatiky PEF MENDELU v Brně rybicka@mendelu.cz Typová kontrola Programovací techniky O datových typech
VíceAlgoritmizace 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íceSada 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ícePráce se soubory. Základy programování 2 Tomáš Kühr
Práce se soubory Základy programování 2 Tomáš Kühr Soubory z pohledu C Soubor zjednodušeně chápeme jako posloupnost bytů uložených někde na disku Datový proud (anglicky stream) Ještě obecnější přístup
Vícetype 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íceProgramová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Úvod do programování 6. hodina
Úvod do programování 6. hodina RNDr. Jan Lánský, Ph.D. Katedra informatiky a matematiky Fakulta ekonomických studií Vysoká škola finanční a správní 2015 Umíme z minulé hodiny Algoritmy Třídění pole: Selection
VíceÚvod do programování 7. hodina
Úvod do programování 7. hodina RNDr. Jan Lánský, Ph.D. Katedra informatiky a matematiky Fakulta ekonomických studií Vysoká škola finanční a správní 2015 Umíme z minulé hodiny Syntax Znaky Vlastní implementace
VíceVY_32_INOVACE_08_2_04_PR
Ing. Petr Stránský VY_32_INOVACE_08_2_04_PR Příkazy vstupu - definice Výstupním zařízením může být obrazovka, tiskárna nebo soubor. Jednotlivé údaje se zapisují pomocí příkazu WRITE nebo WRITELN. Příkaz
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ů.
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íceObsah. 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íceVISUAL BASIC. Práce se soubory
VISUAL BASIC Práce se soubory Práce se soubory 1/2 2 Vstupní data pro programy bývají uloženy do souborů Vstupy pro výpočet, nastavení vzhledu aplikace Výsledky práce programu je potřeba uchovat uložit
VíceBasic256 - ú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íceSada 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íceJazyk C práce se soubory. Jan Hnilica Počítačové modelování 16
Jazyk C práce se soubory 1 Soubory Použití souborů pro vstup většího množství dat do programu (uživatel nezadává z klávesnice ručně tisíce údajů...) pro uložení většího množství výsledků, např. k pozdějšímu
VícePř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íceData 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íceALGORITMIZACE 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ícePROGRAMOVÁ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íceSada 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íceStandardní algoritmy vyhledávací.
Standardní algoritmy vyhledávací. Vyhledávací algoritmy v C++ nám umožňují vyhledávat prvky v datových kontejnerech podle různých kritérií. Také se podíváme na vyhledávání metodou půlením intervalu (binární
VíceSoubory. 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íceZadání: TÉMA: Zápis algoritmu, čtení textového souboru, porovnání řetězců.
TÉMA: Zápis algoritmu, čtení textového souboru, porovnání řetězců. Zadání: V textovém souboru text.txt je uloženo několik řádků textu. Vytvořte makro, které určí nejdelší řádek z daného souboru. 1. Název
VíceSada 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íceAlgoritmizace 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íce8. lekce Úvod do jazyka C 3. část Základní příkazy jazyka C Miroslav Jílek
8. lekce Úvod do jazyka C 3. část Základní příkazy jazyka C Miroslav Jílek 1/41 Základní příkazy Všechny příkazy se píšou malými písmeny! Za většinou příkazů musí být středník (;)! 2/41 Základní příkazy
VíceInovace a zkvalitnění výuky prostřednictvím ICT Základy programování a algoritmizace úloh Textové soubory
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 Textové soubory
VíceNPRG030 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íceProgramy 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íceInovace a zkvalitnění výuky prostřednictvím ICT Základy programování a algoritmizace úloh Typové a netypové soubory
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 Typové a netypové
VíceIdentifikátory označují objekty v programu používané (proměnné, typy, podprogramy).
JAZYK PASCAL ÚVOD materiály pro studenty Jiráskova gymnázia v Náchodě (verze 2005-10-28) RNDr Jan Preclík, PhD preclik@gymnachodcz Jazyk Pascal byl navržen profesorem curyšské univerzity Niklausem Wirthem
VícePoslední nenulová číslice faktoriálu
Poslední nenulová číslice faktoriálu Kateřina Bambušková BAM015, I206 Abstrakt V tomto článku je popsán a vyřešen problém s určením poslední nenulové číslice faktoriálu přirozeného čísla N. Celý princip
VíceZávěrečná zkouška z informatiky 2011
Závěrečná zkouška z informatiky 2011 1) Číslo A je v dvojkové soustavě a má hodnotu 1101011. Číslo B je v šestnáctkové soustavě a má hodnotu FF3. Vypočítejte : A * B a výsledek napište v desítkové soustavě.
VíceProgramování. Programování s řetězci. Martin Urza
Programování Programování s řetězci Martin Urza Motivace Programování s textovými řetězci patří k nezbytným součástem dovednosti tvorby programů, bez které se prakticky nedá stvořit žádná rozumná aplikace.
VícePaměť 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ícePHP - ú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ícePráce se soubory. Úvod do programování 2 Tomáš Kühr
Práce se soubory Úvod do programování 2 Tomáš Kühr Soubory z pohledu C u Soubor chápeme jako posloupnost bytů uložených na disku u Datový proud (anglicky stream) u Ještě obecnější přístup u Sjednocuje
VíceX36UNX 16. Numerické výpočty v sh příkazy expr, bc, dc. Zdeněk Sojka
X36UNX 16 Numerické výpočty v sh příkazy expr, bc, dc Zdeněk Sojka sojkaz1@fel.cvut.cz dc desk calculator - zadávání příkazů postfixově - data se ukládají do stacku - příkazy obyčejně pracují s jedním
VíceEVROPSKÝ 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íceProměnné a parametry. predn_08.odt :00:38 1
Proměnné a parametry predn_08.odt 16.04.2007 14:00:38 1 Proměnné a parametry Jméno proměnné - identifikátor [a-za-z_][a-za-z_0-9]* Hodnota proměnné textový řetězec celočíselná hodnota - ne v sh Přesun
VíceVÝ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íceRekurze. Pavel Töpfer, 2017 Programování 1-8 1
Rekurze V programování ve dvou hladinách: - rekurzivní algoritmus (řešení úlohy je definováno pomocí řešení podúloh stejného charakteru) - rekurzivní volání procedury nebo funkce (volá sama sebe přímo
VícePráce se soubory. Úvod do programování 2 Tomáš Kühr
Práce se soubory Úvod do programování 2 Tomáš Kühr Soubory z pohledu C Soubor zjednodušeně chápeme jako posloupnost bytů uložených někde na disku Datový proud (anglicky stream) Ještě obecnější přístup
VíceReprezentace aritmetického výrazu - binární strom reprezentující aritmetický výraz
Reprezentace aritmetického výrazu - binární strom reprezentující aritmetický výraz (2 + 5) * (13-4) * + - 2 5 13 4 - listy stromu obsahují operandy (čísla) - vnitřní uzly obsahují operátory (znaménka)
VíceBI-PA1 Programování a algoritmizace 1 Katedra teoretické informatiky
Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Vstup, výstup BI-PA1 Programování a algoritmizace 1 Katedra teoretické informatiky Miroslav Balík Fakulta informačních technologií České
VícePB161 Programování v C++ Proudy pro standardní zařízení Souborové proudy Paměťové proudy Manipulátory
PB161 Programování v C++ Proudy pro standardní zařízení Souborové proudy Paměťové proudy Manipulátory Výhody objektového řešení Nástroje pro IO operace jsou v C++ součástí knihoven Hierarchie objektových
Více2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus pro vyhledání položky v binárním stromu.
Informatika 10. 9. 2013 Jméno a příjmení Rodné číslo 1) Napište algoritmus pro rychlé třídění (quicksort). 2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus
VíceFormátové specifikace formátovací řetězce
27.2.2007 Formátové specifikace formátovací řetězce - je to posloupnost podle které překladač pozná jaký formát má výstup mít - posloupnosti začínají znakem % a určující formát vstupu/výstupu - pokud chcete
VíceAplikovaná 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ícefor (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íce1. 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íceUplatnění metod na zvolený jazyk
Uplatnění metod na zvolený jazyk Při výběru mezi metodami výše popsanými se řídíme především podle typu symbolů, které jazyk obsahuje. Výhodná bývá často kombinace těchto metod nejdřív použijeme metodu
VíceStruktura a architektura počítačů (BI-SAP) 5
Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Struktura a architektura počítačů (BI-SAP) 5 doc. Ing. Hana Kubátová, CSc. Katedra číslicového návrhu Fakulta informačních technologii
VícePoslední aktualizace: 14. října 2011
Lexikální analýza Překladače, přednáška č. 2 Šárka Vavrečková Ústav informatiky, FPF SU Opava sarka.vavreckova@fpf.slu.cz http://fpf.slu.cz/ vav10ui Poslední aktualizace: 14. října 2011 Symboly Co je to
Více1. 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íceLabView jako programovací jazyk II
LabView jako programovací jazyk II - Popis jednotlivých funkcí palety Function II.část - Funkce Numeric, Array, Cluster Ing. Martin Bušek, Ph.D. Práce s daty typu NUMERIC Numerické funkce obsahuje funkce
VíceZá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íceII. Ú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íceAlgoritmizace, základy programování, VY_32_INOVACE_PRG_ALGO_01
Anotace sady: Algoritmizace, základy programování, VY_32_INOVACE_PRG_ALGO_01 Autor: Blanka Sadovská Klíčová slova: Algoritmus, proměnná, diagram Stupeň a typ vzdělávání: gymnaziální vzdělávání, 3. ročník
VíceÚvod do programování. Lekce 3
Úvod do programování Lekce 3 Řízení běhu programu - pokračování /2 příklad: program vypisuje hodnotu sin x dx pro různé délky integračního kroku 0 #include #include // budeme pouzivat funkci
VíceRozšíření ksh vůči sh při práci s proměnnými
Rozšíření ksh vůči sh při práci s proměnnými (X36UNX, Jan Skalický, 2006) Pole homogenní lineární struktura implicitn ě s číselným rozsahem index ů 0...1023 (někde 4095) implicitn ě řetězcov ě orientovaná
VíceBI-PA1 Programování a algoritmizace 1, ZS Katedra teoretické informatiky
Příprava studijního programu Informatika je podporována projektem financovaným z Evropského sociálního fondu a rozpočtu hlavního města Prahy. Praha & EU: Investujeme do vaší budoucnosti Vstup, výstup BI-PA1
VícePOČÍTAČE A PROGRAMOVÁNÍ
POČÍTAČE A PROGRAMOVÁNÍ Práce se soubory, čtení dat ze souboru a zapis dat do souboru Miroslav Vavroušek PPI 10 V1.1 Opakovaní z minulé přednášky Moderní metody vývoje softwaru Složení softwaroveho vývojového
Více= knihovna prostředků pro lepší práci s textovou obrazovkou, klávesnicí a generátorem zvuků
CRT = knihovna prostředků pro lepší práci s textovou obrazovkou, klávesnicí a generátorem zvuků Dosud obrazovka = textový soubor, sekvenční zápis po řádcích. Při použití CRT možnost adresace na obrazovce,
VíceAnotace. Ordinalni typy - typ char, funkce ord, chr, succ, prev, inc, dec,
Anotace Ordinalni typy - typ char, funkce ord, chr, succ, prev, inc, dec, Motivace: Máme dlouhé číslo (nebo číslo ve stringu). Zapis cisla v pozicni soustave, jeho vyhodnoceni Hornerovym schematem, Evaluace
VíceNPRG030 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íceSemestrální práce z předmětu. Jan Bařtipán / A03043 bartipan@studentes.zcu.cz
Semestrální práce z předmětu KIV/UPA Jan Bařtipán / A03043 bartipan@studentes.zcu.cz Zadání Program přečte ze vstupu dvě čísla v hexadecimálním tvaru a vypíše jejich součet (opět v hexadecimální tvaru).
VíceB3B33ALP - Algoritmy a programování - Zkouška z předmětu B3B33ALP. Marek Boháč bohacm11
333LP - lgoritmy a programování - Zkouška z předmětu 333LP Jméno Příjmení Už. jméno Marek oháč bohacm11 Zkouškový test Otázka 1 Jaká je hodnota proměnné count po vykonání následujícího kódu: data=[4,4,5,5,6,6,6,7,7,7,7,8,8]
VíceAlgoritmizace 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íceAhoj mami. Uložení dat v počítači. Příklady kódování dat. IAJCE Přednáška č. 4
Uložení dat v počítači Data = užitečné, zpracovávané informace Kódování (formát) dat = způsob uložení v počítači (nutno vše převést na čísla ve dvojkové soustavě) Příklady kódování dat Text každému znaku
VíceZáklady programovacího jazyka Turbo Pascal
Základy programovacího jazyka Turbo Pascal Programovací jazyk Pascal byl navržen začátkem 70. let profesor Niklaus Wirth z Vysoké školy technické v Curychu Cíle návrhu vytvořit jazyk vhodný pro výuku programování
VícePřevody mezi číselnými soustavami
Převody mezi číselnými soustavami 1. Převod čísla do dekadické soustavy,kde Z je celé číslo, pro které platí a Řešením je převod pomocí Hornerova schématu Příklad: Převeďte číslo F 3 = 2101 do soustavy
VíceProgramová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 Syntaxe 1. část BI-JSC Evropský sociální fond
VíceC2110 Operační systém UNIX a základy programování
C2110 Operační systém UNIX a základy programování 5. lekce Petr Kulhánek kulhanek@chemi.muni.cz Národní centrum pro výzkum biomolekul, Masarykova univerzita, Kotlářská 2, CZ-61137 Brno C2110 Operační systém
VícePřednáška 8. Proměnné. Psaní a ladění skriptů. Parametry skriptu. Vstup a výstup. Konfigurační soubory shellu. Úvod do Operačních Systémů Přednáška 8
Přednáška 8 Proměnné. Psaní a ladění skriptů. Parametry skriptu. Vstup a výstup. Konfigurační soubory shellu. 1 Proměnné Jména nových proměnných by neměly kolidovat se jmény předdefinovaných proměnných.
VícePromě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íceRegistrač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íceAlgoritmizace 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íceDynamické datové typy a struktury
.. a Programovací techniky doc. Ing. Jiří Rybička Dr. ústav informatiky PEF MENDELU v Brně rybicka@mendelu.cz Programovací techniky a 2 / 18 Uchovávají adresu v paměti Programovací techniky a 2 / 18 Uchovávají
Více