vod do Pascalu Co je Pascal vy programovac
- Slides: 108
Ú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 realizaci výpočetních procesů na počítači. • 1967 -71: Niklaus Wirth 2
Jednoduchý program ahoj; begin writeln (‘Hello World’); end. jméno programu Je velmi důležité program správně členit. klíčová slova 3
Program a zdrojový kód proces začíná v textovém editoru zde píšeme zdrojový kód ten je uložen s příponou. PAS počítač nerozumí textu v Pascalu; jazyk musí být přeložen do strojového kódu • toto zajistí překladač (compiler => kompilovat) • • 4
Jak funguje překlad? 2 fáze překladu fáze 1: překladač zkontroluje, zda se v kódu vyskytují syntaktické chyby (např. překlepy) Pokud jsou chyby nalezeny, vypíšou se a překlad je ukončen. Programátor může nyní nalezené chyby opravit. 5
Jak funguje překlad? fáze 2: Po odstranění všech chyb je zdrojový kód převeden do spustitelného programu (. exe) 6
7
Klíčová (rezervovaná) slova 8
Čtení V Pascalu je čtení prováděno příkazem Readln: pracuje s textem i s číselnými hodnotami Readln: samostatně může být použit pro zastavení běhu programu (čeká se na stisk ENTER) 9
Čtení V Pascalu je čtení prováděno příkazem Readln: pracuje s textem i s číselnými hodnotami Readln: samostatně může být použit pro zastavení běhu programu (čeká se na stisk ENTER) var A, B, C: integer; S: string; begin readln(A); readln(B, C); readln(S); readln; end. 10
Čtení V Pascalu je čtení prováděno příkazem Readln: pracuje s textem i s číselnými hodnotami Readln: samostatně může být použit pro zastavení běhu programu (čeká se na stisk ENTER) 47 ENTER 1234 -45 ENTER Zaciname s Pascalem ENTER var A, B, C: integer; S: string; begin readln(A); readln(B, C); readln(S); readln; end. A=47 B=1234 a C=-45 S = ’Zaciname s Pascalem’ 11
Zápis (tisk) je prováděn příkazy Write nebo Writeln(‘Zadej cislo: ‘); … zobrazí řetězec napsaný v uvozovkách a odřádkuje Writeln(A); … vytiskne hodnotu proměnné A a odřádkuje Write(A); … stejné jako dříve, ale bez odřádkování Writeln; … odřádkuje 12
Zápis (tisk) 13
Zápis (tisk) 14
Proměnná • veličina určitého typu, která může měnit svou hodnotu, ne však svůj typ • proměnná musí být deklarována • deklarace proměnných začíná klíčovým slovem var (což je zkratka ze slova variable) Byte Char Integer String Real Boolean 15
Datové typy Boolean : logická proměnná: true, false Integer: celá čísla mezi – 32768 a 32767 Real : reálná čísla Char : znaky (např. @; t; 6) String : řetězec - složen z žádného nebo více znaků • Array: pole prvků určitého typu např. A: array[1. . 100] of Real; • • • 16
17
18
19
20
21
22
23
Datové typy definované uživatelem možnost definovat další typy var M, N: Integer; K, L: 1. . 100; type Typ. Sto=1. . 100; var M, N: Integer; K, L: Typ. Sto; M, N … standardního celočíselného typu Integer K, L … celočíselné prom. , mohou nabývat jen hodnot od 1 do 100 Je možno nejprve deklarovat celočíselný typ vázaný na příslušný interval (označen bude např. identifikátorem Typ. Sto), a teprve potom pomocí identifikátoru typu deklarovat proměnné K, L 24
Datové typy definované uživatelem Příklad: Mají-li např. X, Y představovat body v třírozměrném prostoru, jejichž souřadnice se mohou v průběhu programu měnit, lze příslušná proměnná třísložková pole deklarovat přímo zápisem var X, Y: array[1. . 3] of Real; 25
Datové typy definované uživatelem Příklad: Mají-li např. X, Y představovat body v třírozměrném prostoru, jejichž souřadnice se mohou v průběhu programu měnit, lze příslušná proměnná třísložková pole deklarovat přímo zápisem var X, Y: array[1. . 3] of Real; nebo nejprve deklarovat příslušný typ (bude označen identifikátorem Typ. Bod), tj. psát 26
Datové typy definované uživatelem Příklad: Mají-li např. X, Y představovat body v třírozměrném prostoru, jejichž souřadnice se mohou v průběhu programu měnit, lze příslušná proměnná třísložková pole deklarovat přímo zápisem var X, Y: array[1. . 3] of Real; nebo nejprve deklarovat příslušný typ (bude označen identifikátorem Typ. Bod), tj. psát type Typ. Bod=array[1. . 3] of Real; var X, Y: Typ. Bod; 27
Datové typy definované uživatelem 28
Pojmenování proměnných • identifikátor - musí začínat písmenem, může obsahovat číslice a znak podtržení 29
Konstanty • data, která nemění svou hodnotu – literál, tj. přímý zápis hodnoty v programu, – pojmenovaná konstanta, tj. pomocí identifikátoru, který je pro příslušnou hodnotu použit v úseku deklarací konstant (úsek deklarací konstant začíná klíčovým slovem const). const T 0=273. 15; Dimenze=2; 30
Příkaz přiřazení 31
Příkaz přiřazení 32
Příkaz přiřazení 33
Příkaz přiřazení zapíše data do již dříve deklarované proměnné např. cislo : = 25; adresa : = ’ 25 High Street’; 34
Matematické operace + * sčítání odčítání násobení / div mod dělení mod zbytek po celočíselném dělení div celočíselné dělení 35
3. 5 36
3. 5 37
38
39
40
41
Matematické operace • není definován aritmetický operátor pro umocňování • mocniny s malým přirozeným exponentem: – funkce Sqr nebo opakované násobení • jiné mocniny (s reálným exponentem, a tedy též pro zápis odmocnin) – funkce Power nebo matematický vztah AB = e B*ln A (pro A > 0) 42
Matematické operace 43
Matematické operace 44
Matematické operace 45
Matematické operace 46
Přepona trojúhelníka 47
Přepona trojúhelníka 48
Podmínky • proměnné typu Boolean True / False = je rovno <> není rovno > větší než < menší než >= větší nebo rovno <= menší nebo rovno 49
50
51
52
53
and, or, not 54
Určete hodnoty proměnných X a Y po vykonání kódu: 55
Určete hodnoty proměnných X a Y po vykonání kódu: 56
57
58
59
60
61
62
63
64
Příkaz case slouží k zápisu n-árního větvení 65
Příkaz case slouží k zápisu n-árního větvení 66
Příkaz case V proměnných Den, Měsíc, Rok je uloženo datum. Napište část programu, která zajistí, že do proměnné Počet bude uložen počet dnů v příslušném měsíci. 67
Příkaz case V proměnných Den, Měsíc, Rok je uloženo datum. Napište část programu, která zajistí, že do proměnné Období bude uložen název příslušného ročního období. 68
Příkaz case V proměnných Den, Měsíc, Rok je uloženo datum. Napište část programu, která zajistí, že do proměnné Období bude uložen název příslušného ročního období. Jak to funguje? 69
70
71
72
73
Prázdný příkaz • nepředepisuje žádnou akci a je definován jako prázdný řetězec znaků abecedy jazyka • obvykle se využívá jako kompoziční prvek ve strukturovaných příkazech. Příklad: if X<5 then else Write('*') NIC • přehledněji (neúplným příkazem if): if X>=5 then Write('*') 74
Cykly • Cyklus je část algoritmu, která předepisuje (několikanásobné) opakování části algoritmu (těla cyklu). 75
Cykly • se známým počtem opakování for… to… do… • s neznámým počtem opakování repeat… until… while… do… 76
se známým počtem opakování 77
78
s neznámým počtem opakování 79
s neznámým počtem opakování 80
81
82
83
84
nebo 85
Jaké chyby mohou nastat? mohou nastat 3 typy chyb 1. Syntaktické chyby: např. překlepy 2. Logické chyby: chyby v logice (algoritmu) 3. Run-Time chyby (za běhu) : chyby, které se vyskytnou až při běhu programu (např. nedostatek paměti) 86
Používání procedur • Procedura je dílčí algoritmus • stejně jako program musí mít své jméno • definuje vlastní proměnné zvané lokální proměnné nebo používá globální proměnné použité v programu • pro vymezení procedury používáme begin a end, ale na konci bude středník. • např. chceme zahrát melodii na začátku a na konci programu • na konci však jiným tempem 87
Používání funkcí • jsou podobné procedurám • mají vlastní proměnné a mohou pracovat také s parametry. • hlavní rozdíl je v tom, že funkce vrací hodnotu zpět do programu 88
Deklarace funkce • tvořena záhlavím, deklarační částí a příkazovou částí • Záhlaví – začíná klíčovým slovem function a názvem (identifikátorem) funkce – obsahuje parametry funkce (kolik a jakého typu) a jakého typu je výsledek (jedna výsledná hodnota). 89
Deklarace funkce • V příkazové části funkce (tj. mezi begin a end funkce) je třeba přiřadit identifikátoru funkce, nějakou hodnotu => výsledná funkční hodnotu. 90
Používání funkcí Příklad Deklarujte funkci pro výpočet aritmetického průměru dvou reálných čísel. vstupní parametry výstupní parametry 91
Používání funkcí Příklad Deklarujte funkci pro výpočet n!. 92
Používání funkcí 93
Volání procedury a funkce má jeden ze dvou tvarů • identifikátor podprogramu (seznam skutečných parametrů) rozdílný je však význam volání: • volání procedury představuje příkaz (příkaz procedury), • volání funkce představuje výraz. 94
Formální parametry podprogramů dělíme: z hlediska algoritmizace (podle směru předávaných hodnot) na: • parametry vstupní, • parametry výstupní, • parametry vstupně-výstupní, z hlediska Pascalu na: • parametry volané hodnotou, • parametry volané odkazem (vztahuje se na ně klíčové slovo var). 95
Formální parametr volaný hodnotou • představuje v těle podprogramu jen lokální proměnnou, které je na počátku provádění podprogramu přiřazena hodnota skutečného parametru. • Přípustným skutečným parametrem může být proto libovolný výraz, jehož hodnota je kompatibilní vzhledem k přiřazení s typem formálního parametru. • Případné změny hodnoty formálního parametru při provádění podprogramu nemění hodnotu skutečného parametru. 96
Formální parametr volaný hodnotou program Ukazka. Funkci; ~~~ function Moc 3(X: Real): Real; begin Moc 3: =X*Sqr(X); end; ~~~ var X, Y, Z: Real; begin X : = 5. 5; Y : = 2. 5; Z : = Moc 3(X-Y); ~~~ end. 97
Formální parametr volaný odkazem • představuje v těle podprogramu vždy tu konkrétní proměnnou, která je určena skutečným parametrem. • Přípustným skutečným parametrem proto může být obecně jen proměnná, jejíž typ je totožný s typem formálního parametru 98
Vyjádřete algoritmus pro výpočet součtu 20 reálných čísel dodávaných ze vstupního zařízení. 99
100
Vstupní údaje tvoří nejprve přirozené číslo N z intervalu <2, 1000> a dále posloupnost N reálných čísel. Vyjádřete algoritmus pro nalezení největší hodnoty z hodnot prvků posloupnosti. 101
Vstupní data tvoří přirozené číslo N > 2 a posloupnost N celých čísel. Vyjádřete algoritmus, podle kterého se zjistí, zda jsou v posloupnosti bezprostředně po sobě dvě stejná čísla. V případě, že ano, zajistěte tisk jejich společné hodnoty a tisk příslušné dvojice indexů. 102
Vstupní data tvoří přirozené číslo N > 2 a posloupnost N celých čísel. Vyjádřete algoritmus, podle kterého se zjistí, zda jsou v posloupnosti bezprostředně po sobě dvě stejná čísla. V případě, že ano, zajistěte tisk jejich společné hodnoty a tisk příslušné dvojice indexů. 103
Vstupní data tvoří přirozené číslo N > 2 a posloupnost N celých čísel. Vyjádřete algoritmus, podle kterého se zjistí, zda jsou v posloupnosti bezprostředně po sobě dvě stejná čísla. V případě, že ano, zajistěte tisk jejich společné hodnoty a tisk příslušné dvojice indexů. 104
Vstupní údaje tvoří přirozené číslo N z intervalu <2, 100> a dále posloupnost N celých čísel. Vyjádřete algoritmus pro nalezení všech míst výskytu maxima posloupnosti. 105
Vstupní údaje tvoří přirozené číslo N a dále posloupnost N celých kladných čísel. Vyjádřete algoritmus, podle kterého se zjistí, zda jsou v posloupnosti alespoň dva prvky stejné. 106
107
108
- Co je to marketing
- Vod marketing
- Zakupljeni vod
- Vod
- Tulipan vod
- Iptvmain
- Rw + vo c inverter transient response vod inverte...
- Ztv vod
- Iptv vod italia
- Provodnici i izolatori
- Ztv vod
- Desetina vod satnija
- Cn tower golden ratio
- For to do pascal
- Pascal and archimedes principle
- Pascal extended
- Pressure at sea level in pascal
- Dongkrak hidrolik tidak menggunakan prinsip archimedes
- Fluid motion
- Java vs pascal
- Pascal istenérve
- "markus dubber"
- Arrays in pascal examples
- Ai parts
- Membersihkan layar windows di program pascal baris 6
- Legge pascal
- Pascal loop example
- Read pascal
- Wg to pascal
- Tujuan hukum pascal
- Pascal scheller
- Objective of hydraulic lift
- Pressure at sea level in pascal
- Pascal, franc. matematyk i fizyk
- Pascal score
- Pascal else if
- Pascal's triangle patterns
- Sierpinski triangle pascal's triangle
- Sade rose pascal
- Esprit de finesse
- Programski jezik pascal
- Brett pascal
- Brent pascal
- Fluido
- Delphi string
- Subprograme pascal
- Blaise pascal prezentace
- X+y=5
- Procedure begin
- Stars and bars with upper bound
- Pascal program
- Pascal buclon
- Pascal prensibi
- Pascal bellamy
- Pascal ruter
- Eniac
- Pascal abc graphabc
- Struik pascal
- Smpk penabur kota wisata
- Inclusion exclusion principle c++
- Nonatale
- Objetivo del principio de pascal
- Contoh program pascal while do
- Contoh program pascal dan penjelasannya
- How to use pascal's triangle to expand
- Pascal prensibi
- Superconducting electronics
- Jack in the
- Estrutura de repetição pascal
- Pascal gautron
- Fibonacci's amazing find
- Expected value
- Pascal morel efs
- Pascal istenérve
- Pascal stang
- Blaise pascal university
- Pascal hamann
- Pascal loos
- Pascal menu
- Blaise pascal erfindungen
- Pascal lecocq
- Pascal writeln formatting
- Pascal repeat until loop example
- Binomial distribution triangle
- Pascal jednotka
- Pascal torricelli
- Toda igreja unida celebra a memória pascal do cordeiro
- Blaise pascal životopis
- Pascal program
- Pascal's triangle hockey stick pattern
- Algorytm euklidesa c
- Deepak megur
- Pascal język programowania
- Pascal romero
- Michelle cheatham
- Iiss blaise pascal
- Pascal orientado a objetos
- Pascal's law units
- Algoritma repeat until
- Binomios
- Program
- Pascal rudin
- Presa hidraulica pascal
- Pascal inloggning
- Pascal gautron
- Kiểu dữ liệu trong pascal
- Pascal graph
- Pascal abc graph
- Pascal file