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

Podobné dokumenty
13. Kvadratické rovnice 2 body

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

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

Pracovní listy - programování (algoritmy v jazyce Visual Basic) Algoritmus

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

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

9.3. Úplná lineární rovnice s konstantními koeficienty

Základy programování. Úloha: Eratosthenovo síto. Autor: Josef Hrabal Číslo: HRA0031 Datum: Předmět: ZAP

Principy indukce a rekurentní rovnice

Co byste měl/a zvládnout po 6. týdnu

1. Téma 03 - Rozhodování

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

VISUAL BASIC. Přehled témat

2 Datové typy v jazyce C

Programy na PODMÍNĚNÝ příkaz IF a CASE

LDF MENDELU. Simona Fišnarová (MENDELU) LDR druhého řádu VMAT, IMT 1 / 22

Kapitola 11: Lineární diferenciální rovnice 1/15

Lekce 01 Úvod do algoritmizace

CVIČNÝ TEST 22. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 6 III. Klíč 13 IV. Záznamový list 15

Vyšetření průběhu funkce zadané předpisem

Mezinárodní kolo soutěže Baltík 2010, kategorie C a D

Základy algoritmizace

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

ALGORITMIZACE A PROGRAMOVÁNÍ

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

Test prvočíselnosti. Úkol: otestovat dané číslo N, zda je prvočíslem

Obecná rovnice kvadratické funkce : y = ax 2 + bx + c Pokud není uvedeno jinak, tak definičním oborem řešených funkcí je množina reálných čísel.

Algoritmy a datové struktury

Programování: základní konstrukce, příklady, aplikace. IB111 Programování a algoritmizace

2.1 Podmínka typu case Cykly Cyklus s podmínkou na začátku Cyklus s podmínkou na konci... 5

Vzdělávací materiál. vytvořený v projektu OP VK CZ.1.07/1.5.00/ Anotace. Integrální počet VY_32_INOVACE_M0308. Matematika

Struktury a dynamická paměť

ROVNICE A NEROVNICE. Kvadratické rovnice Algebraické způsoby řešení I. Mgr. Jakub Němec. VY_32_INOVACE_M1r0108

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

Programování v jazyce C pro chemiky (C2160) 3. Příkaz switch, příkaz cyklu for, operátory ++ a --, pole

Rovnice v oboru komplexních čísel

Matematika Kvadratická rovnice. Kvadratická rovnice je matematický zápis, který můžeme (za pomoci ekvivalentních úprav) upravit na tvar

Okruhy, podokruhy, obor integrity, těleso, homomorfismus. 1. Rozhodněte, zda daná množina M je podokruhem okruhu (C, +, ): f) M = { a

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

Cvičení č. 3. Sdílené prostředky a synchronizace Program Banka. 4 body

Zpracoval: 7. Matematická indukce a rekurse. Řešení rekurentních (diferenčních) rovnic s konstantními koeficienty.

2.7.6 Rovnice vyšších řádů (separace kořenů)

II. 3. Speciální integrační metody

maticeteorie 1. Matice A je typu 2 4, matice B je typu 4 3. Jakých rozměrů musí být matice X, aby se dala provést

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

C# konzole Program emoce

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

Rovnice s parametrem ( lekce)

Základy matematiky pracovní listy

Martin Hejtmánek hejtmmar

2. Svoje řešení pojmenujte podle čísel zadání úloh: uloha1. sgpbprj uloha4. sgpbprj

1 PRVOCISLA: KRATKY UKAZKOVY PRIKLAD NA DEMONSTRACI BALIKU WEB 1

Programování I. Martin Pergel, 10. října Martin Pergel, Programování I

Martin Flusser. December 15, 2016

CVIČNÝ TEST 36. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17

ALGEBRA. Téma 5: Vektorové prostory

Programování v jazyku LOGO - úvod

ANOTACE nově vytvořených/inovovaných materiálů

Funkce jedné reálné proměnné. lineární kvadratická racionální exponenciální logaritmická s absolutní hodnotou

SEZNAM ANOTACÍ. Číslo projektu Číslo a název šablony klíčové aktivity Označení sady DUM Tematická oblast

Jazyk C++, některá rozšíření oproti C

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

Basic256 - úvod do programování Příklady. ing. petr polách

1 Mnohočleny a algebraické rovnice

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

17. Projekt Trojúhelníky

CVIČNÝ TEST 15. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17

GRAFICKÉ ŘEŠENÍ ROVNIC A JEJICH SOUSTAV

a a

ALGEBRA. 1. Pomocí Eukleidova algoritmu najděte největší společný dělitel čísel a a b. a) a = 204, b = 54, b) a = , b =

Základy programování (IZP)

Algoritmus. Cílem kapitoly je seznámit žáky se základy algoritmu, s jeho tvorbou a způsoby zápisu.

Polynomy nad Z p Konstrukce faktorových okruhů modulo polynom. Alena Gollová, TIK Počítání modulo polynom 1/30

Kvadratickou funkcí se nazývá každá funkce, která je daná rovnicí. Definičním oborem kvadratické funkce je množina reálných čísel.

Matematika I (KMI/5MAT1)

Algoritmy I. Cvičení č. 2, 3 ALGI 2018/19

Vektorový prostor. Př.1. R 2 ; R 3 ; R n Dvě operace v R n : u + v = (u 1 + v 1,...u n + v n ), V (E 3 )...množina vektorů v E 3,

2.6. VLASTNÍ ČÍSLA A VEKTORY MATIC

Věta o dělení polynomů se zbytkem

Program SMP pro kombinované studium

CVIČNÝ TEST 39. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 5 III. Klíč 11 IV. Záznamový list 13

Algoritmus. Přesné znění definice algoritmu zní: Algoritmus je procedura proveditelná Turingovým strojem.

