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