M1160 – Úvod do programování I

Slides:



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

ŘÍDÍCÍ STRUKTURY - PODMÍNKY
Programování v C jazyku - SEMINÁŘ
Programování funkcí v Excelu
Programování v Pascalu
Algoritmizace od algoritmu k Pascalu.
Programování v Pascalu Přednáška 4
Programování v Pascalu Přednáška 2
Programování v Pascalu Přednáška 10 RNDr. Hana Havelková.
Programování v Pascalu Přednáška 3
Programování v Pascalu Přednáška 5 RNDr. Hana Havelková.
Programování v Pascalu Přednáška 9 RNDr. Hana Havelková.
Algoritmizace a programování Operátory a příkazy v Delphi - 07
Programování v Pascalu Přednáška 7
Materiály k přednášce Úvod do programování Ondřej Čepek.
Gymnázium Vincence Makovského se sportovními třídami Nové Město na Moravě VY_32_INOVACE_INF_RO_15 Digitální učební materiál Sada: Úvod do programování.
Algoritmizace a programování
Algoritmizace a programování Podmíněné a cyklické příkazy- 08
Informatika I 3. přednáška
Procedury a funkce Základní charakteristika a použití v programu.
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í.
Deklarace Radim Štefan. 2 Použité zkratky BP – Borland Pascal De – Delphi.
Podmienený príkaz. Kĺúčové slová  Pro podmínky se v Pascalu používají klíčové příkazy IF, THEN a ELSE.  Také se jim říká „príkaz vetvenia"..  Příkaz.
Ú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.
ALGORITMIZACE A ZÁKLADY PROGRAMOVÁNÍ ŘAZENÍ PRVKŮ – PŘÍMOU VÝMĚNOU (BUBBLESORT) Vytvořila: RNDr. Ivanka Dvořáčková Gymnázium K. V. Raise, Hlinsko, Adámkova.
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,
5. Procedury a funkce Procedura je samostatně odladěný algoritmus, v programu může být volána vícekrát. Dvojí terminologie - rozlišujeme procedury a funkce.
Programovací jazyk PASCAL
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Algoritmizace a programování Binární soubory - 14 Mgr. Josef Nožička IKT Algoritmizace a programování
Gymnázium Vincence Makovského se sportovními třídami Nové Město na Moravě VY_32_INOVACE_INF_RO_06 Digitální učební materiál Sada: Úvod do programování.
Návrh a tvorba WWW Přednáška 5 Úvod do jazyka PHP.
Informatika I 1. přednáška
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
10. Dynamické proměnné Dynamická proměnná se nezavádí deklarací proměnných, ale vzniká za běhu programu provedením speciálního příkazu. Nemá přidělen žádný.
7. Typ soubor Souborem dat běžně rozumíme uspořádanou množinu dat, uloženou mimo operační paměť počítače (na disku). Pascalský soubor je abstrakcí skutečného.
Algoritmizace a programování Úvod do Delphi - 04 Mgr. Josef Nožička IKT Algoritmizace a programování
doc. RNDr. Zdeněk Botek, CSc.
Algoritmizace a programování Textové soubory - 13 Mgr. Josef Nožička IKT Algoritmizace a programování
1 Počítače a programování 1 13.přednáška. 2 Obsah přednášky Vstupy a výstupy – 1.část.
Elektrotechnika Mikroprocesorová technika
GYMNÁZIUM, VLAŠIM, TYLOVA
IB001 – Úvod do programování skrze C
6. Typ záznam Strukturovaný datový typ - znamená spojení několika elementů stejného nebo různých typů do jedné proměnné. Např. pole je strukturovaný datový.
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.
4. Typ pole 4.1 Jednorozměrná pole
Informatika I 2. přednáška
doc. RNDr. Zdeněk Botek, CSc.
Pascal – strukturované příkazy
Počítače a programování 1 2.přednáška. Základní lexikální struktura programu Program v jazyce Java je tvořen symboly a oddělovači Program Java je psán.
doc. RNDr. Zdeněk Botek, CSc.
doc. RNDr. Zdeněk Botek, CSc.
Cvičení 2 Podmíněné příkazy, cykly. Podmíněné příkazy Podmínka – jakýkoliv logický výraz ( a=1,……..) ( a=1,……..) Příkaz – vlastní instrukce, která se.
Cvičení 3-4 Procedury, funkce,řetězce. Procedury Procedura Procedura Procedura je podprogram, který mění stav programu (změnou stavu proměnných nebo změnou.
KURZ ALGORITMIZACE A PROGRAMOVÁNÍ V JAZYCE C Lekce č. 4: Programovací jazyk C Bc. Radek Libovický.
Programování KONSTANTY, ČTENÍ PO JEDNOM ZNAKU GETCHAR() FORMÁTOVANÝ VÝSTUP POMOCÍ PRINTF, VÝVOJOVÉ DIAGRAMY, CYKLY.
VY_32_INOVACE_PR2_14. Cyklus umožňuje opakování určité posloupnosti příkazů bez nutnosti psát je stále znovu. Používáme tři základní druhy cyklů: cyklus.
M2160 – Úvod do programování II RNDr. Jaroslav PELIKÁN, Ph.D. katedra počítačových systémů a komunikací Fakulta informatiky Masarykovy univerzity Botanická.
M1160 – Úvod do programování I
M2160 – Úvod do programování II
Výukový materiál zpracován v rámci projektu
Funkce výstupu (2) Funkce printf: deklarována v: stdio.h
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
Proměnné (1) Proměnná: Definice proměnných:
Opakování ze 4. cvičení int a; printf("Zadej číslo: ");
CU01 Informatika II 2/13 Základy algoritmizace
Transkript prezentace:

M1160 – Úvod do programování I RNDr. Jaroslav PELIKÁN, Ph.D. katedra počítačových systémů a komunikací Fakulta informatiky Masarykovy univerzity Botanická 68a, 602 00 BRNO kanc.: A209,  : +420 – 549 495 751 E-mail: pelikan@fi.muni.cz http://www.fi.muni.cz/usr/pelikan

Cíl předmětu Seznámit studenty se základními principy používanými při řešení problémů na počítači Předmět je vyučován s pomocí programova-cího jazyka Pascal Na konci tohoto předmětu bude student scho-pen: navrhnout algoritmus řešící zadaný problém zapsat algoritmus v programovacím jazyce Pascal provést odladění programu 13/04/2017

Organizace předmětu 1 přednáška (učebna A318): pondělí 14:00 – 15:50 3 cvičební skupiny (učebny B116 a B117): úterý 16:00 – 17:50 pátek 10:00 – 11:50, 14:00 – 15:50 Předmět pokračuje v jarním semestru před-náškou M2160 Úvod do programování II 13/04/2017

Požadavky ke kolokviu Zápočet: „úspěšné“ napsání průběžných písemek splnění všech domácích úkolů (v termínu) maximálně dvě neomluvené neúčasti na cvičení Zápočet musí být zapsán na ISu nejpozději 12 hodin před začátkem kolokvia Kolokvium probíhá ve dvou částech: vypracování programu (na počítači): 90 minut diskuse nad řešeným problémem + další otázky 13/04/2017

Literatura (1) Pelikán, Jaroslav: Prezentace k přednáškám z předmětu M1160 Úvod do programování I http://www.fi.muni.cz/usr/pelikan Dokumentace k Free Pascalu: http://www.freepascal.org/docs.var Hála, Tomáš: Učebnice Pascalu, Computer Press 2002 Drózd, Januš – Kryl, Rudolf: Začínáme s pro-gramováním, Grada 1992 13/04/2017

Literatura (2) Wirth, Niklaus: Algoritmy a štruktúry údajov: Algorithm + Data Structures = Programs, Bratislava Alfa 1989 Teixeira, S. – Pacheco, X.: Mistrovství v Delphi 6, Computer Press 2002 Lischner, R.: Delphi v kostce, Computer Press 2000 13/04/2017

Programovací jazyky Strojový kód Jazyk symbolických instrukcí – Assembler vědeckotechnické výpočty FORTRAN, ALGOL, COBOL hromadné zpracování dat SIMULA, LISP, SIMSCRIPT PL/1, ADA, Prolog, C/C++, C#, Pascal, Java 13/04/2017

Překladač – Compiler Program provádějící transformaci určitého textu (alfanumericky kódované informace, např. program v Pascalu) na posloupnost bytů reprezentující program ve strojovém kódu 13/04/2017

„Životopis“ programu Zdrojový kód (např. Pascal) Makroexpanze Překlad (compilation) lexikální, syntaktická a sémantická analýza Sestavení (linking) Spuštění programu 13/04/2017

Programovací jazyk Pascal (1) prof. Niklaus Wirth, Švýcarsko 1971 – 1973 Základní cíle: vytvořit jazyk vhodný pro výuku programování definovat jazyk, jehož implementace na součas-ných počítačích vedou k efektivním a spolehli-vým programům 13/04/2017

Programovací jazyk Pascal (2) Hlavní výhody: standardizace řídících struktur, které vedou k vytváření dobře strukturovaných a čitelných programů bohatost datových typů relativně snadná přenositelnost na různé typy počítačů 13/04/2017

Programovací jazyk Pascal (3) 1980 – zveřejněn návrh normy ISO jazyka Pascal Borland: Turbo (Borland) Pascal 7.0 (pro MS-DOS) Turbo Pascal for Windows Borland Delphi – do verze Borland Delphi 2006 Embarcadero Technologies: Delphi XE7 (pro Windows 2000, XP, Vista, 7, 8, Andorid, a iOS 7) 13/04/2017

Programovací jazyk Pascal (4) SourceForge.net – Free Pascal: volně šiřitelný překladač jazyka Pascal http://sourceforge.net/projects/freepascal/ obsahuje vývojové prostředí pracující v texto-vém režimu je k dispozici pro různé platformy, např.: Win32, Win64 Linux BSD Mac OS 13/04/2017

Základní pojmy (1) Identifikátor: konečná posloupnost písmen a číslic začínající písmenem. Překladač rozlišuje vždy jen určitý počet znaků nesmí obsahovat mezeru název volíme mnemonicky např.: teplota, tlak, x1, x2, … 13/04/2017

Základní pojmy (2) Klíčová slova: slova mající v programovacím jazyce svůj speciální význam identifikátor nesmí být pojmenovaný stejně jako klíčové slovo neobsahují mezeru např: program, begin, end, ... 13/04/2017

Poznámka Dva sousedící identifikátory, klíčová slova nebo čísla musí být od sebe oddělena ales-poň jednou mezerou nebo jiným oddělova-čem Přebytečné mezery a oddělovače řádků jsou překladačem ignorovány Pascal nerozlišuje velká a malá písmena (case insensitive) 13/04/2017

Struktura programu v jazyce Pascal program identifikátor; uses seznam knihovních modulů; label deklarace návěští; const definice konstant; type definice datových typů; var deklarace proměnných; deklarace procedur a funkcí; begin end. hlavička část deklarací a definic příkazová část 13/04/2017

Příkazy výstupu (1) Příkaz Write: Příkaz WriteLn: obecný tvar: Write (p1, p2, …, pn) funkce: zobrazí hodnoty parametrů p1, p2, …, pn na standardním výstupu (nejčastěji obrazovka monitoru) Příkaz WriteLn: obecný tvar: WriteLn (p1, p2, …, pn) funkce: zobrazí hodnoty parametrů p1, p2, …, pn na standardním výstupu a následně provede pře-chod na nový řádek (odřádkování) 13/04/2017

Příkazy výstupu (2) Poznámky: parametry p1, p2, …, pn mohou být: výrazy (např. aritmetické nebo logické): příkazy Write a WriteLn zobrazí jejich výsledné hodnoty proměnné: příkazy Write a WriteLn zobrazí hodnoty těchto proměn-ných řetězce – posloupnosti znaků uzavřené v apostrofech: příkazy Write a WriteLn provedou jejich zobrazení (bez jakékoliv změny) příkaz WriteLn může být použit i bez parametrů, což způsobí pouze odřádkování 13/04/2017

Úprava programu Klíčová slova begin a end psát pod sebe Příkazy mezi begin a end odsadit o dvě až tři mezery Středník oddělující dva příkazy psát bezpro-středně za první z nich Záhlaví programu opatřit komentářem, který obsahuje zadání problému, jehož řešení pro-gram představuje 13/04/2017

Komentáře Poznámky, které jsou překladačem ignoro-vány Nemají žádný vliv na funkci programu Zapisují se: mezi znaky (*, *) nebo {, } za znaky // za poznámku jsou považovány všechny znaky až do konce řádku 13/04/2017

Konstanty a výrazy Konstanty: Pojmenované konstanty: Výrazy: pevně dané hodnoty určitého typu (např. číslo) čísla v Pascalu celá (integer): 264, –1, 8765 reálná (real): 3.1415926, –427.812, 1.0, 4E–5, 1.2E3 Pojmenované konstanty: const identifikátor=konstanta; např: const PI=3.14159; HorniMez=40; Výrazy: tvořeny pomocí +, –, *, /, (,), … např: 8+4.5/2.0*2 13/04/2017

Formátovaný výstup Používán nejčastěji v souvislosti s parametry, jejichž výsledkem je číselná hodnota: formátování celočíselných parametrů: obecný tvar: X:N funkce: způsobí, že číslo dané parametrem X je zobrazeno na N míst formátování reálných parametrů: obecný tvar: X:N:D způsobí, že číslo dané parametrem X je zobrazeno celkem na N míst, z nichž D míst je vymezeno pro desetinnou část 13/04/2017

Proměnné Proměnná: Poznámka: identifikátor, který může být v různých okam-žicích realizace programu spojen s různými hodnotami (téhož typu). deklarace: var id11, id12, …, id1n: datový typ1; id21, id22, …, id2m: datový typ2; např: var i, j, k: integer; x, y: real; Poznámka: konstanta ne; má pevně danou hodnotu 13/04/2017

Příkazy vstupu Příkaz Read: Příkaz ReadLn: obecný tvar: Read (p1, p2, …, pn) funkce: načte hodnoty parametrů p1, p2, …, pn ze standardního vstupu (nejčastěji klávesnice) Příkaz ReadLn: obecný tvar: ReadLn (p1, p2, …, pn) funkce: načte hodnoty parametrů p1, p2, …, pn ze standardního vstupu a následně provede přechod na nový řádek Pozn.: V roli parametrů p1, p2, …, pn mohou vystupovat pouze proměnné 13/04/2017

Program v Pascalu Program v jazyce Pascal je tvořen symboly a oddělovači Symboly: speciální symboly slovní symboly identifikátory čísla znakové řetězce návěští 13/04/2017

Speciální symboly + - * / . , : ; := .. += -= *= /= + - * / . , : ; := .. += -= *= /= = <> < <= > >= ( ) [ ] @ { } $ % # ^ (* *) (. .) 13/04/2017

Speciální symboly – ekvivalence [ je ekvivalentní (. ] je ekvivalentní .) { je ekvivalentní (* } je ekvivalentní *) 13/04/2017

Slovní symboly (1) Klíčová (rezervovaná) slova: and, array, as, asm, begin, case, class, const, constructor, destructor, dispose, div, do, downto, else, end, except, exit, exports, false, file, finalization, finally, for, function, goto, if, implementation, in, inherited, initialization, inline, interface, is, label, library, mod, new, nil, not, object, of, on, operator, or, out, packed, procedure, program, property, raise, record, reintroduce, repeat, self, set, shl, shr, string, then, threadvar, to, true, try, type, unit, until, uses, var, while, with, xor 13/04/2017

Slovní symboly (2) Modifikátory: absolute, abstract, alias, assembler, cdecl, cppdecl, default, export, external, far, far16, forward, index, local, name, near, nostackframe, oldfpccall, override, pascal, private, protected, public, published, read, register, safecall, softfloat, stdcall,virtual, write 13/04/2017

Identifikátory (1) Identifikátor může mít libovolnou délku, ale Free Pascal rozlišuje jen prvních 255 znaků Písmeno Podtržítko Písmeno Číslice Podtržítko 13/04/2017

Identifikátory (2) Podtržítko: Číslice: _ 9 13/04/2017

Identifikátory (3) Písmeno: Hexadecimální číslice: A Z a z Číslice A F 13/04/2017

Čísla (1) Celá: – – dekadická: hexadecimální: + Číslice + $ Hex. číslice – 13/04/2017

Čísla (2) – binární: pozn.: binární číslice: + % Bin. číslice 1 1 13/04/2017

Čísla (3) Reálná: Exp: – – + Číslice . Číslice Exp E + Číslice e 13/04/2017

Řetězce (1) Posloupnost (žádného nebo více) znaků uzavřených mezi apostrofy napsaná na jednom řádku Rozlišují se velká a malá písmena Může obsahovat české znaky a mezery Může obsahovat i řídící („netisknutelné“) znaky 13/04/2017

Řetězce (2) Znak: libovolný znak ASCII Hodnota: celé číslo <0; 255> ‘ ‘ Znak # Hodnota 13/04/2017

Návěští Označují pascalovský příkaz Od příkazu se oddělují dvojtečkou (:) Celá čísla bez znaménka Free Pascal umožňuje použít i identifikátor Posloupnost číslic Identifikátor 13/04/2017

Oddělovače Mezera Tabulátor Oddělovač řádku Poznámky (komentáře): mohou obsahovat libovolnou posloupnost znaků včetně oddělovače řádků mohou být všude tam, kde se může objevit mezera 13/04/2017

Poznámka – mezery Nesmí se vyskytnout v: klíčových slovech identifikátorech dvojznacích, např.: := <> (* .. atd. 13/04/2017