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

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

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

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

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

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

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

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. Soubory a složky

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Á-303. Soubory a složky

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

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

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Á-217. Komprimace dat

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 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Á-213. Počítačová síť

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

Větvení programů příkaz IF

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

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

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

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

Pro kontrolu správného formátu hodnoty N použijeme metodu try-catch.

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ů

1. Téma 03 - Rozhodování

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

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

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

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

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

Náhodná a pseudonáhodná čísla

Škola: Střední škola obchodní, České Budějovice, Husova 9 Projekt MŠMT ČR: EU PENÍZE ŠKOLÁM

Desetinná čísla. pro celá čísla jsme používali typ int. pro desetinná čísla používáme typ double

Sada 1 - Základy programování

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

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

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

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

Tvořivá škola, registrační číslo projektu CZ.1.07/1.4.00/ Základní škola Ruda nad Moravou, okres Šumperk, Sportovní 300, Ruda nad

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

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-118 DUM RNDr. Václava Šrůtková čeština Programování v C# v příkladech I Cyklus for Seminář z informatiky Žáci ve věku 16 17 let začátečníci 1 2 vyučovací hodiny Cyklus, cyklus for Studenti se učí zpracovávat větší množství dat pomocí cyklu s předem známým počtem opakování DRÓZD, Januš a Rudolf KRYL. Začínáme s programováním. 1.vyd. Praha: Grada, 1992, 306 s. ISBN 80-854-2441-X. 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 začátečníky. 2. vyd. Ondřejov: moderníprogramování, 2008, 2 sv. ISBN 978-80- 903951-5-2. VYSTAVĚL, Radek. Moderní programování: učebnice pro začátečníky. Ondřejov: moderníprogramování s.r.o, 2007, 2 sv. ISBN 978-80-903951-0-7. 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. 118. Cyklus For Často se setkáváme se situací, kdy je třeba nějakou akci mnohokrát opakovat. Někdy víme předem kolikrát (obejdi náměstí desetkrát), jindy ukončení závisí na splnění určité podmínky. (Obcházej náměstí, dokud nepotkáš tu slečnu ) V obou případech programování používá konstrukci cyklu (eventuelně rekurze). S oběma typy cyklů se seznámíme. Příklad 1. Vygenerujte 100 náhodných čísel a zobrazte je do textboxu. Jedno číslo vygenerovat můžeme, asi bychom mohli příslušný příkaz stokrát nakopírovat, ale jednak by to dalo hodně práce, jednak někdy nemusíme dopředu vědět, kolik kopií (počet čísel zadá uživatel cvičení) Napoprvé si necháme poradit od systému: Napíšeme program pro generování a zobrazení jednoho náhodného čísla: public partial class Cykly : Form Random Nahoda = new Random(); private void buttonnahoda100_click(object sender, EventArgs e)

int x = Nahoda.Next(1, 100); textboxcisla.text += x.tostring() + Environment.NewLine; Oba příkazy vybereme a z místní nabídky (jako když obsluhujeme výjimku) zvolíme for. V prvním řádku se objeví: for (int i = 0; i < length; i++) a naše příkazy se ocitnou ve složených závorkách. Počet opakování udává length nahradíme ho tedy číslem 100. for (int i = 0; i < 100; i++) Jak tedy funguje tato konstrukce obecně: for (inicializace; podmínka opakování; aktualizace) Před vstupem do cyklu se provede příkaz inicializace zde se deklarovala proměnná i (také řídicí proměnná cyklu) a dosadila se do ní nula. (int i = 0) cyklu. Následně se vyhodonotí podmínka opakování a je-li splněna, provedou se všechny příkazy těla (i < 100) Po jejich splnění se provede aktualizace nové nastavení řídicí proměnné. (i ++ hodnota i se zvětší o jedničku) Cyklus se ukončí v okamžiku, kdy podmínka opakování přestane být splněna. Konstrukci příkazu můžeme také zapisovat ručně. Ještě poznámka: protože i celé číslo x je objektem, není nutné k jeho převedení na řetězec použít třídu Convert má převodní metodu samo: x.tostring();

