Informatyka I - Semestr II - EiT by kobzdzik
Strona 1
Informatyka I - Egzamin 2010
EiT - Semestr II
30.06.2010
1
2
3
4
5
6
7
8
9
10 11 12 13
D
C
C
D
E
D
D
D
B
A
D
A
B
1. Jaką wartość zwróci poniższy fragment kodu:
???? (mniej ważny fragm. w ??? - jak ktoś pamięta
niech dopisze…)
if (x++== (063 ^ 0x2A)) break;
continue;
cout <<x;
A: 0
B: 13
C: 25
D: 26
E: 28
2. Wywołanie funkcji Mystery (x,y) zdefiniowanej w ramce poniżej - kiedy
prowadzi do rekurencji nieskończonej?
void Mystery (int number, int value)
{ if (number != value)
Mystery(number+1, value); }
A: nigdy
B: zawsze
C: x>y
D: y<x
E: jeżeli x jest równe y
3. Jaka będzie wartość Result po wykonaniu poniższego fragmentu kodu?
int Result = 3; int inc =2; char op = ‘*’;
switch(op)
default: if Result == 2; Result =0;
case ‘+’: if Result == 3 ….; else Result+=2;
case ‘-‘: Result+=inc;
// coś w ten deseń dokładnie nie pamiętam ale
„najważniejsza” część jest….
A: 1
B: 2
C: 3
D: 4
E: 5
Informatyka I - Semestr II - EiT by kobzdzik
Strona 2
4. Które z poniższych stwierdzeń poprawnie opisuje sytuację w chwili
wykonywania instrukcji wydruku w poniższej funkcji Sort. Funkcja Swap
zamienia wzajemnie wartości swoich parametrów.
void Sort(int A[], int size){
int j,k;
for (k=0; k<size; k++){
for(j=k+1; k<size; j++) if (A[j]<A[k]) Swap(A[k],
A[j]); cout<<k;
A: Wartości w tablicy A są posortowane w kolejności rosnącej
B: Wartości od A[k] do A[size-1] są posortowane w kolejności rosnącej
C: Wartości od A[k] do A[size-1] są posortowane w kolejności malejącej
D: Wartości od A[0] do A[k] są posortowane w kolejności rosnącej
E: Wartości od A[0] do A[k] są posortowane w kolejności malejącej
5. Jaka jest złożoność powyższego kodu?
A: O(1)
B: O(lg n)
C: O(n lg n)
D: O(n)
E: O(n^2)
6. Co zostanie wydrukowane na ekranie gdy wywołamy Gues(5)?
void Gues(int n)
{
if (n>0)
Gues(-- n);
cout<<n<<” ”;
return;
}
A: 004321
B: 012345
C: 054321
D: 001234
E: 004312
7. Jest podana liczba całkowita 0x42040000, jaka to będzie liczba
zmiennoprzecinkowa o takiej samej reprezentacji binarnej?
A: -23
B: 23
C: -33
D: 33
E: 6
Informatyka I - Semestr II - EiT by kobzdzik
Strona 3
8. Podany był kod i co zwróci? (kodu nie pamiętam ale zawierał chyba takie
linijki: result = true; result = result && (x>0) )
A: zawsze true
B: zawsze false
C: true gdy ostatni wprowadzony element będzie dodatni
D: true gdy wszystkie wprowadzone elementy będą dodatnie
E: true gdy pierwszy wprowadzony element będzie dodatni
9. Mamy 2 tablice A i B o takim samym rozmiarze, gdy składają się z tych
samych elementów funkcja ma zwrócić true inaczej zwraca false, jak wygląda
główna funkcja tego programu?
A: for(int i=0; i<size; i++) if (tab A[i] == tab[i]) return true; return false;
B: for(int i=0; i<size; i++) if (tab A[i] != tab[i]) return false; return true;
C: bool match
for(int i=0; i<size; i++) if (tab A[i] != tab[i]) return false; return true;
D: bool match = true; …..
E: boll match = true; do… while….
// ktoś pamięta jakie były odpowiedzi to niech pisze… na 100% nie jestem
również pewien czy poprawną odpowiedź dobrze teraz napisałem…
10. Do tablicy znakowej o rozmiarze M=10 dostęp odbywa się za pomocą funkcji
mieszającej 11k mod M, gdzie k jest numerem porządkowym litery w alfabecie
angielskim (k=0,…, 25) Jaka jest zawartość, początkowo pustej, tablicy po
wprowadzeniu do niej kolejno znaków EASYQUTION, jeżeli kolizje rozwiązano za
pomocą sondowania liniowego?
A: AUINEYQOST
B: EASYQUTION
C: AUEIQYSOT
D: NOITUQYSAE
E: ESQTOAYUIN
11. Mamy zbiór 1,2,3,4,5 jaka będzie następny krok permutacji algorytmem SJT
po 2,1,3,4,5
A: 5,1,3,4,2
B: 2,5,1,3,4
C: 4,2,1,3,5
D: 2,1,3,5,4
E: 3,2,1,4,5
Informatyka I - Semestr II - EiT by kobzdzik
Strona 4
12. Mamy daną tablicę posortowaną zgodnie z zasadą kopca binarnego:
970 270 153 48 21 3 11
Jak będzie wyglądać kopiec gdy dodamy do niego 26?
A: 970 | 270 | 153 | 48 | 21 | 3 | 11 | 26
B: 26 | 270 | 153 | 970 | 48 | 21 | 3 | 11
C: 270 | 153 | 48 | 21 | 970 | 3 | 26 | 11
D: 970 | 270 | 153 | 26 | 48 | 21 | 3 | 11
E: 11 | 270 | 48 | 21 | 3 | 970 | 153 | 26
13. Dana jest funkcja:
double pierwiastek(int X, double initial){
double dx, accuracy = 1e-6;
double result = initial;
while(true){
+++++++++++++++++++++++++
result -= dx;
if(fabs(dx)<accuracy) return result;}}
Co trzeba wstawić w miejsce ++++++++++ aby funkcja obliczała pierwiastek
sześcienny z X metodą Newtona-Raphsona?
A: dx = X/result;
B: dx = (1.0/3)*(result - X / result*result);
C: dx = (1.0/3)*(result + X / result*result);
D: dx = 3*(result - X / result*result);
E: dx = 3*(result + X / result*result);