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”.

Podobne dokumenty