IB111 Programování a algoritmizace

Slides:



Advertisements
Podobné prezentace
Dynamické dokumenty na straně klienta Informatika pro ekonomy II.
Advertisements

VÝVOJ PROGRAMOVACÍCH JAZYKŮ PERSPEKTIVY ELEKTRONIKY 3. Celostátní seminář, 18. března 2003 Ing. Pavel Pokorný UNIVERZITA TOMÁŠE BATI VE ZLÍNĚ Fakulta technologická.
Programovací jazyky a přehled softwaru
Základy databázových systémů
Historie programování
Operační systémy jednouživatelské, jednoúlohové - MS DOS (výjimka pro PRINT) jednouživatelské, víceúlohové - MS Windows víceživatelské, víceúlohové - Unixy.
HYPERTEXT PREPROCESSOR. PROGRAMOVÁNÍ. DEFINICE POJMŮ Problém Problém nevyřešený, nežádoucí stav obvykle vyžaduje nějaké řešení Neřešitelný problém Neřešitelný.
 Informací se data a vztahy mezi nimi stávají vhodnou interpretací pro uživatele, která odhaluje uspořádání, vztahy, tendence a trendy  Existuje celá.
Referát č.8 Jakub Pelikán
Programovací jazyky Programovací jazyky jsou jazyky sloužící k tvorbě počítačových programů Dělení:  nižší  vyšší jazyky primitivní, jejichž instrukce.
PROGRAMOVACÍ JAZYKY (c) Tralvex Yeap. All Rights Reserved.
Základy informatiky programovací prostředky
Principy překladačů Interpretované jazyky Jakub Yaghob.
2IT – PVY – objektové DBS Bc. Jiří Šilhán
Tvorba webových aplikací
PROGRAMOVÁNÍ V PHP PERSONAL HOME PAGES. 2 PHP JE SKRIPTOVACÍ JAZYK PRO TVORBU DYNAMICKÉHO WEBU A JEHO POČÁTKY SPADAJÍ DO ROKU HISTORIE PAN RASMUS.
Otázka č. 8 Ingrid Vyroubalová.  Veškeré programové vybavení počítače  Určeno pro interakci s uživatelem  Využívá grafické rozhraní (GUI) (MS Office,
Apache, PHP, MySQL Lukáš Masopust Web server Apache Aplikace schopná zpracovat HTTP požadavek Nejpoužívanější Web server Vytváří ho The Apache.
25. ALGORITMIZACE A PROGRAMOVÁNÍ
Základy algoritmizace a programování
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Úvod. školní: příprava na předmět Databázové systémy praktický: webové aplikace databázové systémy základy vývoje webových aplikací od návrhu databáze.
PHP – Základy programování
Implementace Přednáška z předmětu Počítače I Dana Nejedlová
Základy programování a programovací jazyky
Databázové systémy. Práce s daty Ukládání dat Aktualizace dat Vyhledávání dat Třídění dat Výpočty a agregace.
Databázové systémy Architektury DBS.
C# - Úvod Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí.
Simulační modely a programové vybavení. Vývoj simulačních programů  Původně pouze strojový kód –Příliš dlouhé, náročné na programátora, obtížné hledání.
Jazyk PHP Programovací jazyk PHP (Hypertext preprocessor) je skriptovací jazyk, který běží na straně serveru. KLIENT - SERVER Server posílá do vašeho počítače.
IB111 Programování a algoritmizace
Návrh a tvorba WWW Přednáška 5 Úvod do jazyka PHP.
Od zadání úlohy k programu Výpočetní systémy I 8. přednáška.
Dokumentace informačního systému
Úvod do JavaScriptu JavaScript je p JavaScript je programovací jazyk, který se používá na webových stránkách. JavaScript je typu KLIENT - KLIENT To znamená,
uložené procedury (stored procedures) triggery, sekvence, pohledy, funkce, parametrické dotazy (prepared statements) komplexní agregace a SQL dotazy jiné.
Algoritmizace a programování Algoritmizace – základní pojmy - 01
Aplikační programy, programovací jazyky, formáty datových souborů
Vytváření a realizace algoritmů Algoritmy a datové struktury
Referát č.8 Daniela Venusová.
Gymnázium, Obchodní akademie a Jazyková škola s právem státní jazykové zkoušky Hodonín Úvod do programování.
Databáze Lokální systémy a SQL servery VY_32_INOVACE_7B10.
PHP PHP - úvod - 02 Mgr. Josef Nožička IKT PHP
Vzdálené počítačové sítě a programování v prostředí Windows Okruhy ke zkoušce z předmětu: Ing. Zdeněk Votruba LVALVA.
1 Programování a p. jazyky Postup při tvorbě programu (systému) –strategie –analýza ( konceptuální modely) Datová Procesní –návrh (i/o, výjimky, algoritmus)
Jazyky pro umělou inteligenci RNDr. Jiří Dvořák, CSc.
Programování POCSI. Programovani/POCSI2 Základní pojmy Akce - děj nad objekty, mající začátek a konec, a mající přesně definovaný účinek. Příkaz - popis.
Programování VISUAL BASIC KGI / PROG 1. ročník LS.
doc. RNDr. Zdeněk Botek, CSc.
PHP Programy pro tvorbu WWW stránek - 01
České vysoké učení technické Fakulta elektrotechnická Datové typy, výrazy vstup, výstup Jazyk JAVA A0B36PRI - PROGRAMOVÁN Í v1.02.
Visual Basic - programování
Visual Basic Úvod do programování. Co je to program  Program je řada příkazů, které určují počítači, co má provádět, jak má zacházet s vloženými daty.
XSLT překladač Marek Běhálek Informatika a aplikovaná matematika FEI VŠB-TU Ostrava.
Aplikační programy, programovací jazyky, formáty datových souborů
KURZ ALGORITMIZACE A PROGRAMOVÁNÍ V JAZYCE C Lekce č. 4: Programovací jazyk C Bc. Radek Libovický.
CZ.1.07/1.5.00/ Využití ICT pro rozvoj klíčových kompetencí CZ.1.07/1.5.00/ Střední odborná škola elektrotechnická, Centrum odborné přípravy.
Programovací jazyky OB21-OP-EL-KON-DOL-M Orbis pictus 21. století.
Překladače 1. Překladače a programovací jazyky © Milan Keršlágerhttp:// Obsah:
AS/400 (IBM iSeries) Úvod. Co vlastně je AS/400 (IBM i)? Aplikační systém 400 (AS/400) byl navržen jako počítač obecně použitelný v obchodním prostředí.
NÁZEV ŠKOLY:SOŠ Net Office, spol. s r.o. Orlová Lutyně
Druhy aplikačních programů – rozdělení podle účelu 1
Software Počítače - rozdělení podle účelu
Výukový materiál zpracován v rámci projektu
Algoritmizace – základní pojmy
Soubor Soubor v informatice označuje pojmenovanou sadu dat uloženou na nějakém datovém médiu, se kterou lze pracovat nástroji operačního systému jako.
Výukový materiál zpracován v rámci projektu
Programovací jazyk C Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Jitka Vlčková. Dostupné z Metodického portálu ISSN.
Moderní didaktické technologie a zdroje informací
Úvod do programovania Ing. Eva Gabonayová 2012.
Transkript prezentace:

IB111 Programování a algoritmizace Programovací jazyky

Programovací jazyky Programovací jazyk Program Prostředek pro zápis algoritmů, jež mohou být provedeny na počítači Program Zápis algoritmu v programovacím jazyce.

Dělení programovacích jazyků Podle míry abstrakce Vyšší programovací jazyky Sem patří většina jazyků Např. C/C++, Pascal, Basic, Java, PHP Nižší programovací jazyky Assembler („jazyk symbolických adres“) Strojový jazyk (strojový kód)

Assembler – příklad

Strojový kód - příklad

Dělení programovacích jazyků Podle způsobu překladu a spuštění Kompilované jazyky Kompilátor přeloží program kompletně do kódu cílového systému (strojového kódu). Např. C/C++, Pascal Vyžaduje překlad ale přeložený program běží rychle. Interpretované jazyky Při spuštění programu je spuštěn interpret a ten interpretuje program v programovacím jazyce. Není nutný překlad, ale pro běh programu je nutný interpreter, který musí načíst program a ten postupně interpretovat. Výsledný běh je pomalejší.

Interpretované jazyky Protože plně interpretované jazyky běží relativně pomalu, byly navrženy úpravy pro zvýšení rychlosti běhu Kompilace do mezikódu Interpretuje se pak mezikód ne originální program (např. Java, Python) Za běhu se program zkompiluje do strojového kódu počítače Po iniciálním překladu pak běží rychle (např. Java JIT)

Interpretované jazyky Výhodou interpretovaných jazyků je jejich platformní nezávislost Je možné distribuovat jeden program, který „poběží“ na řadě platforem Nevýhodou interpretovaných jazyků je pomalost běhu Buď plně interpretované, nebo alespoň zpoždění díky iniciálnímu překladu Některé jazyky mohou být implementovány jako kompilované i interpretované Např. Java, BASIC Python: py2exe (?), PyPy

Vyšší programovací jazyky Imperativní (procedurální) Strukturované (např. C, Pascal) Objektově orientované (např. C++, Java) Deklarativní (neprocedurální) Funkcionální (např. Lisp, Haskell) Logické (např. Prolog, Gödel) Některé jazyky mohou kombinovat přístupy Např. C/C++ kombinuje str. a OOP přístup

Historie 30. a 40. léta minulého století Lambda kalkul a Turingův stroj Vhodné jako matematické vyjádření algoritmu Strojové kódy jednotlivých počítačů a jejich assemblery V polovině 50. let vznikl první jazyk vyšší úrovně

Historie jazyků vyšší úrovně FORTRAN (1954) Pojmenování proměnných, složené výrazy, podprogramy, … Vědeckotechnické výpočty ALGOL (1960) Matematické algoritmy COBOL (1960), BASIC (1964) Syntaxe podobná angličtině Pascal (1971), C (1972), Ada (1983) Dodnes používány pro nové projekty

Imperativní programování Příklad Fortran:

Imperativní programování Příklad Basic

Historie - OOP Smalltalk-80 (1980) C++ (1985) Perl (1987) Principy převzaty ze Simuly C++ (1985) Objektově orientovaná verze jazyka C (původně jen rozšíření) Perl (1987) Populární pro tvorbu CGI skriptů Python (1990) Skriptovací jazyk, vhodný i pro větší aplikace PHP (1994) Webové programování Java (1994) Platformní nezávislost

OOP příklad Příklad Java

OOP příklad Příklad Perl

OOP příklad Příklad PHP

Deklarativní programování Definuji „co se má udělat“ (cíl) Ne jak se to má udělat Mohu se tak vyvarovat implementačních chyb Nepoužíváme for nebo while cyklus, proměnné se používají jen omezeně Vše je řešeno pomocí rekurse Výsledkem je však snížená optimalita běhu programu

Logické programování - Prolog Příklad v Prologu rodic(ladislav, adriana). rodic(ladislav, lubomir). rodic(sarka, lubomir). sourozenec(Sourozenec, X) :- rodic(Y, X), rodic(Y, Sourozenec), \+(Sourozenec = X). Dotaz: sourozenec(adriana, X). Výstup: X = lubomir ; No Dotaz: rodic(X, lubomir). Výstup: X = ladislav ; X = sarka ;

Funkcionální programování Program jako vyhodnocení mat. funkcí Příklad v Haskellu

Přehled programovacích jazyků

Přehled programovacích jazyků

Který jazyk vybrat Ideální programovací jazyk použitelný pro všechny systémové a aplikační programy neexistuje. Každý jazyk má své pro a proti Právě kvůli nevýhodám existujících jazyků vznikaly a vznikají jazyky nové Rychlost programování vs. rychlost běhu programu Musíme zvolit rozumný kompromis

Který jazyk vybrat Nemá smysl programovat rok program v assembleru abych ho spustil jedinkrát pro provedení určitého krátkého výpočtu Program v Basicu bude sice běžet výrazně pomaleji, ale budu schopen ho naprogramovat podstatně rychleji Rychlost hraje roli u kódu, který je spouštěn velice často Operační systém, zatížené webové servery, souborové servery apod.

Který jazyk vybrat Obvykle tedy vybíráme jazyk, ve kterém bude vyřešení našeho problému nejsnazší Až pokud se výsledné řešení ukáže jako pomalé, má smysl jej optimalizovat Např. přepsáním kritických částí do jiného jazyka

Dostupnost knihoven V většině případů nemusíme řešení problému programovat úplně sami Existuje řada existujících knihoven, které můžeme využít Mnoho knihoven je specifických pro určité jazyky Volbu jazyka proto může ovlivnit i dostupnost knihoven pro oblasti, které nás při řešení problému zajímají Např. pro Javu existuje obrovské množství existujících knihoven

Kombinace jazyků V praxi může být výhodné kombinovat několik jazyků/přístupů Př. Programování pro WWW Oddělujeme funkci (aplikační logiku - kód na serveru, např. PHP), data (databázový server, např. SQL), vzhled a uživatelské rozhraní (HTML, CSS, Javascript).

WWW programování Příklad PHP + MySQL

Jaký jazyk vybrat Jak to vypadá v praxi? Systémové programování (OS, utility) Dříve assembler a C, dnes C++. Aplikační programy Java, C++, Dephi, .NET WWW - aplikační logika Perl, Python, Java, PHP, ASP Vědeckotechnické výpočty Matlab, Fortran Kancelářské balíky Visual Basic for Applications (VBA)

Programování pro MS Office Př. Visual Basic (Excel)

Jazyky pro výuku programování Př. Karel

Jazyky pro výuku programování Př. Logo