Vstup a výstup doc. Dr. Ing. Miroslav Beneš  katedra informatiky, A-1007  59 732 4213.

Slides:



Advertisements
Podobné prezentace
Standardní knihovní funkce pro práci s textovými řetězci
Advertisements

Pro začátek něco lehčího
Vstup a výstup Ing. Lumír Návrat  katedra informatiky, A-1018 
Programování v C jazyku - SEMINÁŘ
Uživatelem definované typy doc. Dr. Ing. Miroslav Beneš  katedra informatiky, A-1007 
Seznamy v jazyce Haskell doc. Dr. Ing. Miroslav Beneš  katedra informatiky, A-1007 
Pascal - větvení.
Příkazy Přednáška č. 4. Příkazy (statements)  Příkaz – dílčí krok programu (část kódu – zpravidla jeden řádek)  Program – posloupnost příkazů  Příkazy.
VISUAL BASIC Práce se soubory.
Algoritmy I. Cvičení č. 10.
Programování v Pascalu Přednáška 9 RNDr. Hana Havelková.
Práce se soubory. Ukládání dat Textové soubory s jednoduchou strukturou (např..txt a.csv) textové soubory s vnitřní hierarchií (např..xml) Soubory binárního.
Počítače a programování 1. Obsah přednášky Výjimky - základní typy výjimek Způsoby zpracování výjimek.
Programování v C++ Cvičení.
Materiály k přednášce Úvod do programování Ondřej Čepek.
KIV/PPA1 cvičení 11 Cvičící: Pavel Bžoch. Osnova cvičení Souborový vstup a výstup Práce s textovými soubory.
Struktury, qsort, mergesort BI-PA1 Programování a algoritmizace 1, ZS Katedra teoretické informatiky © Miroslav Balík Fakulta informačních technologií.
Informatika I 3. přednáška
Práce se soubory. * soubory patří k základním datovým prvkům v počítači * převážná většina programovacích jazyků má podporu určité formy práce se soubory.
A1PRG - Programování – Seminář Ing. Michal Standardní knihovní funkce pro práci se soubory 13 Verze
PRÁCE S PROUDY V.NET FRAMEWORK APLIKACÍCH Architektura technologie.NET Jan Martinovič, FEI - Katedra Informatiky.
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
OSNOVA: a) Řetězce v C b) Funkce stdio.h pro řetězce c) Funkce string.h pro řetězce d) Příklad Jiří Šebesta Ústav radioelektroniky, FEKT VUT v Brně Počítače.
Seminář C cvičení STL, Trolltech Ing. Jan Mikulka.
Syntaxí řízený překlad
Seminář C cvičení Obsluha výjimek Ing. Jan Mikulka.
Práce se soubory Soubory se používají pro ukládání dat pro pozdější použití. Dalším a lepším způsobem jak ukládat data je použití databáze. Soubory se.
Základy λ- kalkulu doc. Dr. Ing. Miroslav Beneš  katedra informatiky, A-1007 
Jiří Znoj - zno Tvorba konkordace Algoritmy II 3. projekt, 5. zadání Jiří Znoj - zno
Alg91 Textové soubory Na rozdíl od jiných typů souborů jsou textové soubory určené pro gramotné lidské oko. Textový soubor je posloupnost znaků členěná.
Cvičení.
3. Příkazy  Příkazy dělíme na jednoduché a strukturované.  Jednoduché příkazy - žádnou jejich dílčí částí neni příkaz - přiřazovací, vstupu a výstupu,
Vstupy a výstupy znaků a) Terminálový vstup a výstup ( getchar(), putchar() ) Přečtěte znak pomocí systémové funkce getchar() a vypište ho pomocí putchar().
OSNOVA: a)Programování se soubory b)Záloha databáze v souboru c) Příklady Jiří Šebesta Ústav radioelektroniky, FEKT VUT v Brně Počítače a programování.
Abstraktní datové typy doc. Dr. Ing. Miroslav Beneš  katedra informatiky, A-1007 
Příklady v jazyku C – část 4
Příklady v jazyku C – část 3
A1PRG - Programování – Seminář Ing. Michal Standardní knihovní funkce pro vstup a výstup 12 Verze
Spojové struktury BI-PA1 Programování a algoritmizace 1, ZS
7. Typ soubor Souborem dat běžně rozumíme uspořádanou množinu dat, uloženou mimo operační paměť počítače (na disku). Pascalský soubor je abstrakcí skutečného.
Databázové systémy 2 Zkouška – 8:00. Příklad I – Procedura – 5 bodů Vytvořte proceduru P_ZK4(p_oddeleni_id_from NUMBER, p_oddeleni_id_to NUMBER)
OSNOVA: a)Funkce – úvod b) Hlavičky funkcí c) Rekurze funkcí d)Knihovny funkcí e)Příklady Jiří Šebesta Ústav radioelektroniky, FEKT VUT v Brně Počítače.
Programovací jazyk Haskell doc. Dr. Ing. Miroslav Beneš  katedra informatiky, A-1007 
Sedmé cvičení Soubory Vstupně/výstupní proudy. Java cv72 Soubory Třída File Objekt popisující soubor na filesystému Nedá se z něho přímo číst a psát Představuje.
UNIX Shell skripty Roman Danel VŠB TU Ostrava, Hornicko – geologická fakulta.
Algoritmizace a programování Textové soubory - 13 Mgr. Josef Nožička IKT Algoritmizace a programování
Šesté cvičení Výjimky Balíky.
1 Počítače a programování 1 13.přednáška. 2 Obsah přednášky Vstupy a výstupy – 1.část.
Problémy s češtinou České znaky se standardně nepovažují za alfanumerické znaky (\w) Vadí to při třídění vyhodnocování regulárních výrazů Je třeba použít.
Uživatelem definované typy Ing. Lumír Návrat  katedra informatiky, A 1018 
Příklady v jazyku C – část 1. Výstupy pomocí printf. printf(" Tisk textu \n v apostrofech \n ") ; p=10; printf("%d\n", p) ; /* tisk konstanty */ printf("Tisk.
JUI přednáška Vstup a výstup, cykly RNDr. Jiří Dvořák, CSc.
Soubory BI-PA1 Programování a algoritmizace 1, ZS Katedra teoretické informatiky © Miroslav Balík Fakulta informačních technologií České vysoké.
Jazyk C A0B36PRI - PROGRAMOVÁNÍ Část II.
Balíky Hlavní balík - main - zatím jsme s jiným nepracovali Rozdělují tzv. namespaces = množiny jmen pro proměnné $lemma = "cukr"; znamená $main::lemma.
Úvod do UNIXu (6 th round) David Hoksza
Počítače a programování 2
Úvod do Pythonu – IO operace se soubory.
ZAL – 3. cvičení 2016.
Algoritmizace a programování
Jakub Brodský Ondřej Radosta
Kurz algoritmizace a programování v jazyce C
Kurz algoritmizace a programování v jazyce C
TNPW1 JavaScript Ing. Jiří Štěpánek.
Databázové systémy a SQL
Podprogramy.
Opakování ze 3. cvičení deklarace proměnných výpis na monitor (výstup)
NÁZEV ŠKOLY: S0Š Net Office, spol. s r.o., Orlová-Lutyně
Opakování ze 4. cvičení int a; printf("Zadej číslo: ");
NÁZEV ŠKOLY: S0Š Net Office, spol. s r.o., Orlová-Lutyně
Transkript prezentace:

Vstup a výstup doc. Dr. Ing. Miroslav Beneš  katedra informatiky, A-1007 

2ÚDPJ - Vstup a výstup Akce ve funkcionálním programu Imperativní jazyky program tvořen posloupností akcí program tvořen posloupností akcí čtení a nastavování globálních proměnných čtení a nastavování globálních proměnných čtení a zápis souborů čtení a zápis souborůHaskell oddělení akcí od čistě funkcionálního kódu oddělení akcí od čistě funkcionálního kódu monadické operátory monadické operátory akce je funkce, jejíž výsledek je typu (IO a) akce je funkce, jejíž výsledek je typu (IO a)

3ÚDPJ - Vstup a výstup Příklady akcí Čtení a výpis znaku getChar :: IO Char putChar :: Char -> IO () getChar :: IO Char putChar :: Char -> IO () Převod hodnoty na akci return :: a -> IO a return :: a -> IO a Test odpovědi y/n – posloupnost akcí ready :: IO Bool ready = do c <- getChar return (c == ‘y’) ready :: IO Bool ready = do c <- getChar return (c == ‘y’)

4ÚDPJ - Vstup a výstup Funkce main Představuje hlavní program Akce, která nic nevrací: main :: IO () main = do c <- getChar putChar c main :: IO () main = do c <- getChar putChar c 1. Přečte znak a uloží do proměnné c 2. vypíše znak c 3. Vrátí výsledek poslední akce – IO ()

5ÚDPJ - Vstup a výstup Čtení řádku textu 1.Přečteme první znak. 2.Je-li to konec řádku, vrátíme prázdný řetězec. 3.Jinak přečteme zbytek řádku, spojíme s prvním znakem a vrátíme getLine :: IO String getLine = do x <- getChar if x==‘\n’ then return “” else do xs <- getLine return (x:xs)

6ÚDPJ - Vstup a výstup Výpis řetězce Na všechny znaky řetězce zavoláme funkci putChar, např. map putChar xs map putChar xs Výsledkem je seznam akcí map :: (a -> b) -> [a] -> [b] putChar :: Char -> IO () map putChar s :: [IO ()] map :: (a -> b) -> [a] -> [b] putChar :: Char -> IO () map putChar s :: [IO ()] Převod na jedinou akci sequence :: [IO()] -> IO () putStr :: String -> IO () putStr s = sequence (map putChar s) sequence :: [IO()] -> IO () putStr :: String -> IO () putStr s = sequence (map putChar s)

7ÚDPJ - Vstup a výstup Zpracování výjimek Výjimky jsou instance abstraktní třídy IOError Ke každé výjimce XXX existuje funkce isXXX :: IOError -> Bool isEOFError isEOFError isDoesNotExistError isDoesNotExistError

8ÚDPJ - Vstup a výstup Zpracování výjimek Generování výjimky – funkce fail fail :: IOError -> IO a typ výsledku se přizpůsobí kontextu typ výsledku se přizpůsobí kontextu Zachycení výjimky - funkce catch: catch :: IO a -> (IOError -> IO a) -> IO a 1.prováděná akce 2.obsluha výjimky – zavolá se, pokud nastane výjimka; vrátí náhradní výsledek 3.výsledkem je akce z bodu 1 nebo 2

9ÚDPJ - Vstup a výstup Čtení znaku + výjimky S ignorováním všech výjimek getChar’ = getChar `catch` ( \ _ -> return ‘\n’ ) nastane-li chyba (např. konec souboru), vrátí znak konce řádku nastane-li chyba (např. konec souboru), vrátí znak konce řádku nerozliší konec souboru od ostatních chyb nerozliší konec souboru od ostatních chyb použití `catch` jako infixového operátoru použití `catch` jako infixového operátoru

10ÚDPJ - Vstup a výstup Čtení znaku + výjimky S rozlišením konce souboru getChar’ = getChar `catch` eofHandler where eofHandler e = if isEOFError e then return ‘\n’ else fail e where eofHandler e = if isEOFError e then return ‘\n’ else fail e Pokud se dostaneme na konec souboru, vracíme znak konce řádku Pokud se dostaneme na konec souboru, vracíme znak konce řádku Ostatní výjimky se předávají dále Ostatní výjimky se předávají dále

11ÚDPJ - Vstup a výstup Otevření a uzavření souboru type FilePath = String data IOMode = ReadMode | WriteMode | AppendMode | ReadWriteMode | AppendMode | ReadWriteMode data Handle openFile :: FilePath -> IOMode -> IO Handle hClose :: Handle -> IO ()

12ÚDPJ - Vstup a výstup Čtení ze souboru stdin, stdout, stderr :: Handle hGetChar :: Handle -> IO Char getChar = hGetChar stdin funkce začínající na ‘h’ dostávají jako první parametr referenci na otevřený soubor, ostatní pracují se standardními soubory funkce začínající na ‘h’ dostávají jako první parametr referenci na otevřený soubor, ostatní pracují se standardními soubory hGetContents :: Handle -> String přečte celý obsah souboru přečte celý obsah souboru líné vyhodnocení – vstup se požaduje až při požadavku na konkrétní hodnotu líné vyhodnocení – vstup se požaduje až při požadavku na konkrétní hodnotu

13ÚDPJ - Vstup a výstup Příklad import IO main = do hin <- opf “From: “ ReadMode hout <- opf “To: “ WriteMode hout <- opf “To: “ WriteMode contents <- hGetContents hin contents <- hGetContents hin hPutStr hout contents hPutStr hout contents hClose hout hClose hout putStr “Done.” putStr “Done.” opf :: String -> IOMode -> IO Handle opf prompt mode = do putStr prompt name <- getLine name <- getLine openFile name mode openFile name mode

14ÚDPJ - Vstup a výstup Příklad Funkce opf se zeptá na jméno souboru a otevře ho v zadaném režimu Pokud se otevření nepodaří, vznikne výjimka opf prompt mode = do putStr prompt name do putStr (“Open error\n”) opf prompt mode) opf prompt mode)

15ÚDPJ - Vstup a výstup Úkol pro cvičení Vytvořte program, který opíše soubor na standardní výstup s očíslovanými řádky. 1) Převod textu na seznam řádků text2lines :: String -> [String] 2) Očíslování řádků numbering :: [String] -> [String] 3) Převod seznamu řádků na text lines2text :: [String] -> String (lines2text. numbering. text2lines) contents