Principy indukce a rekursivní algoritmy

Polynomy a interpolace text neobsahuje přesné matematické definice, pouze jejich vysvětlení

ALGORITMIZACE Příklady ze života, větvení, cykly

Šablonové metaprogramování v C++ Miroslav Virius KSI FJFI ČVUT

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

2.7.6 Rovnice vyšších řádů

1 Linearní prostory nad komplexními čísly

2. V Q[x] dělte se zbytkem polynomy:

9.4. Rovnice se speciální pravou stranou

Obyčejnými diferenciálními rovnicemi (ODR) budeme nazývat rovnice, ve kterých

Úvod do programování. Lekce 1

Kritéria hodnocení praktické maturitní zkoušky z databázových systémů

Rekurentní rovnice, strukturální indukce

Aplikovaná numerická matematika

Matematika NÁRODNÍ SROVNÁVACÍ ZKOUŠKY ZADÁNÍ NEOTVÍREJTE, POČKEJTE NA POKYN!

Soustavy lineárních rovnic

Algoritmizace. 1. Úvod. Algoritmus

Transkript:

Základy programování v C++ zadání 1.seminární úlohy Zuzana Petříčková 30. října 2018 1 / 9

se skládá ze dvou podúloh: 1 2 Eratosthenovo síto Obecně: Používejte jen ty konstrukty jazyka C/C++, které jsme doposud probírali (nepoužívejte STL apod.) 2 / 9

- obecně Řešení úloh mi pošlete emailem v termínu uvedeném na mých stránkách. Termín je závazný. V konkrétních případech bude následovat osobní předvedení programu (např. při závažnějších nebo obtížně popsatelných nedostatcích nebo když budu mít podezření, že jste program nevypracovali sami) V případě, že program nebude v pořádku, popíšu vám seznam nedostatků a budete mít další čas (cca. týden) na poslání opravy V případě, že dva studenti pošlou nápadně identická řešení, uznávám jen to chronologicky první Programy by měly být okomentované (stačí stručně) a přehledné (používejte odsazení) 3 / 9

Vytvořte povídací uživatelsky přátelský program, který umí řešit rovnici ax 2 + bx + c = 0 a vypíše správný výsledek pro libovolné hodnoty a, b, c R. Program bude mít následující strukturu: V cyklu (který ukončí uživatel): 1 Načti koeficienty a, b, c z konzole. 2 Spočti výsledek. 3 Vypiš výsledek na konzoli. 4 / 9

... ukázka komunikace s programem I. Reseni rovnice axˆ2 + bx + c = 0 Zadej a: 0.5 Zadej b: 0 Zadej c: -2 Jedna se o kvadratickou rovnici. Ma dva realne koreny 2 a -2 Chces pokracovat (a/n)? a Zadej a: 1 Zadej b: 2 Zadej c: 1 Jedna se o kvadratickou rovnici. Ma jeden dvojnasobny koren -1 Zadej a: 1 Zadej b: 0 Zadej c: 4 Jedna se o kvadratickou rovnici. Ma dva komplexni koreny 0 +- 2 i Chces pokracovat (a/n)? n 5 / 9

... ukázka komunikace s programem II. Reseni rovnice axˆ2 + bx + c = 0 Zadej a: 0 Zadej b: 2 Zadej c: -1 Jedna se o linearni rovnici. Resenim je 0.5 Chces pokracovat (a/n)? a Zadej a: 0 Zadej b: 0 Zadej c: -2 nema reseni Chces pokracovat (a/n)? a Zadej a: 0 Zadej b: 0 Zadej c: 0 Resenim rovnice jsou vsechna realna cisla Chces pokracovat (a/n)? n 6 / 9

Další požadavky: Program bude kontrolovat vstup od uživatele (že zadal čísla) a adekvátně reagovat (např. zadej znovu... ) Program bude logicky rozdělen na dvě části: část, která jen načítá vstup a vypisuje výsledky (jeden soubor) část, která pouze počítá výsledky (druhý soubor, ve kterém se nebude nic načítat, ani vypisovat, ale bude zde veškerá logika aplikace) Definujte vhodnou strukturu Reseni pro reprezentaci výsledku (viz. poznámky ze cvičení) Jádrem řešení bude funkce ve tvaru např. Reseni vyres(double a, double b, double c) Dobře promyslete, jak může vypadat řešení rovnice (je celkem 6 možností, které mohou nastat, viz. poznámky ze cvičení a příklady na těchto slidech). 7 / 9

Dovednosti, které byste měli na této úloze ukázat (a tedy by bylo fajn je do řešení vhodně zakomponovat): Kontrola vstupu uživatele. Struktura (a případně i enum a příkaz switch) Správné rozdělení programu do několika souborů (vč. hlavičkového souboru), umět oddělit vstup a výstup z/na konzoli od logiky aplikace 8 / 9

Eratosthenovo síto Eratosthenovo síto Příklad 2 Napište program, který nalezne a následně vypíše všechna prvočísla menší než dané pevné n. K nalezení prvočísel použijte následující algoritmus známý jako Eratosthenovo síto: 1 připrav tabulku pro čísla od 2 do n. 2 nalezni nejmenší nevyškrtnuté číslo, jedná se o prvočíslo. 3 vyškrtni všechny násobky tohoto čísla větší než jeho čtverec (menší už byly vyškrtnuty). 4 opakuj kroky 2 a 3 až do dosažení n. 5 nevyškrtnutá čísla v tabulce jsou prvočísla. Číslo n může být v programu definované jako konstanta (např. const int). Tabulka pak bude statické pole. Kdo už mi úlohu posílal jako domácí úkol a byla v pořádku, už mi ji nemusí posílat znovu. 9 / 9