test pp, studia, PP


0. Przesunięcie bitowe: 7<<3

a) Wyjście bez zastanowienia 7 << 3 7*2^3= 7*8= 56

b) Zastanawiamy się. Zamień 7 na kod binarny (dwójkowy).
7 to 111.
Teraz 111 przesuń w lewo o 3 pozycje dodając tyle zer na końcu o ile
przesunełeś/aś całość (trzy zera).

111000 111000 to 56

1. Podać wynik 3 & 7
- operator & to bitowa koniunkcja (iloczyn bitowy), więc musimy przejść na kod
dwójkowy.
3 to 11, a 7 to 111.
Iloczyn:
011
& 111

011
Wynik to: 3

2. Zadeklarować zmienną całkowitą o nazwie X, żeby była zawsze dodatnia:

unsigned int X

3. Jaki jest rozmiar zmiennej wskaźnikowej w bajtach:

4 bajty

4. Do czego służą flagi otwierania plików?

Flaga otwarcia pliku, służy do określenia w jaki sposób będziemy korzystać z pliku (odczyt/zapis)

Uwaga! Możliwe jest otwarcie pliku jednocześnie do odczytu i zapisu.


5.Definicja funkcji z użyciem referencji - czy jest poprawna:

void funkcja (float z, int &d, char*tab[])
{…}

Błędna - “char*tab[]” nie jest przekazaniem przez referencję (by MKO)

6. Co powoduje continue w pętli while?

Wyjście z pętli (przejście na jej koniec) i ponowne sprawdzenie warunku.

7. Co powoduje continue w instrukcji switch?

Continue będzie dotyczyło pętli nadrzędnej, a nie switcha; przy braku pętli błąd kompilacji


8. Czym różni się Struktura od Unii(?)

W unii wszystkie składowe obiektu umieszczane są pod tym samym adresem. Zatem w danej chwili dostępna jest tylko jedna składowa, a struktura zawiera wszystkie dane.

Efekt - unia o tych samych elementach co struktura ma mniejszy rozmiar w pamięci; tj. rozmiar największego elementu składowego.


9. Wartość Optymistyczna dla sortowania Quicksort:

O(n log n)

10. Podać wynik 7 >> 3

- 7 / 2^3 = 7/8 (ale „>>” działa tylko na całkowitych (zaokrągla do int)

- (b) 111, przesuwamy o 3 bity w prawo

000, a więc wynik to 0.

11. Rekurencyjne wywołanie funkcji musi być zrealizowane jako jedna z instrukcji w tej
samej funkcji?

Nie, nie musi

12. Co przechowują zmienne wskaźnikowe: (jedna prawdziwa)

a) wskazanie na funkcję systemu operacyjnego, który kontroluje dostęp do zasobów ….
b) adresy na dowolne inne zmienne.
c) wskazania na tablice dla wszystkich innych zmiennych.
d) adresy obszarów pamięci stosu gdzie zapisane są wszystkie zmienne.
e) adresy na inne zmienne nie będące wskaźnikami
f) wskazania na miejsca, gdzie zapisane są adresy do wartości innych zmiennych

13. Do czego służy operator sizeof()

zwraca rozmiar (w bajtach) zmiennej danego typu np. sizeof(int) zwraca rozmiar int, czyli 4 bajty

14. Co należy wstawić w miejsce XXXX?

struct student{

int album;
char *imie[20];
char nazwisko*[40];
}

int funtion Dodaj(){
student*bufor;
bufor = XXXX student;
cin >> bufor -> album;
//itd.
}


new (tworzy nową instancję struktury student)


15. Ile razy wykona się instrukcja do ... while();

int i =0, j =1, k = 2;
do{
k++; // instrukcje cyklu
} while ((((i++) < 10) || (++j < 11 )) && (k > 12 ));


Jeden raz. W pierwszym obiegu pętli k=3, nie spełnia warunku k>12


16. Jakie cechy szczególne są prawdziwe dla struktur dynamicznych nazywanych drzewami
binarnymi (wybrać wszystkie prawdziwe)


