Univerzita Palackého v Olomouci Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 12.2.

Podobné dokumenty
Připravil: Ing. Vít Ondroušek, Ph.D. Technologie.Net Framework

1 - Úvod do platformy.net. IW5 - Programování v.net a C#

PROGRAMOVÁNÍ PRO MS WINDOWS 1

Stručný obsah. Část I. Část II. Část III. Úvod do vývoje v prostředí Visual Studio 25. Návrh uživatelského rozhraní 127

PROGRAMOVÁNÍ PRO MS WINDOWS 1

Platforma.NET 11.NET Framework 11 Visual Basic.NET Základní principy a syntaxe 13

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

Základy jazyka C# Obsah přednášky. Architektura.NET Historie Vlastnosti jazyka C# Datové typy Příkazy Prostory jmen Třídy, rozhraní

Úvod Seznámení s předmětem Co je.net Vlastnosti.NET Konec. Programování v C# Úvodní slovo 1 / 25

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

Univerzita Palackého v Olomouci Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 3.4.

Preprocesor a koncepce (větších) programů. Úvod do programování 2 Tomáš Kühr

Platformy / technologie. Jaroslav Žáček

Obsah. Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15

Generické programování

Vladimír

Rozklad na prvočinitele. 3. prosince 2010

Platformy / technologie. Jaroslav Žáček jaroslav.zacek@osu.cz

PLATFORMY / TECHNOLOGIE JAROSLAV ŽÁČEK

PREPROCESOR POKRAČOVÁNÍ

Informační systém pro podporu řízení, správu a zjišťování aktuálního stavu rozvrhované výuky

Preprocesor. Karel Richta a kol. katedra počítačů FEL ČVUT v Praze. Karel Richta, Martin Hořeňovský, Aleš Hrabalík, 2016

Komponenty v.net. Obsah přednášky

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

Úvodem... 9 Kapitola 1 Karetních

Úvod do programování v jazyce Java

Java/QE Akademie - Osnova

Úvod do jazyka C. Ing. Jan Fikejz (KST, FEI) Fakulta elektrotechniky a informatiky Katedra softwarových technologií

ŠKOLENÍ PROGRAMOVACÍHO JAZYKA JAVA JAVA - ZÁKLADY

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

Novinky v ASP.NET MVC6

Multiplatformní GUI toolkity

Michal Krátký, Miroslav Beneš

První kapitola úvod do problematiky

Algoritmizace a programování

Matematika v programovacích

Úvod Vývojová prostředí Štábní kultura Dokumentace Konec. Programování v C# Prostředí a doporučení 1 / 39

PROGRAMOVÁNÍ PRO MS WINDOWS 2

Univerzita Palackého v Olomouci Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 19.2.

Bakalářské práce realizované v.net/c# Bachelor thesis implemented in.net/c#

Tvorba informačních systémů

Univerzita Palackého v Olomouci Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 10.4.

Skripta ke školení. Základy VBA. vypracoval: Tomáš Herout. tel:

Příkazy preprocesoru - Před překladem kódu překladačem mu předpřipraví kód preprocesor - Preprocesor vypouští nadbytečné (prázdné) mezery a řádky -

Platforma.NET 4. hodina dnes to bude ideologické

Základy datových vazeb Silverlightu. Funkce Silverlightu 2. Podpora jazyků a technologie.net Framework

Univerzita Palackého v Olomouci Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 26.3.

Obsah. Předmluva 15. Datové typy v prostředí.net 24 Jmenné prostory 24 Základní datové typy 25 Metadata a atributy 25

Nové jazykové brány do Caché. Daniel Kutáč

Metody připojování periferií

Skripty - úvod. Linux - skripty 2

Digitalizace s TIA Portal V15 S OPC UA. Siemens AG 2018

Operační systémy 2: Zápočtové úkoly

Předměty. Algoritmizace a programování Seminář z programování. Verze pro akademický rok 2012/2013. Verze pro akademický rok 2012/2013

Základy programování (IZP)

Programovací jazyk Java

MATLAB Úvod. Úvod do Matlabu. Miloslav Čapek

IUJCE 07/08 Přednáška č. 1

O projektu Nasazení OpenOffice.org v praxi

PŘETĚŽOVÁNÍ OPERÁTORŮ

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

Novinky ve Visual Studio Tomáš Kroupa

Programování a implementace Microsoft SQL Server 2014 databází

Práce s knihovnami. Karel Richta a kol. katedra počítačů FEL ČVUT v Praze. Karel Richta, Martin Hořeňovský, Aleš Hrabalík, 2016

PROGRAMOVÁNÍ V JAZYCE C V PŘÍKLADECH 11 Dynamické datové struktury 11.1 Spojové struktury Příklad PROG_

Paralelní výpočetní jádro matematického modelu elektrostatického zvlákňování

Současný svět Projekt č. CZ.2.17/3.1.00/32038, podpořený Evropským sociálním fondem v rámci Operačního programu Praha adaptabilita

