Sada 1 - Základy programování



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

Úvod. Programovací paradigmata

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

Sada 1 - Základy programování

Delphi - objektově orientované

Sada 1 - Základy programování

IB111 Úvod do programování skrze Python Přednáška 13

Sada 1 - Základy programování

Sada 1 - Základy programování

Sada 1 - Základy programování

Programovací jazyky. imperativní (procedurální) neimperativní (neprocedurální) assembler (jazyk symbolických instrukcí)

IB111 Programování a algoritmizace. Programovací jazyky

Programovací jazyky. imperativní (procedurální) neimperativní (neprocedurální) assembler (jazyk symbolických instrukcí)

Vlastnosti algoritmu. elementárnost. determinovanost. rezultativnost. konečnost. hromadnost. efektivnost

Sada 1 CAD Písmo v AutoCADu

Vyřešené teoretické otázky do OOP ( )

Program a životní cyklus programu

Masarykova střední škola zemědělská a Vyšší odborná škola, Opava, příspěvková organizace

Sada 1 - Základy programování

Objektově orientovaný přístup

Sada 1 - Základy programování

Sada 2 Microsoft Word 2007

1 Základních pojmy z oblasti programování, vyšší programovací jazyky, programovací paradigmata

Sada 2 Microsoft Word 2007

TÉMATICKÝ OKRUH Softwarové inženýrství

Sada 2 Microsoft Word 2007

Sada 1 - Základy programování

3. Je defenzivní programování technikou skrývání implementace? Vyberte jednu z nabízených možností: Pravda Nepravda

1 Strukturované programování

Sada 2 Microsoft Word 2007

Sada 2 - MS Office, Excel

Programování II. Modularita 2017/18

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

1. Dědičnost a polymorfismus

Programovací jazyky Přehled a vývoj

PB161 Programování v jazyce C++ Přednáška 7

Sada 2 Stavební provoz

Sada 2 Microsoft Word 2007

Sada 1 CAD Stažení a instalace výukového SW firmy Autodesk

PB161 Programování v jazyce C++ Přednáška 7

Sada 1 CAD Kótování kótovací styl

Sada 1 Matematika. 01. Množiny - úvod

Sada 2 Stavební provoz

Sada 1 Matematika. 06. Finanční matematika - úvod

Algoritmizace- úvod. Ing. Tomáš Otáhal

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

Sada 1 CAD Prostorové souřadnice v CAD systémech

Sada 3 Inženýrské stavby

Sada 1 - PHP. 05. Větvení

Sada 2 - MS Office, Excel

Sada 1 - PHP. 03. Proměnné, konstanty

Sada 2 - MS Office, Excel

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

Sada 2 Microsoft Word 2007

Maturitní témata Školní rok: 2015/2016

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

Návrhové vzory OMO, LS 2014/2015

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ /14

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

Sada 1 - Základy programování

Ekonomika Veřejní obchodní společnost Komanditní společnost

Sada 1 Matematika. 04. Nekonečné řady

Sada 2 CAD2. 4. CADKON 2D 2011 Vkládání schodiště

PB161 Základy OOP. Tomáš Brukner

Objekty, třídy, vazby 2006 UOMO 30

DTP Základy programování Úvod do předmětu

Matematika v programovacích

STŘEDNÍ ŠKOLA STAVEBNÍ JIHLAVA

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

Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost rozhraním a výjimkám.

Sada 2 Microsoft Word 2007

Vrstvy programového vybavení Klasifikace Systémové prostředky, ostatní SW Pořizování Využití

Sada 2 Microsoft Word 2007

Sada 2 Klempířská technologie 29.Krovy střech

Sada 1 - Elektrotechnika

Sada 1 - Elektrotechnika

Sada 1 Geodezie I. 04. Vytyčení přímky

Sada 2 - MS Office, Excel

Sada 1 - PHP. 20. Obrázky z obrázků

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT EU-OVK-VZ-III/2-ZÁ-304

Ekonomika Státní rozpočet

Maturitní otázky z předmětu PROGRAMOVÁNÍ

Sada 3 CAD3. 4. CADKON DT+ Okna

Sada 1 - Ekonomika 3. ročník

Sada 2 Klempířská technologie

IB111 Úvod do programování skrze Python Přednáška 13

Sada 3 CAD3. 6. CADKON DT+ Dveře

Sada 1 Klempířská technologie

Sada 2 Geodezie II. 12. Výpočet kubatur

Sada 2 Microsoft Word 2007

