Algoritmizace a programování Textové soubory - 13

10
Algoritmizace a programování Textové soubory - 13 Mgr. Josef Nožička IKT Algoritmizace a programování www.zlinskedumy.cz

description

Algoritmizace a programování Textové soubory - 13. Mgr. Josef Nožička. IKT Algoritmizace a programování. www.zlinskedumy.cz. Práce se soubory v programu. - PowerPoint PPT Presentation

Transcript of Algoritmizace a programování Textové soubory - 13

Page 1: Algoritmizace a programování Textové soubory - 13

Algoritmizace a programováníTextové soubory - 13

Mgr. Josef Nožička

IKT Algoritmizace a programování

www.zlinskedumy.cz

Page 2: Algoritmizace a programování Textové soubory - 13

Anotace Materiál poskytuje žákům ucelený přehled příkazů pro práci s textovými soubory. Musí být doplněn výkladem.

Autor Mgr. Josef Nožička (Autor)

Jazyk Čeština

Očekávaný výstup 26–41-M/01 Elektrotechnika78-42-M/01 Technické lyceum

Speciální vzdělávací potřeby

- žádné -

Klíčová slova Soubor, proměnná

Druh učebního materiálu Prezentace

Druh interaktivity Kombinované

Cílová skupina Žák

Stupeň a typ vzdělávání odborné vzdělávání

Typická věková skupina 16 - 19 let

Vazby na ostatní materiály Je součástí IKT.

Page 3: Algoritmizace a programování Textové soubory - 13

Práce se soubory v programu

Abychom byli schopni psát programy, které nebudou muset získávat všechna potřebná vstupní data od uživatele a budou rovněž umět trvale uložit na disk svá výstupní data, je třeba naučit se pracovat se soubory.

Soubory, tak jak je nejčastěji známe, jsou uloženy na pevném disku (případně na jiném paměťovém médiu). Přistupovat k nim je možno ve dvou režimech: textovém a binárním. Podle toho, který režim používáme, rozlišujeme soubory textové a binární.

Page 4: Algoritmizace a programování Textové soubory - 13

Rozdíly mezi textovými a binárními soubory

Rozdíl mezi nimi je v tom, jak se data čtou, případně zapisují. Soubory zapsané v textovém režimu jsou normálně pro člověka čitelné, můžeme si je přímo otevřít v některém textovém editoru. Naproti tomu binární soubory nedokáže běžný uživatel přečíst. Dejme si jako příklad proměnnou typu char, do které uložíme číslo 3. V textovém souboru bude číslo vidět jako znak „3", ale zapsané v binárním režimu 8 bitů jako "00000011".

Další rozdíl spočívá v tom, že textové soubory jsou členěny na řádky, kdežto binární nikoliv.

A konečně, poslední rozdíl je v tom, že textový soubor se prochází sekvenčně,

ale u binárního můžeme pozici následující operace (čtení/zápis) nastavit.

Lze tedy říci, že textové soubory jsou příjemnější pro běžného uživatele, avšak programátorovi se většinou lépe pracuje se soubory binárními.

Page 5: Algoritmizace a programování Textové soubory - 13

Deklarace textového souboru

Datový typ soubor patří mezi strukturované datové typy.Jedná - li se o textový soubor, je deklarace velmi jednoduchá: za příslušnou proměnnou se uvede klíčové slovo text.

Příklad:f: text;ch: char;s: string[80];{proměnné ch a s budou využity při práci se souborem pro čtení a zápis dat}

Page 6: Algoritmizace a programování Textové soubory - 13

Příkazy pro textové soubory I.

U následujícího přehledu příkazů pro práci s textovými soubory použijeme proměnné, deklarované u příkladuz předchozího snímku (f, ch, s).

assignfile(f,‘text.txt‘)- příkaz asociuje proměnnou f s příslušným jménem souboru (není-li před jménem uvedena cesta k souboru, bude se nacházet ve stejné složce jako celý programreset(f) - otevření souboru pro čtení rewrite(f) - otevření souboru pro zápisappend(f) - otevření souboru pro doplňování

Page 7: Algoritmizace a programování Textové soubory - 13

Příkazy pro textové soubory II.

Čtení ze souboru:read(f,ch) - přečte se 1 znak a kurzor se posune o 1

znak dopravareadln(f,ch) - přečte se 1 znak a kurzor se posune na

začátek dalšího řádkureadln(f,s) - přečte se celý řádek (řetězec až 80 znaků)

Zápis do souboru:write(f,ch) - zapíše se 1 znak a kurzor zůstane na

stejném řádkuwriteln(f,‘text‘)- zapíše se celý text, uvedený mezi apostrofy, a kurzor se posune na začátek nového řádku (vytvoří se enter)

Page 8: Algoritmizace a programování Textové soubory - 13

Příkazy pro textové soubory III.

Další užitečné příkazy:eof(f)- funkce, která testuje konec souboru (při konci souboru vrací hodnotu true, v opačném případě false)eoln(f)- funkce, která testuje konec řádku (při konci řádku vrací hodnotu true, v opačném případě false)closefile(f) - uzavření souboruerase(f) - odstranění souboru (pro tento úkon je

rovněž možno použít příkaz deletefile)rename(f,‘novy.txt‘) - přejmenování souboru

Page 9: Algoritmizace a programování Textové soubory - 13

Textové soubory - příklad

varf:text;ch:char;p:integer;beginassignfile(f,'text.txt');reset(f);p:=0;while not eof(f) dobeginread(f,ch);if (ord(ch)>=65) and (ord(ch)<=90){nebo if (ch>='A') and (ch<='Z')} then p:=p+1;end;closefile(f);writeln(‘počet velkých písmen =‘,p);end;

Úkolem následujícího programu je zjistit, kolik se v textovém souboru TEXT.TXT nachází velkých písmen.

Page 10: Algoritmizace a programování Textové soubory - 13

ZdrojeKADLEC, Václav. Učíme se programovat v Delphi a jazyce Object Pascal. Praha: Computer Press, 2001, ISBN 80-722-6245-9. PÍSEK, Slavoj. Delphi-začínáme programovat: podrobný průvodce začínajícího uživatele. Praha: Grada, 2002, ISBN 80-247-0547-8.