a) na początku każdego drzewa występują dwa elementy binarne.
b) niektóre drzewa posiadają specjalny element nazywany korzeniem.
c) na samej górze drzewa występują liście.
d) każdy z elementów może zawierać wskazania na nie więcej niż dwa inne elementy.
e) dla każdego elementu za wyjątkiem korzenia określony jest dokładnie jeden element
poprzedni.

f) na samym końcu drzewa może występować korzeń(np. w drzewach jednoelementowych)

17. Ile razy wykona się pętla while?

int i = 0, j = 0, k =2;

while(i < 51 || j < 101){
…..
i++;
j + = k;
}

51 razy. (Dlaczego: ponieważ liczymy od zera)


18. Rozpoznać która tablica zapełniona liczba ma charakter stogu?

Wszystko jest w 4 wykładzie dr Marcina Głowackiego. Bardzo proste i przyjemne. Wystarczy pamiętać warunek kopca - elementy są posortowane nierosnąco (max-heap) lub niemalejąco (min-heap).

II
1. Wskaż, która z odpowiedzi jest prawdziwa (jedna):
a) w plikach można dowolnie adresować każdy element podczas operacji odczytu i
zapisu.
b) dane zapisane w jednym pliku mogą być tylko jednego typu.
c) pliki binarne nie mogą przechowywać tekstów.
d) pliki można jednocześnie otwierać w trybie do odczytu i zapisu.
e) dostęp do danych w pliku odbywa się sekwencyjnie poprzez wczytywanie danych od
końca do początku.


3. Wskaż prawdziwe stwierdzenia dotyczące plików: (parę do wyboru) (demokratycznie uznano A i C za poprawne odpowiedzi. aczkolwiek pytanie i odpowiedzi pozostawiają duże pole do dowolnej interpretacji. MKO)


a) pliki binarne przechowują kody programów uruchamialnych oraz programy
źródłowe.

b) w C++ już nie istnieją zróżnicowane typy plików.
c) pliki tekstowe przechowują teksty, dowolne struktury oraz programy źródłowe.
d) istnieje pełna dowolność - wszystko zależy od programistów.
e) można definiować nowe typy plików na bazie typów istniejących.


4. W metodzie rekurencyjnej: (jedna)?
a) wykorzystuje się instrukcję cykliczną while() dla kolejnych wywołań rekurencyjnych
b) na początku znana jest liczba kolejnych zagnieżdżeń.
c) definiuje się warunek dla kontynuacji lub przerwania rekurencji i powrotu do
poprzedniego wywołania funkcji rekurencyjnej.

d) wykorzystuje się instrukcję cykliczną for() dla kolejnych wywołań rekurencyjnych.


5. Wybierz prawdę o strukturach danych i uniach: (jedna)
a) można używać zamiennie struktur i unii o tej samej nazwie w programie.
b) struktury mogą być konwertowane do unii.
c) struktury można inicjalizować wartościami domyślnymi dla składników.
d) struktury posiadają większe rozmiary w pamięci niż unie o tych samych
składnikach.

e) unie mogą być konwertowane do struktur.

6. Jaki jest rozmiar zmiennej wskaźnikowej w pamięci wyrażonej w bajtach:(patrz zad 3 cz.I)

a) 32 b) 8 c) 2
d) żaden z wymienionych e) 16


7
. Nie mogą istnieć różne funkcje o tej samej nazwie:

a) prawda

b) fałsz

istnieją funkcje przeciążone np.
int nazwa_funkcji(int zmienna1)
int nazwa_funkcji(int zmienna1, int zmienna2)

8. Czym jest lista: (parę)
a) dynamiczną tablicą o zmiennej długości wskazań na kolejne węzły.
b) uporządkowaną sekwencją ponumerowanych elementów.
c) wektorem wskaźników ułożonych w sekwencji jeden po drugim. (można ją tak zrobić, ale raczej to nie o to tu chodziło)
d) dowolnym grafem powiązań zmiennych dynamicznych o zdefiniowanym
początku i końcu (są też takie listy, ale to chyba nie o to chodziło)
e) sekwencyjne powiązanie ze sobą węzłów.
f) ciąg zmiennych dynamicznych powiązanych ze sobą wskaźnikami.