VÝUKOVÝ MATERIÁL. 3. ročník učebního oboru Elektrikář Přílohy. bez příloh. Identifikační údaje školy

Ekonomika Živnostenské podnikání

Počítač jako elektronické, Číslicové zařízení

Sada 2 Geodezie II. 09. Polní a kancelářské práce

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

Výukový materiál zpracován v rámci projektu EU peníze školám

Sada 1 Geodezie I. 05. Vytyčení kolmice a rovnoběžky

Sada 2 Geodezie II. 16. Měření posunů a přetvoření

ALGORITMIZACE. Výukový materiál pro tercii osmiletého gymnázia

IB111 Programování a algoritmizace. Objektově orientované programování (OOP)

Transkript:

S třední škola stavební Jihlava Sada 1 - Základy programování 01. Základní pojmy a principy programování Digitální učební materiál projektu: SŠS Jihlava šablony registrační číslo projektu:cz.1.09/1.5.00/34.0284 Šablona: III/2 - inovace a zkvalitnění výuky prostřednictvím ICT Jaromír Železný 2012 Projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky

Programování rychle se stalo jedním znejdůležitějších oborů lidské činnosti. Důvod? Počítačem se dnes řídí téměř vše od digitálních hodinek, přes mobilní telefony (+ smartphony) automatické pračky požární a zabezpečovací systémy řídící jednotky v automobilech až po letadla nebo kosmické rakety.

Programování Programy vznikají, abychom si ulehčili a zpříjemnili činnosti, které děláme. Lenost základ pokroku. Umět programovat neznamená jen prostě vytvářet programy. Znamená to vytvářet nejefektivnější, nejrychlejší a nejjednodušší, ale zároveň dokonale funkční programy

Postup při programování nejprve si rozmyslet, co má program dělat nakreslit vývojový diagram přepsat v programovacím jazyce přemýšlet, zda by to nešlo udělat Jednodušeji Lépe Levněji ( otestovat funkčnost, odladit chyby )

Programátor člověk, který má analytické a logické myšlení, tzn. přemýšlí o jednotlivých krocích při postupu řešení daného problému člověk, svým způsobem líný, protože jediné, co ho zajímá, je usnadnit si práci lenost neznamená nepracovat, ale zaručí, abychom nedělali zbytečnou práci!

Algoritmus postup řešení určitého problému posloupnost operací, která pro přípustná vstupní data, vede po konečném počtu kroků k odpovídajícím výsledkům např.: recept z kuchařky pracovní postup

Počítačový program jednoznačná posloupnost operací, která popisuje realizaci dané úlohy je vytvořen programátorem zápisem algoritmu v programovacím jazyce dříve byl často realizován přímo v hardware zapojením vodičů, děrným štítkem apod. může být v počítači prováděn interpretem ( = program, který vykonává instrukce zapsané v programovacím jazyce, zpracování zdrojového kódu programu tak dochází přímo k jeho vykonávání využívá se při ladění programu postupuje se krok po kroku), nebo může být pomocí překladače (kompilátoru) nejprve přeložen do strojového kódu a teprve pak přímo prováděn mikroprocesorem.

Programovací jazyk program pro počítač je algoritmus určitého problému popsaný v programovacím jazyce programátor obvykle nepíše program přímo v jazyce procesoru, ale v jazyce, který je bližší vyjadřovacím schopnostem a způsobu myšlení člověka. Takovým jazykům se říká vyšší programovací jazyky. vyšší programovací jazyky by měly mít takové vlastnosti, aby se v nich člověku dobře zapisovaly algoritmy překlad programu napsaného člověkem do jazyka procesoru zajistí speciální program překladač (kompilátor) překladač vytvoří soubor, který lze spustit na počítači (např. muj_program.exe)

Programovací jazyk vyšší programovací jazyk není určen počítačům, ale lidem, kteří vněm zapisují algoritmy a ty jsou následně kompilovány do strojového kódu, kterému procesor rozumí přímo ve strojovém kódu se psaly programy pro první samočinné počítače asi do konce 40. let nejenže to bylo pracné a komplikované, ale programovat počítače mohl jenom odborník na počítače

Programovací jazyky 3 úrovně Strojový kód hardwarově závislý, nutná znalost vnitřku počítače číselný vzhled jediný jazyk, kterému rozumí počítač program musí být do strojového kódu vždy přeložen. Jazyk symbolických adres (assembler) symbolické zápisy instrukcí (místo čísel zkratkové příkazy) používá se v kritických místech programů Vyšší programovací jazyky jednoduchý zápis (formalizovaná angličtina) existuje velké množství jazyků -každý je vhodný k něčemu jinému

