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



Podobné dokumenty
Algoritmizace. Cíle předmětu

11. Přehled prog. jazyků

Název předmětu: Školní rok: Forma studia: Studijní obory: Ročník: Semestr: Typ předmětu: Rozsah a zakončení předmětu:

2 Postup při programování, úvod do programovacího jazyka Java

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

Úvod do programování v jazyce Java

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

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

Matematika v programovacích

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

Algoritmizace. Algoritmizace (Y36ALG), Šumperk - 1. přednáška 1

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

Algoritmizace, základy programování, VY_32_INOVACE_PRG_ALGO_01

3 Co je algoritmus? Trocha historie Definice algoritmu Vlastnosti algoritmu... 3

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

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

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace

Programování v C++ Úplnej úvod. Peta (maj@arcig.cz, SPR AG )

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

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

Vývojové nástroje jazyka Java

Algoritmy a algoritmizace

ALGORITMIZACE A PROGRAMOVÁNÍ

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

Programování 1 - Java

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

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

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

3. Základy programovacího jazyka Java

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

INFORMATIKA. Libovolná učebnice k MS OFFICE 200x (samostatné učebnice k textovému procesoru MS Word 200x, tabulkovému procesoru MS Excel 200x).

Algoritmizace a programování

Hodnoticí standard. Programátor (kód: M) Odborná způsobilost. Platnost standardu. Skupina oborů: Informatické obory (kód: 18)

Úvod. Programovací paradigmata

Java [džava] nebo [džáva] v americkém slangu "kafe" Sun Microsystems nyní Oracle

ŠVP Gymnázium Ostrava-Zábřeh Úvod do programování

Vývoj programů. ÚVOD DO OPERAČNÍCH SYSTÉMŮ

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

INOVACE PŘEDMĚTŮ ICT MODUL 10: PROGRAMOVÁNÍ V DELPHI

Obsah. Úvod 11 Základy programování 11 Objektový přístup 11 Procvičování 11 Zvláštní odstavce 12 Zpětná vazba od čtenářů 12 Errata 13

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

9. Ladění a testování programů. booleovský výraz

Informatika. tercie. Mgr. Kateřina Macová 1

IB013 Logické programování I Hana Rudová. jaro 2011

Ú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

Algoritmizace. Obrázek 1: Přeložení programu překladačem

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

Program a životní cyklus programu

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

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

Úvod do programování v jazyce Java

Sada 1 - Základy programování

4IZ440 Propojená data na webu Organizační úvod

IB111 Programování a algoritmizace. Programovací jazyky

12PPOK PROJEKTOVÁNÍ POZEMNÍCH KOMUNIKACÍ

Vizuální programování

Komprese a dotazování nad XML dokumenty

První kroky s METEL IEC IDE

Program. Organizace semináře Základní principy OOP Úvod do programovacího jazyka Java Distribuce

SYLABUS TVŮRCE SYSTÉMŮ MODULU. Michal Červinka, Ivo Špička

INOVACE PŘEDMĚTŮ ICT. MODUL 11: PROGRAMOVÁNÍ WEBOVÝCH APLIKLACÍ Metodika

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

Vstupní požadavky, doporučení a metodické pokyny

Klíčová slova: OOP, konstruktor, destruktor, třída, objekt, atribut, metoda

Překladač a jeho struktura

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace

PC GRAMOTNOST PRO POLITOLOGY

Programování a algoritmizace: úvod

Vzdělávací oblast: Informatika a informační a komunikační technologie Vzdělávací obor: Programování Předmět: Programování

Vzdělávací oblast: Informatika a informační a komunikační technologie Vzdělávací obor: Programování. Předmět: Programování

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

Ukázka knihy z internetového knihkupectví

Algoritmizace a programování

Vývojové diagramy 1/7

Algoritmizace prostorových úloh

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

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

Počítačové modelování

C2184 Úvod do programování v Pythonu podzim Mgr. Stanislav Geidl Národní centrum pro výzkum biomolekul Masarykova univerzita.

Karta předmětu prezenční studium

Vícerozměrná pole. Úvod do programování 2 Tomáš Kühr

Studium na katedře informatiky

Obsah. 1) Rozšířené zadání 2) Teorie zásuvných modulů a) Druhy aplikací používajících zásuvné moduly b) Knihovny c) Architektura aplikace d) Výhody

Profilová část maturitní zkoušky 2017/2018

Úvod do programovacího jazyka Python

Tvorba informačních systémů

Základy algoritmizace a programování

ÚVOD DO UNIXU. Metodický list č. 1

Algoritmizace a programování. Ak. rok 2012/2013 vbp 1. ze 44

Základy programování Úvodní informace. doc. RNDr. Petr Šaloun, Ph.D. VŠB-TUO, FEI (přednáška připravena z podkladů Ing. Michala Radeckého)

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

