Metodický list k didaktickému materiálu

Podobné dokumenty
III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

Druhy souborů. textové. binární. nestrukturované txt strukturované - ini, xml, csv. veřejné bmp, jpg, wav proprietární docx, cdr, psd

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

Metodický list k didaktickému materiálu

Metodický list k didaktickému materiálu

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

Metodický list k didaktickému materiálu

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

prostřednictvím ICT Téma didaktického materiálu RNDr. Václava Šrůtková

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

Metodický list k didaktickému materiálu

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT. Ovládací panely

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT EU-OVK-VZ-III/2-ZÁ-211. Prezentace úvod

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Číslo didaktického materiálu EU-OVK-VZ-III/2-ZÁ-318

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT. Soubory a složky

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT EU-OVK-VZ-III/2-ZÁ-316

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT. Cyklus while, do-while, dělitelnost, Euklidův algoritmus

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT EU-OVK-VZ-III/2-ZÁ-217. Komprimace dat

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT EU-OVK-VZ-III/2-ZÁ-305. Základní jednotka

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Číslo didaktického materiálu EU-OVK-VZ-III/2-ZÁ-306

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Číslo didaktického materiálu

Předdefinované dialogy

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT EU-OVK-VZ-III/2-ZÁ-219

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT EU-OVK-VZ-III/2-ZÁ-101

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT EU-OVK-VZ-III/2-ZÁ-214. Internetový prohlížeč

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT EU-OVK-VZ-III/2-ZÁ-213. Počítačová síť

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT EU-OVK-VZ-III/2-ZÁ-303. Soubory a složky

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT EU-OVK-VZ-III/2-ZÁ-310

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT EU-OVK-VZ-III/2-ZÁ-301. Informace, jednotka

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT EU-OVK-VZ-III/2-ZÁ-302

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT EU-OVK-VZ-III/2-ZÁ-315

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT EU-OVK-VZ-III/2-ZÁ-210

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT EU-OVK-VZ-III/2-ZÁ-317

III/ 2 Inovace a zkvalitnění výuky prostřednictvím ICT

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT EU-OVK-VZ-III/2-ZÁ-304

III/ 2 Inovace a zkvalitnění výuky prostřednictvím ICT

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT EU-OVK-VZ-III/2-ZÁ-207

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

Tabulková data. budeme pracovat s CSV soubory položky oddělené středníkem, např.

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Číslo didaktického materiálu EU-OVK-VZ-III/2-ZÁ-319. Počítačové sítě

III/ 2 Inovace a zkvalitnění výuky prostřednictvím ICT

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

Úvod do programování 8. hodina

Evropská obchodní akademie, Děčín I, Komenského náměstí 2, příspěvková organizace IČ tel

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT EU-OVK-VZ-III/2-ZÁ-203. Word Styly, písma

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT EU-OVK-VZ-III/2-ZÁ-205

Objekty jako zapozdření dat. začneme vytvářet vlastní objekty a třídy

Ošetřování chyb v programech

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

SEZNAM VZDĚLÁVACÍCH MATERIÁLŮ - ANOTACE

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

Hotelová škola, Obchodní akademie a Střední průmyslová škola Teplice, Benešovo náměstí 1, p.o. III/2 - Inovace a zkvalitnění výuky prostřednictvím ICT

III/ 2 Inovace a zkvalitnění výuky prostřednictvím ICT

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT EU-OVK-VZ-III/2-ZÁ-208

III/ 2 Inovace a zkvalitnění výuky prostřednictvím ICT

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT

Programování jako nástroj porozumění matematice (seriál pro web modernivyuka.cz)

Export tabulky výsledků

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT EU-OVK-VZ-III/2-ZÁ-220

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT EU-OVK-VZ-III/2-ZÁ-308

Inovace a zkvalitnění výuky prostřednictvím ICT Základy programování a algoritmizace úloh Textové soubory

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

Transkript:

Metodický list k didaktickému materiálu Číslo a název šablony Číslo didaktického materiálu Druh didaktického materiálu Autor Jazyk Téma sady didaktických materiálů Téma didaktického materiálu Vyučovací předmět Cílová skupina (ročník) Úroveň žáků Časový rozsah Klíčová slova Anotace Použité zdroje III/2 Inovace a zkvalitnění výuky prostřednictvím ICT EU-OPVK-VT-III/2-ŠR-215 DUM RNDr. Václava Šrůtková čeština Programování v C# v příkladech II Textový soubor seznámení Seminář z informatiky Žáci ve věku 17 18 let Mírně pokročilí 1 2 vyučovací hodiny Textový a binární soubor, kódování, dialogová okna Studenti chápou rozdíly mezi soubory a problém kódování, učí se vytvořit jednoduchý textový soubor, také pomocí dialogových oken. VYSTAVĚL, Radek. Moderní programování: sbírka úloh k učebnici pro středně pokročilé. 1. vyd. Ondřejov: moderníprogramování, 2008-2009, 2 sv. ISBN 978-80-903951-3-8. VYSTAVĚL, Radek. Moderní programování: učebnice pro středně pokročilé. Ondřejov: moderníprogramování s.r.o, 2008. ISBN 978-80- 903951-2-1. Typy k metodickému postupu učitele, doporučené výukové metody, způsob hodnocení, typy k individualizované výuce apod. Text je možno využít ke společné práci, samostatné přípravě studentů, domácímu studiu apod. Při společné práci je vhodné nejprve obtížnější úlohy rozebrat, potom společně se studenty implementovat na počítači. (Rozbor nejlépe na tabuli, synchronní řešení s promítáním) Prezentace obsahuje stručné shrnutí poznatků potřebných pro řešení příkladů. V pracovním listu je zadání cvičení většinou se jedná o úlohy, které by měli studenti naprogramovat samostatně. Není nutné, aby všichni zpracovali všechno, vhodné je diferencovat podle jejich zájmu a schopností. Obtížnější úlohy jsou označeny hvězdičkou. Součástí materiálu je zdrojový kód těchto příkladů. Návrh způsobu hodnocení: ohodnocení samostatné práce během hodiny např. podle volby a počtu úloh a elaborace řešení (efektivnost, komentáře).

Prohlášení autora Tento materiál je originálním autorským dílem. K vytvoření tohoto didaktického materiálu nebyly použity žádné externí zdroje s výjimkou zdrojů citovaných v metodickém listu. Obrázky (schémata a snímky obrazovek) pocházejí od autora. 215. Textové soubory úvod Prakticky nevystačíme se zpracováním údajů v operační paměti data je třeba také ukládat dlouhodobě na disky v podobě souborů. Soubory binární informace v nich se ukládají podle jejich vnitřní reprezentace v počítači, pro člověka jsou nečitelné bez programu, který s nimi umí pracovat. Patří sem jednak soubory veřejné (např. obrázky BMP nebo JPG), jednak proprietární. (DOC). Tyto soubory jsou vždy strukturované a aby se s nimi dalo manipulovat, je třeba dopředu vědět, co je ve kterém bajtu. Pro veřejné soubory je tento formát znám může s nimi manipulovat kdokoliv, proprietární formáty znají pouze jejich tvůrci. Textové soubory obsahují informace v čitelné textové formě. Jsou buď nestrukturované TXT nebo strukturované. (INI, CSV, XML) Seznámíme se s tvorbou a čtením textových souborů. Tvorba textového souboru Vytvoříme soubor pokus.txt, do kterého zapíšeme dva řádky: (Líbezná první věta obsahuje veškerou českou diakritiku) Příliš žluťoučký kůň úpěl ďábelské ódy. Uvidíme, jak to dopadne s kódováním. Abychom mohli pracovat se soubory, musíme k našemu projektu připojit příslušnou jednotku (jmenný prostor). Proto připojíme na začátek programu klauzuli: using System.IO; private void buttonts1_click(object sender, EventArgs e) //vytvoření prvního pokusného textového souboru string Jmeno = "Pokus.txt"; StreamWriter soubor = new StreamWriter(Jmeno); //otevření souboru

soubor.write("příliš žluťoučký kůň úpěl ");//zápis soubor.writeline("ďábelské ódy."); soubor.writeline("uvidíme jak to dopadne s kódováním."); //zápis s odřádkováním //Zavření souboru MessageBox.Show("Soubor vytvořen"); Otevření souboru vysílá požadavek na operační systém a zpřístupňuje ho našemu programu a zamyká programům jiným. (Přitom se např. kontrolují práva na manipulaci se souborem) Zápis se provádí pomocí instance třídy StreamWriter, odkaz na ni se uloží do proměnné soubor a následně voláme její metody: Write zápis bez odřádkování WriteLine zápis s odřádkováním Parametrem obou metod je text, který může být také uložen v proměnné. Close zavření souboru, odemčení zámku a uvolnění vyrovnávací paměti. (Při vynechání tohoto příkazu bychom mohli ztratit některá data) Stream proud zde znamená proud bajtů, který může být souborem, ale také tokem dat v síti, apod. Kódování Přidáme na formulář 4 radiobuttonky podle obrázku, ze kterých si vybereme kódování. Jméno souboru tentokrát zapíšeme do textového pole, abychom mohli vytvořené soubory s různým kódováním porovnat. string Jmeno = textboxjmeno.text; Encoding kod; if (radiobuttonl2.checked) else kod = Encoding.GetEncoding(28592); if (radiobuttonw1250.checked) else kod = Encoding.GetEncoding(1250);

