Informatika I 1. přednáška

Slides:



Advertisements
Podobné prezentace
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Advertisements

Dualita úloh lineárního programování a analýza citlivosti
Programování v C jazyku - SEMINÁŘ
Dynamické dokumenty na straně klienta Informatika pro ekonomy II.
Pascal - příklady.
Programování funkcí v Excelu
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ý.
Jazyk VHDL Martin Štěpánek
JUI - 3. přednáška Zpracování seznamů, predikátové a vyhodnocovací funkce RNDr. Jiří Dvořák, CSc.
Programování v Pascalu
Algoritmizace od algoritmu k Pascalu.
Programování 01 Algoritmizace.
VISUAL BASIC Práce se soubory.
ALGO – Algoritmizace 1. cvičení
Programování v Pascalu Přednáška 3
Algoritmizace a programování Operátory a příkazy v Delphi - 07
JUI - 1. přednáška Funkcionální programování Úvod do jazyka Lisp RNDr. Jiří Dvořák, CSc.
Algoritmy I Cvičení č. 3.
Materiály k přednášce Úvod do programování Ondřej Čepek.
Operátory (1. část) 3 A1PRG - Programování – Seminář
ALGORITMIZACE ÚVODNÍ PŘEDNÁŠKA 2 SLOVO ALGORITMUS VZNIKLO ZE JMÉNA ARABSKÉHO MATEMATIKA AL-KHWARIZMIHO, KTERÝ V DEVÁTÉM STOLETÍ SEPSAL ROZSÁHLOU KOLEKCI.
Algoritmizace a programování
Informatika I 3. přednáška
Jazyk vývojových diagramů
Algoritmizace.
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Vyučovací hodina 1 vyučovací hodina: Opakování z minulé hodiny 5 min Nová látka 20 min Procvičení nové látky 15 min Shrnutí 5 min 2 vyučovací hodiny: Opakování.
Algoritmus po krocích rozepsaný návod k nějaké činnosti
Informatika I 2. přednáška
A1PRG - Programování – Seminář Ing. Michal Operátory (2. část) 4 Verze
Algoritmizace a základy programování
Základy algoritmizace a programování
LOGICKÉ ŘÍZENÍ GEORGE BOOLE
Sémantická analýza Jakub Yaghob
Gramatiky a jazyky Přednáška z předmětu Řízení v komplexních systémech
Jazyk vývojových diagramů
Obchodní akademie, Náchod, Denisovo nábřeží 673
Úvod do Pascalu. Co je Pascal? vyšší programovací jazyk poskytuje prostředky pro popis algoritmů, které odrážejí povahu řešených problémů, a nikoliv technickou.
Informatika pro ekonomy II přednáška 10
Informatika I 4. přednáška
Proměnné v PHP Každý programovací jazyk pracuje s nějakými hodnotami. To, do čeho se tyto hodnoty ukládají, se nazývá proměnné. Každý programovací jazyk.
Cvičení.
3. Příkazy  Příkazy dělíme na jednoduché a strukturované.  Jednoduché příkazy - žádnou jejich dílčí částí neni příkaz - přiřazovací, vstupu a výstupu,
Programovací jazyk PASCAL
doc. RNDr. Zdeněk Botek, CSc.
A1PRG - Programování – Seminář Ing. Michal Řízení běhu programu 5 Verze
Gymnázium, Obchodní akademie a Jazyková škola s právem státní jazykové zkoušky Hodonín Úvod do programování.
Procedurální (klasické) programování Popisuje algoritmus – postup, jak vyřešit úlohu.
Počítače a programování 1 7.přednáška. Základy Pole ve třídách a metodách Pole Arrays.
Jazyky pro umělou inteligenci RNDr. Jiří Dvořák, CSc.
JUI přednáška Vstup a výstup, cykly RNDr. Jiří Dvořák, CSc.
Datové typy a operátory. Co jsou datové typy  Charakterizují proměnnou nebo konstantu – jaká data obsahuje  Data jsou v počítači ukládána jako skupiny.
doc. RNDr. Zdeněk Botek, CSc.
Informatika I 2. přednáška
Pascal – strukturované příkazy
Úvod do programování Vyučující: Mgr. Vítězslav Jersák
Programování v MATLABu © Leonard Walletzký, ESF MU, 2000.
Algoritmizace a programování Algoritmy 1 - Úvod. Základní pojmy Počítačový program Počítačový program zápis zdrojového kódu, kterému rozumí počítač zápis.
Překladače 1. Překladače a programovací jazyky © Milan Keršlágerhttp:// Obsah:
KURZ ALGORITMIZACE A PROGRAMOVÁNÍ V JAZYCE C Lekce č. 2: Základní pojmy Bc. Radek Libovický.
Výukový materiál zpracován v rámci projektu
Algoritmizace – základní pojmy
Základní pojmy v automatizační technice
Výukový materiál zpracován v rámci projektu
Funkce výstupu (2) Funkce printf: deklarována v: stdio.h
Informatika pro ekonomy přednáška 8
Příkazy cyklu (1) Umožňují vícekrát (nebo ani jednou) pro-vést určitý příkaz Jazyk C rozlišuje příkaz cyklu: s podmínkou na začátku: obecný tvar: while.
Opakování základních příkazů a syntaxí v programovacím jazyce Pascal
Cyklus for (1) Obecný tvar: for (výraz1; výraz2; výraz3) příkaz
Opakování ze 4. cvičení int a; printf("Zadej číslo: ");
Transkript prezentace:

