podstawy informatyki - metal.agh.edu.plwilk/wyk-zaomet/w_mzao2.pdf · co to jest algorytm? je żeli...
TRANSCRIPT
![Page 1: Podstawy Informatyki - metal.agh.edu.plwilk/wyk-zaomet/w_mzao2.pdf · Co to jest algorytm? Je żeli mamy do wykonania jakie ś zadanie, budujemy sposób, przepis realizacji tego zadania](https://reader031.vdocuments.site/reader031/viewer/2022021723/5c75a8fc09d3f2ff328bb682/html5/thumbnails/1.jpg)
Podstawy InformatykiPodstawy Informatyki
Metalurgia, I rok niestacjonarne
Wykład 2
Algorytmy
![Page 2: Podstawy Informatyki - metal.agh.edu.plwilk/wyk-zaomet/w_mzao2.pdf · Co to jest algorytm? Je żeli mamy do wykonania jakie ś zadanie, budujemy sposób, przepis realizacji tego zadania](https://reader031.vdocuments.site/reader031/viewer/2022021723/5c75a8fc09d3f2ff328bb682/html5/thumbnails/2.jpg)
� Sformułowanie problemu.
� Opracowanie metodyki rozwiązania.
� Opracowanie algorytmu.
� Napisanie kodu źródłowego (zakodowanie) w wybranym
języku (Pascal, Fortran, C++, itp.).
� Kompilacja kodu źródłowego
� Uruchomienie programu na komputerze.
� Wykonanie obliczeń.
� Analiza otrzymanych wyników.
� Usunięcie błędów programu (debugging).
Programowanie
![Page 3: Podstawy Informatyki - metal.agh.edu.plwilk/wyk-zaomet/w_mzao2.pdf · Co to jest algorytm? Je żeli mamy do wykonania jakie ś zadanie, budujemy sposób, przepis realizacji tego zadania](https://reader031.vdocuments.site/reader031/viewer/2022021723/5c75a8fc09d3f2ff328bb682/html5/thumbnails/3.jpg)
Co to jest algorytm?
Jeżeli mamy do wykonania jakieś zadanie, budujemy sposób,
przepis realizacji tego zadania. Taki przepis to algorytm.
Przykłady:
•przepis kucharski,
•instrukcja składania mebla/urządzenia. . . ,
•zapis nutowy,
•wykonywanie pisemne dodawania/mnożenia/dzielenia...
Algorytm (definicja nieformalna)
to sposób postępowania (przepis) umożliwiający rozwiązanie
określonego zadania (klasy zadań), podany w postaci
skończonego zestawu czynności do wykonania, ze wskazaniem ich następstwa.
![Page 4: Podstawy Informatyki - metal.agh.edu.plwilk/wyk-zaomet/w_mzao2.pdf · Co to jest algorytm? Je żeli mamy do wykonania jakie ś zadanie, budujemy sposób, przepis realizacji tego zadania](https://reader031.vdocuments.site/reader031/viewer/2022021723/5c75a8fc09d3f2ff328bb682/html5/thumbnails/4.jpg)
Istotne cechy algorytmu
•Definicja zadania = co algorytm ma zrobić.
•Opis ciągu czynnosci, które po kolei mają być wykonane.
•Czynności te muszą być na tyle proste (i możliwe do wykonania),
aby wykonawca algorytmu mógł je bez dodatkowego tłumaczenia,
wykonać ⇒operacje elementarne; odpowiednio dobrany poziom szczegółowości.
•Skonczona ilość operacji elementarnych ⇒skończony czas działania.
•Algorytm dostaje pewne informacje (dane wejściowe) i zwraca
jakieś (oczekiwane) wyniki — dane wyjściowe.
•Może istnieć kilka przepisów, które dają w efekcie te same
wyniki.
![Page 5: Podstawy Informatyki - metal.agh.edu.plwilk/wyk-zaomet/w_mzao2.pdf · Co to jest algorytm? Je żeli mamy do wykonania jakie ś zadanie, budujemy sposób, przepis realizacji tego zadania](https://reader031.vdocuments.site/reader031/viewer/2022021723/5c75a8fc09d3f2ff328bb682/html5/thumbnails/5.jpg)
Algorytm
Pochodzenie nazwy:
od nazwiska w wersji łacińskiej Algorithmus, Algorismus perskiego matematyka Muhammeda ibn Musy zwanego al Chuwarismi, żyjącego w IX w (podał on algorytmy wykonywania działań arytmetycznych na liczbach dziesiętnych.
Algorytmika - dział wiedzy zajmujący się badaniem algorytmów
Sposoby zapisu algorytmu:
•słowami,
•za pomocą schematu blokowego,
•w pseudokodzie,
•w jednym z języków programowania
Program - formalnie spisana wersja algorytmu.
![Page 6: Podstawy Informatyki - metal.agh.edu.plwilk/wyk-zaomet/w_mzao2.pdf · Co to jest algorytm? Je żeli mamy do wykonania jakie ś zadanie, budujemy sposób, przepis realizacji tego zadania](https://reader031.vdocuments.site/reader031/viewer/2022021723/5c75a8fc09d3f2ff328bb682/html5/thumbnails/6.jpg)
Algorytm
to ściśle określony ciąg kroków obliczeniowych, prowadzący do przekształcenia danych wejściowych w wyjściowe.
Cechy dobrego algorytmu:
•Definicja problemu określa dane we. (pochodzące z dokładnie określonego zbioru wartości dozwolonych) i dane wy.
•Precyzyjnie zdefiniowany — każdy jego krok jest jednoznacznie określony i obejmuje wyłącznie operacje elementarne.
•Skończony — wyprodukuje wynik w skonczonej ilości kroków.
•Jednoznaczny (powtarzalny) — jego wielokrotne wykonywanie dla identycznych danych we. daje zawsze taki sam wynik.
•Kompletny — uwzgl˛ednia wszystkie możliwe przypadki, jakie mogą wystąpić podczas jego wykonywania.
•Uniwersalny — umozliwia rozwiązanie całej klasy zadań, a nie tylko pojedynczego, ustalonego zadania.
![Page 7: Podstawy Informatyki - metal.agh.edu.plwilk/wyk-zaomet/w_mzao2.pdf · Co to jest algorytm? Je żeli mamy do wykonania jakie ś zadanie, budujemy sposób, przepis realizacji tego zadania](https://reader031.vdocuments.site/reader031/viewer/2022021723/5c75a8fc09d3f2ff328bb682/html5/thumbnails/7.jpg)
Algorytm sekwencyjny - opis słownyPostawienie problemu:
- Co należy zrobić, aby zobaczyć film “Katyń” ?
Algorytm 1a:
� Idź do kina� Kup bilet
� Obejrzyj film� Wróć do domu
� Algorytm powyższy zawiera 4 podstawowe składniki, z których każdy wymaga zakończenia wykonania pewnej akcji przed rozpoczęciem następnej.
� W komputerze każdy składnik będzie zapisany jako instrukcja lub grupa instrukcji (procedura).
� Algorytm powinien być kolejno uściślany, by mógł być w swojej ostatecznej postaci zrozumiały dla komputera, oraz by uwzględniał wszystkie okoliczności przewidziane przez projektanta.
![Page 8: Podstawy Informatyki - metal.agh.edu.plwilk/wyk-zaomet/w_mzao2.pdf · Co to jest algorytm? Je żeli mamy do wykonania jakie ś zadanie, budujemy sposób, przepis realizacji tego zadania](https://reader031.vdocuments.site/reader031/viewer/2022021723/5c75a8fc09d3f2ff328bb682/html5/thumbnails/8.jpg)
Algorytm 1b:
POCZĄTEK
jeżeli nie wyświetlają filmu "Katyń”
to znajdź sobie inne zajęcie
w przeciwnym razie idź do kina
jeżeli jest kolejka to ustaw się w kolejce (na końcu?)
dopóki przed Tobą stoją ludzie wykonuj przesuwaj się do przodu
jeżeli są wolne miejsca to kup bilet, znajdź swoje miejsce
dopóki trwa projekcja
wykonuj oglądaj film
w przeciwnym razie zaklnij po cichu, wyjdź z kina, :-(
wróć do domu
KONIEC
![Page 9: Podstawy Informatyki - metal.agh.edu.plwilk/wyk-zaomet/w_mzao2.pdf · Co to jest algorytm? Je żeli mamy do wykonania jakie ś zadanie, budujemy sposób, przepis realizacji tego zadania](https://reader031.vdocuments.site/reader031/viewer/2022021723/5c75a8fc09d3f2ff328bb682/html5/thumbnails/9.jpg)
Przykład algorytmu: sumowanie zarobków pracowników
Dane: lista pracowników z zarobkami
(1) zanotuj "na boku" liczbę 0;
(2) przeglądaj ankiety i dodawaj zarobki każdego pracownika do liczby "na boku";
(3) kiedy osiągniesz koniec listy, przedstaw wartość liczby "na boku" jako wynik.
Cechy tego algorytmu:
•Działa na różnych zestawach danych, ale daje poprawne
wyniki.
•Sam tekst algorytmu jest ograniczony i krótki, ale proces który
opisuje zmienia się wraz z długościa listy pracowników.
![Page 10: Podstawy Informatyki - metal.agh.edu.plwilk/wyk-zaomet/w_mzao2.pdf · Co to jest algorytm? Je żeli mamy do wykonania jakie ś zadanie, budujemy sposób, przepis realizacji tego zadania](https://reader031.vdocuments.site/reader031/viewer/2022021723/5c75a8fc09d3f2ff328bb682/html5/thumbnails/10.jpg)
� Algorytmy przedstawione powyżej wykorzystują język naturalny oraz słowa kluczowe. Słowa kluczowe definiują podstawowe struktury sterujące programu oraz procesy podejmowania decyzji występujących w algorytmie:
� jeżeli ..... to ..... w przeciwnym razie
� dopóki ..... wykonuj
� powtarzaj ..... aż do
� Te słowa kluczowe mają swoje odpowiedniki w każdym z języków programowania.
� Wprowadzenie słów kluczowych do opisu słownego algorytmu jest częścią tzw. pseudo - kodu, wykorzystywanego do zapisu algorytmu.
� Szczegółowy algorytm jest podstawą dla prawidłowo zakodowanego programu.
� Algorytm z “wcięciami” pozwala na bardziej czytelny zapis, i stanowi nieformalną metodę ułatwiającą śledzenie “dróg” programu.
![Page 11: Podstawy Informatyki - metal.agh.edu.plwilk/wyk-zaomet/w_mzao2.pdf · Co to jest algorytm? Je żeli mamy do wykonania jakie ś zadanie, budujemy sposób, przepis realizacji tego zadania](https://reader031.vdocuments.site/reader031/viewer/2022021723/5c75a8fc09d3f2ff328bb682/html5/thumbnails/11.jpg)
Oprócz algorytmów słownych, często stosuje się zapis algorytmu w postaci
schematów blokowych.
Schemat blokowy (block diagram, flowchart) to diagram,
na którym algorytm jest reprezentowany przez opisane
figury geometryczne, połączone liniami zgodnie z
kolejnością wykonywania czynności wynikających z
przyjętego algorytmu rozwiązania zadania; pozwala
dostrzec istotne etapy algorytmu i logiczne zależności
między nimi;
![Page 12: Podstawy Informatyki - metal.agh.edu.plwilk/wyk-zaomet/w_mzao2.pdf · Co to jest algorytm? Je żeli mamy do wykonania jakie ś zadanie, budujemy sposób, przepis realizacji tego zadania](https://reader031.vdocuments.site/reader031/viewer/2022021723/5c75a8fc09d3f2ff328bb682/html5/thumbnails/12.jpg)
START
czytaj:n,a(i),i=1,...n
suma=0
suma=suma + a(i)
i=i+1
i ≤≤≤≤ ntak
druk: a(i), suma
STOP
nie
![Page 13: Podstawy Informatyki - metal.agh.edu.plwilk/wyk-zaomet/w_mzao2.pdf · Co to jest algorytm? Je żeli mamy do wykonania jakie ś zadanie, budujemy sposób, przepis realizacji tego zadania](https://reader031.vdocuments.site/reader031/viewer/2022021723/5c75a8fc09d3f2ff328bb682/html5/thumbnails/13.jpg)
Schematy blokowe
StartStop
instrukcja
?tak
nie
czytanie danych,
wydruk wyników
![Page 14: Podstawy Informatyki - metal.agh.edu.plwilk/wyk-zaomet/w_mzao2.pdf · Co to jest algorytm? Je żeli mamy do wykonania jakie ś zadanie, budujemy sposób, przepis realizacji tego zadania](https://reader031.vdocuments.site/reader031/viewer/2022021723/5c75a8fc09d3f2ff328bb682/html5/thumbnails/14.jpg)
•strzałka wskazuje kierunek przebiegu sterowania programem, łączy inne bloki,
•operand (prostokąt) — wszystkie operacje z wyjątkiem instrukcji wyboru,
•predykat (romb) — instrukcja wyboru,
•etykieta (owal) — początek lub koniec sekwencji schematu.
•wejście/wyjście (równoległobok).
![Page 15: Podstawy Informatyki - metal.agh.edu.plwilk/wyk-zaomet/w_mzao2.pdf · Co to jest algorytm? Je żeli mamy do wykonania jakie ś zadanie, budujemy sposób, przepis realizacji tego zadania](https://reader031.vdocuments.site/reader031/viewer/2022021723/5c75a8fc09d3f2ff328bb682/html5/thumbnails/15.jpg)
Algorytm Euklidesa
Problem: mając dane dwie liczby naturalne a i b znaleźć
ich największy wspólny dzielnik.
Pierwotnie problem ten sprowadzał się do czysto geometrycznego problemu znalezienia wspólnej miary dla
dwóch odcinków.
Zadanie algorytmiczne:
Dane: a, b ∈ N,
Wynik: NWD(a,b).
![Page 16: Podstawy Informatyki - metal.agh.edu.plwilk/wyk-zaomet/w_mzao2.pdf · Co to jest algorytm? Je żeli mamy do wykonania jakie ś zadanie, budujemy sposób, przepis realizacji tego zadania](https://reader031.vdocuments.site/reader031/viewer/2022021723/5c75a8fc09d3f2ff328bb682/html5/thumbnails/16.jpg)
Opis słowny:
•dane są dwie liczby a i b;
•jeśli a jest równe b, to NWD jest równe a,
•w przeciwnym wypadku, jeżeli a jest większe od b, to zmień ana równe a - b, a jeżeli a jest mniejsze od b to zmień b na b - a;
•zacznij od początku.
![Page 17: Podstawy Informatyki - metal.agh.edu.plwilk/wyk-zaomet/w_mzao2.pdf · Co to jest algorytm? Je żeli mamy do wykonania jakie ś zadanie, budujemy sposób, przepis realizacji tego zadania](https://reader031.vdocuments.site/reader031/viewer/2022021723/5c75a8fc09d3f2ff328bb682/html5/thumbnails/17.jpg)
START
czytaj:a, b
a=a-b
takSTOP
niea<>b
a>b
b=b-a
tak
Drukuj a
nie
Schemat blokowy
![Page 18: Podstawy Informatyki - metal.agh.edu.plwilk/wyk-zaomet/w_mzao2.pdf · Co to jest algorytm? Je żeli mamy do wykonania jakie ś zadanie, budujemy sposób, przepis realizacji tego zadania](https://reader031.vdocuments.site/reader031/viewer/2022021723/5c75a8fc09d3f2ff328bb682/html5/thumbnails/18.jpg)
Algorytm Euklidesa (metoda 1)
•Pseudokod
loop
if a = b then return a;
else if a > b then a := a -b;
else b := b -a;
•Język C
while(a != b) {
if(a > b) a -= b;
else b -= a;
}
return a;
![Page 19: Podstawy Informatyki - metal.agh.edu.plwilk/wyk-zaomet/w_mzao2.pdf · Co to jest algorytm? Je żeli mamy do wykonania jakie ś zadanie, budujemy sposób, przepis realizacji tego zadania](https://reader031.vdocuments.site/reader031/viewer/2022021723/5c75a8fc09d3f2ff328bb682/html5/thumbnails/19.jpg)
Algorytm Euklidesa (metoda 2)
•Język C
if(a < b) {
t = a;
a = b;
b = t;
}
while(b != 0) {
c = a % b;
a = b;
b = c;
}
return a;
![Page 20: Podstawy Informatyki - metal.agh.edu.plwilk/wyk-zaomet/w_mzao2.pdf · Co to jest algorytm? Je żeli mamy do wykonania jakie ś zadanie, budujemy sposób, przepis realizacji tego zadania](https://reader031.vdocuments.site/reader031/viewer/2022021723/5c75a8fc09d3f2ff328bb682/html5/thumbnails/20.jpg)
Przy opracowywaniu algorytmu zwracamy uwagę na:
� jego poprawność semantyczną (składnię),
� prostotę,
� czas działania,
� ilość zajmowanej pamięci komputera,
� optymalność,
� ograniczenia
![Page 21: Podstawy Informatyki - metal.agh.edu.plwilk/wyk-zaomet/w_mzao2.pdf · Co to jest algorytm? Je żeli mamy do wykonania jakie ś zadanie, budujemy sposób, przepis realizacji tego zadania](https://reader031.vdocuments.site/reader031/viewer/2022021723/5c75a8fc09d3f2ff328bb682/html5/thumbnails/21.jpg)
� Zdanie proste
Określa elementarny lub bardziej złożony krok algorytmu.
Jeżeli jest to krok elementarny, to wystarczy przy tworzeniu programu zapisać ten krok w języku programowania.
Jeżeli natomiast jest to złożony krok algorytmu, to podczas uszczegółowienia algorytmu zostanie on zastąpiony sekwencją prostszych zdań.
Przykład elementarnego kroku - instrukcja podstawienia (przypisania):
przypisz zmiennej suma wartość zero
FORTRAN: suma = 0.0
C: suma = 0.0 ;
PASCAL: suma :=0.0 ;
![Page 22: Podstawy Informatyki - metal.agh.edu.plwilk/wyk-zaomet/w_mzao2.pdf · Co to jest algorytm? Je żeli mamy do wykonania jakie ś zadanie, budujemy sposób, przepis realizacji tego zadania](https://reader031.vdocuments.site/reader031/viewer/2022021723/5c75a8fc09d3f2ff328bb682/html5/thumbnails/22.jpg)
Zdanie złożone:
oblicz pierwiastek równania kwadratowego
Jest to złożony krok algorytmu wymagający uszczegółowienia.
W programie jest to realizowane poprzez instrukcję złożoną grupującą ciąg instrukcji prostych.
![Page 23: Podstawy Informatyki - metal.agh.edu.plwilk/wyk-zaomet/w_mzao2.pdf · Co to jest algorytm? Je żeli mamy do wykonania jakie ś zadanie, budujemy sposób, przepis realizacji tego zadania](https://reader031.vdocuments.site/reader031/viewer/2022021723/5c75a8fc09d3f2ff328bb682/html5/thumbnails/23.jpg)
PODEJMOWANIE DECYZJI W PROGRAMIE
Zdanie decyzyjne “jeśli”
Zdanie to zawiera strukturę opisującą decyzje podejmowane w algorytmie. Istnieją 2 rodzaje struktur:
� struktura prosta : jeśli ..... to
� struktura z alternatywą: jeśli ..... to .... w przeciwnym razie
![Page 24: Podstawy Informatyki - metal.agh.edu.plwilk/wyk-zaomet/w_mzao2.pdf · Co to jest algorytm? Je żeli mamy do wykonania jakie ś zadanie, budujemy sposób, przepis realizacji tego zadania](https://reader031.vdocuments.site/reader031/viewer/2022021723/5c75a8fc09d3f2ff328bb682/html5/thumbnails/24.jpg)
Struktura prosta
jeśli warunek to
zdanie
gdzie warunek jest wyrażeniem przyjmującym dwie wartości:
- wartość prawdy,
- wartość fałszu
Jeżeli warunek przyjmie wartość prawdy, to wykonuje się zdanie, a gdy warunek przyjmie fałsz, to zdanie nie zostanie wykonane.
![Page 25: Podstawy Informatyki - metal.agh.edu.plwilk/wyk-zaomet/w_mzao2.pdf · Co to jest algorytm? Je żeli mamy do wykonania jakie ś zadanie, budujemy sposób, przepis realizacji tego zadania](https://reader031.vdocuments.site/reader031/viewer/2022021723/5c75a8fc09d3f2ff328bb682/html5/thumbnails/25.jpg)
Przykład:
jeśli średnia ocen studenta jest większa od 4.5 to
wpisz studenta na listę nagród
warunek : średnia ocen studenta jest większa od 4.5
Jeżeli warunek jest prawdziwy, to wykonywane jest
zdanie:
wpisz studenta na listę nagród
![Page 26: Podstawy Informatyki - metal.agh.edu.plwilk/wyk-zaomet/w_mzao2.pdf · Co to jest algorytm? Je żeli mamy do wykonania jakie ś zadanie, budujemy sposób, przepis realizacji tego zadania](https://reader031.vdocuments.site/reader031/viewer/2022021723/5c75a8fc09d3f2ff328bb682/html5/thumbnails/26.jpg)
Struktura z alternatywą
jeśli warunek to
zdanie 1
w przeciwnym razie
zdanie 2
![Page 27: Podstawy Informatyki - metal.agh.edu.plwilk/wyk-zaomet/w_mzao2.pdf · Co to jest algorytm? Je żeli mamy do wykonania jakie ś zadanie, budujemy sposób, przepis realizacji tego zadania](https://reader031.vdocuments.site/reader031/viewer/2022021723/5c75a8fc09d3f2ff328bb682/html5/thumbnails/27.jpg)
Rozważmy następujący problem:
W zależności od wartości jakie przyjmuje zmienna x (np ocena) należy wydrukować następujące komunikaty:
dla x <3 komunikat “negatywna”
dla 3 <= x <= 6 komunikat “pozytywna”
dla x > 6 komunikat “niemożliwa”
Algorytm przyjmie postać:
jeżeli x <3 to
wypisz “negatywna”
w przeciwnym razie
jeżeli 3 <= x i x <= 6 to
wypisz “pozytywna”
w przeciwnym razie
wypisz “niemożliwa”
![Page 28: Podstawy Informatyki - metal.agh.edu.plwilk/wyk-zaomet/w_mzao2.pdf · Co to jest algorytm? Je żeli mamy do wykonania jakie ś zadanie, budujemy sposób, przepis realizacji tego zadania](https://reader031.vdocuments.site/reader031/viewer/2022021723/5c75a8fc09d3f2ff328bb682/html5/thumbnails/28.jpg)
W programach numerycznych warunkiem jest najczęściej wyrażenie logiczne:
nie, lub, i
Np.: a lub b,
(a lub b) i c, .....
W wyrażeniach logicznych występują też relacje:
= , <>, >, <, <=, >=
Np.: a > b,
c <= d
Przykład zdania decyzyjnego:
jeśli (a > b) lub (c <= d) to
podstaw x = 0
![Page 29: Podstawy Informatyki - metal.agh.edu.plwilk/wyk-zaomet/w_mzao2.pdf · Co to jest algorytm? Je żeli mamy do wykonania jakie ś zadanie, budujemy sposób, przepis realizacji tego zadania](https://reader031.vdocuments.site/reader031/viewer/2022021723/5c75a8fc09d3f2ff328bb682/html5/thumbnails/29.jpg)
FORTRAN:
a).
IF ( warunek ) THEN
zdanie 1
ENDIF
b).
IF ( warunek ) THEN
zdanie 1
ELSE
zdanie 2
ENDIF
![Page 30: Podstawy Informatyki - metal.agh.edu.plwilk/wyk-zaomet/w_mzao2.pdf · Co to jest algorytm? Je żeli mamy do wykonania jakie ś zadanie, budujemy sposób, przepis realizacji tego zadania](https://reader031.vdocuments.site/reader031/viewer/2022021723/5c75a8fc09d3f2ff328bb682/html5/thumbnails/30.jpg)
PASCAL:
a).
IF warunek THEN
zdanie 1;
b).
IF warunek THEN
zdanie 1
ELSE
zdanie 2;
![Page 31: Podstawy Informatyki - metal.agh.edu.plwilk/wyk-zaomet/w_mzao2.pdf · Co to jest algorytm? Je żeli mamy do wykonania jakie ś zadanie, budujemy sposób, przepis realizacji tego zadania](https://reader031.vdocuments.site/reader031/viewer/2022021723/5c75a8fc09d3f2ff328bb682/html5/thumbnails/31.jpg)
C:
a).
IF warunek
zdanie 1;
b).
IF warunek
zdanie 1;
ELSE
zdanie 2;
![Page 32: Podstawy Informatyki - metal.agh.edu.plwilk/wyk-zaomet/w_mzao2.pdf · Co to jest algorytm? Je żeli mamy do wykonania jakie ś zadanie, budujemy sposób, przepis realizacji tego zadania](https://reader031.vdocuments.site/reader031/viewer/2022021723/5c75a8fc09d3f2ff328bb682/html5/thumbnails/32.jpg)
Instrukcja decyzyjna wybierz
Zdanie wybierz służy do wyboru jednej z kilku możliwości. Ma ono postać:
wybierz przełącznik z
wartość_1: zdanie_1
....
wartość_n: zdanie_n
w przeciwnym razie akcja awaryjna
Przykład:
wybierz p z
1: wykonaj wariant pierwszy
2: wykonaj wariant drugi
3: wykonaj wariant trzeci
w przeciwnym razie wydrukuj komunikat o błędzie
![Page 33: Podstawy Informatyki - metal.agh.edu.plwilk/wyk-zaomet/w_mzao2.pdf · Co to jest algorytm? Je żeli mamy do wykonania jakie ś zadanie, budujemy sposób, przepis realizacji tego zadania](https://reader031.vdocuments.site/reader031/viewer/2022021723/5c75a8fc09d3f2ff328bb682/html5/thumbnails/33.jpg)
Przykład:
Program cenzurka1
....
....
wybierz ocena z
6: pisz(‘celujacy’);
5: pisz(‘bardzo dobry’);
4: pisz(‘dobry’);
3: pisz(‘dostateczny’);
2: pisz(‘niedostateczny’);
w przeciwnym razie pisz(‘blad danych’)
....
....
Koniec
![Page 34: Podstawy Informatyki - metal.agh.edu.plwilk/wyk-zaomet/w_mzao2.pdf · Co to jest algorytm? Je żeli mamy do wykonania jakie ś zadanie, budujemy sposób, przepis realizacji tego zadania](https://reader031.vdocuments.site/reader031/viewer/2022021723/5c75a8fc09d3f2ff328bb682/html5/thumbnails/34.jpg)
Program cenzurka2
.....
jeżeli ocena = 6 to
pisz(‘celujacy’)
w przeciwnym razie
jeżeli ocena = 5 to
pisz(‘bardzo dobry’)
w przeciwnym razie
jeżeli ocena = 4 to
pisz(‘dobry’)
w przeciwnym razie
jeżeli ocena = 3 to
pisz(‘dostateczny’)
w przeciwnym razie
jeżeli ocena = 2 to
pisz(‘niedostateczny’)
w przeciwnym razie
pisz(‘blad danych’)
![Page 35: Podstawy Informatyki - metal.agh.edu.plwilk/wyk-zaomet/w_mzao2.pdf · Co to jest algorytm? Je żeli mamy do wykonania jakie ś zadanie, budujemy sposób, przepis realizacji tego zadania](https://reader031.vdocuments.site/reader031/viewer/2022021723/5c75a8fc09d3f2ff328bb682/html5/thumbnails/35.jpg)
Blok instrukcji
W przypadku, gdy w danej instrukcji, np. instrukcji warunkowej, powinna wykonać się więcej niż jedna
instrukcja, wówczas stosowany jest blok instrukcji.
C:
{instrukcja1;
instrukcja2;
instrukcja3;
........
}
Pascal:
begininstrukcja1;
instrukcja2;
instrukcja3;
........
end;
![Page 36: Podstawy Informatyki - metal.agh.edu.plwilk/wyk-zaomet/w_mzao2.pdf · Co to jest algorytm? Je żeli mamy do wykonania jakie ś zadanie, budujemy sposób, przepis realizacji tego zadania](https://reader031.vdocuments.site/reader031/viewer/2022021723/5c75a8fc09d3f2ff328bb682/html5/thumbnails/36.jpg)
Iteracja warunkowa dopóki(while)
dopóki(wyrażenie) wykonuj instrukcja1;
instrukcja1
tak
wyrażenienie
Instrukcja1 może nie wykonać się ani jeden raz!
![Page 37: Podstawy Informatyki - metal.agh.edu.plwilk/wyk-zaomet/w_mzao2.pdf · Co to jest algorytm? Je żeli mamy do wykonania jakie ś zadanie, budujemy sposób, przepis realizacji tego zadania](https://reader031.vdocuments.site/reader031/viewer/2022021723/5c75a8fc09d3f2ff328bb682/html5/thumbnails/37.jpg)
Działanie pętli:
• Obliczana jest wartość wyrażenia
• Jeśli wyrażenie jest równe fałszywe to instrukcja1 nie jest w ogóle wykonywana
• Wpp. wykonywana jest instrukcja1.
• Ponownie obliczana jest wartość wyrażenia i ponownie
sprawdzana jego prawdziwość itd.
• Jeśli wyrażenie będzie fałszywe, to działanie pętli zostanie przerwane
Uwaga: obliczenie wartości wyrażenia odbywa się przed wykonaniem instrukcji1
![Page 38: Podstawy Informatyki - metal.agh.edu.plwilk/wyk-zaomet/w_mzao2.pdf · Co to jest algorytm? Je żeli mamy do wykonania jakie ś zadanie, budujemy sposób, przepis realizacji tego zadania](https://reader031.vdocuments.site/reader031/viewer/2022021723/5c75a8fc09d3f2ff328bb682/html5/thumbnails/38.jpg)
Iteracja warunkowa powtarzaj ... aż do ...
(repeat ... until ...)
powtarzaj instrukcja1 aż do(wyrażenie) ;
instrukcja1
nie
wyrażenietak
Instrukcja1 musi wykonać się conajmniej jeden raz!
![Page 39: Podstawy Informatyki - metal.agh.edu.plwilk/wyk-zaomet/w_mzao2.pdf · Co to jest algorytm? Je żeli mamy do wykonania jakie ś zadanie, budujemy sposób, przepis realizacji tego zadania](https://reader031.vdocuments.site/reader031/viewer/2022021723/5c75a8fc09d3f2ff328bb682/html5/thumbnails/39.jpg)
Działanie pętli:
•Wykonywana jest instrukcja1
•Obliczana jest wartość wyrażenia
• Jeśli wyrażenie jest równe fałszywe to instrukcja1 jest
wykonywana kolejny raz
• Ponownie obliczana jest wartość wyrażenia i ponownie
sprawdzana jego prawdziwość itd.
• Jeśli wyrażenie będzie prawdziwe, to działanie pętli zostanie przerwane
Uwaga: obliczenie wartości wyrażenia odbywa się po wykonaniu instrukcji1
![Page 40: Podstawy Informatyki - metal.agh.edu.plwilk/wyk-zaomet/w_mzao2.pdf · Co to jest algorytm? Je żeli mamy do wykonania jakie ś zadanie, budujemy sposób, przepis realizacji tego zadania](https://reader031.vdocuments.site/reader031/viewer/2022021723/5c75a8fc09d3f2ff328bb682/html5/thumbnails/40.jpg)
Iteracja ograniczona dla(for)
dla <zmienna> od <w1<> do <w2> (z krokiem <k>)
wykonuj instrukcja1 ;
<zmienna> ← <w1>
tak
zmienna ≤ <w2>nie
Instrukcja1 może nie wykonać się ani jeden raz!
instrukcja1
<zmienna> + <k>
![Page 41: Podstawy Informatyki - metal.agh.edu.plwilk/wyk-zaomet/w_mzao2.pdf · Co to jest algorytm? Je żeli mamy do wykonania jakie ś zadanie, budujemy sposób, przepis realizacji tego zadania](https://reader031.vdocuments.site/reader031/viewer/2022021723/5c75a8fc09d3f2ff328bb682/html5/thumbnails/41.jpg)
Działanie pętli:
•Wykonanie instrukcji inicjalizujących pętlę
<zmienna> ←←←← <w1>
• Sprawdzenie wyrażenia warunkowego
<zmienna> ≤≤≤≤ <w2>.
�Jeśli fałsz, praca pętli zostaje zakończona,
�Jeśli prawda, wykonana zostanie instrukcja1
• Wykonanie instrukcji
zwiększ <zmienna> o <k>
Uwaga: sprawdzenie wyrażenia <zmienna> ≤≤≤≤ <w2>odbywa się przed wykonaniem instrukcja1
![Page 42: Podstawy Informatyki - metal.agh.edu.plwilk/wyk-zaomet/w_mzao2.pdf · Co to jest algorytm? Je żeli mamy do wykonania jakie ś zadanie, budujemy sposób, przepis realizacji tego zadania](https://reader031.vdocuments.site/reader031/viewer/2022021723/5c75a8fc09d3f2ff328bb682/html5/thumbnails/42.jpg)
Instrukcje wejścia/wyjściaInstrukcje wejścia/wyjścia
� Umożliwiają komunikowanie się programu z użytkownikiem.
� Umożliwiają czytanie danych jak również wypisywanie komunikatów i wyników prowadzonych obliczeń.
� Np.: Pascal -
• read(a,b);
{ z klawiatury wprowadzamy : np. 12 5 }
• writeln(a);
{drukujemy na ekranie wartość a (np. 12) }