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