Informatika I 1. přednáška RNDr. Jiří Dvořák, CSc. dvorak@fme.vutbr.cz

Informatika I: přednáška 1 Obsah přednášky Úvod do programování Algoritmus a prostředky jeho vyjádření Programovací jazyky a programovací styly Úvod do jazyka Pascal Úvod do prostředí Delphi Informatika I: přednáška 1

Informatika I: přednáška 1 Úvod do programování program počítač vstupy výstupy Program je předpis pro transformaci vstupů na výstupy. Niklaus Wirth: program = algoritmus + datové struktury Informatika I: přednáška 1

Informatika I: přednáška 1 Algoritmus Algoritmus je konečný soubor pravidel, jež dávají návod k vyřešení určité třídy úloh. Základní požadavky na algoritmus determinovanost (algoritmus musí být přesný a jednoznačný) rezultativnost (v konečném počtu kroků se musí dospět k výsledku) efektivnost (jednotlivé operace musejí být proveditelné v konečném časovém intervalu) hromadnost (algoritmus se týká celé skupiny úloh téhož typu) Informatika I: přednáška 1

Prostředky vyjádření algoritmu Přirozený jazyk Jazyk matematiky Grafické prostředky (vývojové diagramy, struktogramy, … ) Pseudojazyky (liší se od programovacích jazyků volnějšími pravidly syntaxe) Programovací jazyky Informatika I: přednáška 1

Příklad slovního vyjádření algoritmu Euklidův algoritmus pro výpočet největšího společného dělitele dvou celých kladných čísel (předpokládáme, že zadaná čísla jsou uložena v proměnných M a N): 1. Urči zbytek R po celočíselném dělení hodnoty M hodnotou N. 2. Hodnotu N přesuň do proměnné M a hodnotu R do proměnné N. 3. Je-li N nulové, pak hodnota největšího společného dělitele je obsažena v M a výpočet končí. V opačném případě se výpočet vrací na krok 1. Informatika I: přednáška 1

Informatika I: přednáška 1 Programovací jazyky ?. generace - přirozený jazyk? 4. generace - neprocedurální a problémově orientované jazyky 3. generace - procedurální jazyky vysoké úrovně 2. generace - assembler 1. generace - strojový jazyk počítač Informatika I: přednáška 1

Informace o programovacích jazycích http://www.cs.waikato.ac.nz/~marku/languages.html http://www.idiom.com/free-compilers/ http://directory.google.com/Top/Computers/Programming/Languages/ Informatika I: přednáška 1

Definice programovacího jazyka Složky definice programovacího jazyka: Abeceda základní (terminální) symboly jazyka Syntaxe pravidla pro tvorbu jazykových konstrukcí Sémantika význam jazykových konstrukcí Informatika I: přednáška 1

Informatika I: přednáška 1 Překladače Kompilační překladače generují program ve strojovém kódu, který pak může být opakovaně využíván. Interpretační překladače interpretují příkazy programu. Jejich použití je méně efektivní, protože při každém výpočtu musí být program vždy znovu interpretován. Informatika I: přednáška 1

Informatika I: přednáška 1 Programovací styly Algoritmus = logika (funkce) + řízení CO SE DĚLÁ JAK SE TO DĚLÁ Imperativní styl - výrazná řídicí složka Procedurální jazyky (Fortran, Pascal, C, ... ) Neimperativní styl - výrazná složka logiky (funkce) Neprocedurální jazyky logické programování (Prolog) funkcionální programování (Lisp, Haskell, … ) Informatika I: přednáška 1

Programovací jazyk Pascal Programovací jazyk Pascal navrhnul prof. Niklaus Wirth na počátku 70. let. Autor sledoval dva hlavní cíle: vytvořit jazyk vhodný pro systematickou výuku programování, založený na jasných, jednoduchých a srozumitelných konstrukcích umožnit jednoduchou a efektivní realizaci překladačů tohoto jazyka Některé významné implementace jazyka Pascal: Turbo Pascal, Borland Pascal (nejen jazyk, ale také prostředí pro vývoj programů) Object Pascal (součást programového prostředí Delphi) Informatika I: přednáška 1