KIV/ASWI 2007/2008 Pokročilé softwarové inženýrství. Cíle předmětu Organizační informace Opakování

Vývoj informačních systémů. Přehled témat a úkolů

VYSOKÁ ŠKOLA FINANČNÍ A SPRÁVNÍ, O.P.S. Základy informatiky

Karta předmětu prezenční studium

Informační a komunikační technologie

Algoritmizace. 1. Úvod. Algoritmus

Operační systémy. Cvičení 1: Seznámení s prostředím

Transkript:

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

Přednášky Jiřina Královcová MTI, přízemí budovy A Tel: 48 53 53 521 E-mail: jirina.kralovcova@tul.cz Cvičení a semináře Ing. Alena Gregová MTI, přízemí budovy A, alena.gregova@tul.cz Ing. Radek Srb MTI, přízemí budovy A, radek.srb@tul.cz Ing. Jana Vitvarová, Ph.D. MTI, 3. patro budovy A, jana.vitvarova@tul.cz doc. Ing. Jiřina Královcová, Ph.D. MTI, budova L, 4. patro Praktická výuka probíhá v učebně TK6 MTI, přízemí budovy A 2

Struktura předmětu Předmět Algoritmizace a programování Dva semestry 2 + 2 Předmět Seminář z programování Posílení praktické výuky programování Dva semestry 0 + 2 Organizace předmětů Cvičení z ALP, zápočet, zkouška Cvičeni z ALPS, zápočet 3

Obsah předmětu zimní semestr Přednášky Programovací jazyk Java, zápis algoritmů pomocí jazyka Java Struktura programu Primitivní datové typy Konstrukce pro psaní kódu Jednoduché algoritmy Základy objektově orientovaného programování Pole, základní algoritmy pro zpracování pole Vyhledávání a třídění Vícerozměrná pole Textové řetězce, algoritmy pro manipulaci s textovými řetězci Cvičení Praktické programování v jazyce Java Procvičování problematiky probrané na přednáškách Seminář Pokročilejší úlohy Různé varianty řešení a jejich porovnání Časová a paměťová náročnost Důraz na správné návyky Samostatná práce 4

Obsah předmětu letní semestr Přednášky Objektové programování využití objektového přístupu Pokročilé vlastnosti objektů Výjimky, balíčky, rozhraní Vstupně/výstupní operace Práce s diskovými soubory zpracování souborů znaků, souborů bytů Třídy StringBuffer, Arrays Spojové seznamy a jejich správa v jazyce Java Kontejnerové třídy jazyka Java rozhrani Collection, třídy ArrayList, Collections, LinkedList, iterátory a jejich použití Cvičení Praktické programování v jazyce Java Procvičování problematiky probrané na přednáškách Seminář Pokročilejší úlohy Různé varianty řešení a jejich porovnání Časová a paměťová náročnost Důraz na správné návyky Samostatná práce 5

Podmínky pro absolvování Seminář ukončen zápočtem účast povinná, bude udělen na základě aktivní účasti na seminářích a vyřešení zadaných samostatných úloh podmínky upřesní cvičící Ze cvičení studenti získají zápočet účast povinná, podmínky pro udělení zápočtu upřesní cvičící (účast na cvičeních, samostatná práce, úspěšné absolvování zápočtového testu) Předmět je zakončen zkouškou, pro absolvování zkoušky je nutný zápočet z předmětu, zkouška je převážně písemná, částečně doplněná ústním zkoušením 6

Doporučená literatura Pavel Herout: Učebnice jazyka Java, KOPP, České Budějovice, 2007, ISBN 978-80-7232-323-4 Pavel Herout: Java bohatství knihoven, KOPP, České Budějovice, 2006, ISBN 80-7232-288-5 Sharon Zakhour a kol.: Java 6 Výukový kurz, Computer Press, Brno, 2007, ISBN 978-80-251-1575-6 Robert Sedgewick: Algoritmy v C, části 1 4, základy, datové struktury, třídění, vyhledávání. Ćeská edice vydána v Softpress, 2003, ISBN 80-86497-56-9 Robert Sedgewick: Algorithms in Java, parts 1 4, fundamentals, data structures, sorting, searching. Addison-Wesley, 2007, ISBN-13 978-0-201-36120-9 Rudolf Pecinovský: Návrhové vzory 33 vzorových postupů pro objektové programování, Computer Press, Brno, 2007, ISBN 978-80251-1582-4 Nahrávané přednášky, přístupné z https://elearning.fm.tul.cz/, info viz 2. týden na semináři Studijní materiály předmětu ALP dostupné z: http://www.fm.tul.cz/prg Dokumentace jazyka Java: http://docs.oracle.com/javase/7/docs/ Specifikace jazyka Java:http://docs.oracle.com/javase/specs/ Tutoriály: http://docs.oracle.com/javase/tutorial/ 7

Algoritmizace a programování Uvedení problematiky Programování Programovací jazyky Programovací jazyk Java Verze pro akademický rok 2012/2013 8

