Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
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
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.