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 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 ANO nebo NE. Jaroslav: Jaké je jméno osobnosti, kterou představujete? Zbyněk: ne ano ne ne ano ano ano ne ne ne ano ne ano ano ano ne ne ano ne ne ne...
Co je to informatika? a) Věda o zahlcení lidstva informacemi b) Věda o šíření drbů (informací) c) Věda o počítačích
Co je to počítač? a) Můj nejlepší kamarád / miláček b) Myslící stroj plánující zotročení lidstva c) Prostě trochu složitější stroj d) 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
Jak může vypadat počítač?
Jak může vypadat počítač?
Jak může vypadat počítač?
Jak může vypadat počítač?
Jak může vypadat počítač?
Jak může vypadat počítač?
Výpočetní technika = Informační Technologie (anglicky Information Technology, 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. Edsger Wybe Dijkstra
Anketa 1. Jak se jmenujete? 2. Co už s počítačem umíte? 3. 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 = b 2-4ac. Pokud D>0, pak x 1 = (-b - D 1/2 )/(2a), x 2 = (-b + D 1/2 )/(2a). Pokud D=0, pak x 1 = x 2 = -b/(2a). Pokud D<0, pak x 1 = (-b - i(-d) 1/2 )/(2a), x 2 = (-b + i(-d) 1/2 )/( 2a). Výstup: kořeny kvadratické rovnice x 1, x 2
Příklady algoritmu
Příklady algoritmu
Příklady algoritmu #include <stdio.h> void tecka(int pocet) { if (pocet <= 0) return; for (; pocet > 0; pocet--) printf(". "); } int mocnina(int x) { return x * x; } int main(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 C# Fortran Cobol Basic Pascal C Smalltalk C++ Perl Python Java
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í
Microsoft Visual C#
Cvičení
Pro dnešek to stačí