Podstawy Informatyki Algorytmy - zti.polsl.plzti.polsl.pl/w3/AMomot/pi/wyk/01.Algorytmy.pdf ·...

57
Plan wykladu Wprowadzenie Idea algorytmu Sposoby zapisu algorytmów Przyklady algorytmów Podstawy Informatyki Algorytmy dr inż. Alina MOMOT [email protected] http://zti.polsl.pl/AMomot/pi dr inż. Alina MOMOT Algorytmy

Transcript of Podstawy Informatyki Algorytmy - zti.polsl.plzti.polsl.pl/w3/AMomot/pi/wyk/01.Algorytmy.pdf ·...

Plan wykładuWprowadzenie

Idea algorytmuSposoby zapisu algorytmów

Przykłady algorytmów

Podstawy InformatykiAlgorytmy

dr inż. Alina MOMOT

[email protected]

http://zti.polsl.pl/AMomot/pi

dr inż. Alina MOMOT Algorytmy

Plan wykładuWprowadzenie

Idea algorytmuSposoby zapisu algorytmów

Przykłady algorytmów

Plan wykładu1 Wprowadzenie

Cel wykładuTematyka wykładuLiteraturaPrzedmiot Podstawy Informatyki

2 Idea algorytmuWprowadzenieDefinicja algorytmu

3 Sposoby zapisu algorytmówSchematy blokoweKonwencja notacyjna pseudoPascal

4 Przykłady algorytmówWyznaczanie sumy elementow ciąguWyznaczanie minimalnego elementu ciąguWyznaczanie NWD

dr inż. Alina MOMOT Algorytmy

Plan wykładuWprowadzenie

Idea algorytmuSposoby zapisu algorytmów

Przykłady algorytmów

Cel wykładuTematyka wykładuLiteraturaPrzedmiot Podstawy Informatyki

Cel wykładu

Poznanie podstawowych pojęć i problemów informatyki

Podbudowa dla wykładów monograficznych, m.in.:

Analiza AlgorytmówArchitektura KomputerówSystemy OperacyjneProgramowanie w Językach SymbolicznychProgramowanie Równoległe

dr inż. Alina MOMOT Algorytmy

Plan wykładuWprowadzenie

Idea algorytmuSposoby zapisu algorytmów

Przykłady algorytmów

Cel wykładuTematyka wykładuLiteraturaPrzedmiot Podstawy Informatyki

Tematyka wykładu

Algorytmy, realizacja szeregowa lub równoległa, efektywność

Maszyna Turinga

Języki formalne, gramatyki, translacja

Elementy konstrukcyjne komputera, układ sterujący

Cykl rozkazowy i równania rozkazów

System przerwań, układ wejścia-wyjścia, DMA

Asembler i programowanie w języku asemblera

Kompilatory, translacja programów

System operacyjny i jego zadania, gospodarka zasobami

Metody dostępu do danych: b-drzewa, funkcje mieszające

Statystyczny model sieci jako sieci stanowisk M/M/1

Nowe trendy w informatyce

dr inż. Alina MOMOT Algorytmy

Plan wykładuWprowadzenie

Idea algorytmuSposoby zapisu algorytmów

Przykłady algorytmów

Cel wykładuTematyka wykładuLiteraturaPrzedmiot Podstawy Informatyki

Literatura

S. Węgrzyn: Podstawy informatyki. PWN, Warszawa, 1982

Zbiór zadań z Podstaw Informatyki. Praca zbiorowa pod redakcjąStanisława Kozielskiego. Skrypt uczelniany Politechniki Śląskiej nr1459

Wykłady z Podstaw Informatyki profesora Stefana Węgrzyna. Skryptuczelniany Politechniki Śląskiej nr 1812

M. Chłopek, R. Tutajewicz: Ćwiczenia laboratoryjne z PodstawInformatyki - maszyna W. Skrypt uczelniany Politechniki Śląskiej

dr inż. Alina MOMOT Algorytmy

Plan wykładuWprowadzenie

Idea algorytmuSposoby zapisu algorytmów

Przykłady algorytmów

Cel wykładuTematyka wykładuLiteraturaPrzedmiot Podstawy Informatyki

Struktura przedmiotu

Na przedmiot składają się następujące elementy:

wykład

ćwiczenia tablicowe

laboratorium

egzamin

Semestr 1: 2/2/0/- (4)Semestr 2: 1/1/2/E (4)

dr inż. Alina MOMOT Algorytmy

Plan wykładuWprowadzenie

Idea algorytmuSposoby zapisu algorytmów

Przykłady algorytmów

Cel wykładuTematyka wykładuLiteraturaPrzedmiot Podstawy Informatyki

Struktura przedmiotu

Na przedmiot składają się następujące elementy:

wykład

ćwiczenia tablicowe

laboratorium

egzamin

Semestr 1: 2/2/0/- (4)Semestr 2: 1/1/2/E (4)

