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Š‹Œ/Ž3‘J’“M”-•–<—˜™
¸º¹¼»¾½£¿ÁÀáģşÆÈÇÊɝ˝Ì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

‚ƒ„†…2‡ˆŠ‰Œ‹oKŽ2’‘2“
.,/
"!$#&%('*),+&-
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{\|<}~
 €‚eƒ„2….† ‡2ˆ ‰AŠ‹
º» ¼
ŒŽ+K‘’ “+” •– —˜2™Dš+›
œ žŸ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?‘o’A“•”C–˜—
ˆ‰cŠf‹#Œ
™
š•›Cœq.ž
¡¢£
Ÿ
– 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

Podobne dokumenty