Pierwszy element 3

Transkrypt

Pierwszy element 3
Informatyka 2015/16
wykład 7
Algorytmy cz. 1
Dr inż. Witold Nocoń (p. 230)
Wstęp
• Celem wykładu jest poznanie podstawowych
algorytmów stosowanych w
informatyce/programowaniu
• Wiele z przedstawionych algorytmów (np.
sortowanie) jest już zaimplementowanych w
większości wyższych języków programowania (np.
w Pythonie)
• Jednak! Poznanie tych algorytmów i umiejętność
ich implementacji jest warunkiem koniecznym
bycia dobrym programistą!
Wstęp
• Wszystkie algorytmy implementować
będziemy jako funkcje!
Algorytmy proste
•
•
•
•
•
•
•
Wartość bezwzględna
Zamiana wartości (bez i z funkcją)
Suma/średnia elementów tablicy (1D i 2D)
Wartość maksymalna/minimalna z tablicy
Zliczanie elementu w tablicy
Zliczanie wszystkich elementów tablicy
Znajdowanie najczęstszego elementu
Obowiązkowe
Dodatkowe
Wartość bezwzględna
• Jeśli wartość argumentu X jest mniejsza od
zera to zwróć wartość –X.
• Jeśli wartość argumentu X jest większa lub
równa zero, zwróć argument X.
wartosc bezwzgledna.py
(w Pythonie jest funkcja wbudowany abs())
Zamiana wartości
a=1
?
• Zadanie: zamienić wartościami zmienne a i b.
b=a
a=1
b=1
1
I tracimy wartość „5” zmiennej „b”
– tak nie można!
2
a=1
b=5
3
b=a
a=1
b=1
tmp=b
tmp=5
a=5
b=1
a=tmp
tmp=5
tmp=5
zamiana wartosci.py
(zobacz też „zamiana wartosci_funkcja_01.py ” oraz „zamiana wartosci_funkcja_02.py”)
b=5
Suma (średnia) elementów tablicy
4
3
4
2
1
2
3
2
1
Argument funkcji
1. Ustaw początkową wartość sumy na 0 (suma=0)
2. Dodaj do sumy pierwszy element.
3. Dodaj do sumy drugi element
Powtórzenia zrealizowane
itd.
w pętli.
Ale mamy dwie:
4. Na koniec zwróć wynik (suma)
Wartość zwracana przez
funkcję
while
for
suma elemntów tablicy.py
srednia elemntów tablicy.py
Szukanie elementu
minimalnego/maksymalnego
Lista:
4
3
4
2
1
2
3
2
1
Argument funkcji
Dla szukania maksymalnego:
• Ustaw pierwszy element jako maksymalnny.
• Sprawdzaj po kolei każdy element
– Jeśli bieżący element jest większy od
maksymalnego:
• Zastąp maksymalny bieżącym
• Zwróć wartość maksymalnego
Wartość zwracana przez
funkcję
Wartość min max.py
Zliczanie wystąpień elementu w tablicy
Lista:
4
3
4
Element zliczany: np.
2
1
2
3
2
1
Argument funkcji
1.
• Ustaw licznik na 0.
• Sprawdzaj po kolei każdy element
– Jeśli bieżący element równa się zliczanemu:
• Zwiększ licznik o jeden
• Zwróć wartość licznika
Wartość zwracana przez
funkcję
zliczanie elementu.py
Zliczanie wszystkich elementów w
tablicy
• Dla danego wektora policzyć wszystkie
elementy tam występujące:
– Tworzymy listy: elementy oraz ilosci
– Iterujemy całą przekazaną tablicę
• Jeśli w elementy nie ma bieżącego elementu to:
– Rozszerzamy elementy o nowy element
– Rozszerzamy ilosci o jedynkę (bo znaleźliśmy pierwszy
element o danej wartości)
• Jeśli w elementy jest bieżący element to:
– Odpowiadający mu element w ilosci zwiększamy o jeden
zliczanie wszystkich elementów.py
funkcja zliczanie()
Szukanie najczęściej występującego
element(ów)
• Najpierw znajdujemy ilości wszystkich
elementów (mamy już taką funkcję!)
• Szukamy elementu występującego najczęściej
• Znajdujemy wszystkie elementy występujące
tyle razy ile element najczęstszy
zliczanie wszystkich elementów.py
funkcja najczestszy()