Відповіді на екзаменаційні білети Технології програмування Отенко

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
ІКТА
Факультет:
Кібербезпека
Кафедра:
ЗІ

Інформація про роботу

Рік:
2024
Тип роботи:
Відповіді на екзаменаційні білети
Предмет:
Технологія програмування та створення програмних продуктів
Група:
КБ 14
Варіант:
2 3 8 10 12 15 17

Частина тексту файла (без зображень, графіків і формул):

Варіант №2 1. 1, 3, 4, 7. 2. 2 - int, 3 - double, 46 - int. 3. -3, long. 4. #define Diff (a, b) ((a)-(b)) . 5. p - це покажчик на покажчик на масив, який має 10 значень типу int. 6. int *(*a[5][10])(int x) 7. Операції відношення порівнюють між собою два значення. До операцій відношення належать операції : > - більше; < - менше; == - рівне; != - не рівне; >= - більше рівне; <= - менше рівне. Результатом порівняння є значення істини (не 0) або не істини (0). 8. int sum = 0; for (i = 0; i < 30; i++) { if (a[i] < 0) { sum += a[i]; } } 9. #include <stdio.h> int main ( ) { int i, j, n = 20; int a[n][n]; int min = a[0][0]; for (i = 0; i < n; i++) { for (j = 0; j < n; j++) { scanf ("%d", & a[i][j]); } } for (i = 1; i < n ; i++) { for (j = 0; j < i; j++) { if (a[i][j] < min) { min = a[i][j]; } } } printf("%d", min); return 0; } Варіант №3 1. 2, 3, 6, 7. 2. 1 - double, 2 - int, 5 - unsigned int 3. 9, long. 4. #define Mul(a, b) ((a)*(b)) 5. p - це масив з 10 покажчиків на покажчик типу int. 6. double (**a[15][10])() 7. Операції адресації тісно пов'язані з поняттям покажчика. Покажчик - це змінна, яка призначена для збереження адреси об'єкта деякого типу. Синтаксис : [<специфікація типу>] *<описувач>; . Специфікація типу задає тип змінної, на яку посилається покажчик, а символ '*' визначає саму змінну як покажчик. Приклад застосування покажчика : дамо покажчику ім'я p, то можемо записати вираз p = &abc; // присвоєння адреси abc змінній p де &abc - константа типу покажчик, адреса змінної abc, а p - змінна типу покажчик. В такому випадку p вказує на abc. Якщо в змінній p міститься посилання на змінну abc, тоді для доступу до значення цієї змінної можна скористатися операціїє "непрямої адресації": val = *p; // визначення значення на яке вказує p Отже, останні два оператори стають еквівалентні виразу val = abc; 8. int kol = 0; for (i = 0; i < 20; i++) { if (a[i] == 0) kol++; } 9. #include <stdio.h> int main (void) { int i, j, n = 10; int a[n][n]; int min = a[0][0]; for (i = 0; i < n; i++) { for (j = 0; j < n; j++) { scanf ("%d", & a[i][j]); } } for (i = 0; i < n - 1; i++) { for (j = 0; j < n - i - 1; j++) { if (a[i][j] < min) { min = a[i][j]; } } } printf("%d", min); return 0; } Варіант №8 1. 1, 3, 4, 6. 2. 1 - int, 3 - char, 6 - double 3. 5, long. 4. #define Mul(a, b, c) ((a)*(b)*(c)) 5. Покажчик на масив з 10 масивів, кожен з яких має 20 значень типу double. 6. int (**(*)[5])() 7 Порозрядні операції виконуються тільки над операндами цілих типів. До них належать: ~ (інверсія); << (зсув вліво) >> (зсув вправо); & (порозрядне І); ^ (побітове АБО з виключенням); | (порозрядне АБО). Використання порозрядних операцій дає змогу оперувати окремими бітами даних, перевіряти або змінювати їх значення. Порозрядні операції виконуються окремо над кожною парою бітів, що записані в однакових за номером розрядах двох операндів, які вступають в порозрядну операцію. Результат порозрядного І буде нульовим, якщо хоча б один з бітів 0. Якщо обидва біти рівні 1, то результат дорівнює не нуль. Результат побітового АБО з виключенням буде нульовим, якщо обидва біта будуть рівні, у всіх інших випадках результат дорівнює не нуль. Результат порозрядного АБО буде нульовим, якщо обидва біта будуть рівні 0, у всіх інших випадках результат дорівнює не нулю. 8. double prod = 1; for (i = 0; i < 10; i++) { if (a[i] != 0) prod *= a[i]; } 9. #include <stdio.h> int main (void) { int i, j, n = 30; int a[n][n]; int max = a[0][0]; for (i = 0; i < n; i++) { for (j = 0; j < n; j++) { scanf ("%d", & a[i][j]); } } for (i = 1; i < n; i++) { for (j = n - 1; j < n; j++) { if (a[i][j] > max) { max = a[i][j]; } } } printf("%d", max); return 0; } Варіант №10 1. 2, 3, 6, 8. 2. 3 – double, 4 - int, 5 - char. 3. 0 , int 4. #define SqDiff (a ,b) (((a)*(a)) - ((b)*(b))) 5. p - це покажчик на функцію з аргументом типу int, яка повертає покажчик на масив з 10 масивів, кожен з яких має 15 значень типу float. 6. int *(*(*p)[5][10])(int x) 7. Умовна операція - єдина тернарна операція, тобто вона має 3 операнди. Синтаксис : <операнд 1>?<операнд 2>:<операнд 3>; . Операнд 1 являє собою ціле, плаваюче значення або покажчик. В умовній операції спочатку обчислюється операнд 1 і порівнюється з нулем. Якщо значення - не нуль, то обчислюється операнд 2 і він є результатом. Якщо ж операнд - нуль, то обчислюється операнд 3 і він є результатом. 8. int cnt = 0, sum = 0; for (i = 0; i < 30; i++) { if (a[i] < 0) { cnt ++; sum += a[i]; } } arm = sum/cnt; 9. #include <stdio.h> int main (void) { int i, j, n = 20; int a[n][n]; double sum = 0; for (i = 0; i < n; i++) { for (j = 0; j < n; j++) { scanf ("%d", & a[i][j]); } } for (i = 1; i < n ; i++) { for (j = 0; j < i; j++) { if (a[i][j] > 0) { sum += a[i][j]; } } } printf(“ %d", sum); return 0; } Варіант №12 1. 3, 4, 8. 2. 1 - unsigned long, 6 - int. 3. 0, int. 4. #define DiffSq(a, b) ((a)*(a) - (2)*(a)*(b) + (b)*(b)) 5. p - покажчик на функцію з покажчиком типу double, яка повертає покажчик на масив з 7 масивів, кожен з яких має 9значень типу int. 6. int *(*(**a)[5])() 7. Пріоритет операцій – черговість виконання операцій у виразі, за умови, що у виразі немає явної вказівки порядку проходження виконання операцій (за допомогою круглих дужок). Якщо операції мають однаковий пріоритет, то черговість виконання таких операцій визначається відповідно до властивості асоціативності. Асоціативність – напрямок виконання операцій у разі, якщо операції мають однаковий пріоритет. Побічний ефект виражається в неявному зміні значення змінної в процесі обчислення виразу. Всі операції присвоювання можуть викликати побічний ефект. Виклик функції, в якій змінюється значення будь-якої зовнішньої змінної, або шляхом явного привласнення, або через покажчик, також має побічний ефект. 8. double kol = 0; for (i = 0; i < 10; i++) { if (a[i] < (-5)) kol++; } 9. #include <stdio.h> int main (void) { int i, j, n = 30; int a[n][n]; int sum = 0; for (i = 0; i < n; i++) { for (j = 0; j < n; j++) { scanf ("%d", & a[i][j]); } } for (i = 1; i < n; i++) { for (j = n - 1; j < n; j++) { if (a[i][j] > 0) { sum += a[i][j]; } } } printf("%d", sum); return 0; } Варіант №15 1. 1, 2, 5, 7. 2. 1 - unsigned long, 2- char, 3 - int. 3. 1, int 4. x = 20 + y || yz 5. Покажчик на функцію з аргументом типу int, яка повертає покажчик на масив з 20 масивів, кожен з яких містить 5 значень типу double. 6. double (**(*)[15][10])(int x) 7. Для скороченою записи виразів в мові програмування С є спеціальні операції, які називаються операціями присвоювання. С існує п'ять операцій привласнення, не рахуючи основну операцію присвоювання: =. += операція присвоювання-складання; -= операція присвоювання-віднімання; *= операція присвоювання-множення; /= операція присвоювання-ділення; %= операція присвоювання-залишку від ділення; При операціїї присвоювання-складання та присвоювання-віднімання результат зберігається у змінній, над якою виконується дія. При присвоювання-множення та присвоювання-ділення резульат дії присвоюється змінній, над якою виконується дія. При присвоювання-залишку від ділення залишок зберігається в змінній. 8. int sum = 0; for (i = 0; i < 20; i++) { if (i%2 == 0) sum += a[i]; } 9. #include <stdio.h> int main (void) { int i, j, n = 10; int a[n][n]; int prod = 1; for (i = 0; i < n; i++) { for (j = 0; j < n; j++) { scanf ("%d", & a[i][j]); } } for (i = 0; i < n - 1; i++) { for (j = 0; j < n - i - 1; j++) { if (a[i][j] > 0) { prod *= a[i][j]; } else prod = 0; } } printf("%d", prod); return 0; } Варіант №17 1. 2, 3, 6, 7. 2. 2 - int; 3 - double, 5 - long. 3. -3, long 4. #define Add(a, b) ((a)+(b)) 5. p - покажчик на масив з 10 покажчиків типу int. 6. int *(*a[5][10])( ) 7. L-вираз - вираз, який посилається на комірку пам'ті і тому має зміст у лівій частині. До L-виразів належать : 1) Ідентифікатори цілого, плаваючого, перелічуваного типів,покажчиків, структур та об'єднань. 2) Індексні вирази за винятком тих, значення яких має тип масив. 3) Вирази вибору елемента, якщо елементом є L-вираз. 4) Вирази непрямої адресації. 5) L-вираз у дужках 6) Вираз перетворення типу змінної, якщо розмір результата не перевищує розмір початкового. Перелічувані L-вирази також називають модифікованими L-виразами. Крім того існують немодифіковані L-вирази. Їх адреса може бути отримана, але використовуватися в лівій частині бінарної операції присвоєння вони не можуть. До них відносяться ідентифікатори масивів, функцій, а також змінних, оголошених з модифікатором const. 8. double sum = 0; for (i = 0; i < 40; i++) { if (a[i] > 0) { sum += a[i]; } } 9. #include <stdio.h> int main (void) { int i, j, n = 40; int a[n][n]; int min = a[0][0]; for (i = 0; i < n; i++) { for (j = 0; j < n; j++) { scanf ("%d", & a[i][j]); } } for (i =0; i < n - 1; i++) { for(j = i + 1; j < n; j++) { if (a[i][j] < min) { min = a[i][j]; } } } printf("%d", min); return 0; }
Антиботан аватар за замовчуванням

22.01.2018 17:01-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!