DevioLab CRYPTO TRADING AUTOMATION
LIVE
AUTOMATED CRYPTO TRADING • BINANCE
Автоматизуйте свій криптопортфель
Торгові боти DevioLab аналізують крипторинок, автоматично відкривають і закривають позиції та керують вашим портфелем на Binance 24/7.
CRYPTO 80 Bots
BINANCE Spot Trading
TRADING 24 / 7
Спробувати DevioLab
deviolab.com

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

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

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

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

Рік:
2018
Тип роботи:
Відповіді на екзаменаційні білети
Предмет:
Технологія програмування та створення програмних продуктів
Група:
КБ 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:34

Коментарі

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

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

Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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