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

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

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

Transkript

1 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 postup řešení jednoduchého problému (ACM) Tato tematika je zpracována v Záznamy přednášek: str. 12, 14 23, Problém: Je dán počet testovaných případů t (1 t 100) a pro každý takový případ je na samostatném řádku zadáno celé číslo n (-1000 n 1000). Pro všechna zadaná n spočtěte a na samostatném řádku vypište výsledek následujícího úkolu: Vynásobte číslo n 567mi, poté vydělte výsledek 9, přičtěte 7492, pak vynásobte 235, výsledek vydělte 47 a odečtěte 498. Jaká číslice je ve vypočtené hodnotě na řádu desítek? Úvod k řešení bude uveden na konci této přednášky. Přednášky KIV/PPA1, A. Netrvalová, přednáška

2 Číselné soustavy Příklad: desítková soustava Zápis celého čísla v soustavě o základu Z N a m 1 m m 1 Z am 2Z... a1z a0z Zápis desetinné části N 1 2 a Z a Z... a 1 2 nz kde: Z základ, m počet řádových míst, a i koeficient n počet desetinných míst m K Kapacita soustavy Největší hodnota soustavy N Z m 1 Významné soustavy Z MAX n Základ Soustava Hodnoty desítková (dekadická) 0,1,2,3,4,5,6,7,8,9 dvojková (binární), 0,1 osmičková (oktalová) 0,1,2,3,4,5,6,7 šestnáctková (hexadecimální) 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F Š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 0 Strana 2 (celkem 26)

3 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) Kódování - podrobně bude předneseno na konci semestru Kódy pro celá čísla přímý inverzní doplňkový s posunutou nulou Strana 3 (celkem 26)

4 Kódy pro reálná čísla - jednoduchá a dvojnásobná přesnost Kódy pro znaky ASCII - číslice vs. číslo, znak vs. hodnota ASCII kódu! Kódy pro logické hodnoty Datové typy a Java primitivní datový typ číslo/znak/logická hodnota Číselné typy celá čísla Typ Rozsah byte short int long Číselné typy reálná čísla Typ Rozsah double 4.9E E308 float 1.4E E38 Poznámka: primitivní datové typy (vždy malými písmeny) a jejich tzv. obalovací třídy (první písmeno velké): např. byte versus Byte Strana 4 (celkem 26)

5 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) 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 Strana 5 (celkem 26)

6 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 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 dvě: true (logická 1), false (logická 0) && 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 Strana 6 (celkem 26)

7 Přehled a použití operátorů Operace s operandy určují operátory unární, binární, ternární (1) aritmetické, relační, přiřazovací, bitové Vyhodnocení výrazu zleva doprava dle priorit Priority možno upravit použitím závorek Priorita operátorů ++, -- inkrementace, dekrementace *, /, % násobení, dělení, modulo +, - sčítání, odčítání <, <=, >, >= relační (menší, menší či rovno) ==,!= je rovno, není rovno && logický součin (AND) logický součet (OR) =, +=, -=, *=, /=, %= přiřazení s operátorem Poznámka: zkrácený zápis přiřazení s operátorem - provede se naznačená operace s aktuální hodnotou operandu vlevo a pak se mu přiřadí nově spočtená hodnota. Příklad: int i = 2; i = i + 1; // i = 3 (2+1) // predchozi radek lze zapsat i jako i += 1; // i = 4 (3+1) Strana 7 (celkem 26)

