Folie - Informatyka I
Transkrypt
Folie - Informatyka I
Informatyka I Wyklad II Algorytm, podstawowe notacje, typy danych i wyrażenia Zagadnienia: pojecie algorytmu, diagramy algory, tmów, przejście od algorytmu do programu, zapis skladni programu, typy danych, operatory, wyrażenia, zmienne. – Sklad FoilTEX – c R. Muszyński 2000 Algorytm, podstawowe notacje, typy danych i wyrażenia Algorytm ¡ £¢y¤¦¥¨§ª©£«¬ ¡®¯±°¦²³µ´¶¡· !#"%$'&)(+*-,/. 013246587 9:<;=>? @8ABC/DE3FGHJIKML-NO<PQR Ï Ð Ñ Ò Ó Ô Õ Ö STUVW XYZ[\]^_`abc d efhg6ij/kmlnoqprs3t<uvwyx/z{ |J}~/8/ 8/3JM-< ¸º¹¼»¾½£¿ÁÀáģÅÆÈÇÊÉËÌyÍÁÎ – Sklad FoilTEX – c R. Muszyński 2000 1 Algorytm, podstawowe notacje, typy danych i wyrażenia Przykladowy algorytm !"#$&% '( )+*,.-/102 35461798;:=< >? @BAC D!EGFBHJILKNM!OQPNRTSNUWVYX9Z [W\^]_B` a b c^d9eJf!gih jTkml;nio!p qWrNsWt1uBviw xzy{ | }~+ & = = = - - + 5 9 ! .¡ ¢£¥¤¦§ ¨1©«ª.¬ ®!¯±°² ³´¶µ¸· – Sklad FoilTEX – c R. Muszyński 2000 2 Algorytm, podstawowe notacje, typy danych i wyrażenia Diagramy algorytmów 2oK22 .,/ "!$#&%('*),+&- 02143 5678:9;$<2=>@?ACBEDGF*H2IKJCLM N OPQSRCT UV WYX Z[2\]_^ ` abcedgf"hjilk monqp r stuSv$wxzy{(|2}~4K Elementy skladowe schematów blokowych algorytmów. – Sklad FoilTEX – c R. Muszyński 2000 3 Algorytm, podstawowe notacje, typy danych i wyrażenia Przykladowy algorytm — cd. !#"%$ &(')!*,+-/.1032457698;:,<=>? @,A BDC7EGF7HJIK LNMO!PJQ!RJS Y ¡ ¢ = - £N¤¥¦ !#"%$'&( )+* ,.- /021435 6 78:9<;=2> ?A@ BDC §[¨© xz rt = - = EFGH+IKJ LMNO+PDQRS TU VW XY2Z\[^]A_ ` abcedf2g.h i2j kAlAm ·¸ ¹ wy upv qs npo - - ïñðò;óGô õöÉ÷Dø7ùGú7ûüý þ ÿ W / T1UWVYX[Z\^] _a`cbed^fg hji9kjlJm + {}|7~/G ; G ;! °Y±²³ noDp+qsrt u+v w.x yze{\|<}~ e2 . 2 A º» ¼ +K + 2D+ e ¡e¢£ ¤2¥ ¦ ´[µ¶ ¬ ®¯ = ª« - ½¾¿/ÀGÁ ÂÃÄ,Å/ÆÇÉÈÊË Ì/ÍÎÏ ÐÑÒÓ!ÔÉÕÖ ×JØÚÙGÛ Ü,ÝÞß/à7á âãäåæ!ç;èGé êëì7íî p – Sklad FoilTEX – c R. Muszyński 2000 4 Algorytm, podstawowe notacje, typy danych i wyrażenia Skladnia programu • Notacja MBNF LHS = RHS – Symbole nieterminalne: zdania, grupy podmiotu; – symbole terminalne: ”bezbarwne”, ”zielone”, ”pomysly”, śpia”, wściekle”; ” , ” – operatory: konkatenacja, alternatywa — |, opcja — [], powtórzenie — {}, grupowanie — (). Zdanie jezyka , || Symbol poczatkowy , + Reguly zastepowania , • Diagramy skladni – Symbole nieterminalne → ; – symbole terminalne → ; – operatory → . – Sklad FoilTEX – c R. Muszyński 2000 5 Algorytm, podstawowe notacje, typy danych i wyrażenia Przykladowe konstrukcje • Notacja MBNF liczba-calkowita = [ znak-liczby ] liczba-calkowita-bez-znaku. znak-liczby = "+" | "-". liczba-calkowita-bez-znaku = ciag-cyfr. ciag-cyfr = cyfra { cyfra } . cyfra = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9". Porównaj ciag-cyfr = { cyfra }. • Diagram skladni ()*+,.- / 0123 465879;:=<?>A@CBED6FG;HJI K.L !#"$%&' M;N=OEPQSR6T8UV;WYX Z gih jk;l=monqpCrEsitu=vJw xzyo{}|=~?Y;= C []\ ^_`acbcdfe 8?oAC cf# Cq. ¡¢£ – Sklad FoilTEX – c R. Muszyński 2000 6 Algorytm, podstawowe notacje, typy danych i wyrażenia Kategorie skladniowe Pascala symbol-pascalowy = identyfikator | dyrektywa | liczba | etykieta | napis | symbol-specjalny. symbol-specjalny = | | | "+" | "-" | ">" | "[" | ";" | "^" | ">=" | ":=" slowo-kluczowe "AND" | "ARRAY" | "BEGIN" | "CASE" "CONST" | "DIV" | "DO" | "DOWNTO" "ELSE" | "END" | "FILE" | "FOR" "FUNCTION" | "GOTO" | "IF" | "IN" "LABEL" | "MOD" | "NIL" | "NOT" "OF" | "OR" | "PACKED" | "PROCEDURE" "PROGRAM" | "RECORD" | "REPEAT" "SET" | "THEN" | "TO" | "TYPE" "UNTIL" | "VAR" | "WHILE" | "WITH". = | | | | | | | | "*" | "/" | "=" | "<" "]" | "." | "," | ":" "(" | ")" | "<>" | "<=" | ".." | slowo-kluczowe. liczba-rzeczywista = [ znak-liczby ] liczba-rzeczywista-bez-znaku. liczba-rzeczywista-bez-znaku = liczba-calkowita-bez-znaku "." ciag-cyfr [ "e" mnoznik-skalujacy ] | liczba-calkowita-bez-znaku "e" mnoznik-skalujacy. mnoznik-skalujacy = liczba-calkowita. – Sklad FoilTEX – c R. Muszyński 2000 7 Algorytm, podstawowe notacje, typy danych i wyrażenia Typy danych • Podstawowe typy proste – – – – liczby calkowite — INTEGER liczby rzeczywiste — REAL zmienne logiczne — BOOLEAN zbiór znaków ASCII — CHAR • Podstawowe typy zlożone – typ okrojony — TYPE Miesiace = 1..12; – typ wyliczeniowy — TYPE DniTygodnia = (Pon, – – – Wto,Sro,Czw,Pia,Sob,Nie); tablice — TYPE Zal = ARRAY [1..200] OF 2..5; rekordy — TYPE Zespolona = RECORD Re, Im: REAL; END; zbiory — TYPE Litery = SET OF CHAR; • Dynamiczne struktury danych – Sklad FoilTEX – c R. Muszyński 2000 8 Algorytm, podstawowe notacje, typy danych i wyrażenia Operatory • Podstawowe operatory proste ∗ porównanie — = ∗ przypisanie — := – operatory arytmetyczne ∗ ∗ ∗ ∗ dodawanie — + odejmowanie — mnożenie — * dzielenie — /, DIV, MOD – operatory logiczne ∗ alternatywa — OR ∗ koniunkcja — AND ∗ negacja — NOT – pozostale operatory relacyjne — <, <=, <>, >=, > • Podstawowe operatory zlożone – konstruktory – selektory – Sklad FoilTEX – c R. Muszyński 2000 9 Algorytm, podstawowe notacje, typy danych i wyrażenia Wyrażenia • stale – jawne — 3, 3.14, TRUE, ’a’, ’ala ma kota’ – symboliczne — CONST pi = 3.14159, im = ’ala’; • zmienne — VAR Promien, Kat, Luk: REAL; • wywolania funkcji — • wyrażenia operatorowe SIN(Kat/180*pi) — (a * b) + (c * d) (Kat >= 0.0) AND (Kat <= 180.0) Reguly wyliczania wartości wyrażeń: (a) stale jawne: ich wartość jest im równa, (b) stale symboliczne i zmienne: ich wartość jest im przypisana, przy czym dla zmiennych może ulegać zmianie w trakcie pracy programu, (c) wywolania funkcji i wyrażenia operatorowe: wpierw wyliczane sa, wartości argumentów (które same sa, wyrażeniami), a nastepnie operator lub funkcja wylicza swoja, wartość. , ' $ instrukcja-przypisania = zmienna ":=" wyrazenie. & – Sklad FoilTEX – c R. Muszyński 2000 % 10 Algorytm, podstawowe notacje, typy danych i wyrażenia Operatory — priorytety priorytet najwyższy grupujace , () arytmetyczne − * / DIV MOD +− najniższy – Sklad FoilTEX – c R. Muszyński 2000 operatory mnogoślogiczne ciowe NOT AND OR * +− IN relacyjne < <= = <> >= > 11 Algorytm, podstawowe notacje, typy danych i wyrażenia Zmienne Zmienne posiadaja:, a) nazwe, , która musi być identyfikatorem pascalowym i różnić sie, od slów kluczowych Pascala, b) typ, który określa, jakie informacje bed , a, przechowywane w zmiennej; nazwa i typ zmiennej sa, wymienione w jej deklaracji, c) aktualna, wartość, d) alokacje, gdzie ma , która jest miejscem w pamieci, , być przechowywana wartość zmiennej, e) zakres, który jest miejscem w programie, gdzie można odwolywać sie, do zmiennej, f) czas trwania, to jest czas, w jakim moga, wystapić , odwolania do zmiennej. a), b) — określone treścia, programu, c), d) — ustalone chwilowo w trakcie wykonywania programu, e), f) — określone w Pascalu na stale. – Sklad FoilTEX – c R. Muszyński 2000 12