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

Podobné dokumenty
C# konzole Program emoce

Proměnná. Datový typ. IAJCE Cvičení č. 3. Pojmenované místo v paměti sloužící pro uložení hodnoty.

Algoritmizace a programování

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

Logické operace. Datový typ bool. Relační operátory. Logické operátory. IAJCE Přednáška č. 3. může nabýt hodnot: o true o false

Operátory. Základy programování 1 Tomáš Kühr

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

KTE / ZPE Informační technologie

Úvod do programování - Java. Cvičení č.4

1. Téma 03 - Rozhodování

Paměť počítače. alg2 1

Objektově orientované programování

Sada 1 - Základy programování

Zápis programu v jazyce C#

Větvení programů příkaz IF

Inovace a zkvalitnění výuky prostřednictvím ICT Základy programování a algoritmizace úloh Jednoduché příkazy jazyka Pascal

IAJCE Přednáška č. 8. double tprumer = (t1 + t2 + t3 + t4 + t5 + t6 + t7) / 7; Console.Write("\nPrumerna teplota je {0}", tprumer);

3 KTE / ZPE Informační technologie

5 Přehled operátorů, příkazy, přetypování

Výrazy a operátory. Operátory Unární - unární a unární + Např.: a +b

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

for (i = 0, j = 5; i < 10; i++) { // tělo cyklu }

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

Operátory. Základy programování 1 Martin Kauer (Tomáš Kühr)

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

Úvod do programování. Lekce 1

8. lekce Úvod do jazyka C 3. část Základní příkazy jazyka C Miroslav Jílek

Rozklad na prvočinitele. 3. prosince 2010

Stručný návod k programu Octave

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace

7 Formátovaný výstup, třídy, objekty, pole, chyby v programech

Řídicí příkazy KAPITOLA 3. Vstup znaků z klávesnice

PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE DATUM VYTVOŘENÍ: KLÍČOVÁ AKTIVITA: 02 PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) HODINOVÁ DOTACE: 1

Algoritmizace a programování. Terminálový vstup a výstup

Násobení pomocí sčítání

3. přednáška. Obsah: Řídící struktury sekvence, if-else, switch, for, while, do-while. Zpracování posloupnosti

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

1. Téma 12 - Textové soubory a výjimky

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

Algoritmizace a programování

Řídicí struktury. alg3 1

Pole a Funkce. Úvod do programování 1 Tomáš Kühr

Digitální učební materiál

Používejte jen ty konstrukty jazyka C/C++, které jsme doposud probírali (nepoužívejte STL apod.)

Lekce 01 Úvod do algoritmizace

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

Větvení a cykly. Úvod do programování 1 Tomáš Kühr

Iterační výpočty. Dokumentace k projektu č. 2 do IZP. 24. listopadu 2004

I. ZÁVĚREČNÁ ZPRÁVA PROJEKTU

Soustavy rovnic diskuse řešitelnosti

Cykly. Základy programování 1 Martin Kauer (Tomáš Kühr)

IAJCE Přednáška č. 6. logický celek, řešící dílčí část problému Příklad velmi špatného zápisu programu na výpočet obsahu obdélníku

C2110 Operační systém UNIX a základy programování

Seminář z IVT Proměnné a operátory. Slovanské gymnázium Olomouc 11. září 2014 Tomáš Kühr

Projekt OPVK - CZ.1.07/1.1.00/ Matematika pro všechny. Univerzita Palackého v Olomouci