8 /* ********* Priklady: operatory a operace ********* */ public class Prikazy2 { public static void main(string []args){ int a = 1; int b = 3; System.out.println("a = " + a + ", b = " + b); a *= b; // a = a*b System.out.println("a = " + a + ", b = " + b); int c = 6; int d = 5; System.out.println("c = " + c + ", d = " + d); c %= d; // c = c%d System.out.println("c = " + c + ", d = " + d); boolean ano = true; boolean ne = false; boolean logsoucet = ano ne; boolean logsoucin = ano && ne; boolean negace =!ano; System.out.println("logicky soucet = " + logsoucet); System.out.println("logicky soucin = " + logsoucin); System.out.println("negace = " + negace); System.out.println("negace negace = " +!negace); boolean podminka = (a <= b) && (c!= d); System.out.println("podminka = " + podminka); Podminka = (a <= b) && (c == d); System.out.println("podminka = " + podminka); char znak = 'A' + 2; // ASCI 65+2=67, tj. znak C System.out.println("znak = " + znak); znak--; // ASCI 67-1=66, tj. B System.out.println("znak = " + znak); a = 1, b = 3 a = 3, b = 3 c = 6, d = 5 c = 1, d = 5 logicky soucet = true logicky soucin = false negace = false negace negace = true podminka = true podminka = false znak = C znak = B Strana 8 (celkem 26)

9 Důležitá poznámka Problémy při provádění aritmetických operací (důvod: zobrazení čísel, zaokrouhlování, ) 1. Přetečení a podtečení (čísla, exponentu) Je-li výsledná absolutní hodnota: větší než maximální zobrazitelná dojde k přetečení menší než minimální zobrazitelná dojde k podtečení přetečení podtečení přetečení -max -min 0 +min +max Náprava pokud lze - zvětšit rozsah (změnit datový typ) 2. Porovnání dvou reálných čísel double x, y; x == y!! takto NE!!! upravit prostřednictvím <=, >= if (x == y) nahradit if (Math.abs(x - y) < ε) kde: ε absolutní chyba porovnání 3. Problém zaokrouhlení Nevhodným řazením operací s řádově odlišnými hodnotami čísel, opakováním výpočtů, atd. může docházet i k výrazným numerickým chybám. int a = 2, b = 5, c = 7; double soucetmocnin = a*a + b*b + c*c; double odmocnina = Math.sqrt(soucetMocnin); System.out.println(1/Math.sqrt(3) * odmocnina); //ne! System.out.println(odmocnina / Math.sqrt(3)); //ok! Strana 9 (celkem 26)

10 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 10 (celkem 26)

11 Terminálový formátovaný Vst/Výst terminálový velmi primitivní V/V (klávesnice, obrazovka - txt režim) formátovaný čísla na výstupu automaticky převedena na řetězec číslic v desítkové soustavě Klasický výstup System.out.print(parametr), System.out.println(), System.out.println(parametr) print(parametr) metoda třídy System, pro výstup parametr primitivní typ nebo řetězec funkce - pro každý primitivní typ existuje implicitní konverze na řetězec int i=1; System.out.print ("i = " +i); // i = 1 System.out.println('A'); // i = 1A System.out.println(Math.E); // System.out.println(5); // 5 System.out.println(5.25); // 5.25 System.out.println("Hello world\n"); // "\n" odradkovani // ALE POZOR: prevod na typ prvniho vystupu (tj. na int) System.out.println(5 + i + 'A'); /* = 71 (65=kod pismena A) nutno na zacatek umistit prazdny retezec */ System.out.println("" i + 'A'); // 51A ok! // JESTE jednou POZOR: chci soucet i+2, System.out.println("index = " + i + 2); // ale vypis je 12 nutno uzavrit do zavorek System.out.println("index = " + (i+2)); // 3 ok! Strana 11 (celkem 26)

12 Lepší řešení výstupu (od JDK 1.5) Použití metody - System.out.format(parametr) pozor: parametry jsou odděleny, (čárkou) nikoliv + Používat jen, je-li to nutné! Více informací: Záznamy přednášek (str ) + java.util.formatter Základní pravidla: - ve formátovacím řetězci - za znakem % formátovací znaky - kolik je znaků %, tolik dalších parametrů int i = 1, sum = 33; System.out.format("i = %d, suma = %d%n", i, sum); // i = 1, suma = 33 Poznámka: Desetinný oddělovač je závislý na lokalitě pro ČR je to čárka, pro US tečka (viz dále). Výpis celého čísla v desítkové soustavě - používá se %d, např. pro int i = -1234; System.out.format("i = %d%n", i); // i = počet míst lze stanovit, pak se doplňují mezery zleva, tj. zarovnání doprava, např.: System.out.format("i = %7d%n", i); // i = počet míst lze stanovit a zarovnat doleva (zbylé místo se doplní mezerami), např.: System.out.format("i = %-7dahoj%n", i); // i = ahoj - lze vynutit výpis i + znaménka, např. pro int i = 1234; System.out.format("i = %+7d%n", i); // i = vynutí se výpis nevýznamových nul, např.: System.out.format("i = %07d%n", i); // i = vypisuje se i oddělovač řádů, např.: System.out.format("i = %,7d%n", i); // i = Strana 12 (celkem 26)

13 Výpis celého čísla v jiných soustavách - osmičková soustava, např. pro int j = 30; System.out.format("j = %o%n", j); // j = 36 - šestnáctková soustava, např. pro int j = 30; System.out.format("j = %X%n", j); // j = 1E - počet míst lze určit, např.: System.out.format("j = %3X%n", j); // j = 1E - lze vynutit nevýznamové nuly, např. pro: int j = 10; System.out.format("j = %02X%n", j); // j = 0A Výpis znaku - používá se %c, např. pro char c = 'a'; System.out.format("c = %c%n", c); // c = a - lze použít přetypování a lze vypsat více proměnných najednou System.out.format("Znak %c ma ASCII hodnotu: %d%n", c, (int) c); // Znak a ma ASCII hodnotu: 97 Výpis reálného čísla (od verze Java 1.7 všude znak:,) - reálné číslo %f, např. pro double d = ; System.out.format("d = %f%n", d); // d = 1234, výpis ve vědeckotechnické notaci %g, %e např. pro: double d = ; System.out.format("d = %g%n", d); // d = 1234,57 System.out.format("d = %e%n", d); // d = 1,234567e+03 - lze nastavit počet míst celkem (10) a počet míst za desetinným oddělovačem (1), číslo bude zaokrouhleno System.out.format("d = %10.1f%n", d); // d = 1234,6 - lze použít zarovnání doleva, výpis nevýznamových nul, oddělovač řádů apod. stejně jako u celého čísla Strana 13 (celkem 26)

14 Výpis řetězce - používá se %s, např. pro String s = "Ahoj lidi"; System.out.format("s = %s%n", s); // s = Ahoj lidi - řetězec lze vypsat velkými písmeny System.out.format("s = %S%n", s); // s = AHOJ LIDI - lze stanovit šířku výpisu, výpis bude zarovnán doprava System.out.format("s = %11s %n", s); // s = Ahoj lidi - výpis lze zarovnat i doleva System.out.format("s = %-11s %n", s); // s = Ahoj lidi Příklad (program + výstup): public class FormatovaniVystupu { public static void main(string [] args) { System.out.format("nova radka%n"); int i = -1234; System.out.format("i = %d%n", i); System.out.format("i = %7d%n", i); System.out.format("i = %-7d%n", i); System.out.format("i = %+7d%n", i); System.out.format("i = % 7d%n", i); System.out.format("i = %07d%n", i); System.out.format("i = %, 7d%n", i); char c = 'a'; System.out.format("c = %c%n", c); System.out.format("c = %3c%n", c); System.out.format("c = %C%n", c); System.out.format("c = %c%n", c); System.out.format("c = %c%n", 65);... pokračování na dalším slidu Strana 14 (celkem 26)

15 double d = ; System.out.format("d = %f%n", d); System.out.format("d = %g%n", d); // zmena v java 1.7 System.out.format("d = %e%n", d); // zmena v java 1.7 System.out.format("d = %10.1f%n", d); System.out.format("d = %-10.1f%n", d); int j = 30; System.out.format("j = %o%n", j); System.out.format("j = %x%n", j); System.out.format("j = %X%n", j); System.out.format("j = %3X%n", j); System.out.format("j = %#x%n", j); String s = "ahoj lidi"; System.out.format("s = %s %n", s); System.out.format("s = %S %n", s); System.out.format("s = %11s %n", s); System.out.format("s = %-11s %n", s); System.out.format("s = %.3s %n", s); System.out.format("s = %11.3s %n", s); System.out.format("Pivo \"lezak\" ma 12%%%n"); System.out.format("Znak 'backslash' je \\%n"); j = 30; System.out.format("%d = %o = %X%n", j, j, j); System.out.format("%1$d = %1$o = %1$X%n", j); System.out.format("%d = %<o = %<X%n", j); String zformatovanyretezec = String.format ("%6d", 123); System.out.println(zformatovanyRetezec); String hexcislo = "1A"; int cislo = Integer.parseInt(hexCislo, 16); System.out.format("%s H = %d D = %o O%n", hexcislo, cislo, cislo); System.out.println("konec"); Strana 15 (celkem 26)

16 nova radka i = i = i = i = i = i = i = c = a c = a c = A c = a c = A d = 1234, d = // od verze 1.7: 1234,57 d = e+03 // od verze 1.7: 1,234567e+03 d = 1234,6 d = 1234,6 j = 36 j = 1e j = 1E j = 1E j = 0x1e s = ahoj lidi s = AHOJ LIDI s = ahoj lidi s = ahoj lidi s = aho s = aho Pivo "lezak" ma 12% Znak 'backslash' je \ 30 = 36 = 1E 30 = 36 = 1E 30 = 36 = 1E 123 1A H = 26 D = 32 O konec Od verze Java 1.7 se u formátů reálných čísel v System.out.format() zobrazuje vždy desetinná čárka. Strana 16 (celkem 26)

17 Jak tedy zobrazit ve formátovaném výstupu desetinnou tečku? Použijeme třídu Formatter (obdobně jako Scanner) Výpis se pak volá stejně jako System.out.format, jen místo System.out se použije objekt Formatteru import java.util.*; public class PouzitiFormatter { // import java.util.formatter; Formatter f = new Formatter(System.out, Locale.US); //US //Formatter f = new Formatter(System.out); //CZ public static void main(string [] args){ double d = ; f.format("d = %f%n", d); f.format("d = %g%n", d); f.format("d = %e%n", d); f.format("d = %10.1f%n", d); f.format("d = %-10.1f%n", d); f.close(); // nutno uzavrit Výpisy - v US lokalizaci: d = d = d = e+03 d = d = V CZ lokalizaci (tj. bez nastavení lokalizace): d = 1234, d = 1234,57 d = 1,234567e+03 d = 1234,6 d = 1234,6 Strana 17 (celkem 26)

18 Formátovaný vstup 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 18 (celkem 26)

19 Příklad (problém vyprázdnění vstupu) import java.util.*; public class VyprazdneniVstupu { public static void main(string [] args) { Scanner sc = new Scanner(System.in); 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(); //zakomentovat - 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 19 (celkem 26)

20 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 20 (celkem 26)

21 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(), či v nějaké další metodě) více bude vysvětleno později. Vstup s použitím argumentů (příkazová řádka) public class VstupArgumenty { // cisla zadana jako parametry v 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); Poznámka: Metoda parseint() provádí převod řetězce na celé číslo (bude vysvětleno později - se třídou String), později ještě kód doplníme o test existence argumentů (parametrů). Strana 21 (celkem 26)

22 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 22 (celkem 26)

23 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 23 (celkem 26)

24 Jak na problém z úvodu přednášky? Použijeme pouze znalosti z dnešní přednášky. Rozdělíme problém na podproblémy (červené vynecháme). Je dán počet testovaných případů t (1 t 100) a pro každý takový případ je na samostatném řádku zadáno celé číslo n (-1000 n 1000). Pro zadané n spočtěte a na samostatném řádku vypište výsledek následujícího úkolu: Vynásobte číslo n 567-mi, poté vydělte výsledek 9, přičtěte 7492, pak vynásobte 235, výsledek vydělte 47 a odečtěte 498. Začátek čti n v n * 567 / 9 v (v ) * 235 načti n v n * 567 / 9 v (v ) * 235 v v/ vypiš v v v/ vypiš v Konec Strana 24 (celkem 26)

25 Jaká číslice je ve vypočtené hodnotě na řádu desítek? Použijeme operaci mod - např. 123 % 10 = 3 Začátek čti n v n * 567 / 9 v (v ) * 235 načti n v n * 567 / 9 v (v ) * 235 v v/ v v/10 mod 10 vypiš v v v/ v v/ 10 mod 10 vypiš v Konec Je to ale ok? n = 200 n = 50 n = -50 n = ok 1 ok 1 ok -3??? není ok! Co je tedy ještě třeba? - udělat absolutní hodnotu z výsledku Strana 25 (celkem 26)

26 Začátek čti n v n * 567 / 9 v (v ) * 235 v v/ načti n v n * 567 / 9 v (v ) * 235 v v/ v v/10 mod 10 v v vypiš v v v/ 10 mod 10 v v vypiš v Konec int n = sc.nextint(); int v = (n * 567 / ) * 235 / ; v = v/10 % 10; v = Math.abs(v); System.out.println(v); n = ok!!! Pokračovat v řešení problému budeme na konci další přednášky... Strana 26 (celkem 26)

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

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

Tato tematika je zpracována v Záznamy přednášek: str , 44-61 Obsah 2. přednášky: Terminálový formátovaný výstup Problémy při provádění aritmetických operací Řídicí struktury - úvod Větvení - příkazy if, if-else (else if), switch Cykly - příkazy while, for, do-while

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

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

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á 2016 Slidy jsou určeny studentům předmětu Počítače a programování 1 vyučovaného Katedrou informatiky

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

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

Ú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

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

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

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

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

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

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

- 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

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

Ú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

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

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

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

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

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

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

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

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

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

Více

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

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

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

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

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

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

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

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

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

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

Ú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

8. 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 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í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

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

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

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

VISUAL BASIC. Práce se soubory

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

- 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

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á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

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

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

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

Informatika Datové formáty

Informatika Datové formáty Informatika Datové formáty Radim Farana Podklady předmětu Informatika pro akademický rok 2007/2008 Obsah Datové formáty (datové typy). Textové formáty, vlastnosti zdroje zpráv. Číselné formáty, číselné

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

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

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

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

Číselné soustavy v mikroprocesorové technice Mikroprocesorová technika a embedded systémy

Číselné soustavy v mikroprocesorové technice Mikroprocesorová technika a embedded systémy Ústav radioelektroniky Vysoké učení technické v Brně Číselné soustavy v mikroprocesorové technice Mikroprocesorová technika a embedded systémy Přednáška 8 doc. Ing. Tomáš Frýza, Ph.D. listopad 2012 Obsah

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

Racionální čísla, operátory, výrazy, knihovní funkce

Racionální čísla, operátory, výrazy, knihovní funkce Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Racionální čísla, operátory, výrazy, knihovní funkce BI-PA1 Programování a algoritmizace 1 Katedra teoretické informatiky Miroslav Balík

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

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

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

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

Racionální čísla, operátory, výrazy, knihovní funkce

Racionální čísla, operátory, výrazy, knihovní funkce 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 Racionální čísla,

Více

Architektury počítačů

Architektury počítačů Architektury počítačů IEEE754 České vysoké učení technické, Fakulta elektrotechnická A0M36APO Architektury počítačů Ver.1.20 2014 1 Fractional Binary Numbers (zlomková binární čísla / čísla v pevné řádové

Více

Datové typy a jejich reprezentace v počítači.

Datové typy a jejich reprezentace v počítači. Datové typy a jejich reprezentace v počítači. Celá čísla. Reálná čísla. Semilogaritmický tvar. Komplexní čísla. Řetězce. Tomáš Bayer bayertom@natur.cuni.cz Katedra aplikované geoinformatiky a kartografie,

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

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

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

Více

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

LEKCE 6. Operátory. V této lekci najdete:

LEKCE 6. Operátory. V této lekci najdete: LEKCE 6 Operátory V této lekci najdete: Aritmetické operátory...94 Porovnávací operátory...96 Operátor řetězení...97 Bitové logické operátory...97 Další operátory...101 92 ČÁST I: Programování v jazyce

Více

Programování v jazyce C pro chemiky (C2160) 4. Textové řetězce, zápis dat do souboru

Programování v jazyce C pro chemiky (C2160) 4. Textové řetězce, zápis dat do souboru Programování v jazyce C pro chemiky (C2160) 4. Textové řetězce, zápis dat do souboru Textové řetězce V jazyce C neexistuje typ proměnné, který by byl určen výhradně pro ukládání textu V jazyce C používáme

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

Ú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

Programování v jazyce JavaScript

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

Více

Struktura a architektura počítačů (BI-SAP) 5

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

3 Jednoduché datové typy 2 3.1 Interpretace čísel v paměti počítače... 3. 4 Problémy s matematickými operacemi 5

3 Jednoduché datové typy 2 3.1 Interpretace čísel v paměti počítače... 3. 4 Problémy s matematickými operacemi 5 Obsah Obsah 1 Číselné soustavy 1 2 Paměť počítače 1 2.1 Měření objemu paměti počítače................... 1 3 Jednoduché datové typy 2 3.1 Interpretace čísel v paměti počítače................. 3 4 Problémy

Více

NPRG030 Programování I, 2010/11

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

Více

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

PJC Cvičení #2. Číselné soustavy a binární reprezentace proměnných

PJC Cvičení #2. Číselné soustavy a binární reprezentace proměnných PJC Cvičení #2 Číselné soustavy a binární reprezentace proměnných Číselné soustavy Desítková (decimální) kdo nezná, tak...!!! Dvojková (binární) - nejjednodušší Šestnáctková (hexadecimální) - nejpoužívanější

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

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

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

Více

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

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

Více

Algoritmy a datové struktury

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

Více

v aritmetické jednotce počíta

v aritmetické jednotce počíta v aritmetické jednotce počíta tače (Opakování) Dvojková, osmičková a šestnáctková soustava () Osmičková nebo šestnáctková soustava se používá ke snadnému zápisu binárních čísel. 2 A 3 Doplněné nuly B Číslo

Více

2. Základy jazyka. Proměnné. Základy jazyka

2. Základy jazyka. Proměnné. Základy jazyka 2. Základy jazyka Napíšeme si první jednoduchý program v Javě, na kterém si vysvětlíme základy jazyka. Bude to program, který sečte dvě celá čísla a výsledek zobrazí na konzoli. public class PrvniProgram

Více

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

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

Více

Proměnná a její uložení v paměti

Proměnná a její uložení v paměti Proměnná a její uložení v paměti Počítačová paměť - řada buněk uložených za sebou, každá buňka má velikost 1 bajt (byte, B) - buňky jsou očíslovány, tato čísla se nazývají adresy Proměnná - data, se kterými

Více

Základy jazyka C. Základy programování 1 Tomáš Kühr

Základy jazyka C. Základy programování 1 Tomáš Kühr Základy jazyka C Základy programování 1 Tomáš Kühr Organizační záležitosti Konzultace Osobně v pracovně 5.043 Pondělí 15.00 16.00 Úterý 14.00 16.00 Čtvrtek 13.00 15.00 Pátek 9.30 11.30 Něco jde vyřešit

Více

Seznámení s datovými typy a operátory

Seznámení s datovými typy a operátory Knihovny tříd Javy KAPITOLA 2 Seznámení s datovými typy a operátory Klíčové dovednosti a pojmy Seznámení s primitivními typy jazyka Java. Používání literálů. Inicializace proměnných. Seznámení s pravidly

Více

Programování v jazyce C pro chemiky (C2160) 9. Práce s PDB soubory

Programování v jazyce C pro chemiky (C2160) 9. Práce s PDB soubory Programování v jazyce C pro chemiky (C2160) 9. Práce s PDB soubory Jednoduché (základní) datové typy Jazyk C obsahuje několik základní datových typů: int celá čísla (integer) char znak (character) float

Více

- znakové konstanty v apostrofech, např. a, +, (znak mezera) - proměnná zabírá 1 byte, obsahuje kód příslušného znaku

- znakové konstanty v apostrofech, např. a, +, (znak mezera) - proměnná zabírá 1 byte, obsahuje kód příslušného znaku Znaky - standardní typ char var Z, W: char; - znakové konstanty v apostrofech, např. a, +, (znak mezera) - proměnná zabírá 1 byte, obsahuje kód příslušného znaku - v TP (často i jinde) se používá kódová

Více

Příklad : String txt1 = new String( Ahoj vsichni! ); //vytvoří instanci třídy String a přiřadí ji vnitřní hodnotu Ahoj vsichni!

Příklad : String txt1 = new String( Ahoj vsichni! ); //vytvoří instanci třídy String a přiřadí ji vnitřní hodnotu Ahoj vsichni! Java práce s řetězci Trochu povídání.. Řetězce jsou v Javě reprezentovány instancemi tříd StringBuffer a String. Tyto třídy jsou součástí balíčku java.lang, tudíž je možno s nimi pracovat ihned bez nutného

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

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

LabView jako programovací jazyk II

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

Seminář z IVT Proměnné a operátory. Slovanské gymnázium Olomouc 11. září 2014 Tomáš Kühr

Seminář z IVT Proměnné a operátory. Slovanské gymnázium Olomouc 11. září 2014 Tomáš Kühr Seminář z IVT Proměnné a operátory Slovanské gymnázium Olomouc 11. září 2014 Tomáš Kühr Jazyk C# Vysokoúrovňový objektově orientovaný programovací jazyk Vyvinutý firmou Microsoft zároveň s platformou.net

Více