Algorytmy 1

Post on 29-Jan-2016

70 views 0 download

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

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

Definicja algorytmu

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

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.

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ęć.

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)

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

Rodzaje algorytmów

ALGORYTMYALGORYTMY

LINIOWESEKWENCYJNE

REKURENCYJNEWARUNKOWE ITERACYJNE

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

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”

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ść

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

Przykłady różnych algorytmów

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ń

Schemat blokowy algorytmu

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

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

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

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:

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

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:

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

Opis w postaci schematu blokowego

KoniecKoniec