Slajdy k přednáškám předmětu. KIV/PPA1. Arnoštka Netrvalová

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

Download "Slajdy k přednáškám předmětu. KIV/PPA1. Arnoštka Netrvalová"

Transkript

1 Slajdy k přednáškám předmětu POČÍTAČE A PROGRAMOVÁNÍ 1 KIV/PPA1 Arnoštka Netrvalová 2016 Slidy jsou určeny studentům předmětu Počítače a programování 1 vyučovaného Katedrou informatiky a výpočetní techniky Fakulty aplikovaných věd Západočeské univerzity v Plzni jako doplněk a podpora přednášek. Jakékoliv jiné využití těchto slidů podléhá souhlasu autorky. Základním studijním materiálem je záznam přednášek z předmětu Počítače a programování vytvořený Pavlem Heroutem, jemuž za možnost využití materiálu tímto děkuji. A. Netrvalová

2 Obsah 1. přednášky: O předmětu Problém algoritmus program Java editace, překlad, spuštění Proměnná název, deklarace, typ Datové typy, typové konverze Operátory, výraz, příkaz, přiřazení Komentáře a dokumentace kódu Základní matematické funkce (Math) Generátor náhodných čísel (Random) Terminálový vstup (Scanner) Grafický nástroj DrawingTool Tato tematika je zpracována v Záznamy přednášek: str. 4-16, 18-31, Strana 2 (celkem 37)

3 O předmětu (podrobně portal.zcu.cz nutno přečíst) 1. Požadavky Absolvování + zisk bodů domácí úlohy (DÚ) písemný test (T) samostatná práce (SP) písemná zkouška (P) Něco se nepovedlo? stanoven min. a max. počet bodů z každé kategorie (DÚ, T, SP, on-line test ONL, P). možnost opravy bonusy (ACM úlohy, vybrané DÚ, SP rozšíření) Výsledná známka (součet bodů za celý semestr) 2. Kritéria hodnocení Kategorie Max. Min. Bonusy navíc Známka Bodů DÚ 18 9 DÚ T 25 7 SP SP 7 5 ACM ONL <50 P Min. 37!!! Strana 3 (celkem 37)

4 3. Etika, opisování a práce na zakázku Poradit není totéž, co opsat! DÚ, - kontrola shodnosti validovaných řešení SP, ACM - obhajoba T, P, ONL - kontrola identity, dozor Kontrola počtu získaných bodů: práce pod dohledem vs. práce ostatní. Definition of Academic Dishonesty Academic dishonesty is any action or attempted action that may result in creating an unfair academic advantage for yourself or an unfair academic advantage or disadvantage for any other member or members of the academic community. University of California, Berkeley Více o etice: portal.zcu.cz Studijní materiály Strana 4 (celkem 37)

5 Problém algoritmus program 1. Problém Definice (Slovník spisovného jazyka českého) Věc k řešení, nerozřešená sporná otázka, otázka k rozhodnutí, nesnadná věc Definice (informatika): Každý problém P je určen uspořádanou trojicí (vst; vyst; fce), kde: vst je množina přípustných vstupů vyst je množina očekávaných výstupů fce: vst vyst přiřazuje přípust. vstupu očekávaný výstup Příklad problému... nalezení cesty do hotelu, postup vaření těstovin, dostat se do autobusu č. 30, vypsání 5x Ahoj, Algoritmus Nejstarší známý algoritmus - starověký Egypt - nalezen v roce 1858 na tzv. Rhindově papyru (asi z r před n. l.): algoritmus násobení dvou přirozených čísel. Název algoritmus odvozen ze jména - Abú Jafar Muhammad Ibu Músa Al Khwarizmí (Chwárizmí, Chovarizmí, Choresmí) - významný perský matematik (cca 800 n.l.), autor díla Algoritmi de numeré Indorum (lat. překl.). Jméno bylo ve středověku latinizované na Al-Gorizmí. Algoritmus = obecný předpis sloužící pro řešení daného problému - posloupnost kroků doplněná jednoznačnými pravidly Strana 5 (celkem 37)

6 Vlastnosti: elementárnost determinovanost konečnost rezultativnost (efektivnost) hromadnost Přístupy k návrhu algoritmu (více viz 9. přednáška): dekompozice a abstrakce problému metodologie shora dolů a zdola nahoru. Prostředky pro zápis algoritmů: vývojový diagram pseudojazyk programovací jazyk Příklad problému, dekompozice a algoritmu Vypsání 5x Ahoj: - opakuj 5x výpis Ahoj - proveď dekompozici výpisu: - zjisti tvar příkazu pro výpis, vlož řetězec "Ahoj", příkaz zapiš 5x (lépe: použij cyklus) 3. Program - zápis algoritmu některým z uvedených prostředků Niklaus Wirth (* Winterthur, Švýcarsko) Vzdělání: University of California, Berkeley, USA (1963), Laval University, Canada (1960), Spolková vysoká technická škola v Curychu (1959) 1984Turingova cena za vývoj programovacích jazyků Algoritmus + datové struktury = program. Strana 6 (celkem 37)

7 Programovací jazyk syntaxe (pravidla) a sémantika (význam) strojově orientované vs. vyšší programovací jazyky Metody implementace: interpretační, kompilační Interpret editace zdrojový kód+vst. data interpret výst.data Kompilátor editace zdrojový kód kompilátor cílový program + vst.data výstupní data Programovací jazyky Algol, Simula, Cobol, Fortran, Basic, Pascal, Delphi, C, C++, C#, LISP, Java, Python, Prolog, ADA, SQL,... Java editace, překlad, spuštění Strana 7 (celkem 37)

8 Nezávislost na platformě bytecode Java Interpret Java Interpret... Java Interpret Windows Linux Solaris Java - historie James Gosling (*1954), Oak (1994) Java, 1995, Sun 2004 JDK 1.5 nové prvky jazyka 2006 JDK 1.6 žádné změny jazyka 2011 JDK 1.7 malé změny (parametr přepínače, formátovaný výstup, ) 2014 JDK 1.8 verze aktuální pro PPA1 (pro úvodní kurz PPA1 - žádné změny) Program v Javě jeden či více zdrojových souborů Jmeno.java překlad do vnitřní formy (bytekód) vznikne soubor Jmeno.class interpretaci provádí program java JVM (Java Virtual Machine) program využívá knihovny (Java Core API - Application Programming Interface) JVM + Java Core API = Java platforma program v Javě = třída(y) Strana 8 (celkem 37)