Vyšší programovací jazyky Vyšší programovací jazyky: Cobol - hromadné zpracování dat Fortran - vědeckotechnické výpočty Algol- předchůdce Pascalu Pascal - výuka, tvorba aplikací (Delphi) C,C++ - profesionální jazyk, blízko HW (operační systém) Basic -pro začátečníky a laiky, má nevýhody, ale dnes také renesance. Java -programování pro WWW, přesto plnohodnotný jazyk založený na C Prolog - logické programování

Strukturované programování algoritmus se rozděluje na dílčí úlohy (procedury či funkce), které se spojují v jeden celek. lze na něho nahlížet jako na podmnožinu imperativního programování, avšak s jistými omezeními k implementaci v počítačovém programu se používá vybraných řídicích struktur, ostatní struktury nejsou povoleny u strukturovaného programování se např. nepoužívá řídící příkaz skoku

Objektově orientované programování OOP je metodika vývoje software, založená na následujících myšlenkách a koncepci: Objekty jednotlivé prvky modelované reality (jak data, tak související funkčnost) jsou v programu seskupeny do entit, nazývaných objekty. pamatují si svůj stav a navenek poskytují operace (přístupné jako metody pro volání). Abstrakce programátor, potažmo program, který vytváří, může abstrahovat od některých detailů práce jednotlivých objektů. Každý objekt pracuje jako černá skříňka, která dokáže provádět určené činnosti a komunikovat s okolím, aniž by vyžadovala znalost způsobu, kterým vnitřně pracuje. Zapouzdření zaručuje, že objekt nemůže přímo přistupovat k vnitřnostem jiných objektů, což by mohlo vést k nekonzistenci. každý objekt navenek zpřístupňuje rozhraní, pomocí kterého (a nijak jinak) se s objektem pracuje. Skládání Objekt může obsahovat jiné objekty. Delegování Objekt může využívat služeb jiných objektů tak, že je požádá o provedení operace.

Objektově orientované programování Dědičnost objekty jsou organizovány stromovým způsobem, kdy objekty nějakého druhu mohou dědit z jiného druhu objektů, čímž přebírají jejich schopnosti, ke kterým pouze přidávají svoje vlastní rozšíření. Tato myšlenka se obvykle implementuje pomocí rozdělení objektů do tříd, přičemž každý objekt je instancí nějaké třídy. Každá třída pak může dědit od jiné třídy (v některých programovacích jazycích i z několika jiných tříd). Polymorfismus odkazovaný objekt se chová podle toho, jaké třídy je instancí. Pokud několik objektů poskytuje stejné rozhraní, pracuje se s nimi stejným způsobem, ale jejich konkrétní chování se liší podle implementace. U polymorfismu podmíněného dědičností to znamená, že na místo, kde je očekávána instance nějaké třídy, můžeme dosadit i instanci libovolné její podtřídy, neboť rozhraní třídy je podmnožinou rozhraní podtřídy. U polymorfismu nepodmíněného dědičností je dostačující, jestliže se rozhraní (nebo jejich požadované části) u různých tříd shodují, pak Třída je základním obecným pojmem klasifikace, jak při návrhu uspořádávát informace do smysluplné entity. Základním pojmem je objekt, instance třídy, jako konkrétní případ realizace předpisu. Objekt si pamatuje svůj stav (v podobě dat čili atributů) a zveřejněním některých svých operací (nazývaných metody) poskytuje rozhraní, jak s ním pracovat. Při používání objektu nás zajímá, jaké operace (služby) poskytuje, ale ne, jakým způsobem to provádí - to je princip zapouzdření. Jestli to provádí sám nebo využije služeb jiných objektů, je celkem jedno. Vlastní implementaci pak můžeme změnit (např. zefektivnit), aniž by se to dotklo všech, kteří objekt používají. jsou vzájemně polymorfní.

Zdroje: http://objekty.vse.cz/programovani/ Literatura: Radek HYLMAR: Programování pro úplné začátečníky, Computer Press, Brno, 2009, ISBN 978-80-251-2129-0 Ondřej ČADA: Objektové programování, GRADA, Praha, 2009, ISBN 978-80-247-2745-5 Materiál je určen k bezplatnému používání pro potřeby výuky a vzdělávání na všech typech škol a školských zařízení. Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je : Jaromír Železný Pokud není uvedeno jinak, byly při tvorbě použity volně přístupné internetové zdroje. Autor souhlasí se sdílením vytvořených materiálů a jejich umístěním na www.ssstavji.cz.