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

Podobné dokumenty
Algoritmizace a programování

Algoritmizace a programování

Algoritmizace a programování

3 KTE / ZPE Informační technologie

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

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

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

Programování v Javě I. Leden 2008

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

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

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

KTE / ZPE Informační technologie

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

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

KTE / ZPE Informační technologie

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

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

Seminář Java II p.1/43

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

Algoritmizace a programování

Úvod do programovacích jazyků (Java)

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

Práce se soubory v Javě

Textové soubory. alg9 1

Výčtový typ strana 67

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

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

Úvod do programovacích jazyků (Java)

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

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/

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

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

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

Soubor jako posloupnost bytů

IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ JAZYK C

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

7. Datové typy v Javě

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

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

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

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

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

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

KTE / ZPE Informační technologie

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

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

17. Projekt Trojúhelníky

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

OOPR_05. Případové studie

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

1. Úvodní informace. BI-EP1 Efektivní programování Martin Kačer

Generické programování

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

7. Statické prvky třídy

Programování v C++ 3, 3. cvičení

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

3. Třídy. Základní pojmy objektového programování. Třídy

Programování v jazyce C pro chemiky (C2160) 5. Čtení dat ze souboru

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

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

6. PRÁCE S DATOVÝMI PROUDY

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

PB161 Programování v C++ Proudy pro standardní zařízení Souborové proudy Paměťové proudy Manipulátory

URČITÝM ZPŮSOBEM PODOBNÉ

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

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

Regulární výrazy. Vzory

Statické proměnné a metody. Tomáš Pitner, upravil Marek Šabo

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

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

IAJCE Přednáška č. 8. double tprumer = (t1 + t2 + t3 + t4 + t5 + t6 + t7) / 7; Console.Write("\nPrumerna teplota je {0}", tprumer);

Vstup a výstup datové proudy v C

Řetězce a řídicí struktury

SOUBORY, VSTUPY A VÝSTUPY POKRAČOVÁNÍ

Úvod do programovacích jazyků (Java)

Část 1 Soubory a vytvoření projektu. Řetězce a řídicí struktury. Část 2 Připomínka (NSD) Část 3 Textové řetězce, operátory a načítání vstupu

Řetězce a řídicí struktury

Řídicí struktury. alg3 1

Algoritmizace a programování

FORMÁTOVÁNÍ POKRAČOVÁNÍ

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

Zápis programu v jazyce C#

Objektově orientované programování

InputStream. FilterInputStream

Logování zaznamenávání informací o průběhu programu, ladících a chybových informací

NPRG031 Programování II 1 / :47:55

Definice třídy. úplná definice. public veřejná třída abstract nesmí být vytvářeny instance final nelze vytvářet potomky

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

RMI Remote Method Invocation

Teoretické minimum z PJV

NMIN201 Objektově orientované programování 2016/17 1 / :03:29

Úvod do programování. Lekce 1

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

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

Jazyk C# (seminář 6)

1. Programování proti rozhraní

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

Algoritmizace, základy programování, VY_32_INOVACE_PRG_ALGO_01

Více o konstruktorech a destruktorech

Tato tematika je zpracována v Záznamy přednášek: str Problém: Proveďte jednoduchou analýzu zadaného textu (četnost výskytu písmen).

Transkript:

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ýpis hodnot System.out.print(<co>); System.out.println(<co>); System třída jazyka Java tato třída je umístěna v balíčku java.lang tento balíček je implicitně importován, není nutné zapisovat import explicitně out členská proměnná třídy System typu PrintStream, umožňuje práci se standardním (terminálovým. konzolovým) výstupem print(), println(), format() metody třídy PrintStream println() provede výpis a ukončí aktuální řádek vstupu 2

Formátování výstupu Metody print(), println() mají omezené možnosti formátování výpisu Komfortnější formátování hodnot do textových řetězců umožňuje metoda format(), opět se jedná o metodu výstupního proudu out třídy System System.out.format(<formatovaci retezec>, <hodnoty>) <formatovaci retezec> je konstantní textový řetězec, který může obsahovat parametry, parametry začínají znakem %, pro každý parametr (až na výjimky) musí být za formátovacím textovým řetězcem uvedena vypisovaná hodnota, která se při výpisu naformátuje dle specifikovaného formátu do vypisovaného textového řetězce. Hodnoty v seznamu <hodnoty> jsou navzájem odděleny čárkou, pořadí a typ musí odpovídat pořadí a typu parametrů ve formátovacím řetězci. Každá hodnota je v obecném případě dána výrazem (proměnná, konstanta, výraz), jehož hodnota musí být typově kompatibilní s typem určeným příslušným parametrem. 3

