Výukový materiál zpracován v rámci projektu EU peníze školám Název školy Střední škola elektrostavební a dřevozpracující, Frýdek-Místek, příspěvková organizace Adresa školy Pionýrů 2069, 73801 Frýdek-Místek IČ 13644301 Název operačního programu OP Vzdělávání pro konkurenceschopnost Registrační číslo CZ.1.07/1.5.00/34.0149 Označení vzdělávacího materiálu VY_32_INOVACE_10_30ŠebM-16 Název tematické oblasti (sady) Základy programování v jazyce C# Název vzdělávacího materiálu Příklady na algoritmy aritmetických operací 2 Druh učebního materiálu Cvičení v prostředí Microsoft Visual Studio Anotace Téma je určeno žákům studijního oboru elektro na získání základních znalostí a vědomostí v algoritmizaci a programování. Klíčová slova algoritmus,vývojový diagram,zdrojový text programu Vzdělávací obor, pro který je materiál určen 26-41-M/01 Elektrotechnika Ročník IV. Typická věková skupina 18 let Speciální vzdělávací potřeby žádné Autor Ing.Milan Šebestík Zhotoveno, (datum/období) 1.9. až 30.10..2012 Celková velikost 173 kB Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Milan Šebestík,použitá literatura:ing.Jana Pšenčíková: Algoritmizace ,Dostupné z portálu www.ssed-fm.cz
Vytvořte algoritmus a napište program,který bude schopen zjistit součet číslic v čísle zadaném z klávesnice. Výsledek součtu pak vypište na monitor. Příklad 33 Pro řešení příkladu použijeme následující princip: -mějme např.číslo 256 a chceme provést součet jeho číslic 2+5+6=13, -k získání jednotlivých samostatných číslic budeme dané číslo celočíselně dělit desíti 256/10=25 a zbytek je 6, -číslo 6 uložíme do proměnné SUMA a výsledek podílu 25 budeme znovu dělit desíti 25/10=2 a zbytek je 5 -číslo 5 přičteme k proměnné SUMA a výsledek podílu 2 budeme opět dělit desíti 2/10=0 a zbytek je 2,který opět přičteme k obsahu proměnné SUMA,ve které je nyní hledaný součet číslic zadaného čísla, -toto provádíme v cyklu tak dlouho,dokud je dělitel menší než dělenec, Pak zobrazíme výsledek jako obsah proměnné SUMA, -jako základ algoritmu tedy volíme cyklus se vstupní podmínkou,kde se ptáme na to,zda dělenec je větší nebo roven desíti.
Begin SUMA = 0 - + Read: A A>=10 ZB=A%10 SUMA=SUMA+A B=A/10 Vynulování proměnné SUMA,do které budeme ukládat mezivýsledky a výsledek součtu číslic SUMA = 0 Načtení z klávesnice čísla,ze kterého budeme počítat součet jeho číslic Read: A Vyhodnocení,zda číslo A je větší nebo rovno děliteli A>=10 V těle cyklu je výsledek celočíselného ukládán do proměnné B zbytek se přičítá do proměnné SUMA ZB=A%10 B=A/10 SUMA=SUMA+A SUMA=SUMA+ZB Write:SUMA Je-li dělenec menší než 10,pak se k obsahu suma připočítá poslední číslice obsažená v proměnné A A=B End
Zdrojový text programu int a, suma, b, zb; Console.Write("Zadej číslo z klávesnice: "); a = int.Parse(Console.ReadLine()); suma = 0; while (a >= 10) { b = a / 10; zb = a % 10; suma = suma + zb; a = b; } suma = suma + a; Console.Write("Součet číslic v tomto čísle je {0}.", suma); Console.Read();
Vytvořte algoritmus a napište program,který zjistí,kolikrát se vyskytuje určitá číslice v daném čísle. Příklad 34 Algoritmus této úlohy je založen na principu předchozího příkladu 33,kde za pomocí celočíselného dělení desíti jsou oddělovány jednotlivé číslice.Tyto čís- lice budeme testovat v těle cyklu s hledanou číslicí a v případě shody inkre- mentovat počítadlo POC shodných číslic.
Begin POC = 0 - + Read:X,A A!=0 Write: POC B=A/10 ZB=A%10 ZB=X POC++ Počáteční vynulování proměnné POC pro ukládání počtu shodných číslic POC = 0 Načtení z klávesnice čísla A a číslice X Read:X,A Vstupní podmínka cyklu A!=0 Write: POC B=A/10 ZB=A%10 V těle cyklu provádíme separaci jednotlivých číslic čísla A a testování na shodu s číslicí X ZB=X POC++ Obsah proměnné POC zobrazíme na monitor End A=POM
Zdrojový text programu int a, x, poc, b, zb; Console.Write("Zadej víceciferné celé kladné číslo: "); a = int.Parse(Console.ReadLine()); Console.Write("Zadej číslici,kterou chceš najít: "); x = int.Parse(Console.ReadLine()); poc = 0; while (a != 0) { b = a / 10; zb = a % 10; if (zb == x) poc = poc + 1; a = b; } Console.Write("V zadaném čísle se vyskytuje {0} hledaných číslic {1}.", poc, x); Console.Read();