1
PS/TP
TI
TI
TI
TI----PS
PS
PS
PS----1A
1A
1A
1A
WPROWADZENIE DO
WPROWADZENIE DO
WPROWADZENIE DO
WPROWADZENIE DO
PROGRAMOWANIA
PROGRAMOWANIA
PROGRAMOWANIA
PROGRAMOWANIA
STRUKTURALNEGO W PASCALU
STRUKTURALNEGO W PASCALU
STRUKTURALNEGO W PASCALU
STRUKTURALNEGO W PASCALU
2
PS/TP
002 -
PROGRAMOWANIE STRUKTURALNE
Pami
ę
taj :
bez matematyki
nie ma informatyki !!!
3
PS/TP
PROGRAMOWANIE STRUKTURALNE
Algebra Boolea
4
PS/TP
PROGRAMOWANIE STRUKTURALNE
Wprowadzenie do logiki
Suma zbiorów
ZBIÓR A
ZBIÓR B
X
Y
Y
∈
A
∪
B -
Element Y należy do sumy zbiorów A i B
X
∈
A
∪
B -
Element X należy do sumy zbiorów A i B
5
PS/TP
PROGRAMOWANIE STRUKTURALNE
Iloczyn zbiorów
ZBIÓR A
ZBIÓR B
Y
X
Y
∈
A
∩
B -
Element Y należy do części wspólnej zbiorów A i B
X
∉
A
∩
B -
Element X nie należy do części wspólnej zbiorów A i B
6
PS/TP
PROGRAMOWANIE STRUKTURALNE
Zdanie logiczne to zdanie orzekaj
ą
ce,
któremu mo
ż
na przyporz
ą
dkowa
ć
warto
ść
logiczn
ą
„FAŁSZ” lub „PRAWDA”.
Przykład: „dzisiaj jest poniedziałek”.
W matematyce i informatyce warto
ść
„FAŁSZ” oznaczamy symbolem „0”
natomiast warto
ść
„PRAWDA” symbolem „1”.
W j
ę
zykach programowania warto
ść
0 oznaczmy symbolem „false”,
a warto
ść
1 symbolem true.
7
PS/TP
PROGRAMOWANIE STRUKTURALNE
Symbole logiczne
NIE = false = 0
TAK = true = 1
Negacja (NOT)
NIE (0) (false)
TAK (1) (true)
TAK (1) (true)
NIE (0) (false)
NOT A
A
8
PS/TP
PROGRAMOWANIE STRUKTURALNE
Koniunkcja (iloczyn logiczny)
TAK
TAK
TAK
NIE
NIE
TAK
NIE
TAK
NIE
NIE
NIE
NIE
A i B
B
A
9
PS/TP
PROGRAMOWANIE STRUKTURALNE
Koniunkcja (AND)
1
1
1
0
0
1
0
1
0
0
0
0
A AND B
B
A
Przyk
ł
ad koniunkcji:
Mam pieni
ą
dze
Sklep otwarty
Mog
ę
kupowa
ć
0
0
0
0
1
0
1
0
0
1
1
1
10
PS/TP
PROGRAMOWANIE STRUKTURALNE
Alternatywa zwykła (suma logiczna)
TAK
TAK
TAK
TAK
NIE
TAK
TAK
TAK
NIE
NIE
NIE
NIE
A i B
B
A
11
PS/TP
PROGRAMOWANIE STRUKTURALNE
Alternatywa zwykła (OR)
1
1
1
1
0
1
1
1
0
0
0
0
A OR B
B
A
Przyk
ł
ad alternatywy:
Mam pieni
ą
dze
Mam kredyt
Mog
ę
kupowa
ć
0
0
0
0
1
1
1
0
1
1
1
1
12
PS/TP
PROGRAMOWANIE STRUKTURALNE
Alternatywa wykluczaj
ą
ca (albo)
NIE
TAK
TAK
TAK
NIE
TAK
TAK
TAK
NIE
NIE
NIE
NIE
A albo B
B
A
13
PS/TP
PROGRAMOWANIE STRUKTURALNE
Alternatywa wykluczaj
ą
ca (ExOR)
0
1
1
1
0
1
1
1
0
0
0
0
A OR B
B
A
Przyk
ł
ad alternatywy wykluczaj
ą
cej:
ś
ycie
Ś
mier
ć
Musia
ł
em wybra
ć
0
0
0
0
1
1
1
0
1
1
1
0
14
PS/TP
PROGRAMOWANIE STRUKTURALNE
Powtórzenie podstaw
Najmniejsza podstawowa miara informacji nazywa si
ę
bitem.
1 bit to podstawowa najmniejsza jednostka informacji u
ż
ywana w informatyce.
Jeden bit mo
ż
e przechowywa
ć
stan logiczny
„0” albo „1”.
0 = false
1 = true
15
PS/TP
PROGRAMOWANIE STRUKTURALNE
16
PS/TP
002 -
PROGRAMOWANIE STRUKTURALNE
002
Podstawowe poj
ę
cia dotycz
ą
ce
programowania
17
PS/TP
PROGRAMOWANIE STRUKTURALNE
Program komputerowy ?
18
PS/TP
PROGRAMOWANIE STRUKTURALNE
SYSTEM OPERACYJNY I RODZAJE PLIKÓW
ZASOBY KOMPUTERA to:
płyta główna, klawiatura, myszka, monitor, drukarka, dysk twardy,
karty urz
ą
dze
ń
zewn
ę
trznych oraz programy i dane zgromadzone na dysku
twardym, dysku CD-ROM/CD-DVD, albo dyskietce.
Katalogi słu
żą
do uporz
ą
dkowania plików tak, aby system operacyjny
oraz człowiek mógł łatwo zarz
ą
dza
ć
nimi (np. znale
źć
własny dokument albo program).
Informacja zapisana na dysku jest zorganizowana w sposób hierarchiczny –
w postaci drzewa (korzeniem jest dysk np. C:)
19
PS/TP
PROGRAMOWANIE STRUKTURALNE
20
PS/TP
PROGRAMOWANIE STRUKTURALNE
21
PS/TP
PROGRAMOWANIE STRUKTURALNE
PLIKI słu
żą
do gromadzenia (przechowywania) danych albo programów.
W pliku mog
ą
by
ć
przechowywane dane (np. tekst, rysunek, film,
muzyka, strona WWW) albo program.
PLIK CHARAKTERYZUJE SI
Ę
NAT
Ę
PUJ
Ą
CYMI CECHAMI:
•Nazwa pliku
•Rozmiar pliku
•Lokalizacja pliku
•Typ pliku (tzw. Rozszerzenie)
•Atrybuty pliku
•Data utworzenia pliku
•Data modyfikacji pliku
22
PS/TP
PROGRAMOWANIE STRUKTURALNE
NAZWA PLIKU SK
Ł
ADA SI
Ę
Z:
Nazwa G
Ł
ÓWNEJ pliku
Typu pliku (tzw. ROZSZERZENIA)
WINWORD.EXE
WST
Ę
P DO PROGRAMOWANIA.PPT
PRZYK
Ł
ADY NAZW PLIKÓW:
23
PS/TP
PROGRAMOWANIE STRUKTURALNE
PLIKI DZIELIMY NA:
Pliki z programami np.
WINWORD.EXE
Pliki z danymi np.
PAN TADEUSZ.DOC
Człowiek (programista) u
ż
ywa kosiarki (programu), aby kosi
ć
(przetwarza
ć
) traw
ę
(dane). Gdy program przetwarza dane,
człowiek mo
ż
e sobie odpoczywa
ć
!!!
24
PS/TP
PROGRAMOWANIE STRUKTURALNE
Co to jest i jak działa program komputerowy?
Oto kilka definicji:
25
PS/TP
PROGRAMOWANIE STRUKTURALNE
26
PS/TP
PROGRAMOWANIE STRUKTURALNE
Ci
ą
g rozkazów umieszczonych w pliku
o rozszerzeniu:
.COM, .EXE
nazywamy
PROGRAMEM BINARNYM
Rozkazy dla procesora
s
ą
zapisane w kodzie
zerojedynkowym, czyli
binarnym, dlatego programy te
nazywamy
binarnymi
.
27
PS/TP
PROGRAMOWANIE STRUKTURALNE
Programy binarne słu
żą
jako
narz
ę
dzia do przetwarzania plików
zawieraj
ą
cych dane np. program WINWORD.EXE słu
ż
y do edytowania
dokumentów tekstowych tzn. plików o rozszerzeniu .DOC
28
PS/TP
PROGRAMOWANIE STRUKTURALNE
J
ę
zyki programowania ?
29
PS/TP
PROGRAMOWANIE STRUKTURALNE
Ludzie komunikuj
ą
si
ę
miedzy sob
ą
j
ę
zykami naturalnymi i ich odmianami (dialekty,
narzecza,
ż
argon wi
ę
zienny,
ż
argon uliczny,
ż
argon zawodowy,
ż
argon grupy
znajomych).
Do komunikacji człowieka z maszyn
ą
lepszymi od j
ę
zyka binarnego okazały si
ę
j
ę
zyki sztuczne: najpierw były to asemblery rozkazuj
ą
ce procesorowi (j
ę
zyki
niskiego poziomu), a potem powstały j
ę
zyki wysokiego poziomu
(j
ę
zyki podobne do angielskiego) – rozkazuj
ą
ce komputerowi co ma robi
ć
.
I tak w latach 70-tych i 80-tych wieku XX powstały m.in. takie j
ę
zyki:
Algol
Fortran
Basic
C
30
PS/TP
PROGRAMOWANIE STRUKTURALNE
Kompilator ?
31
PS/TP
PROGRAMOWANIE STRUKTURALNE
Kompilacj
ą
programu
ź
ródłowego nazywamy tłumaczenie programu
ź
ródłowego (rozszerzenie .PAS) na program binarny (rozszerzenie .EXE) –
po wykonaniu kompilacji powstaje program zapisany w pliku o rozszerzeniu EXE,
który mo
ż
na przenie
ść
na dowolny komputer, a nast
ę
pnie go u
ż
ywa
ć
.
1. Tworzenie i edycja plików
ź
ródłowych
2. Kompilacja plików
ź
ródłowych
3. Linkowanie – czyli doł
ą
czanie kodu plików bibliotecznych
Załó
ż
my,
ż
e mamy ju
ż
gotowy algorytm programu w postaci schematu blokowego.
Aby móc wyprodukowa
ć
gotowy do działania program komputerowy nale
ż
y go
najpierw napisa
ć
w wersji
ź
ródłowej i zapisa
ć
do pliku. W przypadku j
ę
zyka
PASCAL pliki
ź
ródłowe zawieraj
ą
ce tekst programu b
ę
d
ą
miały rozszerzenie PAS.
Po napisaniu i przetestowaniu programu nale
ż
y go przetłumaczy
ć
na program
wynikowy binarny. Wynikowy program binarny b
ę
dzie zapisany do pliku takiej
samej nazwie głównej o rozszerzeniu EXE.
Czynno
ść
polegaj
ą
c
ą
na tłumaczeniu programu
ź
ródłowego
na program binarny (wykonywalny) nazywamy kompilacj
ą
32
PS/TP
PROGRAMOWANIE STRUKTURALNE
Czym ró
ż
ni si
ę
program
ź
ródłowy od programu binarnego ?
Wygl
ą
d przykładowego programu
ź
ródłowego DISP.PAS:
PROGRAM DISP;
BEGIN
WRITELN( ‘TO JEST PROGRAM
Ź
RÓDŁOWY‘ );
WRITELN( ‘KTÓRY WY
Ś
WIETLA 2 LINIE TEKSTU‘ );
END.
33
PS/TP
PROGRAMOWANIE STRUKTURALNE
Wygl
ą
d fragmentu przykładowego programu binarnego DISP.EXE:
CO TO JEST KOMPILATOR?
34
PS/TP
PROGRAMOWANIE STRUKTURALNE
CO TO JEST KOMPILATOR?
Do kompilacji programów słu
żą
specjalne systemy nazywane
kompilatorami. W naszym przypadku kompilator do j
ę
zyka PASCAL
nazywa si
ę
Turbo-Pascal (wersja 7.0). albo Free Pascal Compiler.
Inne kompilatory:
Borland Pascal for Windows
Borland Delphi
Borland C++ Builder
Borland JBuilder
Turbo C++
Microsoft Visual C++
Microsoft Visual Basic
35
PS/TP
PROGRAMOWANIE STRUKTURALNE
36
PS/TP
PROGRAMOWANIE STRUKTURALNE
Etapy tworzenia programu
binarnego
37
PS/TP
PROGRAMOWANIE STRUKTURALNE
Kompilacją programu źródłowego nazywamy tłumaczenie
programu źródłowego (rozszerzenie .C) na program binarny
(rozszerzenie .EXE) - po wykonaniu kompilacji powstaje
program zapisany w pliku o rozszerzeniu EXE, który
można przenieść na dowolny komputer, a następnie go
używać.
38
PS/TP
PROGRAMOWANIE STRUKTURALNE
1. Tworzenie i edycja plików
ź
ródłowych
2. Kompilacja plików
ź
ródłowych
3. Linkowanie – czyli doł
ą
czanie kodu plików bibliotecznych
39
PS/TP
PROGRAMOWANIE STRUKTURALNE
40
PS/TP
PROGRAMOWANIE STRUKTURALNE
41
PS/TP
PROGRAMOWANIE STRUKTURALNE
42
PS/TP
PROGRAMOWANIE STRUKTURALNE
Po wygenerowaniu programu binarnego, nale
ż
y go przetestowa
ć
,
stosuj
ą
c ró
ż
ne warianty danych wej
ś
ciowych.
Testowanie ma na celu sprawdzenie czy dla ró
ż
nych wariantów danych
program binarny daje oczekiwane wyniki.
Je
ś
li nie, to znaczy
ż
e nale
ż
y przeanalizowa
ć
jego działanie i znale
źć
przyczyny
takiego działania, a nast
ę
pnie przej
ść
do fazy edycji plików
ź
ródłowych i poprawi
ć
bł
ę
dy w kodzie
ź
ródłowym.
43
PS/TP
PROGRAMOWANIE STRUKTURALNE
1. Szukanie bł
ę
dów w kodzie
ź
ródłowym
2. Poprawianie plików
ź
ródłowych
3. Ponowna kompilacja plików
ź
ródłowych
4. Ponowne linkowanie
44
PS/TP
PROGRAMOWANIE STRUKTURALNE
Testowanie
45
PS/TP
PROGRAMOWANIE STRUKTURALNE
Interpretator ?
Interpretator to program który na bie
żą
co wczytuje pojedyncz
ą
lini
ę
kodu
ź
ródłowego, analizuje j
ą
, i je
ś
li jest poprawna to zamienia j
ą
na kod binarny
zrozumiały dla procesora (przekazuje kod do procesora).
Je
ś
li wyst
ą
pi bł
ą
d, to wykonywanie programu zostanie przerwane!
J
ę
zyki interpretowane:
BASIC, JavaScript, BasicScript.
Interpretator nie generuje pliku z kodem binarnym!!!
46
PS/TP
PROGRAMOWANIE STRUKTURALNE
Tłumaczenie na posta
ć
binarn
ą
Plik z rozkazami
w j
ę
zyku skryptowym
Edycja programu
w j
ę
zyku skryptowym
Sprawdzanie poprawno
ś
ci składniowej
Pobranie rozkazu
Czy poprawny ?
tak
nie
Komunikat o bł
ę
dzie
Wykonanie przez procesor
47
PS/TP
PROGRAMOWANIE STRUKTURALNE
Konsolidator ?
48
PS/TP
PROGRAMOWANIE STRUKTURALNE
Konsolidator albo linker to program, który ł
ą
czy kody asemblerowe
plików .OBJ i plików bibliotecznych np. .LIB i zamienia je w jeden plik
binarny .EXE.
Proces ten nazywamy linkowaniem.
49
PS/TP
PROGRAMOWANIE STRUKTURALNE
Ci
ą
g dalszy - Po otworzeniu programu jego tre
ść
znajduje si
ę
w oknie edytora
TP w którym mo
ż
na dokonywa
ć
wszelkich zmian oraz testowa
ć
działanie programu.
Shift +
→
→
→
→
zaznaczenie cz
ęś
ci tekstu od kursora w prawo
Shift +
←
←
←
←
zaznaczenie cz
ęś
ci tekstu od kursora w lewo
Shift +
↑↑↑↑
zaznaczenie cz
ęś
ci tekstu od kursora w gór
ę
Shift +
↓↓↓↓
zaznaczenie cz
ęś
ci tekstu od kursora w dół