Advertisement
Guest User

Untitled

a guest
Jul 6th, 2015
217
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 6.07 KB | None | 0 0
  1. Вариант № РМ.09.01
  2. --------------------------------------
  3. Вопрос 5.
  4. В: Какое максимальное целое число можно задать, если для его хранения использовать 16 бит?
  5. О: (2 в степени 16) - 1 = 65535
  6. --------------------------------------
  7. Вопрос 6.
  8. В:
  9. Напишите программу вывода трехмерного массива на консоль:
  10. int XYZ[][3][4] = {
  11.     { {1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12} },
  12.     { {13, 14, 15, 16}, {17, 18, 19, 20}, {21, 22, 23, 24} }
  13. };
  14.  
  15. О:
  16. int N_count = sizeof(XYZ) / ( sizeof(int) * 3 * 4 );
  17. int i, j, k;
  18.  
  19. for (i = 0; i < N_count; i++) {
  20.     for (j = 0; j < 3; j++) {
  21.         for (k = 0; k < 4; k++) {
  22.             printf("%d\t", XYZ[i][j][k]);
  23.         }
  24.         printf("\n");
  25.     }
  26.     printf("\n");
  27. }
  28.  
  29.  
  30. --------------------------------------
  31. Вариант № РМ.09.02
  32.  
  33. Вопрос 5.
  34.  
  35. В: Какой размер одномерного символьного массива должен быть объявлен для записи в него строки из 5 символов?
  36. О: Размер должен быть 6 (т.к. нужен еще один доп. элемент массива для хранения нулевого байта (символа конца строки)).
  37. Предположим, есть слово ХЛЕБ, тогда в массиве оно будет как: ['Х', 'Л', 'Е', 'Б', '\0'].
  38.  
  39. --------------------------------------
  40. Вопрос 6.
  41.  
  42. В:
  43. Напишите программу поиска максимального элемента в заданном одномерном массиве:
  44. int A[] = {3, 5, 2, 8, 12, 0, -7, -3, -21};
  45.  
  46. О:
  47. #include <stdio.h>
  48.  
  49. int main() {
  50.     int A[] = {3, 5, 2, 8, 12, 0, -7, -3, -21};
  51.  
  52.     int size = sizeof(A) / sizeof(int);
  53.     int max = A[0];
  54.     int i;
  55.  
  56.     for (i = 0; i < size; i++) {
  57.         if (A[i] > max) {
  58.             max = A[i];
  59.         }
  60.     }
  61.  
  62.     printf("Max: %d\n", max);
  63.  
  64.     return 0;
  65. }
  66.  
  67.  
  68. --------------------------------------
  69. Вариант №РМ.09.03
  70.  
  71. --------------------------------------
  72. Вопрос 5.
  73. В: Переменные каких типов могут храниться в одном массиве?
  74. О: Переменные одинаковых типов.
  75.  
  76. --------------------------------------
  77. Вопрос 6.
  78.  
  79. В: Напишите функцию вычисления факториала целого числа итерационным методом.
  80. О:
  81. int factorial(int N) {
  82.     int i, result = 1;
  83.  
  84.     for (i = 1; i <= N; i++) {
  85.         result *= i;
  86.     }
  87.  
  88.     return result;
  89. }
  90.  
  91. --------------------------------------
  92. Вариант №РМ.09.04
  93.  
  94. --------------------------------------
  95. Вопрос 5.
  96.  
  97. В: Что выведет на консоль следующий фрагмент кода:
  98. const char str[]=”Hello!\n”;
  99. printf(%d”,sizeof(str));
  100.  
  101. О: Выведет 8, т.к. 6 байт занимает 'Hello!', еще 1 байт занимает '\n' и еще 1 байт - признак конца строки (нулевой байт в конце).
  102.  
  103. --------------------------------------
  104. Вопрос 6.
  105.  
  106. В: Напишите функцию вычисления факториала целого числа рекурсивным методом.
  107. O:
  108. int factorial(int N) {
  109.     if (N >= 1) {
  110.         return N * factorial(N-1);
  111.     } else {
  112.         return 1;
  113.     }
  114. }
  115.  
  116.  
  117. --------------------------------------
  118. Вариант №РМ.09.05
  119.  
  120. --------------------------------------
  121. Вопрос 5.
  122.  
  123. В: Что выведет на консоль следующий фрагмент кода:
  124. float a = 10.0f;
  125. printf("%010.2f %c 100", a, a < 100.f ? '<' : '>');
  126.  
  127. О: 0000010.00 < 100
  128. Почему так: %010.2f задает строку формата в котором будет выводиться число. Т.к. формат имеет вид %010.2f, то:
  129. а) на запись числа будет отведено 10 символов;
  130. б) .2f означает, что будет выведено два знака после запятой;
  131. в) слева число при выводе дополнится нулями (т.к. после процента идет 0);
  132. г) конструкция вида a < 100.f ? '<' : '>' это тернарный оператор условия, который действует вот так:
  133. "A ? B : C" это тоже самое, что (если A истинно, то B, иначе C).
  134.  
  135. --------------------------------------
  136. Вопрос 6.
  137.  
  138. В: Напишите функцию побитового вывода на консоль целого числа без знака.
  139. О:
  140. void print_bin(unsigned int N) {
  141.     if (N == 0 || N == 1) {
  142.         printf("%d", N);
  143.     } else {
  144.         print_bin(N / 2);
  145.         printf("%d", N % 2);
  146.     }
  147. }
  148.  
  149.  
  150. --------------------------------------
  151. Вариант №РМ.09.06
  152.  
  153. --------------------------------------
  154. Вопрос 5.
  155.  
  156. В: Имеется одномерный массив из 5000 значений. К какому из элементов быстрее произойдет
  157. обращение по индексу – ко второму или к предпоследнему?
  158. O: Можно считать, что одинаково, т.к. обращение по индексу есть просто результат сложения адреса первого элемента
  159. массива с индексом, умноженным на размер элемента массива.
  160.  
  161. --------------------------------------
  162. Вопрос 6.
  163.  
  164. В: Напишите функцию вывода на консоль четных целых чисел от 0 до N.
  165. O:
  166. void print_even(int N) {
  167.     int i;
  168.     for (i = 0; i <= N; i += 2) {
  169.         printf("%d ", i);
  170.     }
  171. }
  172.  
  173.  
  174. --------------------------------------
  175. Вариант №РМ.09.07
  176.  
  177. --------------------------------------
  178. Вопрос 5.
  179.  
  180. В:
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement