Algoritmizace a programování



Podobné dokumenty
Řídicí struktury. alg3 1

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

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

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

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

6 Příkazy řízení toku

Algoritmizace a programování

5 Přehled operátorů, příkazy, přetypování

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

Úvod do programovacích jazyků (Java)

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

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

Programovací jazyk Pascal

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

Paměť počítače. alg2 1

Algoritmizace a programování

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

Algoritmizace prostorových úloh

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

Algoritmizace prostorových úloh

1. Téma 12 - Textové soubory a výjimky

1. Téma 03 - Rozhodování

KTE / ZPE Informační technologie

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

Středoškolská technika 2017 PROGRAM NA GENEROVÁNÍ PRVOČÍSEL

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

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

7. Datové typy v Javě

Algoritmizace a programování

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

3 KTE / ZPE Informační technologie

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

Java Cvičení 01. CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics

Řídicí příkazy KAPITOLA 3. Vstup znaků z klávesnice

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

Algoritmizace, základy programování, VY_32_INOVACE_PRG_ALGO_01

5. přednáška - Rozklad problému na podproblémy

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

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

Podmínky na zápočet. Java, zimní semestr

Algoritmizace prostorových úloh

int t1, t2, t3, t4, t5, t6, t7, prumer; t1=sys.readint();... t7=sys.readint(); prume pru r = r = ( 1+t 1+t t3+ t3+ t4 t5+ t5+ +t7 +t7 )/ ;

Funkce, podmíněný příkaz if-else, příkaz cyklu for

Zápis programu v jazyce C#

PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE DATUM VYTVOŘENÍ: KLÍČOVÁ AKTIVITA: 02 PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) HODINOVÁ DOTACE: 1

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

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

Příkazy a řídicí struktury v Javě. Tomáš Pitner, upravil Marek Šabo

