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

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

IB111 Programování a algoritmizace. Programovací jazyky

Program a životní cyklus programu

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

Úvod. Programovací paradigmata

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

Programovací jazyky Přehled a vývoj

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

11. Přehled prog. jazyků

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

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

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

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

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

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

Matematika v programovacích

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

2. lekce Algoritmus, cyklus Miroslav Jílek

IB015 Neimperativní programování. Organizace a motivace kurzu, programovací jazyk Haskell. Jiří Barnat

Překladač a jeho struktura

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

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

Základní pojmy algoritmizace a programování ALGORITMUS INSTRUKCE STROJOVÝ KÓD VYŠŠÍ PROGRAMOVACÍ JAZYK ZDROJOVÝ KÓD KOMPILACE

Programování - úvod. Programování. Proces programování. Vlastnosti dobrého programu: Kapitola seznamuje se základními pojmy programování.

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

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

Programovací jazyk univerzální notace pro zápis algoritmů, implementována.

Vizuální programování

Instalace a konfigurace web serveru. WA1 Martin Klíma

VISUAL BASIC. Přehled témat

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

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

Netradiční programovací jazyky

Sada 1 - Základy programování

Algoritmizace. Cíle předmětu

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

Logické programování

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

Současný svět Projekt č. CZ.2.17/3.1.00/32038, podpořený Evropským sociálním fondem v rámci Operačního programu Praha adaptabilita

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

Lekce 01 Úvod do algoritmizace

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

Seminář z Informatiky a výpočetní techniky. Slovanské gymnázium Olomouc 4. září 2014 Tomáš Kühr

Virtuální počítač. Uživatelský program Překladač programovacího jazyka Operační systém Interpret makroinstrukcí Procesor. PGS K.

Jaký programovací jazyk učit jako první a jak ho učit?

1 Základy algoritmizace a programování. 1.1 Algoritmus Možnosti zápisu algoritmů. Základy algoritmizace a programování

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

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ , 5.1 a 5.2 8/14

Matematická logika. Miroslav Kolařík

Algoritmizace. 1. Úvod. Algoritmus

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

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

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

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

Programování. Úvod a základní principy. Martin Urza

Identifikátor materiálu: ICT-1-21

Základní datové typy, proměnné - deklarujeme předem - C je case sensitive rozlišuje malá a velká písmena v názvech proměnných a funkcí

1 Úvod 1.1 Vlastnosti programového vybavení (SW)

Sémantika Tabulka symbolů Intermediální kód Typová kontrola, přetypování Statická a dynamická sémantika. Sémantická analýza.

Základy C++ doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 21.

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

Úvod z historie. Kompilátory. Kompilace / Kompilátor Compile / Compiler. Pojem kompilátoru. Úvod z historie

Úvod do jazyka C. Zdroje: Herout: Učebnice jazyka C, Kopp, České Budějovice, 2001 Schildt H: Nauč se sám C, Softpress, Praha, 2001

Programování II. Modularita 2017/18

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

Programové vybavení počítačů

MPASM a IDE pro vývoj aplikací MCU (Microchip)

Úvod SISD. Sekvenční výpočty SIMD MIMD

PHP PHP je skriptovací programovací jazyk dynamických internetových stránek PHP je nezávislý na platformě

Programování a algoritmizace: úvod

Rozklad na prvočinitele. 3. prosince 2010

Úvod do informatiky. Miroslav Kolařík

MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY

Maturitní témata. IKT, školní rok 2017/18. 1 Struktura osobního počítače. 2 Operační systém. 3 Uživatelský software.

Profilová část maturitní zkoušky 2013/2014

Seznámení s prostředím dot.net Framework

Algoritmizace a programování

Střední odborná škola a Střední odborné učiliště, Hořovice

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

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

Algoritmizace, základy programování, VY_32_INOVACE_PRG_ALGO_01

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

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

Programovací jazyky. Ing. Marek Běhálek Katedra informatiky FEI VŠB-TUO A-1018 /

10 Algoritmizace Příklad 2 Word 2007/ VBA