TŘÍDY POKRAČOVÁNÍ. Události pokračování. Příklad. public delegate void ZmenaSouradnicEventHandler (object sender, EventArgs e);

Obsah. Začínáme programovat v Ruby on Rails 9. Úvod Vítejte v Ruby 15. O autorovi 9 Poděkování 9

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

Organizace předmětu, podmínky pro získání klasifikovaného zápočtu

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ

Úvod do programovacího jazyka Python

Jazyk C# (seminář 6)

Tvorba informačních systémů

Střední odborná škola stavební Karlovy Vary Sabinovo náměstí 16, Karlovy Vary Autor: Ing. Hana Šmídová Název materiálu:

Úvod. Únor Fakulta informačních technologií VUT. Radek Kočí Seminář Java Úvod 1/ 23

Software je ve světě IT vše, co není Hardware. Do softwaru patří aplikace, program, proces, algoritmus, ale i data (text, obrázky), operační systém

Úvod Přetěžování Generika Kolekce Konec. Programování v C# Další jazykové konstrukce. Petr Vaněček 1 / 31

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

Platformy / technologie. Jaroslav Žáček

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 M A T U R I T N Í T É M A T A P Ř E D M Ě T U

Matematický software pro Linux

Programovací jazyk C(++) C++ area->vm_mm->locked_vm -= len >> PAGE_SHIFT;

PROGRAMOVÁNÍ V SHELLU

Základy programování (IZP)

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

IRAE 07/08 Přednáška č. 7. Začátek (head)

Projekt JetConf REST API pro vzdálenou správu

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

PROGRAMOVÁNÍ V C++ CVIČENÍ

Abstrakt. Klíčová slova. Title. Abstrakt. Klíčová slova

StruËn obsah. Část I Seznámení s jazykem Microsoft Visual C# a aplikací Microsoft Visual Studio Část II Poznáváme jazyk C# 129

Software602 Form Designer

Martin Trnečka. Katedra informatiky, Univerzita Palackého v Olomouci

