Algoritmy a programování III Algoritmy a programování III •Mgr. Jan Schreier •jan.schreier@slu.cz •Kancelář 227, konzultační hodiny dle domluvy. Obsah •C++ opakování •C# •Základní syntaxe •Proměnné a datové typy (int, double, string, bool, var) •Vstup a výstup (Console.WriteLine, Console.ReadLine) •Podmínky (if, else if, else, switch) •Cykly (for, foreach, while, do-while) •Třídy a objekty •Definice třídy •Konstruktory •Metody objektů •Zapouzdření (public, private, protected) •Dědičnost (class Child : Parent) • Kolekce (Seznamy, Listy, Slovníky) • • Zápočet •Požadavky na projekt: •Program bude napsán v jazyce C#. •Načíst vstup od uživatele. •Definice a použití tříd a objektů. •Konstruktory a zapouzdření. •Dědičnost a polymorfismus (minimálně 1 ukázka). •Použití kolekce. • Materiály •Všechny kody ze cvičení budou dostupné v IS SU. C++ opakování •Vytvořte program, který splňuje tyto podmínky: •Vytvořte pole o velikosti 5 prvků (int numbers[5];). •Načte od uživatele 5 celých čísel a uloží je do pole. •Spočítá kolik čísel v poli je sudých a kolik lichých. •Zjistí, zda pole obsahuje alespoň jednu nulu •Vypíše všechna čísla v poli •Funkce int sum(int arr[], int size), která spočítá součet všech čísel v poli. •Funkci double average(int arr[], int size), která vrátí průměr čísel v poli. • C++ opakování •Naprogramujte třídu List, která bude reprezentovat obousměrně spojový seznam. •Požadavky: •Uzel seznamu (Tstruct) musí obsahovat: •celočíselnou hodnotu value •ukazatel na další prvek next •ukazatel na předchozí prvek prev •Třída List musí obsahovat ukazatele: •HEAD – ukazuje na první prvek seznamu •TAIL – ukazuje na poslední prvek seznamu •Implementujte následující metody: •add(int VALUE) – přidá nový prvek na konec seznamu •display() – vypíše všechny hodnoty seznamu od začátku do konce •remove(int VALUE) – odstraní první prvek se zadanou hodnotou (pokud existuje) •contains(int VALUE) – vrátí true, pokud seznam obsahuje prvek s danou hodnotou, jinak false • count() – vrátí počet prvků v seznamu •Otestujte funkčnost metod ve funkci main() •