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