dr inż. Alina MOMOT Algorytmy

Plan wykładuWprowadzenie

Idea algorytmuSposoby zapisu algorytmów

Przykłady algorytmów

Cel wykładuTematyka wykładuLiteraturaPrzedmiot Podstawy Informatyki

Struktura przedmiotu

Na przedmiot składają się następujące elementy:

wykład

ćwiczenia tablicowe

laboratorium

egzamin

Semestr 1: 2/2/0/- (4)Semestr 2: 1/1/2/E (4)

dr inż. Alina MOMOT Algorytmy

Plan wykładuWprowadzenie

Idea algorytmuSposoby zapisu algorytmów

Przykłady algorytmów

Cel wykładuTematyka wykładuLiteraturaPrzedmiot Podstawy Informatyki

Warunki zaliczenia

Ocena końcowa:

Semestr 1: ocena z ćwiczeń tablicowych

Semestr 2: średnia ważona wg wzoru

ocena =ocw + olab + 4oegz zad + 4oegz teo

10

Zwolnienia z egzaminu (uzyskanie zaliczeń w terminie):

z całości z oceną 5.0, gdyocw1 = ocw2 = olab = 5.0

z części zadaniowej z oceną 4.5, gdyocw1 + ocw2 >= 9

dr inż. Alina MOMOT Algorytmy

Plan wykładuWprowadzenie

Idea algorytmuSposoby zapisu algorytmów

Przykłady algorytmów

Cel wykładuTematyka wykładuLiteraturaPrzedmiot Podstawy Informatyki

Warunki zaliczenia

Ocena końcowa:

Semestr 1: ocena z ćwiczeń tablicowych

Semestr 2: średnia ważona wg wzoru

ocena =ocw + olab + 4oegz zad + 4oegz teo

10

Zwolnienia z egzaminu (uzyskanie zaliczeń w terminie):

z całości z oceną 5.0, gdyocw1 = ocw2 = olab = 5.0

z części zadaniowej z oceną 4.5, gdyocw1 + ocw2 >= 9

dr inż. Alina MOMOT Algorytmy

Plan wykładuWprowadzenie

Idea algorytmuSposoby zapisu algorytmów

Przykłady algorytmów

WprowadzenieDefinicja algorytmu

Wprowadzenie

Podstawowe pojęcie w informatyce

Przepis określający działania umożliwiające osiągnięcie pewnego celu

Pierwszy algorytm, IV w. p.n.e.: NWD, Euklides

Pochodzenie słowa: Muhammad ibn Musa al-Khwarizmi (łac.Algorismus), perski matematyk z IXw., który podał reguły działańalgebraicznych na liczbach dziesiętnych

dr inż. Alina MOMOT Algorytmy

Plan wykładuWprowadzenie

Idea algorytmuSposoby zapisu algorytmów

Przykłady algorytmów

WprowadzenieDefinicja algorytmu

Definicja

Algorytm

Uporządkowany zbiór operacji taki, że po ich wykonaniu otrzymuje sięrozwiązanie dowolnego zadania z określonej klasy zadań.

Cechy algorytmu:

1 ogólność2 skończoność3 określoność4 efektywność

dr inż. Alina MOMOT Algorytmy

Plan wykładuWprowadzenie

Idea algorytmuSposoby zapisu algorytmów

Przykłady algorytmów

WprowadzenieDefinicja algorytmu

Definicja

Algorytm

Uporządkowany zbiór operacji taki, że po ich wykonaniu otrzymuje sięrozwiązanie dowolnego zadania z określonej klasy zadań.

Cechy algorytmu:

1 ogólność2 skończoność3 określoność4 efektywność

dr inż. Alina MOMOT Algorytmy

Plan wykładuWprowadzenie

Idea algorytmuSposoby zapisu algorytmów

Przykłady algorytmów

Schematy blokoweKonwencja notacyjna pseudoPascal

Wprowadzenie

Algorytm można zapisać wykorzystując:1 język naturalny2 funkcje matematyczne, m.in. rekurencja, np. zał. a ­ b

NWD(a, b) =