PHP. nejen pro začátečníky. $c; echo { Martin Pokorný. Vzdìlávání, které baví Nakladatelství a vydavatelství.

Algoritmy. BI-PA1 Programování a Algoritmizace I. Ladislav Vagner

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

PROGRAMOVACÍ JAZYKY A PŘEKLADAČE PŘEKLADY TYPICKÝCH JAZYKOVÝCH KONSTRUKCÍ PROGRAMOVACÍCH JAZYKŮ.

Algoritmy a jejich znázorňování.

TÉMATICKÝ OKRUH TZD, DIS a TIS

Skriptovací jazyky. Obsah

Algoritmy a algoritmizace

C2115 Praktický úvod do superpočítání

Martin Hejtmánek hejtmmar

Pohled do nitra mikroprocesoru Josef Horálek

Programové prostředky IS/IT

Programování I. Martin Pergel,

Vyučovací hodina. 1vyučovací hodina: 2vyučovací hodiny: Opakování z minulé hodiny. Procvičení nové látky

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

Transkript:

Programovací jazyky

Programovací jazyky nižší assembler (jazyk symbolických instrukcí) vyšší imperativní (procedurální) Pascal, C/C++, Java, Basic, Python, php neimperativní (neprocedurální) Lisp, Prolog

Nižší programovací jazyky strojově orientované příkazy jazyka = instrukce procesoru (zkratky instrukcí) - viz cvičení 1 výhody: rychlost programu nevýhody náročné, složité programování, ne příliš srozumitelný zápis nepřenositelnost na jiné typy procesorů (počítačů)

použití: dnes spíše výjimečně, např. při psaní rychlých programů pro řídicí jednočipové mikropočítače (i když i tam dnes převládá jazyk C) psaní jader operačních systémů Příklad: SUB AX,BX CMP AX,0 JZ pocitej

Vyšší programovací jazyky formální jazyky (tj. definované formálně, matematicky) algoritmus se zapisuje strukturovaně; srozumitelný zápis (anglický, matematický) jazyky nejsou závislé na strojových principech počítače (procesoru) dělení: imperativní (procedurální, příkazové) neimperativní (neprocedurální).

Imperativní jazyky např. Cobol, Pascal, Ada, C/C++, Basic, Java, Javascript, php, Python algoritmu se zapisuje posloupností příkazů, cyklů a větvení (podmínek), využívají se proměnné Příklad: a = a-b; if (a==0) pocitej();

Neimperativní jazyky Dělení funkcionální program = množina (ne posloupnost!) funkcí většinou neexistují proměnné, místo nich se pracuje se seznamy dat např. Lisp (AutoLisp v AutoCADu)

logické program = zpravidla množina odvozovacích pravidel, např. logických formulí. využívají se zejména v umělé inteligenci, v expertních systémech. typický představitel - Prolog logický jazyka vestavěný do databází a odvozený od Prologu je Datalog

Ukázka programu v Prologu program řeší vztahy mezi členy rodiny definujeme klauzule: rodic(jana,petr). rodic(petr,eva). muz(petr). zena(jana).

definujeme odvozovací pravidla: syn(y,x):-rodic(x,y),muz(y). dcera(y,x):-rodic(x,y),zena(y). prarodic(x,z):-rodic(x,y),rodic(y,z). potomek(y,x):-syn(y,x);dcera(y,x). můžeme klást dotazy:?-rodic(a,petr).?-prarodic(jana,eva). systém odpoví na první dotaz A=Jana a na druhý yes. v Prologu lze psát i výpočty

Kompilační jazyky text programu ve vyšším programovacím jazyce = zdrojový kód zdrojový kód je vstupem do překladače překladač (kompilátor, compiler) = program, který převádí zdrojový kód do strojového kódu tj. do formy samostatně spustitelného souboru (soubory.exe nebo.com v operačních systémech firmy Microsoft, ELF formát v systému Linux).

překladač provádí syntaktickou kontrolu celého zdrojového kódu kontroluje, zda je program zapsán podle pravidel jazyka pokud se vyskytne chyba v zápise programu, je překlad přerušen a seznam chyb je zobrazen uživateli. zástupci kompilačních jazyků: Pascal, C/C++ Ukázka: program pro výpočet obsahu kruhu v C

výhody: syntaktická kontrola celého textu najednou, výsledný program možné spustit samostatně bez nutnosti mít speciální programové prostředí běžící samostatný program je rychlý (rychlejší než v případě interpretovaného jazyka. nevýhody: při jakékoliv změně programu (zdrojového kódu) je nutné provést znovu překlad Ukázka: program pro výpočet obsahu kruhu v C

Interpretované jazyky u interpretovaných jazyků nedochází k samostatnému překladu, nevzniká samostatně spustitelný program interpret = program, který interpretuje (provádí) zdrojový kód řádek po řádku interpret přečte jeden řádek zdrojového kódu, provede syntaktickou kontrolu a ihned zajistí jeho provedení (vykonání)

na chyby v zápise programu se tedy přijde až při běhu programu (běh programu se v tomto případě přeruší) zástupci interpretovaných jazyků: Basic, Python, JavaScript (interpret je přímo zabudován v internetovém prohlížeči), Visual Basic Script, Tcl, neimperativní jazyky Ukázka: výpočet obsahu kruhu v JavaScriptu

výhody: při změně zdrojového kódu není potřebný překlad pokud existují interprety pro různé operační systémy, pak je snadná distribuce nových verzí programů uživatelům nevýhody: pomalý běh programů zjištění syntaktických chyb až při běhu Poznámka: dnes i Basic lze kompilovat moderní jazyky kombinují oba přístupy