9 Vývojové prostředky JDK (Java Development Kit) + příkazová řádka SciTe Eclipse Instalace Javy dle návodů na portálu (vše ke stažení) nejprve instalace Javy pak Scite a Eclipse Další informace: Jak na první program v Javě? Zásady: program (zdrojový soubor) vytváříme v textovém editoru (Scite, NotePad, WordPad, PSPad), Eclipse název třídy začíná velkým písmenem, ve více slovném názvu začíná každé slovo velkým písmem, nepoužívá se podtržítko ani pomlčka, v názvu nesmí být mezera, třída tvoří blok {... více viz Konvence v Javě (str. 12) ukládaný zdrojový soubor musí mít název shodný s názvem třídy a to včetně malých a velkých písmen uložení zdrojového souboru s příponou *.java překlad: javac Pozdrav.java spuštění: java Pozdrav Strana 9 (celkem 37)

10 Příklad: Vytvořte program, který vypíše jednou slovo Ahoj. public class Pozdrav { public static void main(string[] args) { System.out.println("Ahoj"); Poznámka (bude vysvětlováno i později): modifikátor public přístupové právo k třídě, metodě, atributu Metoda public static void main(string[] args) je veřejná statická metoda, jejíž hlavička musí být zapsána shodně s výše uvedeným příkladem! Metoda main() nevrací žádnou hodnotu, její návratový typ je vždy(!) void (tj. prázdný ). Parametrem metody (metoda má název s počátečním malým písmenem, vyjadřující děj) je pole řetězců pojmenované args (může být i jinak) představující argumenty (možnost zadání vstupních dat z příkazové řádky, např. jméno souboru). Příkaz System.out.println("Ahoj"); je voláním metody pro výpis na obrazovku, metoda pracuje se standardním výstupem (out), patří do třídy System, která je připojena automaticky (není třeba import). Výraz "Ahoj" představuje řetězec, což je text uzavřený v řetězových závorkách, "" (toto je prázdný řetězec). Strana 10 (celkem 37)

11 Java a čeština public class PozdravČesky { public static void main(string[] args) { System.out.println("Ahoj světe!"); System.out.println("Žluťoučký kůň příšerně úpěl ďábelské ódy."); Java češtinu umí, češtinu ale nepoužívejte v programech ani v komentářích při ověřování DÚ na validátoru ZČU! Poznámka (jen pro začátečníky): A. Základní operace s obsahem paměťových míst 1. Uložení hodnoty - původní obsah buňky je přepsán, původní hodnota není dostupná. 2. Výběr hodnoty - obsah buňky je zachován, tj. výběr lze opakovat. 3. Přiřazení hodnoty buňky jiné buňce (operace 3), dochází ke kopírování obsahu do jedné či více buněk, přičemž se jejich původní obsah definitivně ztrácí. 4. Uložení hodnoty výsledku operace s obsahy dvou či více buněk (operace 4). Obsah výchozích buněk se nemění, obsah buňky, do které se uloží výsledek této operace, získává novou hodnotu. S obsahem výchozích buněk je možno dále pracovat. 5. Uložení výsledku operace s obsahy dvou či více buněk (operace 5) zpět do jedné z výchozích buněk. Podobně jako ve výše uvedených případech obsah této buňky získává novou hodnotu (např. inkrementace - zvětšení hodnoty o 1). Každé paměťové místo má svou vymezenou pozici je označeno adresou. Paměťovému místu je přidělována mnemotechnická zkratka shodná se jménem proměnné. Strana 11 (celkem 37)

12 paměťové místo, buňka, na adrese operace 3 uložení z x 1 x 2 a b sum c výběr operace 5 operace 4 B. Číselné soustavy a převody Příklad: desítková soustava Zápis celého čísla v soustavě o základu Z N a Zápis desetinné části 10 m 1 m m 1 Z am 2Z... a1z a0z 1 2 N a Z a Z... a 1 2 kde: Z základ, m počet řádových míst, a i koeficient n počet desetinných míst m Kapacita soustavy K Z Největší hodnota soustavy N Z m 1 Významné soustavy Základ Soustava Hodnoty 10 desítková (dekadická) 0,1,2,3,4,5,6,7,8,9 2 dvojková (binární), 0,1 8 osmičková (oktalová) 0,1,2,3,4,5,6,7 16 šestnáctková (hexadecimální) 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F MAX nz n 0 Strana 12 (celkem 37)

13 Šestnáctková soustava: (A) 16 =(10) 10 (D) 16 =(13) 10 (B) 16 =(11) 10 (E) 16 =(14) 10 (C) 16 =(12) 10 (F) 16 =(15) 10 Převody převádíme odděleně část: celou (x c ) desetinnou (x d ) Příklad: převod dekadického čísla 25,625 = x (2) do dvojkové soustavy (k=2) x c x c /k x c mod k x d x d *k ,625 1, ,250 0, ,5 1, ,625 (10) = 11001,101 (2) Převody mezi soustavami o Z = 2 N (2) = 31 (8) (2) = 19 (16) Proměnná - název, deklarace, typ Proměnná = symbolicky pojmenovaný datový objekt v operační paměti Identifikátor název (jméno) proměnné, konstanty, metody, třídy... Pravidla pro zápis identifikátoru - neomezená délka - začíná písmenem, podtržítkem _ či dolarem $ - nesmí obsahovat operátory - nelze použít rezervovaná slova (tzv. klíčová slova jazyka) Strana 13 (celkem 37)

14 Konvence v Javě nutno dodržovat ( srozumitelnost kódu ) třídy začínají velkým písmenem (další slovo velkým) metody a proměnné začínají malým písmenem konstanty všechna písmena velká, podtržítka balíky pouze malá písmena Deklarace stanovení symbolického jména a datového typu inicializace (stanovení počáteční hodnoty) pojmenovaná konstanta (hodnota se nemění, final) Proměnné musí být při deklaraci přiřazen datový typ a před použitím hodnota (inicializace). Datové typy, konverze Datový typ = množina hodnot + množina operací primitivní datový typ číslo/znak/logická hodnota Poznámka1: primitivní datové typy (vždy malými písmeny) a jejich tzv. obalovací třídy (první písmeno velké): např. byte versus Byte Poznámka2: s datovými typy úzce souvisí problematika kódování (kódy pro celá čísla, reálná čísla, znaky, logické hodnoty) - bude předneseno na konci semestru! Číselné datové typy Číselné typy celá čísla Typ Rozsah byte short int long Strana 14 (celkem 37)

15 Číselné typy reálná čísla Typ Rozsah double 4.9E E308 float 1.4E E38 Konstanty tzv. literály Standardní číselné konstanty Double.POSITIVE_INFINITY (+ ) Double.NEGATIVE_INFINITY(- ) Double.NaN (Not a Number) Integer.MAX_VALUE (největší hodnota celočíselná) Byte.MIN_VALUE (nejmenší hodnota typu byte: -128) Double.MAX_VALUE (největší hodnota reálná), atd. Celočíselné konstanty zápis (od Java 1.7) implicitně typu int, jinak zadat typ: např. 1234L (1234l), 077L - long desítkové (posloupnost číslic, z nichž první nesmí být nula): např.: 5,128, 0, -6 osmičkové (číslice 0 následovaná číslicemi 0 až 7): např. 0123, 0, 07 šestnáctkové (číslice 0 následovaná znakem x či X a posloupnost 0 až 9, A až F či a až f): např. 0x56, 0x0, 0XCD, 0Xa dvojkové (číslice 0 následovaná znakem b či B a číslicemi 0 či 1): např. 0b1001, 0B101 (Java 1.7) Strana 15 (celkem 37)

16 Reálné konstanty zápis (mohou začínat a i končit desetinnou tečkou, obsahovat znaménka, exponenty, atd. ) jsou implicitně typu double: např. 1.,.2, 5e6, 0.0, -7E2, jinak zadat typ: např. 3.14F (3.14f), 1.F, 1e-4f - float Poznámka: od Java 1.7 podtržítko v numerických literálech (tzn. pouze mezi číslicemi) - oddělení číslic do skupin pro přehlednost: např. 1234_5678, 0b0010_0101, 0xFF_EC_DE_5E, 0_52 pozor ALE: _52 je identifikátor! Znakové typy a konstanty deklarace char - znaková konstanta je uzavřena v apostrofech, může být reprezentována: jedním znakem: např. 'A', '1', '%' posloupností '\uxxxx', kde XXXX reprezentují číslice šestnáctkové: např. '\u00e1' ~ 'á' escape sekvence: např. '\t ' ~ '\u0009' (tabulátor), '\\ ' ~ '\u005c' (zpětné lomítko - backslash) (více v Záznamy přednášek str. 28) Řetězcové konstanty String (řetězec) je v Javě třída, proto zatím budeme řetězce užívat pouze pro výstup, např. "tento retezec" a "tento" + "retezec" (pozor na typ uvozovek!) Logický typ a konstanty deklarace boolean hodnoty jsou dvě: true (logická 1), false (logická 0) Strana 16 (celkem 37)

17 Základní logické funkce && logický součin, logický součet,! negace A B A && B A B!A false false false false true false true false true true true false false true false true true true true false Poznámka datový typ výčet (Záznamy str. 66)* pro zájemce Konverze datových typů proměnné lze přiřadit jen hodnotu stejného typu - jinak přetypování: implicitní (automaticky) explicitní (nutno napsat), jen pro danou operaci, typ proměnné se trvale nezmění! Typy konverzí: identická - konverze na shodný typ rozšiřující - provádějí se implicitně a není nutné uvádět operátor přetypování zužující - při nich může dojít ke ztrátě informace a musí se provádět operátorem přetypování - jeho syntaxe je: (typ) operand převod základního datového typu na řetězec a naopak (viz přednáška: třída String). zakázaná konverze - obvykle nemá smysl (např. přetypování na void). Strana 17 (celkem 37)

18 Příklady konverzí číselných typů: double r, p; r = 3; // implicitni - rozsireni typu int i = 1; p = i; // implicitni p = (double) i; // lepe explicitne, je to umysl i = (int) r; // explicitni ztrata rozsahu i = (int) p + r; // chybne!!! i = (int) (p + r); // spravne Operátory, výraz, příkaz, přiřazení Operátory provádí operace s operandy (proměnné, konstanty,...) Typy operátorů: aritmetické relační logické bitové (např. >>,, &)* - použití je nad rámec PPA1 přiřazení Priority operátorů ++, -- *, /, % +, - <, <=, >, >= ==,!= && inkrementace (zvětšení obsahu o 1), dekrementace násobení, dělení (celočís., reálné), operace modulo sčítání, odčítání menší, menší či rovno, větší, větší či rovno je rovno, není rovno logický součin (AND) logický součet (OR) =, +=, -=, *=, /=, %= přirazení s operací (před rovnítkem) s operandem (vlevo) a opětné přiřazení do operandu (vlevo) Priority operací možno upravit použitím závorek! Strana 18 (celkem 37)

19 Výraz - předepisuje postup při výpočtu hodnoty určitého typu - skládá se z operandů (proměnné, konstanty, volání metod,...) a operátorů (+,-,*,/,...) Vyhodnocení výrazu: zleva doprava dle priorit Příkaz - jednotka vykonávání kódu, ukončení znakem ; Druhy příkazů: o o o o o prázdný (neprovádí nic, nejjednodušší) deklarativní (deklarace proměnné a její inicializace) výrazový (nejčastější- např. přiřazení, inkrementace, volání metody např. výpis hodnot proměnných) toku programu (určuje pořadí vykonávání příkazů) složený příkaz - blok Příkaz přiřazení nastaví hodnotu proměnné vlevo = (není to rovnice!) vypočtenou hodnotu můžeme přiřadit (vložit) do proměnné pouze stejného typu Příkaz přiřazení: proměnná = výraz; Blok - sekvence příkazů a deklarací lokálních proměnných (pravidla používání později) uzavřených do složených závorek {. Použití tam, kde je možno použít příkaz. Blok může být i prázdný, pak se chová stejně jako prázdný příkaz. Příkazy v bloku jsou vykonávány od prvního příkazu k poslednímu, pokud není ukončen předčasně. Strana 19 (celkem 37)

20 Příklad: Výměna obsahu dvou proměnných (jak jinak?) int a = 3; int b = 5; int pom =a; a = b; b = pom a = 3 b = 5 pom = 3 a = 5 b = 3 Příklad: Blok (lokální proměnná v bloku) int i = 1; { // vnitrni blok int i = 3; // i - lokalni promenna // konec bloku System.out.println("i = " + i); i = 1 Operace modulo % - zbytek po celočíselném dělení např.: 13 % 5 = 3 Příklad: Kolik plných plat lze naplnit daným počtem vajec a kolik vajec zbude? public class Vejce { public static void main(string [] args ){ int pocetvajec = 80; int velikostplata = 12; int pocetplat = pocetvajec/velikostplata; int zbytek = pocetvajec % velikostplata; System.out.println("Pocet plat = " + pocetplat); System.out.println("Zbyde " + zbytek + " vajec."); Pocet plat = 6 Zbyde 8 vajec. Strana 20 (celkem 37)

21 Příklad: Příkazy public class Prikazy { public static void main(string []args){ double suma = * 3.5; System.out.println("suma = " + suma); double delenec = 3; double delitel = 2; // ilustrace fce operatoru deleni // zakomentovat predchozi a odkomentovat nasledujici radek // int delitel = 2; double podil = delenec/ /*(double)*/ delitel; // po odkomentovani "(double)" bude deleni opet realne! System.out.println("podil = " + podil); int a = 1; int b = 3; int aminusbnadruhou = a*a - 2*a*b + b*b; System.out.println("(a-b)*(a-b) = " + aminusbnadruhou); double realne = Math.pow(a - b, 3) / (a + b); //reálné dělení System.out.println("realne = " + realne); int c = 4; int d = 5; double prumer = (a + b + c + d)/4.; //reálné dělení double median = (b + c)/2.0; System.out.println("prumer = " + prumer); System.out.println("median = " + median); suma = 8.0 podil = 1.5 (a-b)*(a-b) = 4 realne = -2.0 prumer = 3.25 median = 3.5 Strana 21 (celkem 37)

22 Příklad: Inkrementace (zvětšení hodnoty proměnné o 1) public class Inkrementace { public static void main(string [] args ){ int i = 1; System.out.println("i = " + i); i = i + 1; System.out.println("i = " + i); i += 1; System.out.println("i = " + i); i++; System.out.println("i = " + i); ++i; System.out.println("i = " + i); int sum = 0; //pozor na poradi operaci! i = 1; System.out.println("i = " + i + " sum = " + sum); sum = sum + i++; // zde System.out.println("i = " + i + " sum = " + sum); i = 1; sum = 0; System.out.println("i = " + i + " sum = " + sum); sum = sum + ++i; //zde System.out.println("i = " + i + " sum = " + sum); Důležitá poznámka k problematice dělení v Javě /... celočíselné vs. reálné i = 1 i = 2 i = 3 i = 4 i = 5 i = 1 sum = 0 i = 2 sum = 1 i = 1 sum = 0 i = 2 sum = 2 Oba operandy celočíselné celočíselné dělení, jinak reálné dělení, možnost přetypování! Strana 22 (celkem 37)

23 Komentáře a dokumentace - snazší orientace ve zdrojovém kódu Typy komentářů řádkový (do konce řádku) // text blokový (více řádek) /* text */ dokumentační /** dokumentace */ Co dokumentovat? nestandardní názvy proměnných nestandardní programové konstrukce metody třídy Vygenerování dokumentace (z příkazové řádky) program javadoc příkaz javadoc d mujdokument Jmeno.java založí adresář mujdokument s html soubory spustit Index.html Jméno autora (v dokumentaci a příkaz: javadoc author d mujdokument Jmeno.java Příkaz pro dokumentování více souborů: javadoc author d mujdokument *.java A pokud není užit modifikátor public: javadoc author private d mujdokument *.java Strana 23 (celkem 37)

24 Příklad dokumentace - pro již uvedený program Ahoj.java import java.io.*; // import netreba, jen pro ukazku - kam dokumentaci umistit /** *Vypis pozdravu Ahoj! netrvalo */ public class Ahoj { /** * Metoda main() - spousteni programu args pole retezcu argumentu - nevyuzito */ public static void main(string[] args) { /* prikaz volani metody println () vypise text Ahoj! */ // toto byl blokovy komentar System.out.println("Ahoj!"); // vypis Ahoj! Vygenerování dokumentace příkazová řádka - generuje se do adresáře s názvem doc volbou -d: javadoc d doc Ahoj.java - vygeneruje se i se jménem autora: javadoc author d doc Ahoj.java Strana 24 (celkem 37)

25 Zobrazení dokumentace k programu: Strana 25 (celkem 37)

26 Poznámka: Vývojové prostředí Eclipse generování automaticky (volbou z menu), nutno nastavit cestu k javadoc.exe. Strana 26 (celkem 37)

27 Základní matematické funkce Standardní funkce (Třída Math) - viz Java Core API mocnina druhá odmocnina goniometrické funkce logaritmus exponenciální fce Konstanty - π, e Příklady použití konstant a standard. funkcí: double pi = Math.PI; // double e = Math.E; // Math.exp(1); int a =3, b = 4; double prepona = Math.sqrt(Math.pow(a,2)+b*b); // 5 double v = Math.pow(Math.sin(1),2)+Math.pow(Math.cos(1),2); // 1 double logaritmusdes = Math.log10(100); // 2 double logaritmuspriroz = Math.log(Math.E); // 1 double nahodnecislox = Math.random(); // 0.0 X 1.0 Příklad: Minimum ze tří čísel // minimum ze 3 cisel int a = 1, b = 2, c = 3 ; int min = Math.min (Math.min (a, b),c); System.out.println("min = " + min); min = 1 Strana 27 (celkem 37)

28 Příklad: Vzdálenost dvou bodů v rovině v 2 x x y y2 int x1 = 0, y1 = 0; int x2 = 1, y2 = 1; double v = Math.sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)); System.out.println("v = " + v); v = 1,41... /* lepe: int rx = x1 - x2; int ry = y1 - y2; v = Math.sqrt(rX*rX + ry*ry); // v = Math.sqrt(Math.pow(rX,2) + Math.pow(rY,2)); */ Příklad: Výpočet plochy kruhu s pomocí Math public class VypocetPlochyMath { public static void main(string [] args) { int polomer = 1; double plocha = Math.pow(polomer,2)*Math.PI; System.out.println("P("+polomer+")="+plocha); // vypocet dalsi plochy polomer = 2; plocha = Math.pow(polomer,2)*Math.PI; System.out.println("P("+polomer+")="+plocha); P(1)= P(2)= Strana 28 (celkem 37)

29 Příklad: Přehled často používaných metod třídy Math public class StandardniFce { // dalsi fce - viz dokumentace Javy public static void main(string[] arg){ int a = 2, b = 3; int d = a - b; System.out.println("d = " + d); System.out.println("a = " + a + ": a^2 = " + a * a); System.out.println(("a = " + a + ": a^7 = " + Math.pow (a,7)); System.out.println("vysledek a^7 jako cele cislo = " + (int) Math.pow (a,7)); System.out.println("mensi ze dvou cisel (" + a + "," + b + ") = " + Math.min (a,b) ); int c = 4; System.out.println("odmocnina z " + c + " = " + Math.sqrt(c)); System.out.println("treti odmocnina z 27 = " + Math.cbrt (27)); double p = , r = ; System.out.println("cela cast " + p + " = " + Math.round(p)); System.out.println("nejmensi cele cislo vetsi nez p = " + (int)math.ceil (p)); System.out.println("nejmensi cele cislo mensi nez p = " + (int)math.floor (p)); System.out.println("cele cislo = " + (int)math.rint (p)); System.out.println("cele cislo = " + (int)math.rint (123.5)); System.out.println("desetinna cast = " + (p-math.round(p))); System.out.println("abs.hodnota z " + r + " = " + Math.abs(r)); System.out.println("realne nahodne cislo = " + Math.random()); int m = 10, n = 1; System.out.println("cele nahodne cislo c = " + (int) (Math.random()*m + n)); System.out.println("pi = " + Math.PI); System.out.println("oriznute pi = " + (double)(int)(math.pi *100)/100); // lépe pouzit formatovany vystup d = -1 a = 2: a^2 = 4 a = 2: a^7 = vysledek a^7 jako cele cislo = 128 mensi ze dvou cisel (2,3) = 2 odmocnina z 4 = 2.0 treti odmocnina z 27 = 3.0 cela cast = 123 nejmensi cele cislo vetsi nez p = 124 nejmensi cele cislo mensi nez p = 123 cele cislo = 123 cele cislo = 124 desetinna cast = abs.hodnota z = realne nahodne cislo = cele nahodne cislo c = 10 pi = oriznute pi = 3.14 Strana 29 (celkem 37)

30 Generátor náhodných čísel (pseudo)náhodná čísla (celá, reálná): třída Random nutný import balíčku java.util inicializace = vytvoření objektu import java.util.*; public class NahodnaCisla { static private Random r = new Random(); // inicializace // static privaterandom r = new Random(1); // stale stejna posloupnost public static void main (String[]args) { // Random r = new Random(); // tez funkcni, ale lepe takto double realne = r.nextdouble(); // nema parametr int rozsah = 10; // tj. 0,1,2,3,4,5,6,7,8,9 int cele = r.nextint(rozsah); // muze mit parametr System.out.println("" + realne + " : " + cele); long velkecele = r.nextlong(); System.out.println("" + velkecele); // nema parametr : Poznámka: r je proměnná - reference třídy Random nextint() - metoda vrací náhodné celé číslo typu int nextint(celecislo) vrací náhodné celé číslo v rozsahu 0, celecislo-1 nextdouble() je metoda třídy Random vracející náhodné reálné číslo 0.0, 1.0 Náhodné číslo (třída Math) už známe Math.random() reálné číslo z intervalu (0.0, 1.0 Strana 30 (celkem 37)

31 Terminálový vstup (z klávesnice) od JDK jednoduché řešení - třída Scanner, použitelné i pro soubory (bude uvedeno později), postupujeme obdobně jako u třídy Random - import balíčku java.util - inicializace, vytvoření objektu (new) - nutno řešit lokalizaci (. vs., v reálném čísle) - používá metody: nextint(), nextdouble(), next(), nextline() Příklad: Načti dvě čísla (reálné, celé) a spočti jejich průměr. import java.util.*; public class VstupScanner { private static Scanner sc = new Scanner(System.in); public static void main(string [] args) { //Scanner sc = new Scanner(System.in); sc.uselocale(locale.us); // lokalizace! System.out.print("Zadej 1. cislo realne: "); double cislo1 = sc.nextdouble(); System.out.println("Zadano bylo: " + cislo1); System.out.print("Zadej 2. cislo cele: "); int cislo2 = sc.nextint(); System.out.println("Zadano bylo: " + cislo2); double prumer = (cislo1 + cislo2)/2; System.out.println("Prumer = " + prumer); Zadej 1. cislo realne: 12.3 Zadano bylo: 12.3 Zadej 2. cislo cele: 12 Zadano bylo: 12 Prumer = Strana 31 (celkem 37)

32 Příklad (problém vyprázdnění vstupu) import java.util.*; public class VyprazdneniVstupu { private static Scanner sc = new Scanner(System.in); public static void main(string [] args) { sc.uselocale(locale.us); System.out.print("Zadej cele cislo: "); int cislo = sc.nextint(); System.out.println("Zadano bylo: " + cislo); System.out.print("Zadej realne cislo: "); double realne = sc.nextdouble(); System.out.println("Zadano bylo: " + realne); sc.nextline(); //zakomentovanim vznikne chyba // docteni radky <cr> a <lf> - vyprazdneni vstupu System.out.print("Zadej vetu: "); String veta = sc.nextline(); System.out.println("Zadano bylo: " + veta); System.out.print("Zadej znak: "); char znak = sc.next().charat(0); System.out.println("Zadano bylo: " + znak); System.out.print("Zadej slovo: "); String slovo = sc.next(); System.out.println("Zadano bylo: " + slovo); Strana 32 (celkem 37)

33 Výstup programu: Bez zakomentování Zadej cele cislo: 12 Zadano bylo: 12 Zadej realne cislo: 12.2 Zadano bylo: 12.2 Zadej vetu: Jak se mas? Zadano bylo: Jak se mas? Zadej znak: w Zadano bylo: w Zadej slovo: lepidlo Zadano bylo: lepidlo Se zakomentováním Zadej cele cislo: 12 Zadano bylo: 12 Zadej realne cislo: 12.2 Zadano bylo: 12.2 Zadej vetu: Zadano bylo: Zadej znak: w Zadano bylo: w Zadej slovo: lepidlo Zadano bylo: lepidlo Upozornění: Metody nextint(), nextdouble() a next() jsou tzv. žravé přečtou a zlikvidují všechny bílé znaky (mezera, znaky konce řádky, tabulátor) před prvním nebílým znakem, čtení skončí na prvním bílém znaku, tento znak však zůstává (tj. není požrán ) ve vyrovnávací paměti (buffer) Řešení - před použitím metody nextline() vyprázdnit vstup příkazem sc.nextline() Pozor ale: metoda nextline() není žravá, ale zato zlikviduje znaky konce řádky, proto se za ní nesmí použít příkaz sc.nextline()! Vyprázdnění vstupu bývá častou chybou! Strana 33 (celkem 37)

34 Správné použití třídy Scanner public class PouzitiScanneru{ static private Scanner sc = new Scanner(System.in); public static void main (String [] args) { int a = sc.nextint(); Takto budeme Scanner používat při vícenásobném volání (např. v main (), v cyklu, či v jiné metodě) více bude vysvětleno později. Poznámka: Vstup s využitím argumentů (tj. parametrů příkazové řádky) public class VstupArgumenty { // cisla zadana jako parametry na prikazove radce public static void main(string[] args) { int a = Integer.parseInt(args[0]); //1. argument // metoda Integer.parseInt () - prevod retezce na cele cislo System.out.print(" a = " + a); int b = Integer.parseInt(args[1]); //2. argument System.out.print(" b = " + b); int suma = a + b; System.out.println("suma = " + suma); Metoda parseint()převádí řetězec na celé číslo (bude vysvětleno až se třídou String), později kód ještě doplníme o test existence argumentů (parametrů). Strana 34 (celkem 37)

35 Grafický nástroj DrawingTool 1 vytvořen pro PPA2 pouze pro kreslení fraktálů (cílem nebylo, a ani teď není, vytvořit kreslicí utilitu!) umí nakreslit čáru z bodu do bodu počátek grafického souřadného systému 0,0 je v levém horním rohu (pracuje se s pixely) soubor DrawingTool.java musí být uložen ve stejném adresáři s naší aplikací (DrawingTool je v podstatě samostatná třída, kterou náš program používá) aplikace musí mít na 1. řádku příkaz: import.java.awt.*; Příklad použití na cvičení Soubor DrawingTool.java a aplikace Kreslení.java překlad: javac *.java // *.java -prelozi se obe tridy spuštění: java Kresleni Úloha: Nakreslete úhlopříčku vedoucí z levého horního do pravého dolního rohu černou barvou na bílém pozadí v okně s rozměry 300x Ing. Roman Tesař (příklady studenti doktorského studia na KIV), pro předmět PPA2. Strana 35 (celkem 37)

36 import java.awt.*; public class Kresleni { public static void main(string[] args) { /* nejprve inicializace objektu: sirka = 300, vyska = 200, barva pozadi = bila DrawingTool je typ, dt je reference na objekt DrawingTool, Color je trida balicku java.awt pro kresleni, WHITE je konstanta tridy Color */ DrawingTool dt = new DrawingTool(300, 200, Color.WHITE, true); /* nastaveni barvy cary na cernou: setcolor() je metoda tridy DrawingTool, BLACK je konstanta */ dt.setcolor(color.black); /* nakresleni uhlopricky z leveho horniho rohu [0, 0] do praveho dolniho rohu [300-1, 200-1] */ dt.line(0, 0, 299, 199); // metoda tridy DrawingTool kresli caru Výstup: Strana 36 (celkem 37)

37 Příklad: Výpočet přepony, obvodu a obsahu pravoúhlého trojúhelníka, jsou-li dány odvěsny. import java.util.* ; /** * Vypocet prepony, obvodu a obsahu pravouhleho trojuhelnika, * jsou-li dany odvesny netrvalo */ public class PravouhlyTrojuhelnik { private static Scanner sc = new Scanner (System.in); /** * Metoda main() - spousteni programu args pole retezcu argumentu - nevyuzito */ public static void main(string[] args) { sc.uselocale(locale.us); System.out.print("Nacti odvesnu a = "); double a = sc.nextdouble(); System.out.print("Nacti odvesnu b = "); double b = sc.nextdouble(); double c = Math.sqrt(Math.pow(a,2) + Math.pow(b,2)) // rychleji: Math.sqrt(a*a + b*b); double obvod = a + b + c; double obsah = a*b/2; System.out.println(Trojuhelnik: "); System.out.println("a, b, c: " + a + ", " + b + ", " + c); System.out.println("O = " + obvod ); System.out.println("P = " + obsah ); Nacti odvesnu a = 3 Nacti odvesnu b = 4 Trojuhelnik: a, b, c: 3.0, 4.0, 5.0 O = 12.0 P = 6.0 Strana 37 (celkem 37)

Tato tematika je zpracována v Záznamy přednášek: str

Tato tematika je zpracována v Záznamy přednášek: str Obsah 2. přednášky: Číselné soustavy Kódování Datové typy a Java Deklarace proměnné Výraz, přiřazení, příkaz Operátory Konverze typu Základní matematické funkce Terminálový formátovaný vstup a výstup Tato

Více

Slajdy k přednáškám předmětu. KIV/PPA1. Arnoštka Netrvalová

Slajdy k přednáškám předmětu.  KIV/PPA1. Arnoštka Netrvalová Slajdy k přednáškám předmětu POČÍTAČE A PROGRAMOVÁNÍ 1 http://portal.zcu.cz KIV/PPA1 Arnoštka Netrvalová 2011 Slidy jsou určeny studentům předmětu Počítače a programování 1 vyučovaného katedrou informatiky

Více

Tato tematika je zpracována v Záznamy přednášek: str. 12, 14 23, 34-43

Tato tematika je zpracována v Záznamy přednášek: str. 12, 14 23, 34-43 Obsah 2. přednášky: Číselné soustavy Kódování Přehled datových typů Přehled a použití operátorů Generátor náhodných čísel Terminálový formátovaný vstup a výstup Grafický nástroj Drawing Tool Algoritmizace

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

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

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

Úvod do programovacích jazyků (Java)

Úvod do programovacích jazyků (Java) Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2007/2008 c 2006 2008 Michal Krátký Úvod do programovacích

Více

Algoritmizace a programování. Terminálový vstup a výstup

Algoritmizace a programování. Terminálový vstup a výstup Algoritmizace a programování Terminálový vstup a výstup Verze pro akademický rok 2012/2013 1 Výpis hodnot Terminálový vstup a výstup budeme používat jako základní způsob interakce programu s uživatelem

Více

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování Řídicí struktury jazyka Java Struktura programu Příkazy jazyka Blok příkazů Logické příkazy Ternární logický operátor Verze pro akademický rok 2012/2013 1 Struktura programu

Více

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007 Úvod do programovacích jazyků (Java) Michal Krátký 1 Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků

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

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

3 KTE / ZPE Informační technologie

3 KTE / ZPE Informační technologie 3 KTE / ZPE Informační technologie Ing. Petr Kropík, Ph.D. email: pkropik@kte.zcu.cz tel.: +420 377 63 4639, +420 377 63 4606 (odd. informatiky) Katedra teoretické elektrotechniky FEL ZČU Plzeň Komentáře

Více

Jak v Javě příkazy, operace a výrazy. BD6B36PJV 00 Fakulta elektrotechnická České vysoké učení technické

Jak v Javě příkazy, operace a výrazy. BD6B36PJV 00 Fakulta elektrotechnická České vysoké učení technické Jak v Javě příkazy, operace a výrazy BD6B36PJV 00 Fakulta elektrotechnická České vysoké učení technické Literály Konstanty Komentáře Přiřazovací příkaz Typové konverze Příkazy výstupu Formátovaný výstup

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

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

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

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

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

Více

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

7. Datové typy v Javě

7. Datové typy v Javě 7. Datové typy v Javě Primitivní vs. objektové typy Kategorie primitivních typů: integrální, boolean, čísla s pohyblivou řádovou čárkou Pole: deklarace, vytvoření, naplnění, přístup k prvkům, rozsah indexů

Více

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování Řídicí struktury, standardní metody Problematika načítání pomocí Scanner Některé poznámky k příkazům Psaní kódu programu Metody třídy Math Obalové třídy primitivních datových

Více

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

Programování v Javě I. Leden 2008

Programování v Javě I. Leden 2008 Seminář Java Programování v Javě I Radek Kočí Fakulta informačních technologií VUT Leden 2008 Radek Kočí Seminář Java Programování v Javě (1) 1/ 45 Téma přednášky Datové typy Deklarace třídy Modifikátory

Více

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování Struktura programu Vytvoření nové aplikace Struktura programu Základní syntaktické elementy První aplikace Verze pro akademický rok 2012/2013 1 Nová aplikace NetBeans Ve vývojovém

Více

7 Formátovaný výstup, třídy, objekty, pole, chyby v programech

7 Formátovaný výstup, třídy, objekty, pole, chyby v programech 7 Formátovaný výstup, třídy, objekty, pole, chyby v programech Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost formátovanému výstupu,

Více

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. Cíle předmětu

Algoritmizace. Cíle předmětu Cíle předmětu Algoritmizace naučit se sestavovat algoritmy řešení jednoduchých problémů a zapisovat je v jazyku Java Organizace předmětu přednášky (učast nepovinná, ale doporučená) cvičení střídavě u tabule

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

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

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

Úvod do programování - Java

Úvod do programování - Java Úvod do programování - Java Cvičení č.1 1 1 UPR informace Cvičící í RNDr. Eliška Ochodková, kancelář A1010 eliska.ochodkova@vsb.cz www.cs.vsb.cz/ochodkova Přednášející Ing. Michal Krátký, Ph.D., kancelář

Více

Ahoj mami. Uložení dat v počítači. Příklady kódování dat. IAJCE Přednáška č. 4

Ahoj mami. Uložení dat v počítači. Příklady kódování dat. IAJCE Přednáška č. 4 Uložení dat v počítači Data = užitečné, zpracovávané informace Kódování (formát) dat = způsob uložení v počítači (nutno vše převést na čísla ve dvojkové soustavě) Příklady kódování dat Text každému znaku

Více

Programování v Javě I. Únor 2009

Programování v Javě I. Únor 2009 Seminář Java Programování v Javě I Radek Kočí Fakulta informačních technologií VUT Únor 2009 Radek Kočí Seminář Java Programování v Javě (1) 1/ 44 Téma přednášky Datové typy Deklarace třídy Modifikátory

Více

Počítačové laboratoře bez tajemství aneb naučme se učit algoritmizaci a programování s využitím robotů CZ.1.07/1.3.12/04.0006

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

Více

8 Třídy, objekty, metody, předávání argumentů metod

8 Třídy, objekty, metody, předávání argumentů metod 8 Třídy, objekty, metody, předávání argumentů metod Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost třídám a objektům, instančním

Více

3. přednáška. Obsah: Řídící struktury sekvence, if-else, switch, for, while, do-while. Zpracování posloupnosti

3. přednáška. Obsah: Řídící struktury sekvence, if-else, switch, for, while, do-while. Zpracování posloupnosti Obsah: Řídící struktury sekvence, if-else, switch, for, while, do-while. Zpracování posloupnosti 3. přednáška nalezení největšího prvku, druhého nejvyššího prvku, algoritmus shozeného praporku. Algoritmizace

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

Jazyk C# a platforma.net

Jazyk C# a platforma.net Jazyk C# a platforma.net Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Pavel Štěpán, 2011 Syntaxe jazyka C# - 1. část BI-DNP Evropský sociální fond

Více

KTE / ZPE Informační technologie

KTE / ZPE Informační technologie 5 KTE / ZPE Informační technologie Ing. Petr Kropík, Ph.D. email: pkropik@kte.zcu.cz tel.: +420 377 63 4639, +420 377 63 4606 (odd. informatiky) Katedra teoretické elektrotechniky FEL ZČU Plzeň Základy

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

Formátové specifikace formátovací řetězce

Formá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íce

Základy jazyka C. Základy programování 1 Martin Kauer (Tomáš Kühr)

Základy jazyka C. Základy programování 1 Martin Kauer (Tomáš Kühr) Základy jazyka C Základy programování 1 Martin Kauer (Tomáš Kühr) Organizační záležitosti Konzultace Pracovna 5.076 Úterý 15:00 16:30 Emailem martin.kauer@upol.cz Web předmětu http://tux.inf.upol.cz/~kauer/index.php?content=var&class=zp1

Více

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 Algoritmus Daniela Szturcová Tento

Více

Seminář Java II p.1/43

Seminář Java II p.1/43 Seminář Java II Seminář Java II p.1/43 Rekapitulace Java je case sensitive Zdrojový kód (soubor.java) obsahuje jednu veřejnou třídu Třídy jsou organizovány do balíků Hierarchie balíků odpovídá hierarchii

Více

Úvod do jazyka C. Ing. Jan Fikejz (KST, FEI) Fakulta elektrotechniky a informatiky Katedra softwarových technologií

Úvod do jazyka C. Ing. Jan Fikejz (KST, FEI) Fakulta elektrotechniky a informatiky Katedra softwarových technologií 1 Fakulta elektrotechniky a informatiky Katedra softwarových technologií 12. října 2009 Organizace výuky Přednášky Teoretické základy dle normy jazyka C Cvičení Praktické úlohy odpřednášené látky Prostřední

Více

Operátory. Základy programování 1 Tomáš Kühr

Operátory. Základy programování 1 Tomáš Kühr Operátory Základy programování 1 Tomáš Kühr Operátory a jejich vlastnosti Základní konstrukce (skoro) každého jazyka Z daných operandů vytvoří výsledek, který je možné dále využívat Arita udává počet operandů

Více

1. Téma 03 - Rozhodování

1. Téma 03 - Rozhodování 1. Téma 03 - Rozhodování Cíl látky Seznámit se a prakticky si vyzkoušet zápis rozhodování v jazyce Java 1.1. Úvod Jednou z nejčastěji používanou konstrukcí při programování je rozhodování. Právě této problematice

Více

Zápis programu v jazyce C#

Zápis programu v jazyce C# Zápis programu v jazyce C# Základní syntaktická pravidla C# = case sensitive jazyk rozlišuje velikost písmen Tzv. bílé znaky (Enter, mezera, tab ) ve ZK překladač ignoruje každý příkaz končí ; oddělovač

Více

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

Vlastnosti algoritmu. elementárnost. determinovanost. rezultativnost. konečnost. hromadnost. efektivnost

Vlastnosti algoritmu. elementárnost. determinovanost. rezultativnost. konečnost. hromadnost. efektivnost Programování Algoritmus návod na vykonání činnosti, který nás od (měnitelných) vstupních dat přivede v konečném čase k výsledku přesně definovaná konečná posloupnost činností vedoucích k výsledku (postup,

Více

Algoritmizace a programování. Ak. rok 2012/2013 vbp 1. ze 44

Algoritmizace a programování. Ak. rok 2012/2013 vbp 1. ze 44 Algoritmizace a programování Ak. rok 2012/2013 vbp 1. ze 44 Vladimír Beneš Petrovický K101 katedra matematiky, statistiky a informačních technologií vedoucí katedry E-mail: vbenes@bivs.cz Telefon: 251

Více

Předmluva k aktuálnímu vydání Úvod k prvnímu vydání z roku Typografické a syntaktické konvence... 20

Předmluva k aktuálnímu vydání Úvod k prvnímu vydání z roku Typografické a syntaktické konvence... 20 Obsah 5 Obsah Předmluva k aktuálnímu vydání 15 1 Úvod k prvnímu vydání z roku 2000 16 Typografické a syntaktické konvence................ 20 2 Základní pojmy 21 2.1 Trocha historie nikoho nezabije................

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 Algoritmus Daniela Szturcová Tento

Více

KTE / ZPE Informační technologie

KTE / ZPE Informační technologie 4 KTE / ZPE Informační technologie Ing. Petr Kropík, Ph.D. email: pkropik@kte.zcu.cz tel.: +420 377 63 4639, +420 377 63 4606 (odd. informatiky) Katedra teoretické elektrotechniky FEL ZČU Plzeň Největší

Více

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

Operační systémy. Cvičení 3: Programování v C pod Unixem Operační systémy Cvičení 3: Programování v C pod Unixem 1 Obsah cvičení Editace zdrojového kódu Překlad zdrojového kódu Základní datové typy, struktura, ukazatel, pole Načtení vstupních dat Poznámka: uvedené

Více

Datové typy strana 29

Datové typy strana 29 Datové typy strana 29 3. Datové typy Jak již bylo uvedeno, Java je přísně typový jazyk, proto je vždy nutno uvést datový typ datového atributu, formálního parametru metody, návratové hodnoty metody nebo

Více

Úvod do programování - Java. Cvičení č.4

Úvod do programování - Java. Cvičení č.4 Úvod do programování - Java Cvičení č.4 1 Sekvence (posloupnost) Sekvence je tvořena posloupností jednoho nebo více příkazů, které se provádějí v pevně daném pořadí. Příkaz se začne provádět až po ukončení

Více

- jak udělat konstantu long int: L long velka = 78L;

- 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

Programové konvence, dokumentace a ladění. Programování II 2. přednáška Alena Buchalcevová

Programové konvence, dokumentace a ladění. Programování II 2. přednáška Alena Buchalcevová Programové konvence, dokumentace a ladění 2. přednáška Alena Buchalcevová Proč dodržovat programové konvence? velkou část životního cyklu softwaru tvoří údržba údržbu provádí většinou někdo jiný než autor

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

7. přednáška - třídy, objekty třídy objekty atributy tříd metody tříd

7. přednáška - třídy, objekty třídy objekty atributy tříd metody tříd 7. přednáška - třídy, objekty třídy objekty atributy tříd metody tříd Algoritmizace (Y36ALG), Šumperk - 7. přednáška 1 Třída jako zdroj funkcionality Třída v jazyku Java je programová jednotka tvořená

Více

Úvod do programovacích jazyků (Java)

Úvod do programovacích jazyků (Java) Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2007/2008 c 2006 2008 Michal Krátký Úvod do programovacích

Více

Operátory, výrazy. Tomáš Pitner, upravil Marek Šabo

Operátory, výrazy. Tomáš Pitner, upravil Marek Šabo Operátory, výrazy Tomáš Pitner, upravil Marek Šabo Operátor "Znaménko operace", pokyn pro vykonání operace při vyhodnocení výrazu. V Javě mají operátory napevno daný význam, nelze je přetěžovat jako v

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

Výčtový typ strana 67

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

Více

Č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

Operátory. Základy programování 1 Martin Kauer (Tomáš Kühr)

Operátory. Základy programování 1 Martin Kauer (Tomáš Kühr) Operátory Základy programování 1 Martin Kauer (Tomáš Kühr) Organizační poznámky Formátujte kód přehledně! Pomůžete sobě i mně. Spusťte si vaše programy a zkuste různé vstupy! Pokud program nedává správné

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

Java reprezentace dat, výrazy. A0B36PR1-Programování 1 Fakulta elektrotechnická České vysoké učení technické

Java reprezentace dat, výrazy. A0B36PR1-Programování 1 Fakulta elektrotechnická České vysoké učení technické Java reprezentace dat, výrazy A0B36PR1-Programování 1 Fakulta elektrotechnická České vysoké učení technické Dva základní přístupy k imperativnímu programování Strukturované procedurální Objektové V PR1

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

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

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

Více

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

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

Více

Teoretické minimum z PJV

Teoretické minimum z PJV Teoretické minimum z PJV Pozn.: následující text popisuje vlastnosti jazyka Java zjednodušeně pouze pro potřeby výuky. Třída Zavádí se v programu deklarací třídy což je část programu od klíčových slov

Více

Čísla a číselné soustavy.

Čísla a číselné soustavy. Čísla a číselné soustavy. Polyadické soustavy. Převody mezi soustavami. Reprezentace čísel. Tomáš Bayer bayertom@natur.cuni.cz Katedra aplikované geoinformatiky a kartografie, Přírodovědecká fakulta UK.

Více

Algoritmy I. Cvičení č. 2, 3 ALGI 2018/19

Algoritmy I. Cvičení č. 2, 3 ALGI 2018/19 Algoritmy I Cvičení č. 2, 3 1 ALG I, informace Cvičící RNDr. Eliška Ochodková, Ph.D., kancelář EA439 eliska.ochodkova@vsb.cz www.cs.vsb.cz/ochodkova Přednášející doc. Mgr. Jiří Dvorský, Ph.D., kancelář

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 Syntaxe 1. část BI-JSC Evropský sociální fond

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

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

Obsah. Úvod 11 Základy programování 11 Objektový přístup 11 Procvičování 11 Zvláštní odstavce 12 Zpětná vazba od čtenářů 12 Errata 13

Obsah. Úvod 11 Základy programování 11 Objektový přístup 11 Procvičování 11 Zvláštní odstavce 12 Zpětná vazba od čtenářů 12 Errata 13 Úvod 11 Základy programování 11 Objektový přístup 11 Procvičování 11 Zvláštní odstavce 12 Zpětná vazba od čtenářů 12 Errata 13 KAPITOLA 1 Na úvod o Javě 15 Počítačový program 15 Vysokoúrovňový programovací

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

9. přednáška - třídy, objekty

9. přednáška - třídy, objekty třída String a její použití kolekce, typované kolekce 9. přednáška - třídy, objekty Algoritmizace (Y36ALG), Šumperk - 9. přednáška 1 Třída String Objekty knihovní třídy String jsou řetězy znaků Od ostatních

Více

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

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

Více

Základy algoritmizace

Základy algoritmizace Algoritmus Toto je sice na první pohled pravdivá, ale při bližším prozkoumání nepřesná definice. Například některé matematické postupy by této definici vyhovovaly, ale nejsou algoritmy. Přesné znění definice

Více

Martin Flusser. Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague. October 17, 2016

Martin Flusser. Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague. October 17, 2016 ZPRO cvičení 2 Martin Flusser Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague October 17, 2016 Outline I 1 Outline 2 Proměnné 3 Proměnné - cvičení 4 Funkce 5 Funkce

Více

Regulární výrazy. Vzory

Regulární výrazy. Vzory Regulární výrazy Regulární výrazy jsou určeny pro práci s textovými řetězci, jsou součástí J2SDK až od verze 1.4, v předchozích verzích je potřeba použít některou z externích knihoven, např. knihovnu ORO

Více

Algoritmizace. Algoritmizace (Y36ALG), Šumperk - 1. přednáška 1

Algoritmizace. Algoritmizace (Y36ALG), Šumperk - 1. přednáška 1 Algoritmizace Cíl předmětu - naučit se sestavovat algorimy řešení základních problémů a zapisovat je v jazyku Java. Jádrem předmětu jsou data, typy, výrazy a příkazy demonstrované v programovacím jazyce

Více

Desetinná čísla. pro celá čísla jsme používali typ int. pro desetinná čísla používáme typ double

Desetinná čísla. pro celá čísla jsme používali typ int. pro desetinná čísla používáme typ double Čísla Desetinná čísla pro celá čísla jsme používali typ int pro desetinná čísla používáme typ double analogicky pro konverzi ze stringu na double se místo Convert.ToInt32 používá Convert.ToDouble Př. program,

Více

4a. Makra Visual Basic pro Microsoft Excel Cyklické odkazy a iterace Makra funkce a metody

4a. Makra Visual Basic pro Microsoft Excel Cyklické odkazy a iterace Makra funkce a metody 4a. Makra Visual Basic pro Microsoft Excel Cyklické odkazy a iterace Makra funkce a metody Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Kalina Cyklické odkazy a iterativní výpočty

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

Příklad: Součet náhodných čísel ve vektoru s počtem prvků, které zadá uživatel, pomocí sum() a pomocí cyklu for. Ověříme, že příliš výpisů na

Příklad: Součet náhodných čísel ve vektoru s počtem prvků, které zadá uživatel, pomocí sum() a pomocí cyklu for. Ověříme, že příliš výpisů na Příklad: Součet náhodných čísel ve vektoru s počtem prvků, které zadá uživatel, pomocí sum() a pomocí cyklu for. Ověříme, že příliš výpisů na obrazovku zpomaluje tím, že zobrazíme okno (proužek) o stavu

Více

Objektově orientované programování

Objektově orientované programování 10. října 2011 Pragmatické informace Volitelný předmět, zápočet: zápočtový program(s dokumentací), aktivní účast na cvičení(body v CodExu), praktický test, zkouška: zkoušková písemka na objektový návrh

Více

6. Příkazy a řídící struktury v Javě

6. Příkazy a řídící struktury v Javě 6. Příkazy a řídící struktury v Javě Příkazy v Javě Příkazy v Javě Řídicí příkazy (větvení, cykly) Přiřazovací příkaz = Řízení toku programu (větvení, cykly) Volání metody Návrat z metody - příkaz return

Více

C# konzole Podíl dvou čísel, podmínka IF

C# konzole Podíl dvou čísel, podmínka IF C# konzole Podíl dvou čísel, podmínka IF Tematická oblast Datum vytvoření 2013 Ročník 3 Stručný obsah Způsob využití Autor Kód Internetové technologie, programování Výpočet podílu v konzolové aplikaci

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

KTE / ZPE Informační technologie

KTE / ZPE Informační technologie 7 KTE / ZPE Informační technologie Ing. Petr Kropík, Ph.D. email: pkropik@kte.zcu.cz tel.: +420 377 63 4639, +420 377 63 4606 (odd. informatiky) Katedra teoretické elektrotechniky FEL ZČU Plzeň - ternární

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

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007 Úvod do programovacích jazyků (Java) Michal Krátký 1 Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků

Více

BI-PA1 Programování a algoritmizace 1 Katedra teoretické informatiky

BI-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íce

Formátová specifikace má tvar (některé sekce nemají smysl pro načítání) %

Formátová specifikace má tvar (některé sekce nemají smysl pro načítání) % vstup a výstup na konzolu - vstupním zařízením je klávesnice, výstupním monitor (přístup jako k sériovým zařízením) - spojení s konzolami je nastaveno automaticky na začátku programu - ke konzole je možné

Více