Nazwisko: …………………………………………….….…… Data

Transkrypt

Nazwisko: …………………………………………….….…… Data
D:\dydaktyka\MateriałyA\2006_07_PS\wk\w13\INF93x004.DOC
2007-maj-27, 18:5
Nazwisko: …………………………………………….….…… Data: …………..………
Imię: ……………………………………….… Kierunek/Rok: ……………….….…..…
Zestaw INF 93 1004
Pula ……. p.
Zadanie 1 – waga .. p. Dana jest funkcja:
int rozszyfruj_mnie (int a, int
w[], int rozm)
{
int res = w [0];
int j;
for(j = 1; j < rozm; res = res *
a + w [j++]);
return res;
}
Korzystając z dołączonych wierszy napisać przebieg zmienności powyższej funkcji dla argumentów
w [] = {1, 4, -2, 0, 7, -1},
rozm = 6,
a = –2.
Zadanie 2 – waga .. p. Dana jest funkcja:
void rozszyfruj_mnie(int *w, int
n)
{
int i, j;
for(i = 1; i < n; i++)
{
j = i;
int temp = w [j];
while ((j > 0) && (w [j - 1] >
temp))
{
w [j] = w [j-1];
/*w tym momencie podać stan całej
tablicy w */
j--;
}
w[j] = temp;
/*w tym momencie podać stan całej
tablicy w */
}
}
Korzystając z dołączonych wierszy napisać przebieg zmienności powyższej funkcji dla argumentów
w [] = {40, 2, 1, 6, 18}
n = 5.
Zadanie 3 – waga .. p. Dana jest funkcja:
int rozszyfruj_mnie (int xx)
{
int res, rat ;
if (xx == 0) return 0;
if (xx == 1) return 1;
res = rozszyfruj_mnie (xx - 1);
rat = rozszyfruj_mnie (xx - 2);
return 2* res - 3 * rat;
}
Korzystając z dołączonych wierszy napisać przebieg zmienności powyższej funkcji dla argumentu
xx = 5.
Zadanie 4 – waga .. p. W programie przedefiniowano typ unsigned long int na UINT (komenda
typedef unsigned long int UINT;). Dana jest funkcja:
UINT rozszyfruj_mnie (UINT xx,
UINT temp)
{
if (xx == 0)
return temp;
else
D:\dydaktyka\MateriałyA\2006_07_PS\wk\w13\INF93x004.DOC
return rozszyfruj_mnie (xx +
1, xx * temp - 7);
2007-maj-27, 18:5
}
Korzystając z dołączonych wierszy napisać przebieg zmienności powyższej funkcji dla argumentów
xx = –5,
temp = –1.
1
2
3
4
Zasady: a) można używać do rozwiązania wyłącznie poniższe wiersze bez jakichkolwiek zmian, b) NIE WSZYSTKIE
WIERSZE MUSZĄ BYĆ WYKORZYSTANE, c) niektóre wiersze mogą być użyte wielokrotnie. d) jeśli funkcja zwraca
wartość, należy ją ująć jako ostatni wyraz ciągu (postaci wart = ...).
5D
8C
BD
83
31
71
5E
9B
D1
D5
96
6F
8F
2C
A4
18
A8
1A
B0
87
6D
E6
42
56
41
B8
7B
i = 1
i = 2
i = 3
i = 4
i = 5
j = 0
j = 1
j = 2
j = 3
j = 4
j = 5
j = 6
rat(0) = 1
rat(1) = 1
rat(1) = 2
rat(1) = 3
rat(2) = 0
rat(2) = 1
rat(3) = 0
res = 1
res = 12
res = -17
res = 2
res = 33
res = -6
res(0) = -4
res(1) = 1
AA
55
85
43
EA
C0
F9
1B
2D
10
9E
D7
73
C6
20
74
C2
B2
9D
70
FD
DC
A6
21
AE
2A
4C
res(1) = 2
res(2) = 1
res(2) = 2
res(3) = 1
temp = 1
temp = 18
temp = 2
temp = 40
temp = 52
temp = 6
temp(0) = -1
temp(1) = -2
temp(2) = 1
temp(2) = 15
temp(2) = 7
temp(3) = -10
temp(4) = 13
temp(5) = -20
w = {1 2 40 40
w = {1 2 40 6
w = {1 2 6 18
w = {1 2 6 40
w = {1 2 6 40
w = {2 2 40 6
w = {2 40 1
6
w = {2 40 40 6
w = {40 40 1 6
18}
18}
40}
18}
40}
18}
18}
18}
18}
2B
CF
ED
E1
8E
D2
8A
F1
D4
BB
12
F3
D6
4E
CB
99
D9
EC
D3
98
B3
5C
2E
FA
11
75
wart = -11
wart = -20
wart = 23
wart = 32
wart = 33
xx(0) = 5
xx(0) = -5
xx(0) = -6
xx(1) = 3
xx(1) = -3
xx(1) = 4
xx(1) = -4
xx(1) = -5
xx(2) = 1
xx(2) = 2
xx(2) = 3
xx(2) = -3
xx(3) = 0
xx(3) = 1
xx(3) = 2
xx(3) = -2
xx(4) = 0
xx(4) = 1
xx(4) = -1
xx(4) = -6
xx(5) = 0
D:\dydaktyka\MateriałyA\2006_07_PS\wk\w13\INF93x004.DOC
2007-maj-27, 18:5
Odpowiedź
87
5E
42
9B
41
D1
6D
D5
E6
96
56
6F
8E
5D
5E
F9
4C
71
AE
8C
9B
EA
2A
5E
21
71
70
BD
D1
10
9D
9B
DC
83
D5
C0
A6
D1
FD
31
D2
12
res = 1
j = 1
res = 2
j = 2
res = -6
j = 3
res = 12
j = 4
res = -17
j = 5
res = 33
j = 6
wart = 33
i = 1
j = 1
temp = 2
w = {40 40 1 6
j = 0
w = {2 40 1
6
i = 2
j = 2
temp = 1
w = {2 40 40 6
j = 1
w = {2 2 40 6
j = 0
w = {1 2 40 6
i = 3
j = 3
temp = 6
w = {1 2 40 40
j = 2
w = {1 2 6 40
i = 4
j = 4
temp = 18
w = {1 2 6 40
j = 3
w = {1 2 6 18
i = 5
xx(0) = 5
xx(1) = 4
18}
18}
18}
18}
18}
18}
18}
40}
40}
99
98
2E
43
5C
B0
85
D3
1A
7B
CB
D3
55
EC
A8
A4
B8
D4
CB
D3
55
EC
A8
AA
4E
2C
8F
2B
8A
9E
F3
D7
D9
73
B3
74
FA
C2
75
B2
CF
xx(2) = 3
xx(3) = 2
xx(4) = 1
res(3) = 1
xx(4) = 0
rat(3) = 0
res(2) = 2
xx(3) = 1
rat(2) = 1
res(1) = 1
xx(2) = 2
xx(3) = 1
res(2) = 1
xx(3) = 0
rat(2) = 0
rat(1) = 2
res(0) = -4
xx(1) = 3
xx(2) = 2
xx(3) = 1
res(2) = 1
xx(3) = 0
rat(2) = 0
res(1) = 2
xx(2) = 1
rat(1) = 1
rat(0) = 1
wart = -11
xx(0) = -5
temp(0) = -1
xx(1) = -4
temp(1) = -2
xx(2) = -3
temp(2) = 1
xx(3) = -2
temp(3) = -10
xx(4) = -1
temp(4) = 13
xx(5) = 0
temp(5) = -20
wart = -20

Podobne dokumenty