for (i = 0, j = 5; i < 10; i++) { // tělo cyklu }

Algoritmizace. Cíle předmětu

Algoritmizace a programování

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

Teoretické minimum z PJV

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

ÚVODNÍ ZNALOSTI. datové struktury. správnost programů. analýza algoritmů

Programování v Javě I. Leden 2008

Z. Kotala, P. Toman: Java ( Obsah )

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

Obsah přednášky. Příkaz for neúplný. Příkaz for příklady. Cyklus for each (enhanced for loop) Příkaz for příklady

Programování v jazyce C pro chemiky (C2160) 3. Příkaz switch, příkaz cyklu for, operátory ++ a --, pole

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

Java a XML. 10/26/09 1/7 Java a XML

DSL manuál. Ing. Jan Hranáč. 27. října V této kapitole je stručný průvodce k tvorbě v systému DrdSim a (v

Datové struktury. Obsah přednášky: Definice pojmů. Abstraktní datové typy a jejich implementace. Algoritmizace (Y36ALG), Šumperk - 12.

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

Obsah přednášky 9. Skrývání informací. Skrývání informací. Zapouzdření. Skrývání informací. Základy programování (IZAPR, IZKPR) Přednáška 9

Inovace a zkvalitnění výuky prostřednictvím ICT Základy programování a algoritmizace úloh Podmíněný příkaz

Podmíněné vykonávání

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu:

Regulární výrazy. Vzory

KTE / ZPE Informační technologie

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

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

SPJA, cvičení 1. ipython, python, skripty. základy syntaxe: základní datové typy, řetězce. podmínky: if-elif-else, vyhodnocení logických výrazů

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

Pokročilé programování v jazyce C pro chemiky (C3220) Třídy v C++

Algoritmy a datové struktury

Úvod do programovacích jazyků (Java)

3 Vývojová prostředí, základní prvky jazyka Java, konvence jazyka Java

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/

Software602 Form Designer

ŘÍDÍCÍ STRUKTURY - PODMÍNKY

Stromy. Příklady. Rekurzivní datové struktury. Základní pojmy

Java - výjimky. private void vstup() throws IOException {... }

Algoritmizace a programování

8. lekce Úvod do jazyka C 3. část Základní příkazy jazyka C Miroslav Jílek

2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus pro vyhledání položky v binárním stromu.

PROGRAMOVÁNÍ V SHELLU

KTE / ZPE Informační technologie

Pro kontrolu správného formátu hodnoty N použijeme metodu try-catch.

PŘETĚŽOVÁNÍ OPERÁTORŮ

Algoritmizace a programování

Soubor jako posloupnost bytů

Úvod do programování - Java

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

Programovací jazyk. - norma PASCAL (1974) - implementace Turbo Pascal, Borland Pascal FreePascal Object Pascal (Delphi)

Maturitní otázky z předmětu PROGRAMOVÁNÍ

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

Pokročilé programování v jazyce C pro chemiky (C3220) Operátory new a delete, virtuální metody

Transkript:

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 jazyce Java package pkgnic; public class Main { public static void main(string[] args) { // příkazy // sekvenčně se provedou po spuštění programu // ukončením metody main program končí // načtení vstupních hodnot // výpočet výsledků // výpis výsledků 2

Příkazy jazyka Java Kód metod (metoda main) příkazy Příkazy jsou v kódu ukončeny středníkem Deklarace proměnných příkazy, které proměnné přidělí jméno, paměť, hodnotu Výraz ukončený středníkem je příkaz příkazy přiřazení Volání metody ukončené středníkem je příkaz Další příkazy Logické příkazy pro větvení programu Příkazy cyklu pro opakované provádění sady operací Jazyk Java nemá speciální požadavky na způsob zápisu kódu jednotlivé syntaktické elementy musí být jednoznačně analyzovatelné, jediný syntaktický element (klíčové slovo, identifikátor, konstantní hodnota, symbol) nesmí být přerušen prázdným znakem (mezera, tabulátor, konec řádku) 3

Blok příkazů Při zápisu jednotlivých řídících konstrukcí, lze na některých místech kódu zapsat pouze jediný příkaz jazyka Java například v těle cyklu. Pokud na daném místě chceme provádět více akcí více příkazů jejichž sekvence se má postupně vykonat je nutné na daném místě použít blok příkazů Základní konstrukce bloku příkazů je tvořena složenými závorkami, uvnitř složených závorek může být libovolné množství příkazů, příkazy ukončené středníkem { <prikaz1>; <prikaz2>; <prikazn>; Blok příkazů nesmí být ukončena středníkem Tělo metody (používáme zatím pouze metodu main) je tvořeno blokem příkazů viz struktura programu Deklarace třídy je tvořena blokem, ve kterém jsou deklarace členských proměnných třídy a metod třídy viz struktura programu 4

Logické příkazy Logické příkazy řídí vykonávání kódu na základě hodnoty logického výrazu Neúplná podmínka příkaz if Úplná podmínka příkaz if-else 5

Příkaz if Slouží k podmíněnému vykonání příkazu nebo bloku příkazů Konstrukce (syntaxe) příkazu if ( <podminka> ) <prikazt> ; if klíčové slovo jazyka Java <podminka> výraz, který po vyhodnocení má hodnotu logického typu (true, false) <prikazt> libovolný příkaz jazyka Java ukončený středníkem, pokud na místě příkazu stojí blok příkazů, potom za tímto blokem středník být nesmí Význam (sémantika) příkazu, způsob vykonávání příkazu Při provádění příkazu se vyhodnotí nejdříve výraz <podminka>. Pokud má výraz po vyhodnocení hodnotu true potom se provede příkaz <prikazt> za podmínkou v opačném případě je příkaz if ukončen a pokračuje se prováděním dalšího příkazu za příkazem if. 6

Příkaz if-else V závislosti na hodnotě logického výrazu větví kódu programu do dvou větví Konstrukce (syntaxe) příkazu if ( <podminka> ) <prikazt>; else <prikazf>; if klíčové slovo jazyka Java <podminka> výraz, který po vyhodnocení má hodnotu logického typu (true, false) <prikazt>, <prikazf> libovolné příkazy jazyka Java ukončené středníkem pokud na místě příkazu stojí blok příkazů, potom za tímto blokem středník být nesmí Význam (sémantika) příkazu, způsob vykonávání příkazu Při provádění příkazu se vyhodnotí nejdříve výraz <podminka>. Pokud má výraz po vyhodnocení hodnotu true potom se provede příkaz za podmínkou v opačném případě se provede příkaz <prikazf> za klíčovým slovem else. Po provedení příkazu v jedné z větví je příkaz if ukončen a pokračuje se prováděním dalšího příkazu za příkazem if 7

Podmíněný výraz Jazyk Java obsahuje logický ternární operátor? : Ternární operátor má podobný význam jako úplná podmínka if-else Ternární operace má tři operandy vlastní operátor je tvořen dvěma částmi? a : Syntaxe způsob zápisu podmíněného výrazu <podminka>? <vyrazt> : <vyrazf>? : znaky operátoru <podminka> výraz, který má po vyhodnocení hodnotu logického typu <vyrazt>, <vyrazf> výrazy jazyka Java Sémantika význam, způsob interpretace Při vyhodnocování je nejdříve vyhodnocen výraz <podminka> Pokud tento výraz má hodnoty true, vyhodnocuje se dále výraz <vyrazt> uvedený za symbolem? a jeho hodnota určuje výslednou hodnotu celého podmíněného výrazu Pokud má výraz po vyhodnocení hodnotu false, vyhodnocuje se výraz <vyrazf> uvedený za symbolem : a jeho hodnota určuje výslednou hodnotu celého podmíněného výrazu 8

Úplná podmínka a podmíněný výraz Úplná podmínka Podmíněný výraz Jedná se o příkaz, v jednotlivých větvích jsou příkazy, které mohou být zastoupeny blokem příkazů Jedná se výraz po vyhodnocení má hodnotu konkrétního typu, tuto hodnotu je možné použít ve složitějším výrazu, přiřadit proměnné, vypsat 9

package ja003maximumzedvou; import java.util.scanner; public class Max1 { public static void main(string[] args) { Scanner sc = new Scanner(System.in); int a, b; System.out.println("Zadej prvni cislo "); a = sc.nextint(); System.out.println("Zadej druhe cislo "); b = sc.nextint(); System.out.println("Vetsi ze zadanych cisel"); if (a > b) System.out.println(a); else System.out.println(b); 10

package ja003maximumzedvou; import java.util.scanner; public class Max2 { public static void main(string[] args) { Scanner sc = new Scanner(System.in); int a, b; int max; System.out.println("Zadej prvni cislo "); a = sc.nextint(); System.out.println("Zadej druhe cislo "); b = sc.nextint(); max = a; if (b > a) max = b; System.out.println("Vetsi ze zadanych cisel " + max); 11

package ja003maximumzedvou; import java.util.scanner; public class Max3 { public static void main(string[] args) { Scanner sc = new Scanner(System.in); int a, b; int max; System.out.println("Zadej prvni cislo "); a = sc.nextint(); System.out.println("Zadej druhe cislo "); b = sc.nextint(); max = (a > b)? a : b ; System.out.println("Vetsi ze zadanych cisel " + max); 12

package ja003maximumzedvou; import java.util.scanner; public class Max4 { public static void main(string[] args) { Scanner sc = new Scanner(System.in); int a, b; System.out.println("Zadej prvni cislo "); a = sc.nextint(); System.out.println("Zadej druhe cislo "); b = sc.nextint(); System.out.println("Vetsi ze zadanych cisel " + ((a > b)? a : b )); 13

Kombinování úplných a neúplných logických příkazů if (<podminka1>) if (<podminka2>) <prikaz1>; else <prikaz2>; Příkaz <prikaz2> se provede v případě, že podmínka <podminka1> má hodnotu true a podmínka <podminka2> hodnotu false, větev else se přiřazuje nejbližšímu if. Pokud si chceme vynutit jinou interpretaci provedení příkazu <prikaz2> pro <podminka1>==false, potom je nutné použít blok příkazů následovně: if (<podminka1>){ if (<podminka2>) <prikaz1>; else <prikaz2>; 14

Příklad Zapište program, který pro bod zadaný kartézskými souřadnicemi x a y určí číslo kvadrantu, ve kterém bod leží. Rozklad 2D na kvadranty Rozhodovací strom zapsaný vývojovým diagramem x, y souřadnice bodu kv výsledný kvadrant 15

package ja003kvadrant; import java.util.scanner; public class Main { public static void main(string[] args) { Scanner sc = new Scanner(System.in); float x, y; int kv; System.out.println("Program pro urceni kvadrantu zadaneho bodu"); System.out.print("Zadej x souradnici bodu"); x = sc.nextfloat(); System.out.print("Zadej y souradnici bodu"); y = sc.nextfloat(); if (y >= 0) if (x >= 0) kv = 1; else kv = 2; else if (x <= 0) kv = 3; else kv = 4; System.out.format("%nBod (%1.2f; %1.2f) lezi v %d. kvadrantu%n", x, y, kv); System.out.format("%nKonec programu%n%n", x, y, kv); 16