Cro Opublikowano 25 Czerwca 2007 Zgłoś Opublikowano 25 Czerwca 2007 (edytowane) Witam, Potrzebuję małej pomocy przy rozwiązaniu kilkudziesięciu zadań testowych na egzamin z programowania. Jest to część z puli pytań jakie mi się wylosują, bo zdaję via net. Problem jest taki, że na ćwiczeniach bierzemy javę a na wykładach pobieżnie i ogólnikowo C/C++. Niby nic trudnego, ale zwątpiłem jak zobaczyłem pytania :P Gdyby ktoś miał chwilkę: Pogrubione to pytania, które sam robiłem i wydaja mi się ok. W większości to pytania jednokrotnego wyboru, chyba, że treść sugeruje inaczej. 1 Punkty: 1 Przykładem wyrażenia jest napis: Wymierz odpowiedź a. if (x>y) b. printf("foo") c. a = b*c; d. 1024 2 Punkty: 1 Pętla for(int k=0; k ulega zatrzymaniu: Wymierz odpowiedź a. przed iteracją, po zakończeniu której k wynosiłoby num-1 b. przed iteracją, po zakończeniu której k wynosiłoby num+1 c. po iteracji, po zakończeniu której k wynosi num d. po iteracji, po zakończeniu której k wynosi num-1 3 Punkty: 1 Operator ! należy do grupy: Wybierz co najmniej jedną odpowiedź a. unary operators b. bitwise operators c. binary operators 4 Punkty: 1 Inicjalizacja zmiennej polega na nadaniu jej: Wymierz odpowiedź a. typu b. zasięgu c. wartości d. nazwy 5 Punkty: 1 Operator [] należy do grupy: Wymierz odpowiedź a. ternary operators b. binary operators c. quaternary operators d. unary operators 6 Punkty: 1 Zmienne X, Y i Z są liczbami typu double. Spośród poniższych wyrażeń wartość niezerową zwróci zawsze: Wymierz odpowiedź a. Y + Z + X == Z + Y + X b. Z + Y + X == X + Y + Z c. X + Y + Z == Z + X + Y d. X + Z + Y == Y + Z + X 7 Punkty: 1 Które z poniższych wyrażeń jest L-wartością? Wymierz odpowiedź a. A b. A+B c. A||B d. A*B 8 Punkty: 1 Wyczerpujące rozważenie rozłącznych wariantów wzajemnego położenia dwóch liczb na osi liczb rzeczywistych wymaga: Wymierz odpowiedź a. trzech słów if i dwóch else b. dwóch słów if i trzech else c. dwóch słów if i dwóch else d. trzech słów if i trzech else 9 Punkty: 1 Wskaż błędy (jeden lub kilka), jakie popełniono w poniższym fragmencie kodu funkcji, której zadaniem jest skopiowanie bloku danych pomiędzy plikami (obsługę błędów pominięto dla przejrzystości): void copyBlock(char* srcFilename, char* dstFilename, int blockSize) { FILE* file = fopen(srcFilename, "rb"); char* buffer = new char[blockSize]; fread(buffer, 1, blockSize, file); file = fopen(dstFilename, "wb"); fwrite(buffer, 1, blockSize, file); fclose(file); delete[] buffer; } Wybierz co najmniej jedną odpowiedź a. błąd składniowy b. przeciek lub korupcja pamięci c. użycie nieprawidłowego wskaźnika d. nieprawidłowa praca z plikiem e. porzucenie otwartego pliku 10 Punkty: 1 Wartość wpisana bezpośrednio do tekstu źródłowego programu jest: Wymierz odpowiedź a. liczbą b. identyfikatorem c. stałą d. literałem Wyrażenia logiczne: !(i%2) && (i--) oraz !(!(i%2) || (i--)) są równoważne pod względem wyniku i zachodzących skutków ubocznych i mogą się wzajemnie zastępować. Odpowiedź: Prawda Fałsz 12 Punkty: 1 We współczesnych językach programowania wysokiego poziomu zbędna jest: Wymierz odpowiedź a. instrukcja wyboru b. instrukcja iteracji c. instrukcja złożona d. instrukcja skoku 13 Punkty: 1 Który z poniższych literałów reprezentuje liczbę nieparzystą? Wymierz odpowiedź a. 0xDEC0 b. 0xF00D c. 0xD1CE d. 0xCODA 14 Punkty: 1 Czas życia obiektów deklarowanych jako zmienne jest wyznaczany przez: Wymierz odpowiedź a. wywołania funkcji b. granice bloków c. system operacyjny d. instrukcje skoku 15 Punkty: 1 Wartość fałszu ma wyrażenie: Wymierz odpowiedź a. false() b. 100 * 0.2 c. x & ~x d. -1 16 Punkty: 1 Skutkiem ubocznym działania operatora () jest: Wymierz odpowiedź a. obliczenie wartości argumentów b. wykonanie ciała funkcji c. położenie argumentów na stosie d. zwrócenie wartości funkcji 17 Punkty: 1 Liczba dziesiętna 537072256 jest zapisana w pamięci operacyjnej w standardzie little-endian. Kolejne bajty o rosnących adresach to (w zapisie szesnastkowym): Wymierz odpowiedź a. 08 21 30 02 b. 02 30 21 08 c. 20 03 12 80 d. 80 12 03 20 18 Punkty: 1 Wskaż błędy (jeden lub kilka), jakie popełniono w poniższym fragmencie kodu funkcji, której zadaniem jest wymnożenie wszystkich elementów tablicy poczynając od ostatniego: double multiplyReverse(double* array, int elementsNum) { int product = 1; for (int i=elementsNum-1; i>=0; i--) product *= array; return product; } Wybierz co najmniej jedną odpowiedź a. błąd składniowy b. przekroczenie zakresu tablicy c. prowadzenie obliczeń z niedostateczną precyzją d. użycie niezainicjowanej zmiennej e. pominięcie elementu tablicy 19 Punkty: 1 Struktura różni się od tablicy tym, że może zawierać: Wymierz odpowiedź a. inne struktury b. nie znaną z góry ilość elementów c. zagnieżdżone tablice d. elemety różnych typów 20 Punkty: 1 Napis int (*sort)(int*, int) = 0; jest przykładem: Wymierz odpowiedź a. instrukcji b. wyrażenia c. wartości d. definicji 21 Punkty: 1 Zadeklarowano: double factor = exp(2); int sumDigits(int num); int x = 3; int y = sumDigits(11); W której z poniższych instrukcji dojdzie do konwersji powodującej utratę precyzji danych liczbowych? Wymierz odpowiedź a. y = x / sumDigits(x); b. factor *= x + y; c. x = sumDigits(factor); d. factor = x * 0.3; 22 Punkty: 1 Użycie wskaźnika jest jedyną metodą przekazania jako argumentu do funkcji: Wymierz odpowiedź a. pliku b. stałej c. struktury d. tablicy 23 Punkty: 1 Liczba dziesiętna 4265237520 rezyduje w pamięci operacyjnej w postaci sekwencji bajtów (w kolejności rosnących adresów): 10 5C 3A FE Jest to kolejność zapisu określana jako: Wymierz odpowiedź a. big-endian b. little-endian 24 Punkty: 1 Które z poniższych wyrażeń nie ma semantycznego uzasadnienia? Wymierz odpowiedź a. A&&B b. A>>B c. A++B d. A**B 25 Punkty: 1 Na etapie kompilacji kodu programu kompilator musi znać: Wymierz odpowiedź a. rozmiary tablic b. adresy zmiennych c. rozmiary typów d. wartości zmiennych 26 Punkty: 1 Z punktu widzenia przebiegu pracy z plikiem dyskowym jego dobrą analogią może być: Wymierz odpowiedź a. taśma magnetofonowa b. skoroszyt c. plik kartek d. tablica suchościeralna 27 Punkty: 1 Warunek logiczny "x jest równe 1 lub x należy do (1,2]" będzie miał postać: Wymierz odpowiedź a. 1 <= x && x <= 2 b. x == 1 || 1 < x <= 2 c. 1 <= x || x <= 2 ? d. x == 1 && 1 < x <= 2 28 Punkty: 1 Instrukcje sterujące służą do: Wymierz odpowiedź a. rozgałęziania i zapętlania ścieżki wykonania programu b. sterowania elementami hardware'u komputera c. przerywania, wznawiania i zakończenia programu d. sterowania pracą aplikacji 29 Punkty: 1 Obecność funkcji w kodzie programu pozwala na: Wymierz odpowiedź a. wielokrotne użycie tego samego kodu b. przyspieszenie wykonania programu c. zmniejszenie ilości zużywanej pamięci d. rozgałęzienie ścieżki wykonania kodu 30 Punkty: 1 W języku C w wyrażeniu a + b*sin© o kolejności wykonania operatorów decyduje: Wymierz odpowiedź a. hierarchia priorytetów b. obecność nawiasów c. kolejność zapisu d. wiązanie operatorów Edytowane 25 Czerwca 2007 przez Cro Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Haquim Opublikowano 25 Czerwca 2007 Zgłoś Opublikowano 25 Czerwca 2007 (edytowane) Witam, Potrzebuję małej pomocy przy rozwiązaniu kilkudziesięciu zadań testowych na egzamin z programowania. Jest to część z puli pytań jakie mi się wylosują, bo zdaję via net. Problem jest taki, że na ćwiczeniach bierzemy javę a na wykładach pobieżnie i ogólnikowo C/C++. Niby nic trudnego, ale zwątpiłem jak zobaczyłem pytania :P Gdyby ktoś miał chwilkę: Pogrubione to pytania, które sam robiłem i wydaja mi się ok. W większości to pytania jednokrotnego wyboru, chyba, że treść sugeruje inaczej. CYTAT 1d. 1024 6Nie 10d literałem 12d skoku 15c x & ~x 19d 22a 27a -- poprawione PS:Jeśli tak wygląda egzamin z programowania to radzę zmienić uczelnię. Edytowane 25 Czerwca 2007 przez Haquim Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Cro Opublikowano 25 Czerwca 2007 Zgłoś Opublikowano 25 Czerwca 2007 (edytowane) Dzięki, ale odnośnie 27. b. x == 1 || 1 < x <= 2 takie coś a konkretnie 2 część (wartość < zmienna < wartość)jest w ogóle możliwa? Edytowane 25 Czerwca 2007 przez Cro Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
boo007 Opublikowano 26 Czerwca 2007 Zgłoś Opublikowano 26 Czerwca 2007 (edytowane) 1 < x <= 2 takie coś a konkretnie 2 część (wartość < zmienna < wartość)jest w ogóle możliwa?Tak, to jest poprawny zapis w C/C++, ale dzialac nie bedzie zgodnie z intuicja, operator < i <= lacza w lewo i maja ten sam priorytet, wiec najpierw "obliczy" 1 < x, zwroci 1 (lub 0), pozniej 1<=2 (0<=2) Edytowane 26 Czerwca 2007 przez boo007 Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...