Základy programování (C#) Autor: Ing. Jan Nožička SOŠ a SOU Česká Lípa VY_32_INOVACE_1134_Základy programování (C#) _PWP

Úvod do programovacího jazyka Python

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

Výzva k podání nabídek, na kterou se nevztahuje postup pro zadávací řízení dle zákona č. 134/2016., o zadávání veřejných zakázek 1

Tomáš. Kutěj. Technical Solution Specialist Office platform

Transkript:

Základy programování 4 - C# Radek Janoštík Univerzita Palackého v Olomouci 12.2.2018 Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 12.2.2018 1 / 18

Úvod Předmět navazuje na Základy programování 3 - C# Jedna dvouhodina týdně výklad + samostatná práce Doporučeno MS Visual Studio (na verzi netrvám) Uživatelé Mono vítáni (viz. níže) Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 12.2.2018 2 / 18

Konzultace, kontakt Email: radek.janostik@upol.cz Pracovna: 5.076 Telefon: 585 634 715 (nepreferován) Web: http://apollo.inf.upol.cz/ janostik/ Konzultace: Úterý 8:00-9:30 nebo dohodou Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 12.2.2018 3 / 18

Radek Janoštík Drobné (Univerzita změny Palackéhoa vvýjimky Olomouci) vyhrazeny Základy programování 4 - C# 12.2.2018 4 / 18 Podmínky zápočtu Účast na semináři není povinná Z každého semináře bude úkol Úplné splnění úkolu na semináři 4 body Úplné splnění úkolu do neděle 23:59:59 olomouckého času před následujícím seminářem 3 body Chyby, neúplnost, bad practice budou penalizovány Celkem 10 úkolů maximálně 30 bodů, pro zápočet potřeba 24 bodů Alternativa: Menší projekt zahrnující probranou látku odevzdaný do měsíce od schválení

Odevzdávání úkolů Osobně na cvičení 4 body Emailem 3 body Emailem na: radek.janostik@upol.cz Předmět: ZP4CS - úkol č. n př.: ZP4CS - úkol č. 1 Tělo: klidně prázdné, případně nějaké doplnění Příloha: zip archiv celého projektu bez adresářů bin a obj (antispam) s vašim příjmením v názvu Přijetí emailu do neděle 23:59:59 olomouckého času před následujícím seminářem Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 12.2.2018 5 / 18

Doporučená literatura (1/2) Andrew Troelsen. Pro C# 5.0 and the.net 4.5 Framework. (6. vydání). 2012. ISBN 978-1-4302-4233-8. Jay Glynn a kol., C# Programujeme profesionálně. COMPUTER PRESS - dostupné v knihovně, starší A spousta dalších... Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 12.2.2018 6 / 18

Doporučená literatura (2/2) - zdroje legálně na webu Aleš Keprt. Softwarová laboratoř v jazyce C#. 2008. http://phoenix.inf.upol.cz/esf/ucebni/softlab.pdf Aleš Keprt. Systémové programování v jazyce C#. 2008.http://phoenix.inf.upol.cz/esf/ucebni/sysprog.pdf Sice starší, ale pro základ dostačující Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 12.2.2018 7 / 18

Jízdní řád (1/2) 12.2.2017 Úvodní hodina, opakování, direktivy preprocesoru, konfigurace aplikace 19.2.2017 Referenční a hodnotové datové typy, delegáty, lambda výrazy, přetížení operátorů 26.2.2017 Základy paralelizace vlákna 5.3.2017 Práce se soubory, souborovým systémem 12.3.2017 XML, JSON 19.3.2017 GUI, formuláře 26.3.2017 GUI kreslení Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 12.2.2018 8 / 18

Jízdní řád (2/2) 2.4.2017 Velikonoční pondělí 9.4.2017 Práce s databázemi 16.4.2017 LINQ 23.4.2017 TBA 30.4.2017 Zápočty, předvedení projektů, dodělávky, rezerva 7.5.2017 rezerva Změny v plánu vyhrazeny Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 12.2.2018 9 / 18

Anketa Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 12.2.2018 10 / 18

Co byste měli znát Seznámení s vývojovým prostředím Visual Studio. Úvod do programování v C#. Platforma.NET. Proměnné, operátory, výrazy, datové typy, metody, rozsah platnosti. Řízení toku. Rozhodovací příkazy. Složené příkazy a opakování. Chyby a výjimky. Pole, kolekce, generické typy. Procházení kolekcí. Třídy a objekty. Hodnoty a reference. Hodnotové typy (enum, struct). Dědičnost. Vlastnosti (properties). Indexery. Delegáty a události. Překrytí operátorů. Základní třídy standardní knihovny. Programování okenních aplikací. Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 12.2.2018 11 / 18

Projekt mono Projekt mono: http://www.mono-project.com/ Cross platform, open source.net framework Open-source implementace.net frameworku Kompatibilita vše v.net 4.7 až na: WPF (framework pro GUI) WWF Windows Workflow Foundation Omezeně WCF (Windows Communication Foundation) a asynchronní ASP.NET Vynechány OS-specifické (=Windows-only) funkce Více na: http://www.mono-project.com/docs/about-mono/compatibility/ Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 12.2.2018 12 / 18

Monodevelop Multiplatformní IDE pro C http://www.monodevelop.com/ Komplexní a funkční IDE (pro naše účely dokáže nahradit MSVS) Unity engine Grafické aplikace v GTK Podpora Linux, Mac OS X, Windows Zdarma Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 12.2.2018 13 / 18

Direktivy preprocesoru Začínají # #define a #undef musí být na začátku souboru. Nastavení / zrušení symbolu #if, #elif, #else, #endif #error, #warning #region, #endregion Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 12.2.2018 14 / 18

Konfigurace aplikace Project Properties Settings Access Modifier - Iternal a Public udává viditelnost nastavení Scope Application a User read-only vs. měnitelné Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 12.2.2018 15 / 18

Úkol (1/3) Prerekvizita: Nainstalovat/aktualizovat/zkontrolovat funkčnost Visual Studia na vašem stroji (nehodnoceno) Hlavní úkol (pro opakování): Implementovat MergeSort pro pole celých čísel, který při DEBUG režimu vypíše string z nastavení aplikace Pro připomenutí: http: //belohlavek.inf.upol.cz/vyuka/algoritmicka-matematika-1-2.pdf V kostce: Setřid levou polovinu pole, setřid pravou polovinu pole, slij obě poloviny pole. Pseudokód (Pro inspiraci): Merge-Sort(A, p, r) 1 if p < r 2 then q <- b(p + r)/2c 3 Merge-Sort(A, p, q) 4 Merge-Sort(A, q + 1, r) 5 Merge(A, p, q, r) Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 12.2.2018 16 / 18

Úkol (2/3) Merge(A,p, q, r) 1 n1 <- q - p + 1 2 n2 <- r - q 3 vytvoř nová pole L[0..n1] a R[0..n2] 4 for i <- 0 to n1-1 5 do L[i] <- A[p + i] 6 for j <- 0 to n2-1 7 do R[j] <- A[q + 1 + j] 8 L[n1] <- int.maxvalue 9 R[n2] <- int.maxvalue 10 i <- 0 11 j <- 0 12 for k <- p to r 13 do if L[i] <= R[j] 14 then A[k] <- L[i] 15 i <- i + 1 16 else A[k] <- R[j] 17 j <- j + 1 Není nutné přesně dodržet pseudokód!!! Myslete v C# Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 12.2.2018 17 / 18

Úkol (3/3) - příklad použití Náznak volání Výstup 1 int[] pole = {4, 2, 7, 1, 8, 3, 6, 9, 5} 2 --> vypis pole 3 MergeSort(pole, 0, pole.length) 4 --> vypis pole Toto je string z nastavení aplikace. {4, 2, 7, 1, 8, 3, 6, 9, 5} {1, 2, 3, 4, 5, 6, 7, 8, 9} Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 12.2.2018 18 / 18