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

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

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

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

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

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

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

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

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. Cyklus while, do-while, dělitelnost, Euklidův algoritmus

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

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 EU-OVK-VZ-III/2-ZÁ-302

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Á-211. Prezentace úvod

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 EU-OVK-VZ-III/2-ZÁ-301. Informace, jednotka

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 Číslo didaktického materiálu EU-OVK-VZ-III/2-ZÁ-318

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 Číslo didaktického materiálu

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Á-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

Indexové seznamy. známe už pole, kde ale musí být předem známa velikost indexové seznamy umí růst dynamicky

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

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 EU-OVK-VZ-III/2-ZÁ-219

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 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 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Á-317

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

Úvod do programování 8. hodina

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

Ošetřování chyb v programech

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

Předdefinované dialogy

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 EU-OVK-VZ-III/2-ZÁ-205

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Á-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Á-203. Word Styly, písma

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

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

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

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

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

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

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

POLE. - datová struktura ze složek stejného typu, ke kterým se přistupuje pomocí indexů

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Á-308

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

Transkript:

Čí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-216 DUM RNDr. Václava Šrůtková čeština Programování v C# v příkladech II Zpracování textového souboru Seminář z informatiky Žáci ve věku 17 18 let Mírně pokročilí 1 2 vyučovací hodiny Textový soubor, otevření, zavření Studenti programují otevření, zpracování a zavření textového souboru TÖPFEROVÁ, Dana a Pavel TÖPFER. Sbírka úloh z programování. Vyd. 1. Praha: Grada, 1992, 98 s. Educa '99. ISBN 80-854-2499-1. 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). Metodický list k didaktickému materiálu 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. 216. Zpracování textového souboru Čtení textového souboru je podobné zápisu. Používáme instanci třídy StreamReader, která také patří do jmenného prostoru Systém.IO a její metodu ReadLine() pro čtení řádku. Instance StreamReader má buď jeden parametr jméno souboru, (s kódováním UTF 8) nebo dva druhým je kódování. Můžeme také pracovat s dialogem pro otevření souboru OpenFileDialog. Příklad 1 Otevřeme a přečteme po řádcích náš text se žluťoučkým koněm. private void buttonotevri_click(object sender, EventArgs e) //Přečtení a zobrazení prvních dvou řádků TS string jmeno=null;//jmeno souboru string text = null;//obsah textového souboru jmeno=openfiledialog.filename; //otevření souboru dialogem //otevření souboru, Encoding.default je Windows CP 1250 text += soubor.readline();//1. řádek; MessageBox.Show(text); text += Environment.NewLine+soubor.ReadLine();//2. řádek; textboxzobraz.text = text; soubor.close();//zavření souboru

Příklad 2. Zobrazení souboru Každá práce se souborem má tři části: otevření, zpracování, zavření. Textové soubory se zpracovávají po řádcích a sekvenčně na rozdíl od binárních, chceme-li nějaký údaj, musíme přečíst všechno před ním. Protože většinou dopředu nevíme, kolik řádků má soubor, využíváme toho, že na konci souboru vrací ReadLine() null a budeme ho číst cyklem while. Vstupní textový soubor si nejprve připravte, nejlépe v Poznámkovém bloku. string radek = null; while ((radek = soubor.readline())!= null) //do proměnné řádek načteme řádek z TS //a testujeme, nejsme-li na konci text += radek + Environment.NewLine; textboxzobraz.text = text; Příklad 3 Zobrazení, úprava převod na velká písmena a následné uložení do nového souboru. Vždy po přečtení řádku ze vstupního souboru ho převedeme na velká písmena a uložíme do souboru výstupního. StreamWriter vystup = new StreamWriter("Velká písmena", false, Encoding.Default); while ((radek = soubor.readline())!= null) //do proměnné řádek načteme řádek z TS //a testujeme, nejsme-li na konci string radek2=radek.toupper();//metoda třídy string převedení

