1
PS/TP
TI
TI
TI
TI----PS
PS
PS
PS----1B
1B
1B
1B
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
ALGORYTMY
ALGORYTMY
ALGORYTMY
ALGORYTMY
I
I
I
I
SPOSOBY ICH ZAPISU
SPOSOBY ICH ZAPISU
SPOSOBY ICH ZAPISU
SPOSOBY ICH ZAPISU
5
PS/TP
PROGRAMOWANIE STRUKTURALNE
Poj
ę
cie algorytmu
Co to jest algorytm?
Jest to przepis opisuj
ą
cy krok po kroku rozwi
ą
zanie problemu lub
osi
ą
gni
ę
cie jakiego
ś
celu.
PRZYK
Ł
AD
Krok 1. Zagotuj wod
ę
.
Krok 2. W
ł
ó
ż
jajko do gotuj
ą
cej si
ę
wody.
Krok 3. Odczekaj 3 minuty.
Krok 4. Wyjmij jajko z wody.
Krok 5. Odstaw wod
ę
.
6
PS/TP
PROGRAMOWANIE STRUKTURALNE
Sposoby przedstawiania algorytmów
Algorytm mo
ż
na przedstawi
ć
w postaci 3 nast
ę
puj
ą
cych sformalizowanych postaci:
•ci
ą
g kroków (opis słowny),
•schemat blokowy (sie
ć
działa
ń
)
•zapis w strukturalnym j
ę
zyku programowania
(w nauce o algorytmach przyj
ę
to u
ż
ycie konwencji j
ę
zyka Pascal,
a czasami j
ę
zyka C).
Najcz
ęś
ciej do opisywania algorytmów w postaci schematu blokowego
u
ż
ywa si
ę
specjalnych symboli.
7
PS/TP
PROGRAMOWANIE STRUKTURALNE
Opis słowny
Krok 1. Zagotuj wod
ę
.
Krok 2. Włó
ż
jajko do gotuj
ą
cej si
ę
wody.
Krok 3. Odczekaj 3 minuty.
Krok 4. Wyjmij jajko z wody.
Krok 5. Odstaw wod
ę
.
START
Czy minęły 3
minuty ?
TAK
NIE
Odstaw wodę
STOP
Zagotuj wodę
Włóż jajko do
gotującej się wody
Wyjmij jajko
z wody
Schemat blokowy
8
PS/TP
PROGRAMOWANIE STRUKTURALNE
Zapis w strukturalnym j
ę
zyku programowania
Dane:
woda, jajko,
zegarek
Czynno
ś
ci:
begin
Zagotuj wod
ę
;
W
ł
ó
ż
jajko do gotuj
ą
cej si
ę
wody;
Odczekaj 3 minuty;
Wyjmij jajko z wody;
Odstaw wod
ę
;
end.
9
PS/TP
PROGRAMOWANIE STRUKTURALNE
Specyfikacja algorytmu
Specyfikacja algorytmu
to formalny (matematyczny)
opis danych i wyników.
Specyfikacja algorytmu sk
ł
ada si
ę
z dwóch cz
ęś
ci:
Opis danych
Opis wyników
10
PS/TP
PROGRAMOWANIE STRUKTURALNE
Dane:
a – d
ł
ugo
ść
boku kwadratu;
Warunek: a >= 0
Wynik:
P – pole kwadratu o boku a
Przyk
ł
ad specyfikacji:
11
PS/TP
PROGRAMOWANIE STRUKTURALNE
Specyfikacja algorytmu
PROBLEM: Obliczanie warto
ś
ci bezwzgl
ę
dnej liczby x
Dane : x - dowolna liczba rzeczywista
Wynik : w - warto
ść
bezwzgl
ę
dna liczby x
Algorytm w j
ę
zyku programowania:
begin
if (x >= 0)
then w := x;
else w := – x;
end.
12
PS/TP
PROGRAMOWANIE STRUKTURALNE
Schemat blokowy
13
PS/TP
PROGRAMOWANIE STRUKTURALNE
14
PS/TP
PROGRAMOWANIE STRUKTURALNE
Jak działa blok decyzyjny?
CZY N JEST
LICZB
Ą
NATURALN
Ą
?
TAK
NIE
DROGA DLA
TAK
DROGA DLA
NIE
15
PS/TP
PROGRAMOWANIE STRUKTURALNE
Od problemu do programu
Aby napisa
ć
pot
ęż
ny system komputerowy, trzeba zada
ć
sobie trud dokładnej
analizy problemów jakie ma ten system rozwi
ą
zywa
ć
– dlatego podzielono zadania
projektowania na etapy:
•analizy,
•projektowania,
•programowania,
•testowania,
•wdra
ż
ania systemu.
W uproszczeniu przedstawiono je na nast
ę
pnym slajdzie.
16
PS/TP
PROGRAMOWANIE STRUKTURALNE
Problem
Analiza
Projekt
Programowanie
Testowanie
Problem
Algorytm
Program komputerowy
Zespó
ł
analityków i projektantów
Zespó
ł
programistów
17
PS/TP
PROGRAMOWANIE STRUKTURALNE
Schemat blokowy - podsumowanie
18
PS/TP
PROGRAMOWANIE STRUKTURALNE
19
PS/TP
004 - Magiczne bloczki
MAGICZNE BLOCZKI
20
PS/TP
Magiczne bloczki
Program Magiczne Bloczki umożliwia
projektowanie oraz analizę algorytmów.
Dzięki prostej obsłudze jest doskonały do nauki
i zrozumienia działania podstawowych jak i
zaawansowanych algorytmów. Wizualizacja
oraz projektowanie algorytmów jest
zrealizowana za pomocą schematów
blokowych. Wbudowany kompilator umożliwia
sprawdzanie poprawności jak i symulowanie
algorytmu.
21
PS/TP
Magiczne bloczki
22
PS/TP
Magiczne bloczki
23
PS/TP
Magiczne bloczki – menu Plik
24
PS/TP
Magiczne bloczki -
menu Plik
25
PS/TP
Magiczne bloczki – menu Edycja
26
PS/TP
Magiczne bloczki – menu Edycja
27
PS/TP
Magiczne bloczki – menu Edycja
28
PS/TP
Magiczne bloczki – menu Uruchom
29
PS/TP
Magiczne
bloczki – menu Uruchom
30
PS/TP
Magiczne bloczki – menu Opcje
31
PS/TP
Magiczne bloczki – menu Widok
32
PS/TP
Magiczne bloczki – Pasek narz
ę
dzi standardowy
33
PS/TP
Magiczne bloczki – pasek narz
ę
dzi Widok
34
PS/TP
Magiczne bloczki – Pierwsze kroki
35
PS/TP
Magiczne bloczki – Pierwsze kroki
36
PS/TP
Magiczne bloczki – Pierwsze kroki
Ostatnim etapem jaki należy wykonać jest wpisanie instrukcji dla bloków
wejścia/wyjścia i przetwarzania danych. Jak zapewne zauważyłeś bloki Start
i Koniec nie wymagają żadnego opisu. W celu wprowadzania tekstu należy
zaznaczyć odpowiedni blok a następnie w oknie Narzędzia wprowadzić
interesujące nas polecenia. Naszym zadaniem (tak jak zostało powiedziane na
początku rozdziału) będzie napisanie algorytmu obliczającego pole kwadratu.
37
PS/TP
Magiczne bloczki – okno Analiza programu
Okno umożliwia sterowanie analizą programu. W górnej części okna znajdują się
przyciski które umożliwiają kolejno:
- Uruchomienie algorytmu
- Uruchomienie algorytmu krok po kroku (Przejście w tryb analizy)
- Wznowienie wykonywania algorytmu
- Przejście do następnej instrukcji i wykonanie jej
- Przejście do następnej mikro instrukcji i wykonanie jej
- Przejście do następnego bloku i wykonanie instrukcji w nim zawartych
- Wstrzymanie wykonywania algorytmu
- Zakończenie wykonywania algorytmu
38
PS/TP
Magiczne
bloczki – okno Analiza programu
39
PS/TP
Magiczne bloczki – okno Kod
ź
ródłowy
Zakładka Algorytm:
Zakładka ta pokazuje wszystkie kolejne instrukcje zaprojektowanego algorytmu w
postaci opisu. Bieżąca instrukcja jest zawsze podświetlona na zielono, natomiast
kolejna na szaro. Umożliwia to łatwiejsze zrozumienie algorytmu.
Zakładka Drzewo:
Zakładka zawiera graficzną reprezentację bieżącej instrukcji. Wizualizacja
przedstawiona jest w postaci drzewa. Symbolizuje ono kolejność wykonywania
instrukcji cząstkowych (mikroinstrukcji) z których składa się bieżąca instrukcja.
Mechanizm ten umożliwia zrozumienie kolejności wykonywania operatorów. Dzięki
funkcji Następna mikro instrukcja możliwe jest śledzenie kolejnych instrukcji
cząstkowych oraz wartości pośrednich. Bieżąca mikroinstrukcja została oznaczona
pogrubioną zieloną ramką. Każde drzewo można w łatwy sposób przenieść do
dowolnego edytora tekstu lub programu graficznego za pomocą opcji Kopiuj do
schowka.
40
PS/TP
Magiczne bloczki –
okno Kod
ź
ródłowy
41
PS/TP
Magiczne bloczki – okno Kod
ź
ródłowy
Zakładka Punkty przerwania:
Punkty przerwania algorytmu umożliwiają definiowanie miejsc, w których ma zostać
wstrzymane wykonywanie algorytmu podczas jego wykonywania. Dokładniej mówiąc
punkty przerwania pozwalają na szybką i skuteczną analizę algorytmu. Można je
stosować w takich przypadkach jak:
- chcemy przeanalizować końcową część algorytmu, ale pierwsza część
wykonuje się zbyt długo żeby można było wykonywać ją krok po kroku. W
tym celu zakładamy w interesującym nas miejscu punkt przerwania i
uruchamiamy algorytm w normalnym trybie (opcja Uruchom->Uruchom
algorytm F9)
- chcemy zacząć analizę zaprojektowanej pętli od pewnego n-tej iteracji. W tym
celu zakładamy w pętli warunkowy punkt przerwania. Następnie definiujemy
warunek przerwania np.: 4 < a i uruchamiamy algorytm w normalnym trybie.
Unikniemy w ten sposób żmudnego przechodzenia krok po kroku do kolejnej
iteracji pętli.
42
PS/TP
Magiczne bloczki – okno Kod
ź
ródłowy
Poniżej zostało przedstawione okno za pomocą którego możemy definiować punkty
przerwania:
43
PS/TP
Magiczne bloczki – okno Kod
ź
ródłowy
Przycisk oznaczony trzema kropkami(...) umożliwia obliczenie i sprawdzenie czy
równanie lub nierówność zwraca prawdę (True) czy fałsz (False).
Opcja wyłączony umożliwia włączenie lub tymczasowe wyłączenie punktu przerwania.
Opcja Zatrzymaj przy każdej instrukcji w wierszu umożliwia tak jak sama nazwa
wskazuje wstrzymywanie działania algorytmu przy każdej instrukcji w wierszu. Jest to
pomocne w momencie kiedy w jednym wierszu wpiszemy kilka instrukcji oddzielając
każdą z nich średnikiem.
44
PS/TP
Magiczne bloczki – okno Kod
ź
ródłowy
Punktu przerwania dodajemy poprzez naciśnięcie lewym przyciskiem myszki na
prawy margines bloczka. Czynność ta spowoduje automatycznie dodanie punktu
przerwania algorytmu na listę wszystkich punktów przerwania znajdującej się
na omawianej zakładce.
Przedstawia to poniższy rysunek:
45
PS/TP
Magiczne bloczki – Okno Konsola
Zakładka ta jak sama nazwa wskazuje udostępnia konsolę, dzięki której
możemy dokonywać szybkich obliczeń. W tym celu możemy także
wykorzystywać zmienne zdefiniowane w naszym algorytmie. Z poziomu
konsoli możemy również przypisywać zmiennym nowe wartości.
46
PS/TP
Magiczne bloczki – okno Narz
ę
dzia
Omawiane w tym rozdziale okno umożliwia wprowadzanie kodu źródłowego dla
poszczególnych bloków. Okno pojawia się w momencie zaznaczenia bloku
przetwarzania danych, bloku wejścia/wyjścia lub bloku warunkowego.
47
PS/TP
Magiczne bloczki - operatory
Operatory relacji służą do porównywania dwóch argumentów (zmiennych lub
wartości). Można stosować kilka operatorów relacji w jednej instrukcji (Należy tylko
pamiętać o ich priorytetach czyli kolejności wykonania. Poniżej zostaną
przedstawione najważniejsze operatory relacji:
48
PS/TP
Magiczne bloczki - operatory
49
PS/TP
Magiczne bloczki - operatory
50
PS/TP
Magiczne bloczki - operatory
51
PS/TP
Magiczne bloczki - operatory
52
PS/TP
Magiczne bloczki - operatory
53
PS/TP
Magiczne bloczki – operacje wej
ś
cia-wyj
ś
cia
54
PS/TP
Magiczne bloczki – operacje wej
ś
cia-wyj
ś
cia
55
PS/TP
Magiczne bloczki – operacje wej
ś
cia-wyj
ś
cia