ZAPAMIĘTAJ - JĘZYK PROGRAMOWANIA TO TYLKO NARZĘDZIE

Transkrypt

ZAPAMIĘTAJ - JĘZYK PROGRAMOWANIA TO TYLKO NARZĘDZIE
Algorytm
■
■
■
■
W początkowych latach ery komputerowej
wszystkie programy pisano w kodzie maszyny,
zapisując rozkazy (kody operacji, adresy w
pamięci, dane) w formie kombinacji bitów.
Było to szalenie uciążliwe dla większych
programów
Dlatego opracowywano języki oprogramowania,
by kody operacji oraz adresy móc zapisywać w
formie symbolicznej, a dane w postaci czytelnych
dla człowieka liczb dziesiętnych, tekstów itd..
Zamianą notacji czytelnej dla człowieka na
program zrozumiały dla komputera zajmują asię
specjalne programy zwane kompilatorami
■
■
■
■
■
Kroki algorytmu wykonuje się sekwencyjnie,
jeden po drugim.
W określonej sytuacji pomija się niektóre kroki
W niektórych sytuacjach powtarza się część
kroków
Pojedynczy krok to operacja wykonywana na
zawartościach zmiennych
Zmienna to pojemnik na zawartość określonego
rodzaju (typu)
Kroki algorytmu wykonuje się sekwencyjnie,
ZAPAMIĘTAJ - JĘZYK PROGRAMOWANIA
TO TYLKO NARZĘDZIE
Pisząc progam
Znajomość budowy młotka
■ MUSISZ NAJPIERW UMIEĆ
nie zastąpi umiejętności
OPRACOWAĆ
wbijania gwoździa
ALGORYTM
■
MUSISZ UMIEC
PRZETŁUMACZYĆ
ALGORYTM NA
KONSTRUKCJE JĘZYKA
PROGRAMOWANIA
Ale trzeba wiedzieć,
za co trzymać
■
NIE MUSISZ a nawet nie
powinieneś
■
znać wszystkich tajników
języka
ani tryków zaawansowanych
programistów
■
Algorytm
Algorytm: Mycie zębów
1. Wypłucz jamę ustną
2. Nałóż pastę na szczoteczkę
3. Czyść szczoteczką zęby
4. Wypłucz jamę ustną
5. Wypłucz szczoteczkę
6. Koniec
KOLEJNOŚĆ KROKÓW JEST WAŹNA
■ Algorytm to ścisła instrukcja postępowania:
■
krok po kroku.
Algorytm to szczegółowy plan rozwiązania
określonego problemu, przedstawiony za pomocą
skończonej liczby operacji.
■
Przykłady algorytmów:
■
Instrukcja pożarowa
Przepis kucharski
Algorytm Euklidesa (obliczania największego
wspólnego podzielnika)
Pisemne dodawanie, odejmowanie, mnożenie ...
■
■
■
Algorytm: Mycie zębów Jasia
Wypłucz jamę ustną
2. Wypłucz jamę ustną
3. Wypłucz szczoteczkę
4. Czyść szczoteczką zęby
5. Nałóż pastę na szczoteczkę
6. Koniec
1.
W określonej sytuacji pomija się niektóre kroki
Algorytm: Wychodzenie do pracy
1.
Spakuj teczkę
2.
Jeśli jesteś łysy, przejdź do pkt. 4
3.
Uczesz się
4.
Ubierz się
5.
Jeśli nie masz żony, przejdź do pkt.7
6.
Pożegnaj się z żoną
7.
Koniec
Główne etapy algorytmu
■
Pobieranie danych
■
Przetwarzanie
■
Przedstawienie wyników
90
80
70
60
Wsch.
Zach.
Płn.
50
40
30
20
10
0
1. Kw
W niektórych sytuacjach powtarza się kroki
Algorytm: Jedzenie śniadania
1. Umyj ręce
2. Ukrój kromkę chleba
3. Posmaruj
4. Obłóż
5. Zjedz
6. Jeśli jesteś głodny, przejdź do pkt. 2
7. Umyj ręce, zęby i twarz
8. Koniec
Zadanie
■
Obliczyć wynik równania:
A*x+B=0
Krok to operacja na zawartościach zmiennych
Początkowy stan
zmiennych
Analiza
Końcowy stan
zmiennych
Człowiek
■
misa
X = -B/A
■ Przykładowo: dla
4x+30=0
■ Mamy wynik:
x = -30/4 = -7.5
JEDZENIE
Rozwiązanie:
2. Kw
3. Kw
4. Kw
Algorytm w formalizmie PAP
Inny przebieg
START
krok
START
-Wczytaj(A)
-Wczytaj(B)
-X :=-B/A
-Wypisz(X)
A
B
X
-
-
-
4
-
-
4
30
-
4
30
-7.5
4
30
-7.5
1
Wczytaj(X)
TAK
NIE
1
X>=0
2
3
X
WYN
-
-
-8
-
2 FAŁSZ
WYN:=X
5
4
WYN:=-X
4
-8
8
5
-8
8
Wypisz(WYN)
STOP
STOP
Zadanie
■
Zadanie
Obliczyć wartość bezwzględną liczby
■
ANALIZA
■
■
■
Wartość bezwzględna to wartość bez znaku (np..
|7|=7, a |-8|=8)
Jeśli liczba X jest dodatnia lub zero, to jej wartość
bezwzględna równa się X (|7|=7)
Jeśli liczba X jest ujemna, to jej wartość
bezwzględna równa się –X (|-8|=-(-8)=8)
Obliczyć n! (n silnia)
ANALIZA
n! to iloczyn 1*2*.....*n
Przykładowo: 3!=1*2*3 = 6
■
5!=1*2*3*4*5=120
■ n! = (n-1)! * n
■
■
Algorytm w formalizmie PAP
Zmienne
START
krok
1
TAK
Wczytaj(X)
NIE
1
X>=0
2
3
X
WYN
-
-
7
-
2 PRAWDA
WYN:=X
5
4
WYN:=-X
Wypisz(WYN)
STOP
3
7
7
5
7
7
n – zmienna z liczbą, której silnię chcemy
liczyć (całkowita dodatnia)
■ WYN – zmienna na wynik obliczeń
■ J – zmienna wskazująca, który czynnik już
wymnożyliśmy (np.. J=2 znaczy, że WYN =
1*2, itd..)
■
Algorytm w formalizmie PAP
krok
n
1
3
2
3
3
3
4 FAŁSZ
5
3
6
3
4 FAŁSZ
5
3
6
3
4 PRAWDA
7
3
Wypisz(WYN)
START
1
Wczytaj(n)
2
WYN:=1
3
J:=1
TAK
J=n
4
NIE
5
J:=J+1
6
WYN:=WYN*J
7
WYN
1
1
J
1
1
2
2
2
2
6
3
3
6
3
WYN
1
1
J
1
1
2
2
2
2
6
3
3
6
24
4
4
24
120
5
5
120
5
STOP
Inny przebieg
krok
n
1
5
1
Wczytaj(n)
2
5
3
5
2
WYN:=1
4 FAŁS5Z
3
J:=1
5
5
6
5
4 FAŁSZ
TAK
5
5
J=n
6
5
4
NIE
4 FAŁSZ
5
5
5
J:=J+1
6
5
7
Wypisz(WYN)
4 FAŁSZ
6
WYN:=WYN*J
5
5
6
5
STOP
4 PRAWDA
7
5
START
W skrócie: Elementy formalizmu PAP
Instrukcja
START
TEST
STOP

Podobne dokumenty