Programování v Pascalu Přednáška 2

Slides:



Advertisements
Podobné prezentace
Standardní knihovní funkce pro práci s textovými řetězci
Advertisements

Pro začátek něco lehčího
Začínáme s Pascalem 1. kapitola.
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Programování v C jazyku - SEMINÁŘ
Pascal - příklady.
Programování funkcí v Excelu
Vstupy a výstupy v JavaScriptu Vstup: použitím metody prompt objektu window čtením hodnot z položek formuláře Výstup : použitím metody alert objektu window.
Základní pojmy v jazyce C
Jazyk VHDL Martin Štěpánek
Programování v Pascalu
Algoritmizace od algoritmu k Pascalu.
VISUAL BASIC Práce se soubory.
Algoritmy I Cvičení č. 2. Cíl hodiny Datové typy a přetypování (int, float, double, bool, char, long, short) Konstanty – Celočíselné Desítkové – 15, 0,
Programování v Pascalu Přednáška 8
Programování v Pascalu Přednáška 4
Programování v Pascalu Přednáška 10 RNDr. Hana Havelková.
Programování v Pascalu Přednáška 6
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í Datové typy v Delphi - 05
Algoritmizace a programování Podprogramy v Delphi - 10
Programování v Pascalu Přednáška 7
Materiály k přednášce Úvod do programování Ondřej Čepek.
Základy Visual Basicu.
PHP PHP – základy syntaxe (část 1) - 03 Mgr. Josef Nožička IKT PHP
Algoritmizace a programování
Informatika I 3. přednáška
Jazyk vývojových diagramů
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í.
Gymnázium Vincence Makovského se sportovními třídami Nové Město na Moravě VY_32_INOVACE_INF_RO_03 Digitální učební materiál Sada: Úvod do programování.
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.
Sémantická analýza Jakub Yaghob
Jazyk vývojových diagramů
Ú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.
Počítače a programování 1
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,
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.
VISUAL BASIC PRALG.
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í
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.
doc. RNDr. Zdeněk Botek, CSc.
Algoritmizace a programování Textové soubory - 13 Mgr. Josef Nožička IKT Algoritmizace a programování
Začínáme s Pascalem 1. kapitola. Základní pravidla a pojmy identifikátor = to je jméno jakéhokoliv objektu, který si ve vašem programu sami vytvoříte.
M1160 – Úvod do programování I
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ý.
JUI přednáška Vstup a výstup, cykly RNDr. Jiří Dvořák, CSc.
doc. RNDr. Zdeněk Botek, CSc.
Pascal – if Mgr. Lenka Švancarová.
4. Typ pole 4.1 Jednorozměrná pole
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.
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.
Makra v Excelu syntaxe. Zápis nahraného makra SubEnd Sub O klíčová slova Sub a End Sub – začátek a konec makra O komentáře O text za znakem ', až do konce.
Výukový materiál zpracován v rámci projektu
Výukový materiál zpracován v rámci projektu
Algoritmizace a programování
Funkce výstupu (2) Funkce printf: deklarována v: stdio.h
Opakování základních příkazů a syntaxí v programovacím jazyce Pascal
Proměnné (1) Proměnná: Definice proměnných:
Transkript prezentace:

Programování v Pascalu Přednáška 2 RNDr. Hana Havelková

O čem to bude lexikální jednotky oddělovače, komentáře standardní vstup standardní výstup deklarace proměnných rychlý přehled typů jednoduché příkazy

Program v Pascalu posloupnost lexikálních jednotek (tokenů) oddělenými oddělovači dodržující jistá pravidla syntaxe (syntaktické chyby) sémantika (sémantické chyby) logika (logické chyby)

Lexikální jednotky (tokeny) speciální znaky identifikátory návěští číselné a řetězcové konstanty rezervovaná (klíčová) slova Poznámka: sousedící identifikátory, klíčová slova nebo konstanty musí být od sebe oddělena aspoň jednou mezerou nebo jiným oddělovačem přebytečné mezery a oddělovače řádků jsou překladačem ignorovány nerozlišují velká a malá písmena (case insensitive)

Oddělovače prázdné znaky (blanks, white spaces) mezera, tabulátor, odřádkování, odstránkování znaky s kódem 0 – 31 komentáře

Komentáře uzavírají se mezi složené závorky { } mohou být víceřádkové používají se jako vysvětlení toho, co příslušný kód dělá jako direktiva (specielní příkaz) překladače při testování k vyřazení části kódu z provozu – co je v komentářových závorkách se nekontroluje, nepřekládá, neprovádí

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

Identifikátory libovolná délka, rozlišuje se prvních 63 znaků (závisí na překladači) mohou obsahovat pouze písmena, číslice a podtržítka nesmí začínat číslicí nerozlišují se velká a malá písmena označují konstanty, typy, proměnné, funkce, procedury, jednotky smysluplná jména velbloudí notace

Identifikátor – syntaktický diagram Písmeno Číslice Podtržítko

Podtržítko, číslice, písmeno hexadecimální číslice _ 9 A Z a z Číslice A F a f

Identifikátor - příklady suma cislo1, cislo2, cislo3 JmenoZaka jmeno_zaka CelkovaMzda celkova_mzda VypocetPrumerneMzdy vypocet_prumerne_mzdy x_na_treti _soucet_ MAXIMALNI_POCET

Klíčová slova mají speciální (vyhrazené) použití identifikátor nesmí být pojmenovaný stejně jako klíčové slovo

Klíčová slova - přehled and file not then array for object to asm function of type begin goto or unit case if packed until const implementation procedure uses constructor in program var destructor inherited record while div inline repeat with do interface set xor downto label shl else mod shr end nil string