DSL manuál. Ing. Jan Hranáč. 27. října V této kapitole je stručný průvodce k tvorbě v systému DrdSim a (v

PROGRAMOVÁNÍ V SHELLU

Rozklad problému na podproblémy

Algoritmizace, základy programování, VY_32_INOVACE_PRG_ALGO_01

Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod.

Profilová část maturitní zkoušky 2017/2018

URČITÝM ZPŮSOBEM PODOBNÉ

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

Java - výjimky. private void vstup() throws IOException {... }

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

DUM 20 téma: Test dávky

Mnohotvarost (polymorfizmus)

Znaky. IAJCE Přednáška č. 10. každému znaku je nutné přiřadit nějaké číslo (nezáporné přímé mapování znak <->

Úvod do programovacích jazyků (Java)

ZŠ ÚnO, Bratří Čapků 1332

NPRG031 Programování II 1 / :47:55

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

Základy algoritmizace a programování

Java Cvičení 01. CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics

Digitální učební materiál

Program převod z desítkové na dvojkovou soustavu: /* Prevod desitkove na binarni */ #include <stdio.h>

Programování v C++ 1, 1. cvičení

Algoritmizace a programování

Systém je citlivý na velikost písmen CASE SENSITIVE rozeznává malá velká písmena, např. PROM=1; PROm=1; PRom=1; Prom=1; prom=1; - 5 různých proměnných

for (int i = 0; i < sizeof(hodnoty) / sizeof(int); i++) { cout<<hodonoty[i]<< endl; } cin.get(); return 0; }

9. přednáška - třídy, objekty

Martin Flusser. Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague. October 17, 2016

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

Datové struktury. alg12 1

Školní kolo soutěže Baltík 2009, kategorie C

Celostátní kolo soutěže Mladý programátor 2016, kategorie C

Poslední nenulová číslice faktoriálu

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

Operační systémy. Cvičení 4: Programování v C pod Unixem

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu:

C++ Akademie SH. 2. Prom nné, podmínky, cykly, funkce, rekurze, operátory. Michal Kvasni ka. 20. b ezna Za áte níci C++

Z. Kotala, P. Toman: Java ( Obsah )

Algoritmy a datové struktury

Základy algoritmizace a programování

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

Operátory pro maticové operace (operace s celými maticemi) * násobení maticové Pro čísla platí: 2*2

1 Mnohočleny a algebraické rovnice

Transkript:

C# konzole Podíl dvou čísel, podmínka IF Tematická oblast Datum vytvoření 2013 Ročník 3 Stručný obsah Způsob využití Autor Kód Internetové technologie, programování Výpočet podílu v konzolové aplikaci v jazyce C#. Studenti napíší algoritmus pro výpočet podílu dvou čísel a seznámí se s podmínkou if. Mgr. Michal Mikláš VY_32_INOVACE_35_IMIK15 Gymnázium a Jazyková škola s právem státní jazykové zkoušky Zlín

Zadání Napište program který si zapamatuje dvě zadaná celá čísla z klávesnice, podíl těchto čísel uloží do proměnné a vypíše ji do příkazového řádku (výsledek podílů obou zadaných čísel). Vyřešte nejprve následující otázky: Kolik proměnných budeme v našem programu na podíl potřebovat? V jakých krocích bude náš program probíhat? Kroky programu formulujte velmi přesně a dobře je promyslete.

Řešení úvodních otázek Kolik proměnných budeme v našem programu na výpočet podílu potřebovat? Celkem budeme potřebovat 3 proměnné: Dělenec delenec, dělitel delitel a výsledek podil Program tedy poskytne výpočet výrazu delenec/delitel a výslednou hodnotu uloží do proměnné podil. Proměnná podíl už nebude datového typu int, ale datového typu double PROČ? Na následujícím snímku si rozebereme kroky algoritmu.

Řešení úvodních otázek V jakých krocích bude náš program probíhat? 1. Vypíše na obrazovku informaci o tom, co provede: Ahoj, ja jsem program na podíl dvou cisel. 2. Vyzve uživatele k zadání prvního čísla delenec: Zadej první číslo: 3. Načte zadanou hodnotu do proměnné delenec. 4. Vyzve uživatele k zadání druhého čísla delitel: Zadej druhé číslo: 5. Načte zadanou hodnotu do proměnné delitel. 6. Do proměnné c vypočítá hodnotu součtu delenec/delitel. 7. Na obrazovku vypíše řetězec Vysledek je: 8. Vypíše hodnotu proměnné podil. 9. Čeká na stisk klávesy pro ukončení programu (enter).

Řešení úvodních otázek Náš program funguje zcela analogicky jako v případě součtu dvou čísel až na prováděnou operaci mezi nimi. Je takto náš program v pořádku? Resp. Pracuje náš program správně pro všechny možné vstupní hodnoty delenec, delitel z oboru celých čísel?

Řešení úvodních otázek Resp. Pracuje náš program správně pro všechny možné vstupní hodnoty a, b z oboru celých čísel, které uživatel zadá? Náš program nepracuje správně pro všechny vstupní hodnoty. Vezměme v úvahu, že by uživatel jako číslo a (dělenec) zadal například číslo 5 a jako číslo b (dělitel) zadal číslo 0. Dostali bychom tak příklad: 5/0 Jaký je výsledek tohoto výpočtu? Uvědomme si, že dělení nulou není povolená výpočetní operace. V našem programu to proto musíme vyřešit a za předpokladu, že by uživatel zadal jako dělitel číslo 0, musí program sdělit, že nulou nelze dělit a ukončí svou činnost. Pokud by se počítač pokusil nulou dělit, tak běh programu skončí jeho havárií.

Řešení úvodních otázek Pokud se tedy potřebujeme v programu nějak rozhodnout a za určitých okolností se zachovat jinak, pak můžeme použít konstrukci: if (podmínka){ sada příkazů 1 else{ sada příkazů 2 Tato konstrukce pracuje tak, že, program ověří platnost podmínky v závorce za příkazem if (když) a pokud je podmínka platná, tak vykoná sadu příkazů 1. V opačném případě (else) vykoná sadu příkazů 2.

Realizace podmínky v našem algoritmu if(delitel == 0){ Console.WriteLine("Nulou nelze delit."); else{ Console.WriteLine("Podil je:"); podil = (double)delenec / delitel; Console.WriteLine(podil); Objasněte význam operátoru == a příkazu podil = (double)delenec / delitel;

Realizace podmínky v našem algoritmu Objasněte význam operátoru == operátor == zastupuje v jazyku C# test na rovnost (zatímco operátor = je operátor přiřazení hodnoty do proměnné) Objasněte význam příkazu: podil = (double)delenec / delitel; Tady je nutno si uvědomit, že podíl bude obecně reálné číslo (desetinné) a nemusí tedy být číslem celým. Je tedy vhodné v programu říci, že výsledná hodnota v proměnné podíl bude desetinné číslo (datový typ double).

Algoritmus int delenec, delitel; double podil; Console.WriteLine("Ahoj, ja jsem program na deleni dvou cisel."); Console.WriteLine("Zadej prvni cislo (delenec):"); delenec = int.parse(console.readline()); Console.WriteLine("Zadej druhe cislo (delitel):"); delitel = int.parse(console.readline()); if(delitel == 0){ Console.WriteLine("Nulou nelze delit."); else{ Console.WriteLine("Podil je:"); podil = (double)delenec / delitel; Console.WriteLine(podil); Console.ReadKey();

Výpis kompletního zdrojového kódu konzolové aplikace namespace ConsoleApplication8 { class Program { static void Main(string[] args) { int delenec, delitel; double podil; Console.WriteLine("Ahoj, ja jsem program na deleni dvou cisel."); Console.WriteLine("Zadej prvni cislo (delenec):"); delenec = int.parse(console.readline()); Console.WriteLine("Zadej druhe cislo (delitel):"); delitel = int.parse(console.readline()); if(delitel == 0){ Console.WriteLine("Nulou nelze delit."); else{ Console.WriteLine("Podil je:"); podil = (double)delenec / delitel; Console.WriteLine(podil); Console.ReadKey();