310 likes | 501 Views
Seminář z Informatiky a výpočetní techniky. Slovanské gymnázium Olomouc 4. září 2014 Tomáš Kühr. Tomáš Kühr. Lektor na Katedře informatiky Přírodovědecké fakulty Univerzity Palackého v Olomouci Web: http:// www.inf.upol.cz/lide/tomas-kuhr Email: tomas.kuhr @ upol.cz
E N D
Seminář z Informatiky a výpočetní techniky Slovanské gymnázium Olomouc4. září 2014 Tomáš Kühr
Tomáš Kühr • Lektor na Katedře informatiky Přírodovědecké fakulty Univerzity Palackého v Olomouci • Web: http://www.inf.upol.cz/lide/tomas-kuhr • Email: tomas.kuhr@upol.cz • Telefon: 585 634 708 608 752 083
Volitelný seminář z Informatiky a výpočetní techniky • Organizační záležitosti • Poučení o pravidlech chování v počítačové učebně SGO
Něco pro odlehčení Dva programátoři se ocitli v nejmenované televizní soutěži… Moderátor: „Takže pane Jaroslave, pan Zbyněk dostal jméno osobnosti a vy máte hádat, kdo to je, a to jen pomocí otázek, na které pan Zbyněk může odpovídat jen ANOnebo NE.“ Jaroslav: „Jaké je jméno osobnosti, kterou představujete?“ Zbyněk: „ne ano ne ne ano anoano ne nene ano ne ano anoano ne ne ano ne ne ne...“
Co je to informatika? • Věda o zahlcení lidstva informacemi • Věda o šíření drbů (informací) • Věda o počítačích
Co je to počítač? • Můj nejlepší kamarád / miláček • Myslící stroj plánující zotročení lidstva • Prostě trochu složitější stroj • Schránka astrální bytosti
Počítač z různých úhlů pohledu • Laik: „magická“ černá skříňka • Programátor: software a data • Fyzik: hardware
Výpočetní technika • = Informační Technologie (anglickyInformationTechnology, zkráceně IT) • technické odvětví, které se zabývá způsobem, jakým fungují počítače • souhrnné označení pro související technologie
Co je to tedy ta informatika? • Informatika = obor lidské činnosti, který se zabývá zpracováním informací • Zahrnuje mimo jiné následující oblasti: • teorie informace, teorie kódování • vyčíslitelnost a složitost • kryptologie, steganografie • programovací jazyky, překladače • softwarové inženýrství • databáze, data mining • počítačová grafika • umělá inteligence • „Informatika se nezabývá počítači o nic více než astronomie dalekohledy.“ EdsgerWybeDijkstra
Anketa • Jak se jmenujete? • Co už s počítačem umíte? • Proč jste si zvolili právě tento seminář?
Algoritmus • návod či postup, kterým lze vyřešit daný typ úlohy • Abú Abd Alláh Muhammad Ibn Músáal-Chórezmí • Vlastnosti: • Jednoznačnost (determinovanost) • Jednoduchost kroků (elementárnost) • Konečnost (finitnost) • Výstup (resultativnost) • Obecnost (hromadnost, masovost, univerzálnost)
Příklady algoritmu Ingredience: • bílý rum (2 cl) • sodovka (2 dl) • limetkový sirup (5 kapek) • čerstvá máta (12 lístků) • limetka (1 kus) • třtinový cukr (1 lžíce) • led (5 kostek) Postup přípravy receptu: • Limetu nakrájíme na malé kostičky a vložíme do vyšší sklenice. • Přidáme lístky máty a třtinový cukr. • Stlačíme ke dnu sklenice, dokud se nezačne tvořit šťáva. • Zakapeme limetovým sirupem. • Přidáme ledovou tříšť, rum a sklenici dolijeme sodovkou. • Hladinu koktejlu dozdobíme čerstvou mátou. • Pokud je koktejl příliš kyselý, přidáme lžičku cukru.
Příklady algoritmu Ingredience: • bílý rum (2 cl) • sodovka (2 dl) • limetkový sirup (5 kapek) • čerstvá máta (12 lístků) • limetka (1 kus) • třtinový cukr (1 lžíce) • led (5 kostek) Postup přípravy receptu: • Limetu nakrájíme na malé kostičky a vložíme do vyšší sklenice. • Přidáme lístky máty a třtinový cukr. • Stlačíme ke dnu sklenice, dokud se nezačne tvořit šťáva. • Zakapeme limetovým sirupem. • Přidáme ledovou tříšť, rum a sklenici dolijeme sodovkou. • Hladinu koktejlu dozdobíme čerstvou mátou. • Pokud je koktejl příliš kyselý, přidáme lžičku cukru.
Příklady algoritmu • Vstup: koeficienty a, b a c • Postup: • Vypočítej D = b2 - 4ac. • Pokud D>0, pak x1 = (-b - D1/2)/(2a), x2= (-b + D1/2)/(2a). • Pokud D=0, pak x1 = x2= -b/(2a). • Pokud D<0, pak x1 = (-b - i(-D)1/2)/(2a), x2 = (-b + i(-D)1/2)/( 2a). • Výstup: kořeny kvadratické rovnice x1,x2
Příklady algoritmu #include <stdio.h> voidtecka(intpocet) {if(pocet <= 0) return; for(; pocet > 0; pocet--)printf(". "); } intmocnina(int x) { return x * x; } intmain(void) {tecka(10); printf("-5^2 = %i\n", mocnina(-5)); return 0; }
Špatný algoritmus Manželka programátora vyšle svého chotě na nákup: „Kup dvě vejce a když budou mít párky, tak deset.“ Programátor vstoupí do obchodu: „Dobrý den, máte párky?“ „Ano.“ „Tak deset vajec.“
Programování • proces tvorby softwaru • zahrnuje mimo jiné: • návrhu algoritmu, • psaní programu, • testování a ladění zdrojového kódu, • následnou údržbu softwaru.
Styly programování (paradigmata) • strukturované programování • procedurální programování • funkcionální programování • objektově orientované programování • logické programování • ...
Programovací jazyky • Fortran • Cobol • Basic • Pascal • C • Smalltalk • C++ • Perl • Python • Java • C# • …
Jazyk C# • Jednoduchý, moderní, mnohoúčelový, objektově orientovaný jazyk • Vytvořen v roce 2000 firmou Microsoft • Aktuální verze 5.0 (15. srpna 2012) • Vývojové prostředí MS Visual C# (Express Edition) • Podpora více paradigmat: • strukturované • procedurální • objektově orientované • událostmi řízené • funkcionální