// na velká písmena vystup.writeline(radek2); soubor.close();//zavření souboru vystup.close(); Příklad 4 Zobrazení, úprava a následné uložení téhož souboru na konec každého řádku přidáme jeho délku. I v tomto případě budeme pracovat se dvěma soubory, ale jeden z nich dočasně výstupní umístíme do dočasného adresáře, po skončení práce vstupní soubor smažeme a výstupní přesuneme na jeho místo. //Připsání počtu znaků na konec řádku, práce s dočasným adresářem string jmeno = null; string radek = null; string docasadr = Path.GetTempPath(); string nahodjmeno = Path.GetRandomFileName(); string docassoubor = Path.Combine(docasAdr, nahodjmeno); //vytvoření jména dočasného souboru necháme na systému jmeno = openfiledialog.filename; StreamWriter vystup = new StreamWriter(docasSoubor, false, Encoding.Default); while ((radek = soubor.readline())!= null) int delka = radek.length; string radek2 = radek + " "+delka.tostring(); vystup.writeline(radek2);

soubor.close();//zavření souboru vystup.close(); File.Delete(jmeno);//smazání původního souboru místo File.Move(docasSoubor, jmeno);//přesunutí původního souboru na jeho Poznámka: více o metodách tříd Path, případně File se dočtete v dokumentaci C#. Důležité Čtení textového souboru instance StreamReader ReadLine() pro čtení řádku OpenFileDialog dialog pro otevření souboru. Práce s adresáři třída Path Práce se soubory třída File Pracovní list Cvičení 1. Upravte některý z předchozích či následujících příkladů, s použitím SaveFileDialogu. 2.(*) Zjistěte délku nejdelšího řádku vstupního souboru a zobrazte tento řádek. 3. Upravte vstupní soubor tak, že očíslujete jeho řádky. (Můžete použít buď práci s dočasným souborem, nebo vytvořit k vstupnímu souboru soubor výstupní s očíslovanými řádky.) Řešení 1. private void buttonuprava_click(object sender, EventArgs e) //úprava soboru s oknem pro výběr vstupu i výstupu string vstup=null; string vystup=null; string radek=null;

vstup = openfiledialog.filename; DialogResult odp2 = savefiledialog.showdialog(); if (odp2 == DialogResult.OK) vystup = savefiledialog.filename; StreamReader soubor1 = new StreamReader(vstup, Encoding.Default); StreamWriter soubor2 = new StreamWriter(vystup, false, Encoding.Default); 2. while ((radek = soubor1.readline())!= null) string radek2 = radek.toupper(); soubor2.writeline(radek2); soubor1.close(); soubor2.close(); //Nejdelší řádek string jmeno = null; string radek = null; string nejdelsi = null; //Nejdelší řádek int maxdelka = 0; //Jeho délka abychom nemuseli soubor procházet //dvakrát, budeme si pamatovat oba údaje. (Stačil by i řádek) jmeno = openfiledialog.filename; while ((radek = soubor.readline())!= null) int delka = radek.length; if (delka > maxdelka)

maxdelka = delka; nejdelsi = radek; soubor.close(); MessageBox.Show(nejdelsi + Environment.NewLine + "Délka: " + maxdelka.tostring()); 3. //očíslování řádků vstupního souboru string vstup = null; string vystup = "Blabla.Txt"; string radek = null; int cislo = 1; //čísla řádků od 1 //úprava soboru s oknem pro výběr vstupu i výstupu vstup = openfiledialog.filename; StreamReader soubor1 = new StreamReader(vstup, Encoding.Default); StreamWriter soubor2 = new StreamWriter(vystup, false, Encoding.Default); while ((radek = soubor1.readline())!= null) string radek2 = cislo.tostring()+" "+radek; soubor2.writeline(radek2); cislo++; soubor1.close() soubor2.close(); File.Delete(vstup); File.Move(vystup, vstup);