Formátování celých čísel int i = 1483; System.out.format("Cislo: %d",i); celé číslo v desítkové soustavě System.out.format("Cislo: %o",i); celé číslo v osmičkové soustavě System.out.format("Cislo: %x",i); celé číslo v šestnáctkové soustavě System.out.format("Cislo: %X",i); celé číslo v šestnáctkové soustavě System.out.format("Cislo: %6d",i); celé číslo s určením počtu min. pozic System.out.format("Cislo: %-6d",i); určení počtu pozic, zarovnání vlevo System.out.format("Cislo: %+d",i); s výpisem kladného znaménka System.out.format("Cislo: %06d",i); s výpisem nevýznamných nul System.out.format("Cislo: %,6d",i); s oddělovačem řádů 4

Formátování reálných čísel double d = 1960.00467; System.out.format("Cislo: %f",d); reálné číslo, běžný výpis, oddělovač desetinných míst závisí na lokalizaci System.out.format("Cislo: %g",d); výpis buď ve vědecké notaci nebo jako běžné reálné číslo, oddělovač desetinných míst je vždy tečka System.out.format("Cislo: %e",d); výpis reálného čísla ve vědecké notaci Při výpisu reálných čísel lze určit celkový počet pozic a počet desetinných míst System.out.format("Cislo: %15.4f",d); počet pozic, desetinných míst Obdobně zarovnání vlevo, vynucení znaménka, nevýznamných nul, oddělovač řádů System.out.format(" %-15.4f", d); System.out.format(" %+15.4f", d); System.out.format(" %015.4f", d); System.out.format(" %,15.4f", d); 5

Další formátování Formátování znakové hodnoty formátovací parametr %c Formátování textového řetězce formátovací parametr %s Obdobně jako u formátování číselných hodnot lze zadávat počet pozic a zarovnání formátované hodnoty vlevo v rámci příslušného počtu pozic Ukončení aktuální řádky výstupního proudu formátovací parametr %n Pořadí hodnoty <poradi>$ %2$X Reálné číslo představující datum a čas a jeho formátování 6

Terminálový vstup Pro terminálový vstup budeme používat instanci třídy Scanner Tato třída je umístěna v baličku java.util Baliček a jednotlivé prostředky v něm obsažené nejsou implicitně importovány. Abychom mohli používat třídu a její prostředky, je třeba zajistit import této třídy zařazením import java.util.scanner před deklaraci třídy, blíže bude import balíčků probírán později Instanci třídy Scanner musíme nejdříve vytvořit voláním metody konstruktoru, parametrem je vstupní proud, ze kterého budeme číst tímto vstupním proudem je v případě terminálového vstupu System.in Deklarace a inicializace proměnné pro načítání ze standardního vstupu bude potom vypadat následovně Scanner sc = new Scanner(System.in); Poté je možné volat metody třídy Scanner pro načítání hodnot různých základních typů z příslušného proudu. 7

Terminálový vstup Čtení celého čísla typu int metoda sc.nextint() Čtení reálného čísla typu double sc.nextdouble() Čtení znaku prvního znak zadaného textového řetězce sc.nextline().charat(0) Čtení textového řetězce do prvního prázdného znaku sc.next() Čtení celé řádky do textového řetězce sc.nextline() Metody vrací načtenou hodnotu svým jménem Obdobné metody jsou pro načítání hodnot ostatních primitivních typů Kombinace načítání čísel a znaků Lokalizace sc.uselocale(locale.us) 8

Příklad package ja001vstupvystup; import java.util.scanner; public class Main { public static void main(string[] args) { Scanner sc = new Scanner(System.in); int n; float x; System.out.println("Zadej cele cislo"); n = sc.nextint(); System.out.println("Zadej realne cislo"); x = sc.nextfloat(); Inicializace terminálového vstupu. Deklarace proměnných Načtení hodnot proměnných ze standardního (terminálového) vstupu Komentovaný výpis hodnot proměnných na terminálový výstup pomocí metody println() Komentovaný výpis hodnot proměnných na terminálový výstup pomocí metody format() Všimněte si oddělovače reálných čísel při načítání, při výpisu pomocí println(), format() } } System.out.println("Zadana cisla jsou"); System.out.println("Prvni cislo cele " + n); System.out.println("Druhe cislo realne " + x); System.out.println(); System.out.format("%nVypis metodou format%nprvni cislo %6d%nDruhe cislo %6.2f%n", n, x); System.out.format("%nKonec programu"); 9