Podstawy programowania

Transkrypt

Podstawy programowania
Podstawy programowania
Zestaw 4
1. Napisać program, który znajduje element minimalny w podanej przez użytkownika tablicy.
2. Napisać program realizujący algorytm wyszukiwania liniowego (Algorytm 1).
3. Napisać program realizujący algorytm wyszukiwania binarnego (Algorytm 2).
4. Napisać program, w którym dostępne będą następujące operacje na macierzach:
• transpozycja tzn. jeśli A = [aij ] dla i, j ∈ {1, . . . , n}, to transpozycja macierzy A jest
zdefiniowana następująco AT = [aji ],
• dodawanie macierzy tzn. jeśli A = [aij ], B = [bij ] dla i ∈ {1, . . . , n}, j ∈ {1, . . . , m},
to suma macierzy A i B zdefiniowana jest następująco A + B = [aij + bij ],
• mnożenie macierzy tzn. jeśli A = [aij ], B = [bjk ] dla i ∈ {1, . . . , n}, j ∈ {1, . . . , m}, k ∈
{1, . . . , p}, to iloczyn macierzy A i B zdefiniowany jest następująco A·B = [cik ], gdzie
P
cik = m
l=1 ail · blk .
Po wybraniu operacji program ma się zapytać użytkownika o podanie macierzy, a następnie
wyświetlić wynik działania wybranej operacji na podanej macierzy / podanych macierzach.
5. Napisać program, w którym użytkownik wprowadzi wielomian oraz punkt, w którym chce
obliczyć jego wartość, a następnie wybierze metodę oblicznia wartości wielomianu:
• „naiwna” (Zestaw 1 zadanie 8(a)),
• schemat Hornera (Zestaw 1 zadanie 8(b)).
Program w wyniku powinien wypisać wartość podanego wielomianu obliczoną wybraną
metodą.
6. Napisać program sprawdzający czy dwa podane słowa są anagramami. (Słowa są anagramami jeśli jedno z nich powstaje z drugiego przez pewną permutację liter).
7. Napisać program, który odwróci zawartość podanej przez użytkownika tablicy bez pomocy
tablicy pomocniczej.
8. Napisać program, który dla podanej tablicy [x1 , . . . , xn ] znajdzie maksymalną wartość
|xi − xj | dla 1 ¬ i ¬ j ¬ n.
1
Algorytm 1: Wyszukiwanie liniowe.
Dane: Tablica T [1, . . . , N ], poszukiwany element e.
Wynik: Indeks, pod którym znajduje się element e. Jeśli e nie ma w tablicy −1.
1. ind ← −1
2. Dla każdego elementu T [i]
(a) Jeśli T [i] = e, to ind ← i i idź do 3.
3. Jeśli ind 6= −1, to pisz Element znajduje się na ind pozycji w tablicy.
w przeciwnym przypadku pisz Elementu nie ma w tablicy.
Algorytm 2: Wyszukiwanie binarne.
Dane: Posortowania tablica T [1, . . . , N ], poszukiwany elemet e.
Wynik: Indeks, pod którym znajduje się element e. Jeśli e nie ma w tablicy −1.
1. ind ← −1
2. l ← 1
3. r ← N
4. Dopóki l ¬ r
(a) s ←
j
l+r
2
k
(b) Jeśli T [s] = e, to ind ← s i idź do 5
(c) Jeśli T [s] < e, to l ← s + 1
w przeciwnym przypadku r ← s − 1.
5. Jeśli ind 6= −1, to pisz Element znajduje się na ind pozycji w tablicy.
w przeciwnym przypadku pisz Elementu nie ma w tablicy.
2