9. Zdefiniuj konwersję jawną istniejącej zmiennej int X do typu double na jeden z
możliwych sposobów: (podaję 3 sposoby)

(double) X double(X) static_cast<double>(X)

10. Stałe wyliczeniowe umożliwiają tworzenie nowych typów, a następnie definiowanie ich
wartości, które ograniczają się do warunków określonych w definicji:

a) prawda b) fałsz

11. czy zmienne globalne mają wartosci domyslne

Tak (0)


12. Róznica miedzy zmiennymi statycznymi i lokalnymi

statyczne pamietają swoj stan między wywołaniami funkcji


13. co to jest konwersja jawna

Napisana w kodzie przez programistę

14.
mamy kod:
union schowek{
char c;
int i;
double d;
}
jaki jest rozmiar tej unii?

8 bajtów (bo tyle ma typ double)


15. Złożoność obliczeniowa optymistyczna Selectionsort


odp. n^2


16. Czym różni sie char od char[],


Char to po prostu deklaracja zmiennej typu znakowego, a char [] to tablica takich znaków

III

2. Ile razy wykona się pętla while:

int i = 0, j = 0, k =2;

while(i < 51 || j < 101){
…..
i++;
j + = k;
}

51 razy.

4. Były rysunki algorytmow sortowania i trzeba bylo rozpoznac jaki to jest (rysunki z wykladow)

5. Czym się rożni zmienna double od float

float - 4 bajty, 7 miejsc po przecinku
double - 8 bajtów, 15 miejsc po przecinku

Float (floating point) - zmienny przecinek, Double(double precision - podwójna dokładność

6. Czy typedef tworzy nowy typ, ktorego mozna by bylo uzywac jaka ta nowa nazwe

Nie, tworzy ona synonim danego typu

7. W jaki sposób dostac się do zmiennej i zauważyć ze można tylko do jednej (mowa o unii)

Poprzez operator "."

8. Rozpoznać sortowanie po rysunku z pdf nr 4

11. typ wyliczeniowy czy moze przyjmowac wartosci tylko zadekarowane ?

Tak

12. Różnica miedzy zmiennymi statycznymi i lokalnymi

statyczne pamietaja swoj stan między wywołaniami funkcji ( moga byc zadeklarowane tylko w funkcji)

17. Stałe wyliczeniowe umożliwiają tworzenie nowych typów, a następnie definiowanie ich wartości, które ograniczają się do warunków określonych w definicji:

Prawda

18. Czy przed kompilacja programu trzeba zadeklarowac wszystkie zmienne?

Tak

19. Jak zadeklarowc nowe zmienne w trakcie dzialania programu?

Nie można.


20. Jak działają kolejki? (w dyskusji uznano dwie definicje za poprawne. MKO)

1) Kolejka to liniowa struktura danych, w której nowe dane dopisywane są na końcu kolejki, a z początku kolejki pobierane są dane do dalszego przetwarzania

2) Kolejka, jest to pewnego rodzaju "pojemnik", przygotowany do pracy w kontekście FIFO (first-in, first-out), gdzie elementy w nim umieszczane są w późniejszych fazach naszego algorytmu rozpatrywane.

21. Mamy deklaracje:

const int c=37;
#define c 37

Które zdanie jest prawdziwe?
a) Const int jest wygodniejsze dla kompilatora bo zna typ stałej.

b) deklaracja poprzez define zajmuje mniej miejsca
c) deklaracja poprzez const zajmuje mniej miejsca
d) obie zajmują tyle samo miejsca



Wyszukiwarka

Podobne podstrony:
test z pp
Poeta i świat test PP
Dwugłos o tolerancji 2004 test PP
Manipulacja językowa matura próbna 2009 test PP
Słowa na chwałę mowy - 2005 - test - PP, Testy maturalne
test PP, zaliczenie infa
Hipnoza pomost do podświadomości matura 2009 test PP
test z pp
Hipnoza pomost do podświadomości matura 2009 test PP
Test-XX, studia, Logistyka Politechnika Świętokrzyska, Semestr 2, Makroekonomia, ćw, zestawy
Anestezjologia-TEST, Pielęgniarstwo Studia

więcej podobnych podstron