Algorytmy 1
description
Transcript of Algorytmy 1
![Page 1: Algorytmy 1](https://reader036.fdocument.pub/reader036/viewer/2022081419/568157bc550346895dc53f1f/html5/thumbnails/1.jpg)
Algorytmy 1Algorytmy 1
1.1. Definicja algorytmuDefinicja algorytmu
2.2. Sposoby przedstawiania algorytmówSposoby przedstawiania algorytmów
3.3. Rodzaje skrzynek wykorzystywanych Rodzaje skrzynek wykorzystywanych w zapisie blokowymw zapisie blokowym
4.4. Rodzaje algorytmówRodzaje algorytmów
![Page 2: Algorytmy 1](https://reader036.fdocument.pub/reader036/viewer/2022081419/568157bc550346895dc53f1f/html5/thumbnails/2.jpg)
Definicja algorytmu
Algorytm jest to precyzyjny opis sposoburozwiązania określonego zadania lub osiągnięcia jakiegoś celu.
![Page 3: Algorytmy 1](https://reader036.fdocument.pub/reader036/viewer/2022081419/568157bc550346895dc53f1f/html5/thumbnails/3.jpg)
Występują następujące sposoby Występują następujące sposoby przedstawiania algorytmów:przedstawiania algorytmów:
Słowny na ogół mało dokładny.Słowny na ogół mało dokładny.
Lista kroków.Lista kroków.
Schemat blokowy.Schemat blokowy.
![Page 4: Algorytmy 1](https://reader036.fdocument.pub/reader036/viewer/2022081419/568157bc550346895dc53f1f/html5/thumbnails/4.jpg)
Algorytm opisujący zadanie:Algorytm opisujący zadanie:„Czytaj definicję tak długo, aż nauczysz się jej na „Czytaj definicję tak długo, aż nauczysz się jej na
pamięćpamięć(przedstawiony(przedstawiony w postaci listy kroków) w postaci listy kroków)
1.1. Przeczytaj definicję.Przeczytaj definicję.
2 Czy umiesz ją na pamięć?2 Czy umiesz ją na pamięć?
a) jeśli tak, przejdź do kroku 3a) jeśli tak, przejdź do kroku 3
b) jeśli nie, przejdź do kroku 1.b) jeśli nie, przejdź do kroku 1.
3. Gratulacje, nauczyłeś się definicji na 3. Gratulacje, nauczyłeś się definicji na pamięć.pamięć.
![Page 5: Algorytmy 1](https://reader036.fdocument.pub/reader036/viewer/2022081419/568157bc550346895dc53f1f/html5/thumbnails/5.jpg)
Start
CZY UMIESZDEFINICJĘ
NAPAMIĘĆ
PRZECZYTAJ DEFINICJĘ
GRATULACJE, NAUCZYŁEŚSIĘ DEFINICJI NA PAMIĘĆ
STOP
NIETAK
Algorytm opisujący zadanie:Algorytm opisujący zadanie:„Czytaj definicję tak długo, aż nauczysz się „Czytaj definicję tak długo, aż nauczysz się
jej na pamięćjej na pamięć(przedstawiony w postaci schematu (przedstawiony w postaci schematu
blokowego)blokowego)
![Page 6: Algorytmy 1](https://reader036.fdocument.pub/reader036/viewer/2022081419/568157bc550346895dc53f1f/html5/thumbnails/6.jpg)
Start
PRZECZYTAJ DEFINICJĘ
CZY UMIESZDEFINICJĘ
NAPAMIĘĆ
GRATULACJE, NAUCZYŁEŚSIĘ DEFINICJI NA PAMIĘĆ
STOP SKRZYNKI GRANICZNE
SKRZYNKI INSTRUKCJI
SKRZYNKI WARUNKU
SKRZYNKI WEJŚCIA / WYJŚCIA
Start STOP
PRZECZYTAJ DEFINICJĘ
Start STOP
CZY UMIESZDEFINICJĘ
NAPAMIĘĆ
PRZECZYTAJ DEFINICJĘ
Start STOP
GRATULACJE, NAUCZYŁEŚSIĘ DEFINICJI NA PAMIĘĆ
CZY UMIESZDEFINICJĘ
NAPAMIĘĆ
PRZECZYTAJ DEFINICJĘ
Start STOP
![Page 7: Algorytmy 1](https://reader036.fdocument.pub/reader036/viewer/2022081419/568157bc550346895dc53f1f/html5/thumbnails/7.jpg)
Rodzaje algorytmów
ALGORYTMYALGORYTMY
LINIOWESEKWENCYJNE
REKURENCYJNEWARUNKOWE ITERACYJNE
![Page 8: Algorytmy 1](https://reader036.fdocument.pub/reader036/viewer/2022081419/568157bc550346895dc53f1f/html5/thumbnails/8.jpg)
Algorytm sekwencyjny (liniowy)
Algorytm liniowy (sekwencyjny) — instrukcje wykonywane są po kolei (w porządku, w jakim zostały wprowadzone).Przykład algorytmu linowego – przepis na jajecznicę.
1. Przygotuj jajko, tłuszcz, przyprawy2. Wrzuć tłuszcz na patelnię3. Podgrzej patelnię4. Wbij jajko5. Dodaj przyprawy6. Wymieszaj7. Wyłóż na talerz
![Page 9: Algorytmy 1](https://reader036.fdocument.pub/reader036/viewer/2022081419/568157bc550346895dc53f1f/html5/thumbnails/9.jpg)
Algorytmy z rozgałęzieniami
Algorytmy z rozgałęzieniamiAlgorytmy z rozgałęzieniami to coś podobnego do algorytmów to coś podobnego do algorytmów liniowych, z tym, że są różne drogi (rozgałęzienia) do uzyskania liniowych, z tym, że są różne drogi (rozgałęzienia) do uzyskania wyniku - inaczej mówiąc, algorytm wykonywany jest w zależności od wyniku - inaczej mówiąc, algorytm wykonywany jest w zależności od pewnych warunków. pewnych warunków.
1. Wyjrzyj przez okno2. Czy pada deszcz?a) jeśli tak, przejdź do kroku 3b) Jeśli nie, przejdź do kroku 43 Weź kurtkę z kapturem4 Wyjdź
Przykład algorytmu z rozgałęzieniami – „Sprawdź czy pada deszcz, jeśli tak, weź kurtkę z kapturem”
![Page 10: Algorytmy 1](https://reader036.fdocument.pub/reader036/viewer/2022081419/568157bc550346895dc53f1f/html5/thumbnails/10.jpg)
Algorytm iteracyjny
Rodzaj algorytmu w którym wielokrotnie wykonuje się pewne instrukcje, dopóki nie zostanie spełniony określony warunek
Przykład algorytmu iteracyjnego – Sprawdzaj co „jakiś czas” jakie jest światło,
jeśli jest czerwone czekaj, jeśli jest zielone przejdź
1. Stój2. Czy świeci się czerwone światło? A. Jeśli TAK to przejdź do kroku 1 B. Jeśli NIE to przejdź do kroku 33. Można przejść przez ulicę zachowując ostrożność
![Page 11: Algorytmy 1](https://reader036.fdocument.pub/reader036/viewer/2022081419/568157bc550346895dc53f1f/html5/thumbnails/11.jpg)
Algorytm rekurencyjnyAlgorytm rekurencyjny to taki, który w pewnym kroku zawiera polecenie wykonania siebie samego dla innych danych.
Przykład rekurencji. Algorytm „jedz kaszkę”
1. Jedz kaszkę (weź łyżkę kaszki i połknij) 2. Jedz kaszkę dalej, aż talerz będzie pusty
![Page 12: Algorytmy 1](https://reader036.fdocument.pub/reader036/viewer/2022081419/568157bc550346895dc53f1f/html5/thumbnails/12.jpg)
Przykłady różnych algorytmów
![Page 13: Algorytmy 1](https://reader036.fdocument.pub/reader036/viewer/2022081419/568157bc550346895dc53f1f/html5/thumbnails/13.jpg)
Krok 1 Przyjmij, że najmłodszym uczniem w klasie jest pierwszy w kolejnościZapamiętaj jego imię.Krok 2 Jeśli zadałeś pytanie już wszystkim uczniom, to koniec algorytmu, najmłodszym jest zapamiętany uczeń.Krok 3 Przejdź do kolejnego ucznia i zapytaj go, kiedy się urodził. Jeśli urodził się później niż najmłodszy z dotychczas pytanych, to zapamiętaj jego dane.Krok 4 Wróć do kroku 2, by kontynuować zadawanie pytań
Wyszukiwanie najmłodszego ucznia w klasie. Lista kroków. Dane: Uczniowie. Wynik: Najmłodszy uczeń
![Page 14: Algorytmy 1](https://reader036.fdocument.pub/reader036/viewer/2022081419/568157bc550346895dc53f1f/html5/thumbnails/14.jpg)
Schemat blokowy algorytmu
![Page 15: Algorytmy 1](https://reader036.fdocument.pub/reader036/viewer/2022081419/568157bc550346895dc53f1f/html5/thumbnails/15.jpg)
Dane: Uporządkowany zbiór elementów. Wyróżniony element, który się w nim znajduje.
Wynik : Miejsce wyróżnionego elementu w zbiorze
1. Sprawdź środkowy element zbioru
2. Jeśli jest on wyróżnionym elementem to zakończ poszukiwania.
3.Jeśli środkowy element jest większy od poszukiwanego , to pozostaw zbiór na lewo od elementu środkowego, a w przeciwnym razie (czyli gdy środkowy element jest mniejszy od poszukiwanego), pozostaw zbiór na prawo od elementu środkowego,4. Wróć do kroku 1
Opis w postaci listy kroków algorytmu wyszukującego wybrany element w zbiorze uporządkowanym
![Page 16: Algorytmy 1](https://reader036.fdocument.pub/reader036/viewer/2022081419/568157bc550346895dc53f1f/html5/thumbnails/16.jpg)
Schemat blokowy algorytmu wyszukującego wybrany element w zbiorze uporządkowanym
![Page 17: Algorytmy 1](https://reader036.fdocument.pub/reader036/viewer/2022081419/568157bc550346895dc53f1f/html5/thumbnails/17.jpg)
Algorytm określający, która z dwóch Algorytm określający, która z dwóch podanych liczb jest mniejszapodanych liczb jest mniejsza
Dane: Liczby x i yDane: Liczby x i yLista kroków:Lista kroków:1.1. Początek algorytmuPoczątek algorytmu2.2. Wprowadź liczby x i yWprowadź liczby x i y3.3. Sprawdź warunek, czy liczba x jest mniejsza Sprawdź warunek, czy liczba x jest mniejsza
od yod y4.4. Jeśli jest mniejsza to: min:=x, w przeciwnym Jeśli jest mniejsza to: min:=x, w przeciwnym
razie: min:=yrazie: min:=y5.5. Wyprowadź wartość minWyprowadź wartość min6.6. Koniec algorytmuKoniec algorytmu
![Page 18: Algorytmy 1](https://reader036.fdocument.pub/reader036/viewer/2022081419/568157bc550346895dc53f1f/html5/thumbnails/18.jpg)
Wprowadź(x, y)
min:=x
Start
STOP
Wyprowadź min
X<Y
min:=y
NIE TAK
Algorytm Algorytm określający, określający,
która z dwóch która z dwóch podanych liczb podanych liczb jest mniejszajest mniejsza
Dane: Liczby Dane: Liczby x i yx i ySchemat Schemat blokowy:blokowy:
![Page 19: Algorytmy 1](https://reader036.fdocument.pub/reader036/viewer/2022081419/568157bc550346895dc53f1f/html5/thumbnails/19.jpg)
Algorytm dodawania dwóch liczbAlgorytm dodawania dwóch liczb
Dane: Liczby a i bDane: Liczby a i b
Lista kroków:Lista kroków:
1.1. Początek algorytmuPoczątek algorytmu
2.2. Wprowadź liczby a i bWprowadź liczby a i b
3.3. Oblicz wartość x:=a+bOblicz wartość x:=a+b
4.4. Wyprowadź wartość xWyprowadź wartość x
5.5. Koniec algorytmuKoniec algorytmu
![Page 20: Algorytmy 1](https://reader036.fdocument.pub/reader036/viewer/2022081419/568157bc550346895dc53f1f/html5/thumbnails/20.jpg)
Wprowadź(a, b)
x:=a+b
Start
STOP
Wyprowadź x
Algorytm Algorytm dodawania dodawania dwóch liczbdwóch liczb
Dane: Liczby a i bDane: Liczby a i bSchemat blokowy:Schemat blokowy:
![Page 21: Algorytmy 1](https://reader036.fdocument.pub/reader036/viewer/2022081419/568157bc550346895dc53f1f/html5/thumbnails/21.jpg)
Opis w postaci listy kroków na Opis w postaci listy kroków na przykładzie algorytmu wyszukującego przykładzie algorytmu wyszukującego największą z 4 liczbnajwiększą z 4 liczb
![Page 22: Algorytmy 1](https://reader036.fdocument.pub/reader036/viewer/2022081419/568157bc550346895dc53f1f/html5/thumbnails/22.jpg)
Opis w postaci schematu blokowego
![Page 23: Algorytmy 1](https://reader036.fdocument.pub/reader036/viewer/2022081419/568157bc550346895dc53f1f/html5/thumbnails/23.jpg)
KoniecKoniec