Lexikální jednotky jazyka Pascal Symboly abecedy písmena, číslice, speciální symboly, klíčová slova Identifikátory posloupnosti písmen a číslic začínající písmenem Čísla celá, reálná (v desetinném nebo semilogaritmickém tvaru) Řetězce posloupnosti znaků uzavřené apostrofy Komentáře posloupnosti znaků uzavřené do složených závorek Oddělovače lexikálních jednotek mezera, konec řádku, komentář Informatika I: přednáška 1

Příklady lexikálních jednotek Klíčová slova begin, end, if, for, while, mod Identifikátory (nerozlišují se velká a malá písmena, místo písmena může být také podtržítko) alfa, X12, y23b, Beta_1, CelkovySoucet Čísla 123, -58, 17.35, -0.975, 1E6, 2.5E-7 Pozn.: 2.5E-7 znamená 2,5 ·10 7 Řetězce 'alfa', 'Celkovy soucet = ' Komentáře {Cteni vstupnich udaju} Informatika I: přednáška 1

Informatika I: přednáška 1 Identifikátor Identifikátor slouží k označení konstant, typů, proměnných, položek záznamů, procedur a funkcí a jejich parametrů, … Ukázky syntaktické definice identifikátoru: identifikátor ::= písmeno  písmeno | číslice  identifikátor písmeno písmeno číslice Informatika I: přednáška 1

Informatika I: přednáška 1 Výrazy Výraz je pravidlo pro získání nějaké hodnoty. Výraz může obsahovat konstanty, proměnné, volání funkcí, operátory a závorky. Volání funkce začíná jménem funkce, za nímž v závorkách následuje seznam parametrů oddělených čárkami. Operátory: aritmetické (pracují s číselnými hodnotami a výsledkem je číselná hodnota): + ,  , * , /, div (celočíselné dělení), mod (zbytek po celočíselném dělení); logické (pracují s logickými hodnotami a výsledkem je logická hodnota): not (negace), and (logický součin), or (logický součet); logické hodnoty jsou true (pravda), false (nepravda); negace je unární operátor, logický součin a součet jsou binární operátory; relační (porovnávají dvě hodnoty stejného typu a výsledkem je logická hodnota): = , <> (nerovno), < , <= (menší nebo rovno), > , >= (větší nebo rovno) Informatika I: přednáška 1

Informatika I: přednáška 1 Vyhodnocování výrazů Výrazy se vyhodnocují postupně zleva doprava při respektování priority operátorů a závorek. Aby byl výraz vyhodnocen, musí být zapsán do nějakého příkazu. Úrovně priority operátorů: volání funkce nejvyšší priorita not * , /, div, mod, and + ,  , or = , <> , < , <= , > , >= nejnižší priorita Informatika I: přednáška 1

Příklady zápisu výrazů Matematický zápis Zápis v Pascalu 2b/c a/(bc) (a+sin(x))/b (-b+sqrt(sqr(b)-4ac))/(2a) (a<=x) and (x<=b) Informatika I: přednáška 1

Informatika I: přednáška 1 Přiřazovací příkaz proměnná:=výraz Výraz na pravé straně se vyhodnotí a jeho hodnota se přiřadí proměnné. Příklady přiřazovacích příkazů: X:=2 I:=I+1 y:=sqr(sin(x))-cos(x) D:=sqr(b)-4ac Informatika I: přednáška 1

Příkazy vstupu a výstupu read(proměnná) readln(proměnná) příkazy vstupu readln write(výraz) writeln(výraz) příkazy výstupu writeln Příkazy vstupu mohou obsahovat několik proměnných, oddělených čárkami. Příkazy výstupu mohou obsahovat několik výrazů oddělených čárkami. Informatika I: přednáška 1

Příklady příkazů vstupu a výstupu read(N); read(Zn1,Zn2); readln(a,b,c); readln; write(44); write(x); write((A+B)/2); write(N,sqrt(N); writeln('Prumer = ',Soucet/Pocet); writeln; Informatika I: přednáška 1

Struktura programu v jazyce Pascal program jméno_programu; deklarace návěští; definice konstant; definice typů; deklarace proměnných; deklarace procedur a funkcí; begin příkaz1; příkaz2; . end. blok Informatika I: přednáška 1

Příklad jednoduchého programu program prumer; var a,b,p:real; begin writeln('Zadej 2 cisla'); readln(a,b); p:=(a+b)/2; writeln('Prumer = ',p); writeln('Stiskni Enter'); readln; end. Informatika I: přednáška 1

Struktura programu v prostředí Delphi program Project1; uses Forms, Unit1 in 'Unit1.pas' {Form1}; {$R *.RES} begin Application.Initialize; Application.CreateForm(TForm1, Form1); Application.Run; end. Informatika I: přednáška 1

Předdefinovaná struktura jednotky v Delphi unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs; type TForm1 = class(TForm) private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.DFM} end. Informatika I: přednáška 1