{a gdy b = 0NWD(b, a mod b) gdy b ­ 1

3 schemat blokowy4 pseudokod lub język formalny, np. Pascal, C

dr inż. Alina MOMOT Algorytmy

Plan wykładuWprowadzenie

Idea algorytmuSposoby zapisu algorytmów

Przykłady algorytmów

Schematy blokoweKonwencja notacyjna pseudoPascal

Reguły konstrukcji schematów blokowych

1 graniczny, np. Start, Stop2 wejścia/wyjścia, np. czytaj, pisz3 obliczeniowy, np. z ← z + 14 decyzyjny5 wywołania podprogramu, np.

MAX(a,b)6 łącznik wewnętrzny (wewnątrz

stronicowy)7 łącznik zewnętrzny

(międzystronicowy)

dr inż. Alina MOMOT Algorytmy

Plan wykładuWprowadzenie

Idea algorytmuSposoby zapisu algorytmów

Przykłady algorytmów

Schematy blokoweKonwencja notacyjna pseudoPascal

Deklaracje stałych, typów i zmiennych

1 const nazwa stałej = wartość2 type nazwa typu = definicja typu3 var nazwa zmiennej: typ danych

Typy danych:

podstawowe: Boolean, char, integer, real

tablica: array[typ indeksowy] of typ danych, np. array[1..5] of char

dr inż. Alina MOMOT Algorytmy

Plan wykładuWprowadzenie

Idea algorytmuSposoby zapisu algorytmów

Przykłady algorytmów

Schematy blokoweKonwencja notacyjna pseudoPascal

Deklaracje stałych, typów i zmiennych

1 const nazwa stałej = wartość2 type nazwa typu = definicja typu3 var nazwa zmiennej: typ danych

Typy danych:

podstawowe: Boolean, char, integer, real

tablica: array[typ indeksowy] of typ danych, np. array[1..5] of char

dr inż. Alina MOMOT Algorytmy

Plan wykładuWprowadzenie

Idea algorytmuSposoby zapisu algorytmów

Przykłady algorytmów

Schematy blokoweKonwencja notacyjna pseudoPascal

Podstawowe instrukcje

Instrukcja przypisania:

nazwa zmiennej := wyrażenie;

Instrukcja warunkowa:if warunek then

ciąg instrukcjielse

ciąg instrukcjiend if

dr inż. Alina MOMOT Algorytmy

Plan wykładuWprowadzenie

Idea algorytmuSposoby zapisu algorytmów

Przykłady algorytmów

Schematy blokoweKonwencja notacyjna pseudoPascal

Instrukcje iteracji

Pętla WHILE

while warunek dociąg instrukcjiend while

Pętla REPEATrepeat

ciąg instrukcjiuntil warunek

Pętla FOR

for zmienna:=wyrażenie1 to(downto) wyrażenie2 dociąg instrukcjiend for

dr inż. Alina MOMOT Algorytmy

Plan wykładuWprowadzenie

Idea algorytmuSposoby zapisu algorytmów

Przykłady algorytmów

Schematy blokoweKonwencja notacyjna pseudoPascal

Instrukcje iteracji

Pętla WHILE

while warunek dociąg instrukcjiend while

Pętla REPEATrepeat

ciąg instrukcjiuntil warunek

Pętla FOR

for zmienna:=wyrażenie1 to(downto) wyrażenie2 dociąg instrukcjiend for

dr inż. Alina MOMOT Algorytmy

Plan wykładuWprowadzenie

Idea algorytmuSposoby zapisu algorytmów

Przykłady algorytmów

Schematy blokoweKonwencja notacyjna pseudoPascal

Instrukcje iteracji

Pętla WHILE

while warunek dociąg instrukcjiend while

Pętla REPEATrepeat

ciąg instrukcjiuntil warunek

Pętla FOR

for zmienna:=wyrażenie1 to(downto) wyrażenie2 dociąg instrukcjiend for

dr inż. Alina MOMOT Algorytmy

Plan wykładuWprowadzenie

Idea algorytmuSposoby zapisu algorytmów

Przykłady algorytmów

Schematy blokoweKonwencja notacyjna pseudoPascal

Procedura, funkcja

PROCEDURA

procedure nazwa (dekleracje parametrów)ciąg deklaracji lokalnychciąg instrukcjiend procedure

FUNKCJA

function nazwa (dekleracje parametrów) : typ wynikuciąg deklaracji lokalnychciąg instrukcjiend function

dr inż. Alina MOMOT Algorytmy

Plan wykładuWprowadzenie

Idea algorytmuSposoby zapisu algorytmów

Przykłady algorytmów

Schematy blokoweKonwencja notacyjna pseudoPascal

Procedura, funkcja

PROCEDURA

procedure nazwa (dekleracje parametrów)ciąg deklaracji lokalnychciąg instrukcjiend procedure

FUNKCJA

function nazwa (dekleracje parametrów) : typ wynikuciąg deklaracji lokalnychciąg instrukcjiend function

dr inż. Alina MOMOT Algorytmy

Plan wykładuWprowadzenie

Idea algorytmuSposoby zapisu algorytmów

Przykłady algorytmów

Wyznaczanie sumy elementow ciąguWyznaczanie minimalnego elementu ciąguWyznaczanie NWD

Sformułowanie problemu

Podać algorytm obliczania sumy wartości liczb w zadanym ciagu {xi} oznanej długości N, czyli

y =N∑i=1

xi

dr inż. Alina MOMOT Algorytmy

Plan wykładuWprowadzenie

Idea algorytmuSposoby zapisu algorytmów

Przykłady algorytmów

Wyznaczanie sumy elementow ciąguWyznaczanie minimalnego elementu ciąguWyznaczanie NWD

Algorytm zapisany w języku naturalnym

1 Podstaw y ← 0 oraz i ← 1, idź do 2.2 Podstaw y ← y + xi , idź do 3.3 Sprawdź, czy i = N. Jeśli tak, to KONIEC, jeśli nie idź do 4.4 Podstaw i ← i + 1, idź do 2.

Dany ciąg {xi}: {4, 2, 5}, znana długość N = 3Aktualna wartość y:Indeks bieżącego elementu i:Wartość bieżącego elementu xi :

dr inż. Alina MOMOT Algorytmy

Plan wykładuWprowadzenie

Idea algorytmuSposoby zapisu algorytmów

Przykłady algorytmów

Wyznaczanie sumy elementow ciąguWyznaczanie minimalnego elementu ciąguWyznaczanie NWD

Algorytm zapisany w języku naturalnym

1 Podstaw y ← 0 oraz i ← 1, idź do 2.2 Podstaw y ← y + xi , idź do 3.3 Sprawdź, czy i = N. Jeśli tak, to KONIEC, jeśli nie idź do 4.4 Podstaw i ← i + 1, idź do 2.

Dany ciąg {xi}: {4, 2, 5}, znana długość N = 3Aktualna wartość y: 0Indeks bieżącego elementu i: 1Wartość bieżącego elementu xi : 4

dr inż. Alina MOMOT Algorytmy

Plan wykładuWprowadzenie

Idea algorytmuSposoby zapisu algorytmów

Przykłady algorytmów

Wyznaczanie sumy elementow ciąguWyznaczanie minimalnego elementu ciąguWyznaczanie NWD

Algorytm zapisany w języku naturalnym

1 Podstaw y ← 0 oraz i ← 1, idź do 2.2 Podstaw y ← y + xi , idź do 3.3 Sprawdź, czy i = N. Jeśli tak, to KONIEC, jeśli nie idź do 4.4 Podstaw i ← i + 1, idź do 2.

Dany ciąg {xi}: {4, 2, 5}, znana długość N = 3Aktualna wartość y: 4Indeks bieżącego elementu i: 1Wartość bieżącego elementu xi : 4

dr inż. Alina MOMOT Algorytmy

Plan wykładuWprowadzenie

Idea algorytmuSposoby zapisu algorytmów

Przykłady algorytmów

Wyznaczanie sumy elementow ciąguWyznaczanie minimalnego elementu ciąguWyznaczanie NWD

Algorytm zapisany w języku naturalnym

1 Podstaw y ← 0 oraz i ← 1, idź do 2.2 Podstaw y ← y + xi , idź do 3.3 Sprawdź, czy i = N. Jeśli tak, to KONIEC, jeśli nie idź do 4.4 Podstaw i ← i + 1, idź do 2.

Dany ciąg {xi}: {4, 2, 5}, znana długość N = 3Aktualna wartość y: 4Indeks bieżącego elementu i: 1Wartość bieżącego elementu xi : 4i = 1 < 3 = N

dr inż. Alina MOMOT Algorytmy

Plan wykładuWprowadzenie

Idea algorytmuSposoby zapisu algorytmów

Przykłady algorytmów

Wyznaczanie sumy elementow ciąguWyznaczanie minimalnego elementu ciąguWyznaczanie NWD

Algorytm zapisany w języku naturalnym

1 Podstaw y ← 0 oraz i ← 1, idź do 2.2 Podstaw y ← y + xi , idź do 3.3 Sprawdź, czy i = N. Jeśli tak, to KONIEC, jeśli nie idź do 4.4 Podstaw i ← i + 1, idź do 2.

Dany ciąg {xi}: {4, 2, 5}, znana długość N = 3Aktualna wartość y: 4Indeks bieżącego elementu i: 2Wartość bieżącego elementu xi : 2

dr inż. Alina MOMOT Algorytmy

Plan wykładuWprowadzenie

Idea algorytmuSposoby zapisu algorytmów

Przykłady algorytmów

Wyznaczanie sumy elementow ciąguWyznaczanie minimalnego elementu ciąguWyznaczanie NWD

Algorytm zapisany w języku naturalnym

1 Podstaw y ← 0 oraz i ← 1, idź do 2.2 Podstaw y ← y + xi , idź do 3.3 Sprawdź, czy i = N. Jeśli tak, to KONIEC, jeśli nie idź do 4.4 Podstaw i ← i + 1, idź do 2.

Dany ciąg {xi}: {4, 2, 5}, znana długość N = 3Aktualna wartość y: 6Indeks bieżącego elementu i: 2Wartość bieżącego elementu xi : 2

dr inż. Alina MOMOT Algorytmy

Plan wykładuWprowadzenie

Idea algorytmuSposoby zapisu algorytmów

Przykłady algorytmów

Wyznaczanie sumy elementow ciąguWyznaczanie minimalnego elementu ciąguWyznaczanie NWD

Algorytm zapisany w języku naturalnym

1 Podstaw y ← 0 oraz i ← 1, idź do 2.2 Podstaw y ← y + xi , idź do 3.3 Sprawdź, czy i = N. Jeśli tak, to KONIEC, jeśli nie idź do 4.4 Podstaw i ← i + 1, idź do 2.

Dany ciąg {xi}: {4, 2, 5}, znana długość N = 3Aktualna wartość y: 6Indeks bieżącego elementu i: 2Wartość bieżącego elementu xi : 2i = 2 < 3 = N

dr inż. Alina MOMOT Algorytmy

Plan wykładuWprowadzenie

Idea algorytmuSposoby zapisu algorytmów

Przykłady algorytmów

Wyznaczanie sumy elementow ciąguWyznaczanie minimalnego elementu ciąguWyznaczanie NWD

Algorytm zapisany w języku naturalnym

1 Podstaw y ← 0 oraz i ← 1, idź do 2.2 Podstaw y ← y + xi , idź do 3.3 Sprawdź, czy i = N. Jeśli tak, to KONIEC, jeśli nie idź do 4.4 Podstaw i ← i + 1, idź do 2.

Dany ciąg {xi}: {4, 2, 5}, znana długość N = 3Aktualna wartość y: 6Indeks bieżącego elementu i: 3Wartość bieżącego elementu xi : 5

dr inż. Alina MOMOT Algorytmy

Plan wykładuWprowadzenie

Idea algorytmuSposoby zapisu algorytmów

Przykłady algorytmów

Wyznaczanie sumy elementow ciąguWyznaczanie minimalnego elementu ciąguWyznaczanie NWD

Algorytm zapisany w języku naturalnym

1 Podstaw y ← 0 oraz i ← 1, idź do 2.2 Podstaw y ← y + xi , idź do 3.3 Sprawdź, czy i = N. Jeśli tak, to KONIEC, jeśli nie idź do 4.4 Podstaw i ← i + 1, idź do 2.

Dany ciąg {xi}: {4, 2, 5}, znana długość N = 3Aktualna wartość y: 11Indeks bieżącego elementu i: 3Wartość bieżącego elementu xi : 5

dr inż. Alina MOMOT Algorytmy

Plan wykładuWprowadzenie

Idea algorytmuSposoby zapisu algorytmów

Przykłady algorytmów

Wyznaczanie sumy elementow ciąguWyznaczanie minimalnego elementu ciąguWyznaczanie NWD

Algorytm zapisany w języku naturalnym

1 Podstaw y ← 0 oraz i ← 1, idź do 2.2 Podstaw y ← y + xi , idź do 3.3 Sprawdź, czy i = N. Jeśli tak, to KONIEC, jeśli nie idź do 4.4 Podstaw i ← i + 1, idź do 2.

Dany ciąg {xi}: {4, 2, 5}, znana długość N = 3Aktualna wartość y: 11Indeks bieżącego elementu i: 3Wartość bieżącego elementu xi : 5i = 3 = 3 = N

dr inż. Alina MOMOT Algorytmy

Plan wykładuWprowadzenie

Idea algorytmuSposoby zapisu algorytmów

Przykłady algorytmów

Wyznaczanie sumy elementow ciąguWyznaczanie minimalnego elementu ciąguWyznaczanie NWD

Algorytm zapisany za pomocą schematu blokowego

dr inż. Alina MOMOT Algorytmy

Plan wykładuWprowadzenie

Idea algorytmuSposoby zapisu algorytmów

Przykłady algorytmów

Wyznaczanie sumy elementow ciąguWyznaczanie minimalnego elementu ciąguWyznaczanie NWD

Algorytm zapisany z użyciem pseudokodu

Pętla WHILE

y := 0i := 1while i ¬ N doy := y + xii := i + 1end while

Pętla REPEAT

y := 0i := 1repeaty := y + xii := i + 1until i > N

Pętla FOR

y := 0for i:=1 to N doy := y + xiend for

dr inż. Alina MOMOT Algorytmy

Plan wykładuWprowadzenie

Idea algorytmuSposoby zapisu algorytmów

Przykłady algorytmów

Wyznaczanie sumy elementow ciąguWyznaczanie minimalnego elementu ciąguWyznaczanie NWD

Algorytm zapisany z użyciem pseudokodu

Pętla WHILE

y := 0i := 1while i ¬ N doy := y + xii := i + 1end while

Pętla REPEAT

y := 0i := 1repeaty := y + xii := i + 1until i > N

Pętla FOR

y := 0for i:=1 to N doy := y + xiend for

dr inż. Alina MOMOT Algorytmy

Plan wykładuWprowadzenie

Idea algorytmuSposoby zapisu algorytmów

Przykłady algorytmów

Wyznaczanie sumy elementow ciąguWyznaczanie minimalnego elementu ciąguWyznaczanie NWD

Algorytm zapisany z użyciem pseudokodu

Pętla WHILE

y := 0i := 1while i ¬ N doy := y + xii := i + 1end while

Pętla REPEAT

y := 0i := 1repeaty := y + xii := i + 1until i > N

Pętla FOR

y := 0for i:=1 to N doy := y + xiend for

dr inż. Alina MOMOT Algorytmy

Plan wykładuWprowadzenie

Idea algorytmuSposoby zapisu algorytmów

Przykłady algorytmów

Wyznaczanie sumy elementow ciąguWyznaczanie minimalnego elementu ciąguWyznaczanie NWD

Sformułowanie problemu

Podać algorytm znajdowania minimalnego elementu w zadanym ciagu{xi} o znanej długości N, czyli

y = min{xi : i ∈ {1, 2, . . . ,N}}

dr inż. Alina MOMOT Algorytmy

Plan wykładuWprowadzenie

Idea algorytmuSposoby zapisu algorytmów

Przykłady algorytmów

Wyznaczanie sumy elementow ciąguWyznaczanie minimalnego elementu ciąguWyznaczanie NWD

Algorytm zapisany w języku naturalnym

1 Podstaw i ← 1, idź do 2.2 Podstaw y ← xi , idź do 3.3 Sprawdź, czy i = N. Jeśli tak, to KONIEC, jeśli nie idź do 4.4 Podstaw i ← i + 1, idź do 5.5 Sprawdź, czy xi < y . Jeśli tak, to idź do 2, jeśli nie idź do 3.

Dany ciąg {xi}: {4, 2, 5}, znana długość N = 3Aktualna wartość y:Indeks bieżącego elementu i:Wartość bieżącego elementu xi :

dr inż. Alina MOMOT Algorytmy

Plan wykładuWprowadzenie

Idea algorytmuSposoby zapisu algorytmów

Przykłady algorytmów

Wyznaczanie sumy elementow ciąguWyznaczanie minimalnego elementu ciąguWyznaczanie NWD

Algorytm zapisany w języku naturalnym

1 Podstaw i ← 1, idź do 2.2 Podstaw y ← xi , idź do 3.3 Sprawdź, czy i = N. Jeśli tak, to KONIEC, jeśli nie idź do 4.4 Podstaw i ← i + 1, idź do 5.5 Sprawdź, czy xi < y . Jeśli tak, to idź do 2, jeśli nie idź do 3.

Dany ciąg {xi}: {4, 2, 5}, znana długość N = 3Aktualna wartość y: ?Indeks bieżącego elementu i: 1Wartość bieżącego elementu xi : 4

dr inż. Alina MOMOT Algorytmy

Plan wykładuWprowadzenie

Idea algorytmuSposoby zapisu algorytmów

Przykłady algorytmów

Wyznaczanie sumy elementow ciąguWyznaczanie minimalnego elementu ciąguWyznaczanie NWD

Algorytm zapisany w języku naturalnym

1 Podstaw i ← 1, idź do 2.2 Podstaw y ← xi , idź do 3.3 Sprawdź, czy i = N. Jeśli tak, to KONIEC, jeśli nie idź do 4.4 Podstaw i ← i + 1, idź do 5.5 Sprawdź, czy xi < y . Jeśli tak, to idź do 2, jeśli nie idź do 3.

Dany ciąg {xi}: {4, 2, 5}, znana długość N = 3Aktualna wartość y: 4Indeks bieżącego elementu i: 1Wartość bieżącego elementu xi : 4

dr inż. Alina MOMOT Algorytmy

Plan wykładuWprowadzenie

Idea algorytmuSposoby zapisu algorytmów

Przykłady algorytmów

Wyznaczanie sumy elementow ciąguWyznaczanie minimalnego elementu ciąguWyznaczanie NWD

Algorytm zapisany w języku naturalnym

1 Podstaw i ← 1, idź do 2.2 Podstaw y ← xi , idź do 3.3 Sprawdź, czy i = N. Jeśli tak, to KONIEC, jeśli nie idź do 4.4 Podstaw i ← i + 1, idź do 5.5 Sprawdź, czy xi < y . Jeśli tak, to idź do 2, jeśli nie idź do 3.

Dany ciąg {xi}: {4, 2, 5}, znana długość N = 3Aktualna wartość y: 4Indeks bieżącego elementu i: 1Wartość bieżącego elementu xi : 4i = 1 < 3 = N

dr inż. Alina MOMOT Algorytmy

Plan wykładuWprowadzenie

Idea algorytmuSposoby zapisu algorytmów

Przykłady algorytmów

Wyznaczanie sumy elementow ciąguWyznaczanie minimalnego elementu ciąguWyznaczanie NWD

Algorytm zapisany w języku naturalnym

1 Podstaw i ← 1, idź do 2.2 Podstaw y ← xi , idź do 3.3 Sprawdź, czy i = N. Jeśli tak, to KONIEC, jeśli nie idź do 4.4 Podstaw i ← i + 1, idź do 5.5 Sprawdź, czy xi < y . Jeśli tak, to idź do 2, jeśli nie idź do 3.

Dany ciąg {xi}: {4, 2, 5}, znana długość N = 3Aktualna wartość y: 4Indeks bieżącego elementu i: 2Wartość bieżącego elementu xi : 2

dr inż. Alina MOMOT Algorytmy

Plan wykładuWprowadzenie

Idea algorytmuSposoby zapisu algorytmów

Przykłady algorytmów

Wyznaczanie sumy elementow ciąguWyznaczanie minimalnego elementu ciąguWyznaczanie NWD

Algorytm zapisany w języku naturalnym

1 Podstaw i ← 1, idź do 2.2 Podstaw y ← xi , idź do 3.3 Sprawdź, czy i = N. Jeśli tak, to KONIEC, jeśli nie idź do 4.4 Podstaw i ← i + 1, idź do 5.5 Sprawdź, czy xi < y . Jeśli tak, to idź do 2, jeśli nie idź do 3.

Dany ciąg {xi}: {4, 2, 5}, znana długość N = 3Aktualna wartość y: 4Indeks bieżącego elementu i: 2Wartość bieżącego elementu xi : 2xi = 2 < 4 = y

dr inż. Alina MOMOT Algorytmy

Plan wykładuWprowadzenie

Idea algorytmuSposoby zapisu algorytmów

Przykłady algorytmów

Wyznaczanie sumy elementow ciąguWyznaczanie minimalnego elementu ciąguWyznaczanie NWD

Algorytm zapisany w języku naturalnym

1 Podstaw i ← 1, idź do 2.2 Podstaw y ← xi , idź do 3.3 Sprawdź, czy i = N. Jeśli tak, to KONIEC, jeśli nie idź do 4.4 Podstaw i ← i + 1, idź do 5.5 Sprawdź, czy xi < y . Jeśli tak, to idź do 2, jeśli nie idź do 3.

Dany ciąg {xi}: {4, 2, 5}, znana długość N = 3Aktualna wartość y: 2Indeks bieżącego elementu i: 2Wartość bieżącego elementu xi : 2

dr inż. Alina MOMOT Algorytmy

Plan wykładuWprowadzenie

Idea algorytmuSposoby zapisu algorytmów

Przykłady algorytmów

Wyznaczanie sumy elementow ciąguWyznaczanie minimalnego elementu ciąguWyznaczanie NWD

Algorytm zapisany w języku naturalnym

1 Podstaw i ← 1, idź do 2.2 Podstaw y ← xi , idź do 3.3 Sprawdź, czy i = N. Jeśli tak, to KONIEC, jeśli nie idź do 4.4 Podstaw i ← i + 1, idź do 5.5 Sprawdź, czy xi < y . Jeśli tak, to idź do 2, jeśli nie idź do 3.

Dany ciąg {xi}: {4, 2, 5}, znana długość N = 3Aktualna wartość y: 2Indeks bieżącego elementu i: 2Wartość bieżącego elementu xi : 2i = 2 < 3 = N

dr inż. Alina MOMOT Algorytmy

Plan wykładuWprowadzenie

Idea algorytmuSposoby zapisu algorytmów

Przykłady algorytmów

Wyznaczanie sumy elementow ciąguWyznaczanie minimalnego elementu ciąguWyznaczanie NWD

Algorytm zapisany w języku naturalnym

1 Podstaw i ← 1, idź do 2.2 Podstaw y ← xi , idź do 3.3 Sprawdź, czy i = N. Jeśli tak, to KONIEC, jeśli nie idź do 4.4 Podstaw i ← i + 1, idź do 5.5 Sprawdź, czy xi < y . Jeśli tak, to idź do 2, jeśli nie idź do 3.

Dany ciąg {xi}: {4, 2, 5}, znana długość N = 3Aktualna wartość y: 2Indeks bieżącego elementu i: 3Wartość bieżącego elementu xi : 5

dr inż. Alina MOMOT Algorytmy

Plan wykładuWprowadzenie

Idea algorytmuSposoby zapisu algorytmów

Przykłady algorytmów

Wyznaczanie sumy elementow ciąguWyznaczanie minimalnego elementu ciąguWyznaczanie NWD

Algorytm zapisany w języku naturalnym

1 Podstaw i ← 1, idź do 2.2 Podstaw y ← xi , idź do 3.3 Sprawdź, czy i = N. Jeśli tak, to KONIEC, jeśli nie idź do 4.4 Podstaw i ← i + 1, idź do 5.5 Sprawdź, czy xi < y . Jeśli tak, to idź do 2, jeśli nie idź do 3.

Dany ciąg {xi}: {4, 2, 5}, znana długość N = 3Aktualna wartość y: 2Indeks bieżącego elementu i: 3Wartość bieżącego elementu xi : 5

xi = 5 > 2 = y

dr inż. Alina MOMOT Algorytmy

Plan wykładuWprowadzenie

Idea algorytmuSposoby zapisu algorytmów

Przykłady algorytmów

Wyznaczanie sumy elementow ciąguWyznaczanie minimalnego elementu ciąguWyznaczanie NWD

Algorytm zapisany w języku naturalnym

1 Podstaw i ← 1, idź do 2.2 Podstaw y ← xi , idź do 3.3 Sprawdź, czy i = N. Jeśli tak, to KONIEC, jeśli nie idź do 4.4 Podstaw i ← i + 1, idź do 5.5 Sprawdź, czy xi < y . Jeśli tak, to idź do 2, jeśli nie idź do 3.

Dany ciąg {xi}: {4, 2, 5}, znana długość N = 3Aktualna wartość y: 2Indeks bieżącego elementu i: 3Wartość bieżącego elementu xi : 5

i = 3 = 3 = N

dr inż. Alina MOMOT Algorytmy

Plan wykładuWprowadzenie

Idea algorytmuSposoby zapisu algorytmów

Przykłady algorytmów

Wyznaczanie sumy elementow ciąguWyznaczanie minimalnego elementu ciąguWyznaczanie NWD

Algorytm zapisany za pomocą schematu blokowego

dr inż. Alina MOMOT Algorytmy

Plan wykładuWprowadzenie

Idea algorytmuSposoby zapisu algorytmów

Przykłady algorytmów

Wyznaczanie sumy elementow ciąguWyznaczanie minimalnego elementu ciąguWyznaczanie NWD

Algorytm zapisany z użyciem pseudokodu

Pętla WHILEy := x1

i := 2while i ¬ N doif xi < y then

y := xiend ifi := i + 1end while

Pętla REPEATy := x1

i := 2repeatif xi < y then

y := xiend ifi := i + 1until i > N

Pętla FORy := x1

for i:=2 to N doif xi < y then

y := xiend ifend for

dr inż. Alina MOMOT Algorytmy

Plan wykładuWprowadzenie

Idea algorytmuSposoby zapisu algorytmów

Przykłady algorytmów

Wyznaczanie sumy elementow ciąguWyznaczanie minimalnego elementu ciąguWyznaczanie NWD

Algorytm zapisany z użyciem pseudokodu

Pętla WHILEy := x1

i := 2while i ¬ N doif xi < y then

y := xiend ifi := i + 1end while

Pętla REPEATy := x1

i := 2repeatif xi < y then

y := xiend ifi := i + 1until i > N

Pętla FORy := x1

for i:=2 to N doif xi < y then

y := xiend ifend for

dr inż. Alina MOMOT Algorytmy

Plan wykładuWprowadzenie

Idea algorytmuSposoby zapisu algorytmów

Przykłady algorytmów

Wyznaczanie sumy elementow ciąguWyznaczanie minimalnego elementu ciąguWyznaczanie NWD

Algorytm zapisany z użyciem pseudokodu

Pętla WHILEy := x1

i := 2while i ¬ N doif xi < y then

y := xiend ifi := i + 1end while

Pętla REPEATy := x1

i := 2repeatif xi < y then

y := xiend ifi := i + 1until i > N

Pętla FORy := x1

for i:=2 to N doif xi < y then

y := xiend ifend for

dr inż. Alina MOMOT Algorytmy

Plan wykładuWprowadzenie

Idea algorytmuSposoby zapisu algorytmów

Przykłady algorytmów

Wyznaczanie sumy elementow ciąguWyznaczanie minimalnego elementu ciąguWyznaczanie NWD

Sformułowanie problemu

Podać algorytm znajdowania największego wspólnego dzielnika dwóchdanych liczb dodatnich a i b, czyli

y = NWD(a, b)

dr inż. Alina MOMOT Algorytmy

Plan wykładuWprowadzenie

Idea algorytmuSposoby zapisu algorytmów

Przykłady algorytmów

Wyznaczanie sumy elementow ciąguWyznaczanie minimalnego elementu ciąguWyznaczanie NWD

Algorytm zapisany za pomocą schematu blokowego

dr inż. Alina MOMOT Algorytmy

Plan wykładuWprowadzenie

Idea algorytmuSposoby zapisu algorytmów

Przykłady algorytmów

Wyznaczanie sumy elementow ciąguWyznaczanie minimalnego elementu ciąguWyznaczanie NWD

Algorytm zapisany z użyciem pseudokodu

function NWD( a, b: integer) : integer;beginwhile a != b doif a > b then

a := a - b;else

b := b - a;end ifend whileNWD := a;

end function;

dr inż. Alina MOMOT Algorytmy