zadania dziel i zwyciężaj, informatyka


Temat: Metoda „Dziel i zwyciężaj”.

W metodzie „dziel i zwyciężaj” słowo dziel oznacza podział zadnia na mniejsze części, a słowo zwyciężaj - znalezienie rozwiązania w każdej z nich oddzielnie. Przykładem zastosowania tego algorytmu jest jednoczesne szukanie najmniejszego i największego elementu zbioru.

Zbiór należy podzielić na dwa podzbiory: porównać parami liczby pierwszą z drugą, trzecią z czwartą itd. Liczby mniejsze zapisujemy w jednym podzbiorze, a większe w drugim. Korzystając z algorytmu na znalezienie minimum, w pierwszym znajdujemy element najmniejszy. W drugim podzbiorze znajdujemy element największy korzystając z algorytmu na znalezienie największego elementu. Gdy zbiór ma nieparzystą liczbę elementów, środkowy zapisuje się w zmiennej pomocniczej, a na końcu porównuje z największym i najmniejszym elementem

Zadanie1

Przedstaw algorytm jednoczesnego znajdowania minimum i maximum dla zbioru z parzystą ilością liczb. Zdefiniuj procedury z parametrem przekazywanym przez wartość:

a) procedurę wczytywania liczb do tablicy, np. procedure wczytaj(k:byte)

b) procedurę dzielenia tablicy na dwie mniejsze, np. procedure dziel(k:byte)

c) procedurę znajdowania w tablicach wartości najmniejszej i najwięcej, np. procedure minmax(k:byte)

Zadanie2

Przedstaw algorytm jednoczesnego znajdowania minimum i maximum dla zbioru z nieparzystą ilością liczb. Zdefiniuj trzy procedury, podobnie jak w zadaniu 1.

Zadanie3

Przedstaw algorytm jednoczesnego znajdowania minimum i maximum dla zbioru z parzystą lub nieparzystą ilością liczb.

1



Wyszukiwarka