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

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

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

Podobné prezentace


Prezentace na téma: "Ú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."— Transkript prezentace:

1 Úvod do Pascalu

2 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 : Niklaus Wirth 2

3 Jednoduchý program program ahoj; begin writeln (‘Hello World’); end. jméno programu klíčová slova Je velmi důležité program správně členit. 3

4 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

5 Jak funguje překlad? 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. 2 fáze překladu 5

6 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 7

8 Klíčová (rezervovaná) slova 8

9 Čtení V Pascalu je čtení prováděno příkazem Readln 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

10 Čtení V Pascalu je čtení prováděno příkazem Readln 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

11 Čtení V Pascalu je čtení prováděno příkazem Readln 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. 47 A= B=1234 a C=-45 Zaciname s Pascalem S = ’Zaciname s Pascalem’ ENTER 11

12 Zápis (tisk) je prováděn příkazy Write nebo Writeln 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

13 Zápis (tisk) 13

14 Zápis (tisk) 14

15 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) ByteChar IntegerString RealBoolean 15

16 Datové typy Boolean : logická proměnná: true, false Integer: celá čísla mezi –32768 a Real : reálná čísla Char : znaky 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 17

18 18

19 19

20 20

21 21

22 22

23 23

24 Datové typy definované uživatelem var M,N:Integer; K,L:1..100; type TypSto=1..100; var M,N:Integer; K,L:TypSto; 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 TypSto), a teprve potom pomocí identifikátoru typu deklarovat proměnné K, L možnost definovat další typy 24

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; 25

26 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 TypBod), tj. psát Datové typy definované uživatelem 26

27 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 TypBod), tj. psát type TypBod=array[1..3] of Real; var X,Y:TypBod; Datové typy definované uživatelem 27

28 Datové typy definované uživatelem 28

29 Pojmenování proměnných identifikátor - musí začínat písmenem, může obsahovat číslice a znak podtržení 29

30 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 T0=273.15; Dimenze=2; 30

31 Příkaz přiřazení 31

32 Příkaz přiřazení 32

33 Příkaz přiřazení 33

34 Příkaz přiřazení zapíše data do již dříve deklarované proměnné např. cislo := 25; adresa := ’25 High Street’; 34

35 Matematické operace + sčítání - odčítání * násobení / div mod dělení mod zbytek po celočíselném dělení divceločíselné dělení 35

36 36 3.5

37 37 3.5

38 38

39 39

40 40

41 41

42 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 A B = e B*ln A (pro A > 0) 42

43 Matematické operace 43

44 Matematické operace 44

45 Matematické operace 45

46 Matematické operace 46

47 Přepona trojúhelníka 47

48 Přepona trojúhelníka 48

49 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 50

51 51

52 52

53 53

54 and, or, not 54

55 Určete hodnoty proměnných X a Y po vykonání kódu: 55

56 Určete hodnoty proměnných X a Y po vykonání kódu: 56

57 57

58 58

59 59

60 60

61 61

62 62

63 63

64 64

65 Příkaz case slouží k zápisu n-árního větvení 65

66 Příkaz case slouží k zápisu n-árního větvení 66

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é Počet bude uložen počet dnů v příslušném měsíci. 67

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í. 68

69 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 70

71 71

72 72

73 73

74 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('*') přehledněji (neúplným příkazem if): if X>=5 then Write('*') NIC 74

75 Cykly Cyklus je část algoritmu, která předepisuje (několikanásobné) opakování části algoritmu (těla cyklu). 75

76 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

77 se známým počtem opakování 77

78 78

79 s neznámým počtem opakování 79

80 s neznámým počtem opakování 80

81 81

82 82

83 83

84 84

85 85 nebo

86 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

87 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

88 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

89 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

90 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

91 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

92 Používání funkcí Příklad Deklarujte funkci pro výpočet n!. 92

93 Používání funkcí 93

94 Volání procedury a funkce má jeden ze dvou tvarů identifikátor podprogramu 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

95 Formální parametry podprogramů 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). dělíme: 95

96 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

97 Formální parametr volaný hodnotou program UkazkaFunkci; ~~~ function Moc3(X:Real):Real; begin Moc3:=X*Sqr(X); end; ~~~ var X,Y,Z:Real; begin X := 5.5; Y := 2.5; Z := Moc3(X-Y); ~~~ end. 97

98 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

99 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 100

101 Vstupní údaje tvoří nejprve přirozené číslo N z intervalu a dále posloupnost N reálných čísel. Vyjádřete algoritmus pro nalezení největší hodnoty z hodnot prvků posloupnosti. 101

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ů. 102

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ů. 103

104 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

105 Vstupní údaje tvoří přirozené číslo N z intervalu a dále posloupnost N celých čísel. Vyjádřete algoritmus pro nalezení všech míst výskytu maxima posloupnosti. 105

106 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 107

108 108


Stáhnout ppt "Ú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."

Podobné prezentace


Reklamy Google