zestaw 3 - Politechnika Śląska
Transkrypt
zestaw 3 - Politechnika Śląska
POLITECHNIKA ŚLĄSKA Wydział Matematyki Stosowanej Gliwice, 31.03.2015 Egzamin dyplomowy, termin II dla studiów I stopnia na kierunku Informatyka. Czas trwania egzaminu: 180 minut, student rozwiązuje 10 zadań ocenianych w skali 0–10 punktów. Końcowa ocena będzie wystawiona zgodnie z tabelką: Skala ocen Punkty Ocena 0–40 41–55 56–70 71–80 81–90 91–100 2 3 3,5 4 4,5 5 1. Dla jakich wartości parametru a ∈ R liczba zmieniłoby się gdyby a ∈ C? 1+2i a−3i jest rzeczywista? Czy rozwiązanie 2. Naszkicuj (zgodnie z odpowiednim standardem) schemat blokowy algorytmu, który zwraca wartość elementu maksymalnego w podanej jednowymiarowej tablicy, której elementami są liczby całkowite. 3. W pewnej bazie danych znajduje się tabela: id 1 2 3 .. . imie Ali Ewa Nelson .. . Osoby nazwisko Baba Kuacja Mandela .. . plec M K M .. . kraj Iran Irak RPA .. . Napisz zapytanie w języku SQL zwracające łączną ilość osób (nazwa wyświetlanej kolumny: Ilość osób) dla każdego kraju (nazwa wyświetlanej kolumny: Państwo) osobno dla każdej z płci (nazwa wyświetlanej kolumny: Płeć). Wyniki mają być posortowane alfabetycznie po krajach, a dla tego samego kraju – w malejąco po ilości osób. Wyświetlane mają być tylko te wyniki, dla których wartość Ilość osób jest liczbą dwucyfrową. 4. Kierując się paradygmatami programowania obiektowego stwórz i w pełni zaimplementuj klasę FunkcjaKwadratowa, której obiekt będzie reprezentował funkcję kwadratową o współczynnikach a, b, c, gdzie a jest różne od zera. Utwórz właściwość Delta typu double, której wartość jest równa wartości wyróżnika trójmianu kwadratowego (właściwości tej nie można ustawiać). Stwórz metodę Pierwiastki, która wyznaczy i następnie zwróci pierwiastki funkcji kwadratowej w postaci dwuwymiarowej tablicy double[2,2] {{a1, b1}, {a2, b2}}. Przesłoń metodę ToString() tak, aby zwracała napis f (x) = ax∧ 2 + bx + c np. dla a = 2, b = −3, c = 1 zwróci napis f (x) = 2x∧ 2 − 3x + 1. 5. Zaimplementuj kasę abstrakcyjną KontoBankowe. Klasę tę należy wyposażyć we właściwości: Wlasciciel typu Osoba (zakładamy, że taka klasa istnieje i jej nie implementujemy), Numer typu string, Stan typu decimal. Właściwości te pozwalają jedynie na pobranie wartości. Klasę wyposaż w dwie metody abstrakcyjne typu bool Wplata(decimal kwota) i Wyplata(decimal kwota). Następnie dziedzicząc po klasie KontoBankowe utwórz dwie klasy KontoStandard i KontoPremium. W przypadku pierwszego można wpłacać dowolną kwotę (dodatnią) i taka transakcja jest darmowa, natomiast wypłacić można jedynie co najwyżej tyle ile określa właściwość Stan. Każda wypłata kosztuje 1. KotnoPremium w przypadku wpłaty małej kwoty (<1000) strąca 2 za operację, ale w przypadku dużej wpłaty (>10000) dodaje 10. Ponadto KontoPremium mam dodatkową właściwość Debet. Wówczas można wypłacić kwoty do stanu konta (właściwość Stan) równego −Debet. 6. Stwórz delegatę MojaDelegata typu void. Następnie zaimplementuj kasę K1 wyposażoną w zdarzenie o nazwie Z1 typu tej delegaty. Klasa K1 wyposażona jest w metodę void M1 (), która przy każdym wywołaniu wysyła zdarzenie Z1. Klasa K2 nasłuchuje klasę K1 i w przypadku zajścia zdarzenia Z1 wywołuje metodę M2. 7. Zdefiniuj i opisz na przykładzie tzw. wirtualny destruktor w języku C + +. 8. Napisz schemat blokowy przedstawionego algorytmu sortowania: 1. void Sort(int *tab, int n) 2. { 3. int i, j, tmp, zmiana; 4. for (i = 0; i < n; i++) 5. { 6. zmiana = 0; 7. for (j = 0; j < n−1−i; j++) 8. { 9. if (tab[j] > tab[j+1]) 10. { 11. tmp = tab[j]; 12. tab[j] = tab[j+1]; 13. tab[j+1] = tmp; 14. zmiana = 1; } } 15. if(!zmiana) break; } } 9. Co to jest system zarządzania bazą danych? Scharakteryzuj jego 4 najważniejsze cechy na przykładach. 10. Przedstaw program w języku C, który będzie odczytywał z pliku „alfabet.txt” litery alfabetu angielskiego (zakładamy, że są w nim tylko małe litery w postaci „lower case” zapisane w kolejności od a do z). Następnie wypisze odczytane litery w kolejności od z do a w postaci liter „upper case”.