Algoritmizace Úloha Algoritmus postup řešení úlohy Zápis algoritmu Slovní zápis pomocí přirozeného jazyka Grafický zápis vývojový diagram Zápis pomocí pseudojazyka (programovacího jazyka) 9

Programování Programování vývoj programů Popis postupů obvykle ve tvaru, který umožňuje provedení počítačem Standardizovaný nástroj pro komunikaci s počítačem? Jaká data, jak je ukládat a přenášet Které akce, kdy se mají provést Fáze zpracování programu Úloha specifikace vstupních dat informací, specifikace výstupů Zápis a úpravy algoritmu v programovacím jazyce prostý text textový editor Překlad programu do strojového jazyka kompilátor překladač Sestavení programu do podoby spustitelné na počítači linker Spuštění programu Ladění programu odstranění chyb z programu (průběžným opakováních předchozích čtyř fází) debugger podpůrný prostředek pro ladění Nástroje jsou zpravidla integrovány ve vývojovém prostředí Výsledkem je na počítači spustitelný program, který řeší zadanou úlohu tj. poskytuje správné výsledky pro všechny možné varianty vstupních dat 10

Programovací jazyk Programovací jazyky nižší úrovně strojově orientované, závislost na procesoru Programovací jazyky vyšší úrovně vyšší míra abstrakce od detailů počítače, členění paměti programu, čitelnost, přenositelnost, větší nároky na paměť a čas Kompilované jazyky editor, překladač (syntaktická analýza, strojový kód), linker Interpretované jazyky editor, interpret Programovací jazyk charakterizován abecedou, syntaxí, sémantikou Abeceda všechny znaky, které se mohou používat Syntaxe jazyka soubor pravidel, podle kterých je v programovacím jazyce povoleno sestavovat ze struktur jednodušších struktury složitější Syntaktickou správnost ověří překladač Sémantika přiřazuje přípustným strukturám určitý význam, určuje význam zapsaných konstrukcí, syntakticky správně zapsaný program nemusí být správně sémanticky Sémanticky správný je program, který poskytuje správné výsledky pro všechny potenciální kombinace vstupů. Neexistuje žádný obecně použitelní prostředek (třeba počítačový program), který by ověřil zda zadaný program řeší správně zadanou úlohu Data a kód Konstanty a proměnné, paměťové místo Výrazy a příkazy 11

Programovací jazyk Java Jazyk je vyvíjen od roku 1991 Syntaxe jazyka založena na principech jazyka C Univerzální jazyk, objektově orientovaný, multiplatformní, přenositelnost programů Zpracování programu v jazyce Java Editace, překlad, zavedení, ověření, spuštění Ve fázi překladu je program je přeložen do pseudokódu Program přeložený do pseudokódu je potom spustitelný v prostředí Java virtual machine (JVM) lze jej spustit na libovolném počítači na kterém běží JVM JVM je k dispozici pro všechny běžné platformy JVM provádí intepretaci instrukcí pseudokódu Instalace Java Java Runtime Environment (JRE) umožňuje spouštění aplikací na koncových uživatelských počítačích zpravidla instalováno na všech počítačích Java Software Development Kit (JDK) vývojové prostředí obsahuje nástroje podporující vývoj aplikací překlad, sestavení archivu konkrétní aplikace, tvorba dokumentace apod. Java platforma Java Virtual Machine (JVM) pro spouštění aplikací Překladač a další vývojové nástroje Základní knihovna tříd (Java Core API) Verze jazyka Java 1.0, 1.1, 1.5 (Java 5), 1.6 (Java 6), 1.7 12

Vývojové prostředí Vývojové prostředí NetBeans Volně ke stažení Vyvíjené firmou SUN Obsahuje podporu vizuálního návrhy grafického uživatelského rozhraní Vývojové prostředí Eclipse Volně ke stažení Nejedná se o instalovaný SW stačí zkopírovat ZIP archiv a rozbalit a spustit exe soubor vývojového prostředí 13

Základní vybavení Jazyk Java JRE JDK Dokumentace jazyka Java Vývojové prostředí NetBeans Eclipse 14

Shrnutí Obsah předmětu Význam algoritmizace Programování obecně Programovací jazyky Programovací jazyk Java Historie a charakteristika Vývojové verze jazyka Základní pojmy Dostupná vývojová prostředí Vybavení pro praktické programování 15

Kontrolní otázky Jaké jsou fáze zpracování programu v programovacím jazyce? Jaké jsou fáze zpracování programu v jazyce Java? Jak se liší kompilované a interpretované programovací jazyky? K jakému typu jazyků patří jazyk Java k interpretovaným nebo kompilovaným? Jak je zajištěna multiplatformnost jazyka Java? Co to znamená když řekneme, že program je syntakticky správný? Co to znamená když řekneme, že program je sémanticky správný? 16