if (radiobuttonw852.checked) else kod = Encoding.GetEncoding(852); kod = Encoding.ASCII; StreamWriter soubor = new StreamWriter(Jmeno,false,kod); Našeptávač nenabízí všechny kódy proto jsme použili metodu GetEncoding, která má jako parametr číslo požadované stránky. StreamWriter zde má tři parametry, prostřední false nebo true rozhoduje o tom, zda se v případě existujícího souboru má soubor přepsat (false) nebo nový obsah přidat na jeho konec. (true) Dialogové okno pro uložení souboru všechna standardní dialogová okna, která používáme ve Windows, nalezneme v Toolbar kategorie Dialogs. Pro práci se soubory budeme používat SaveFileDialog pro uložení a OpenFileDialog pro otevření souboru. Komponentu přetáhneme na formulář, pojmenujeme, případně můžeme nastavit některé její vlastnosti. (Například vlastnost Filter ve tvaru: Texty *.txt Všechno *.*) Dialogy se spouštějí metodou JménoOkna.ShowDialog(). Tato metoda má návratovou hodnotu výčtového typu DialogResult, která závisí na tlačítku, kterým byl dialog zavřen. OK vrací DialogResult.OK, Storno pak DialogResult.Cancel. Příklad Uložte do textového souboru tabulku prvních deseti sudých přirozených čísel ve tvaru: 1. číslo: 2 2. číslo: 4 10:číslo: 20 private void buttonsuda_click(object sender, EventArgs e) //Uloží do souboru, který si vybere uživatel prvních dvacet sudých přirozených čísel. StreamWriter soubor = new StreamWriter(textBoxJmeno.Text, false, Encoding.Default);

for (int i = 1; i < 11; i++) int sud=2*i; string radek = i.tostring() + ". číslo " + sud.tostring(); MessageBox.Show("Soubor vytvořen"); Důležité Zápis do textového souboru: StreamWriter soubor = new StreamWriter(Jmeno, false, Encoding.Default); soubor.write zápis bez odřádkování soubor.writeline zápis s odřádkováním soubor.close zavření souboru Práce se standardními dialogy: Pracovní list Cvičení Připravte si nový projekt se třemi tlačítky a textovým polem. 1. Na stisknutí prvního tlačítka se do textového souboru uloží text z textového pole 2. Na stisknutí druhého tlačítka se to textového souboru uloží tabulka hodnot druhých mocnin: 1 1 2 4 10 100

3.(*) Na stisknutí třetího tlačítka se to textového souboru uloží tabulka hodnot faktoriálu: 0! 1 1! 1 2! 2 10! 3628800 Umožněte uložení souboru pomocí standardního dialogu. Řešení 1. //uložení textového pole do souboru StreamWriter soubor = new StreamWriter(textBoxJmeno.Text, false, Encoding.Default); 2. soubor.write(textbox1.text); private void button2moc_click(object sender, EventArgs e) Encoding.Default); //uložení tabulky druhých mocnin do souboru StreamWriter soubor = new StreamWriter(textBoxJmeno.Text, false, for (int i = 0; i < 11; i++) int moc2 = i * i; string radek = i.tostring() + " " + moc2.tostring(); MessageBox.Show("Soubor vytvořen");

3. for (int i = 0; i < 11; i++) int fakt = 1; //výpočet faktoriálu čísla i for (int j = 1; j < i+1; j++) fakt*=j; string radek = i.tostring() + "! = " + fakt.tostring(); Faktoriály ovšem není nutné (také to není efektivní) počítat vnořeným cyklem (pokud si jej nechcete procvičit). Stačí si uvědomit, že každý další výsledek je právě i* větší než předchozí. int fakt = 1; for (int i = 1; i < 11; i++) fakt *= i; string radek = i.tostring() + "! = " + fakt.tostring();