Direktivy absolute assembler export external far forward index interrupt name near private public resident virtual Poznámka: nejsou vyhrazené

Návěští označují řádek (příkaz) programu, který může být cílem skoku (příkaz goto) je ukončeno dvojtečkou : jedná se vlastně o identifikátor label Zacatek, Chyba; var a, b, c, x1, x2 : real; begin Zacatek: WriteLn('Kvadratická rovnice'); Write('Zadej a: '); ReadLn(a); if a = 0 then goto Chyba; … Chyba: WriteLn('Nejde o kvadratickou rovnici!!!');

Konstanty číselné celočíselné desítkové šestnáctkové reálné řetězcové

Celočíselné konstanty desítkové 3618, -1025, 1234567890 šestnáctkové $321, -$abc, $2C4A Číslice - + Hexadec. číslice $ - +

Reálné konstanty Číslice - + . Exp Exp - + e E Číslice 1231.165

Řetězcová konstanta posloupnost znaků uzavřená mezi apostrofy řetězec nemůže být víceřádkový řetězec může být i prázdný tj. mezi apostrofy není nic '' rozlišují se velká a malá písmena řetězec může obsahovat libovolné znaky s ASCII kódem 0 -255 tj. i znaky s českou diakritikou netisknutelné znaky grafické znaky

Řetězce ' # Znak Číslo 0-255 'Přednáška z Programování 1' 'Ahoj'#10'jak se máte? '#10'My docela dobře'

Standardní vstup obvykle z klávesnice procedura Read obecný tvar: Read (p1, p2, …, pn ) načte ze vstupu n hodnot a uloží je do proměnných p1, p2, …, pn procedura ReadLn obecný tvar: ReadLn (p1, p2, …, pn) načte ze vstupu n hodnot a uloží je do proměnných p1, p2, …, pn, přečte se i znak ukončující řádek Příklad1 Příklad2 Příklad3 Příklad4

Vstup čísel a řetězců v jednom čteme-li v jednom vstupu čísla i řetězce a řetězec není jako poslední v seznamu, může se stát, že číselné hodnoty následující po řetězci se již neuloží do svých proměnných, ale budou v podstatě spolknuty řetězcem a program dále čeká na vložení těchto hodnot nastane chyba vstupu, neboť do čísla se ukládá část řetězce Příklad2 Příklad3 Příklad1

Vstup několika řetězců najednou čteme-li v jednom vstupu více řetězců, může se stát, že první řetězec spolkne veškerý vstup až do konce řádku, takže ostatní řetězce zůstanou prázdné dojde k chybnému rozdělení vloženého textu do jednotlivých řetězců – řetězce na začátku seznamu parametrů procedury ReadLn jsou správně naplněny a ostatní špatně nebo vůbec Příklad2 Příklad3 Příklad1

Standardní výstup obvykle na obrazovku (konzoli) procedura Write obecný tvar: Write (p1, p2, …, pn ) zobrazí na výstupu hodnoty výrazů p1, p2, …, pn procedura WriteLn obecný tvar: WriteLn (p1, p2, …, pn ) zobrazí na výstupu hodnoty výrazů p1, p2, …, pn a poté odřádkuje Poznámka: WriteLn bez parametrů pouze odřádkuje – lze použít i opakovaně

Standardní výstup - příklad var a, b : integer; x : real; nadpis : string; begin a := 9165; b := 718; nadpis := 'Výstup na obrazovku'; WriteLn(nadpis); WriteLn; WriteLn('a = ', a, 'b = ', b); x := a / b; WriteLn('Reálný podíl = ', x :10:4); WriteLn('Celočíselný podíl = ', a div b); … end.

Seznam identifikátorů identifikátor proměnné Deklarace proměnných var Seznam identifikátorů typ : ; klauzule absolute klauzule absolute kladné celé č. absolute : identifikátor proměnné

Datové typy jednoduché strukturované pointer ordinální reálné char boolean celočíselné interval výčet pole záznam množina soubor řetězec

Deklarace proměnných – příklady var jmeno, prijmeni : string[20]; nadpis : string; pocet : integer; cislo, soucet, prumer : real; odpoved : char; platnost : boolean; odkaz_na_jmeno : string absolute jmeno; Crt_Mode : byte absolute $0040 : $0049;

Jednoduché příkazy přiřazovací příkaz volání procedury příkaz goto

Identifikátor proměnné Přiřazovací příkaz hodnota výrazu na pravé straně se dosadí do proměnné na straně levé event. zajistí vrácení funkční hodnoty výraz na levé straně musí být kompatibilní vůči přiřazení s typem proměnné vlevo nebo s typem funkční hodnoty typy jsou shodné typ výrazu je podtypem typu proměnné (fční hodnoty) do proměnné typu real lze dosadit celočíselný výraz do proměnné typu integer lze dosadit výraz typu byte … do proměnné typu string lze dosadit výraz typu char Identifikátor proměnné := Výraz Identifikátor funkce

Přiřazovací příkazy - příklady var hotovo : boolean; realny_podil : real; cislo : byte; suma, x, y, a, b : integer; celociselny_podil : integer; realny_podil := x / y; celociselny_podil : = x div y ; suma := suma + cislo; hotovo := (a=0) or (b=0);

Volání procedury Identifikátor procedury Identifikátor metody Kvalifikovaný id. metody Identifikátor proc. prom. Seznam skutečných parametrů ClrScr; WriteLn('Dobrý den'); NakresliKruh(10,10,20); ReadLn;

Příkaz goto příkaz skoku – přenese provádění programu na místo (příkaz) označený návěštím používat jen výjimečně Návěští goto

Příklad goto goto Konec;