Příklad 2 Uživatel zadá dvě celá čísla min a max, program vypíše všechna čísla mezi nimi. private void buttonzint_click(object sender, EventArgs e) int min = Convert.ToInt32(textBoxMin.Text); int max = Convert.ToInt32(textBoxMax.Text); for (int i = min + 1; i < max; i++) textboxcisla.text += i.tostring() + Environment.NewLine; Cyklus For se používá hlavně, když je třeba prozkoumat předem známý počet objektů z hlediska nějaké jejich vlastnosti Příklad 3 Kolik z čísel v příkladu 2 je sudých? private void buttonsud_click(object sender, EventArgs e) int min = Convert.ToInt32(textBoxMin.Text); int max = Convert.ToInt32(textBoxMax.Text); int pocsud = 0;//počítadlo sudých čísel for (int i = min + 1; i < max; i++) textboxcisla.text += i.tostring() + Environment.NewLine; if (i % 2 == 0) pocsud++; //když je zbytek čísla po dělení dvěma nula, //je sudé zvýšíme počet sudých čísel o jedničku.

MessageBox.Show("počet sudých je " + pocsud.tostring()); Příklad 4 Které z čísel generovaných v příkladu 1 je největší? Budeme postupně generovat a vypisovat náhodná čísla a v celočíselné proměnné max si budeme pamatovat to, které je momentálně největší. (Buď do něj na začátku umístíme první číslo, nebo ho inicializujeme tak malou hodnotou, aby se přepsala hned porovnáním s prvním číslem.) private void buttonmax_click(object sender, EventArgs e) int max = -1; for (int i = 0; i < 10; i++) int x = Nahoda.Next(1, 100); if (max < x) max = x; textboxcisla.text += x.tostring() + Environment.NewLine; MessageBox.Show("Největší je " + max.tostring()); Důležité Cyklus s předem známým počtem opakování for (inicializace; podmínka opakování; aktualizace) Před vstupem do cyklu se provede příkaz inicializace Následně se vyhodonotí podmínka opkaování a je-li splněna, provedou se všechny příkazy těla cyklu. Po jejich splnění se provede aktualizace nové nastavení řídicí proměnné.

Cyklus se ukončí v okamžiku, kdy podmínka opakování přestane být splněna. Pracovní list Cvičení 1. Upravte příklad 2 tak, že kdyby uživatel zadal min a max obráceně, (větší číslo jako miniimum) hodnoty se vymění. 2. Upravte příklad 3 (počet sudých čísel z intervalu), že se všechna sudá čísla vypíší. 3. K určení počtu sudých čísel z intervalu není třeba cyklus. Zkuste vymyslet vhodný vzorec a naprogramovat ho. 4. Upravte příklad 1 (generování náhodných čísel) tak, aby program vypsal, kolik náhodných čísel padne do intervalu min max (čísla zadaná z textboxů, čísla mají být větší než min a menší než max) 5. Upravte příklad 1 (generování náhodných čísel) tak, aby program vypsal, kolik náhodných čísel je dělitelných 3. Řešení 1. 2. int pom; if (min > max) pom = min; min = max; max = pom; textboxmin.text = min.tostring(); textboxmax.text = max.tostring();

for (int i = min + 1; i < max; i++) if (i % 2 == 0) textboxcisla.text += i.tostring() +Environment.NewLine; pocsud++;//když je zbytek čísla po dělení dvěma nula, //je sudé zvýšíme počet sudých čísel o jedničku. 3. if ((min % 2 == 0) && (max % 2 == 0)) pocsud = (max - min) / 2-1; else pocsud = (max - min) / 2; 4. private void buttonpocetmm_click(object sender, EventArgs e) int min = Convert.ToInt32(textBoxMin.Text); int max = Convert.ToInt32(textBoxMax.Text); int pocet = 0; for (int i = 0; i < 10; i++) int x = Nahoda.Next(1, 100); textboxcisla.text += x.tostring() + Environment.NewLine; if ((x <= max) && (x >= min)) pocet++; MessageBox.Show("Počet čísel z intervalu je " + pocet.tostring());

5. int p3 = 0; for (int i = 0; i < 10; i++) int x = Nahoda.Next(1, 100); textboxcisla.text += x.tostring() + Environment.NewLine; if (x % 3 == 0) p3++; MessageBox.Show("Počet čísel dělitelných třemi je " + p3.tostring());