Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

M1160 – Úvod do programování I

Podobné prezentace


Prezentace na téma: "M1160 – Úvod do programování I"— Transkript prezentace:

1 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, BRNO kanc.: A209,  : +420 –

2 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

3 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

4 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

5 Literatura (1) Pelikán, Jaroslav: Prezentace k přednáškám z předmětu M1160 Úvod do programování I Dokumentace k Free Pascalu: 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

6 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

7 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

8 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

9 „Ž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

10 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

11 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

12 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

13 Programovací jazyk Pascal (4)
SourceForge.net – Free Pascal: volně šiřitelný překladač jazyka Pascal 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

14 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

15 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

16 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

17 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

18 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

19 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

20 Ú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

21 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

22 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): , – , 1.0, 4E–5, 1.2E3 Pojmenované konstanty: const identifikátor=konstanta; např: const PI= ; HorniMez=40; Výrazy: tvořeny pomocí +, –, *, /, (,), … např: 8+4.5/2.0*2 13/04/2017

23 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

24 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

25 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

26 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

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

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

29 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

30 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

31 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

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

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

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

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

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

37 Ř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

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

39 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

40 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

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


Stáhnout ppt "M1160 – Úvod do programování I"

Podobné prezentace


Reklamy Google