Algorytmy 1

23
Algorytmy 1 Algorytmy 1 1. 1. Definicja algorytmu Definicja algorytmu 2. 2. Sposoby przedstawiania algorytmów Sposoby przedstawiania algorytmów 3. 3. Rodzaje skrzynek wykorzystywanych w Rodzaje skrzynek wykorzystywanych w zapisie blokowym zapisie blokowym 4. 4. Rodzaje algorytmów Rodzaje algorytmów

description

Algorytmy 1. Definicja algorytmu Sposoby przedstawiania algorytmów Rodzaje skrzynek wykorzystywanych w zapisie blokowym Rodzaje algorytmów. Definicja algorytmu. Algorytm jest to precyzyjny opis sposobu rozwiązania określonego zadania lub osiągnięcia jakiegoś celu. - PowerPoint PPT Presentation

Transcript of Algorytmy 1

Page 1: Algorytmy 1

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

Definicja algorytmu

Algorytm jest to precyzyjny opis sposoburozwiązania określonego zadania lub osiągnięcia jakiegoś celu.

Page 3: Algorytmy 1

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

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

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

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

Rodzaje algorytmów

ALGORYTMYALGORYTMY

LINIOWESEKWENCYJNE

REKURENCYJNEWARUNKOWE ITERACYJNE

Page 8: Algorytmy 1

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

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

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

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

Przykłady różnych algorytmów

Page 13: Algorytmy 1

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

Schemat blokowy algorytmu

Page 15: Algorytmy 1

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

Schemat blokowy algorytmu wyszukującego wybrany element w zbiorze uporządkowanym

Page 17: Algorytmy 1

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

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

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

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

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

Opis w postaci schematu blokowego

Page 23: Algorytmy 1

KoniecKoniec