Розділ 1. Основи програмування на мові С/С++.
Що є найбільш точним визначенням алгоритму?
алгоритм - це програма на одній з мов програмування, виконання якої приводить до отримання одного з рішень задачі
алгоритм - це програма на машинній мові, виконання якої приводить до отримання одного з рішень задачі
алгоритм - це послідовність дій, спрямованих на отримання певного результату за кінцеве число кроків
алгоритм - це блок-схема, яка має початок і кінець і яка описує послідовність дій програми для отримання результату за кінцеву кількість кроків
Що таке вихідний код програми?
програма на машинній мові, яка готова до виконання
текст комп'ютерної програми на будь-який мові програмування
алгоритм роботи програми у вигляді блок-схеми
Чи може компілятор знаходити у програмі логічні(смислові, алгоритмічні) помилки?
так
ні
У якому варіанті допущена синтаксична помилка при оголошенні змінної?
bool Summa, a = 0, A;
float Int=2.5;
int struct = 2;
в кожному варіанті А, Б, В є помилка
помилок у варіантах А, Б, В не має
У якому варіанті синтаксичної помилки не має?
Bool Summa;
float = 6.9;
int struct = 2;
double 2q;
char _d_;
Який тип даних використовується для логічних змінних?
int
char
float
bool
double
Чому буде дорівнювати змінна d після виконання наступного фрагменту програми?
int a = 24, d;
d = A % 10;
4
2.4
2
код містить синтаксичну помилку
Чому буде дорівнювати змінна d після виконання наступного фрагменту програми?
int q = 47, d;
d = q % 20;
7
2
2.7
код містить синтаксичну помилку
Чому будуть дорівнювати змінні a, b після виконання наступного фрагменту програми:
int a = 8, b;
b = ++a;
a = 8, b = 9
a = 9, b = 9
a = 9, b = 8
код містить синтаксичну помилку
Чому будуть дорівнювати змінні a, b після виконання наступного фрагменту програми:
int a = 8, b;
b = a++;
a = 8, b = 9
a = 9, b = 9
a = 9, b = 8
код містить синтаксичну помилку
Чому буде дорівнювати змінна d після виконання наступного фрагменту програми?
int a = 2, b=3;
float d;
d = (a + b) / 2;
2.5
2
3
код містить синтаксичну помилку
Чому буде дорівнювати змінна d після виконання наступного фрагменту програми?
int a = 2, b=3;
float d;
d = (a + b) / 2.0;
2.5
2
3
код містить синтаксичну помилку
Як правильно порахувати суму цифр цілого двозначного числа q?
q % 10 + q/10
q[0] + q[1]
q - ((q/10)*10) + q%10
немає вірних відповідей
Чому буде дорівнювати змінна d після виконання наступного фрагменту програми?
int a = 3, b , r;
b = ~a;
r = ~b;
-3
3
-6
6
0
Чому буде дорівнювати змінна r після виконання наступного фрагменту програми?
int a, r;
cin >> a;
r = a || 5;
0
1
2
3
Чому буде дорівнювати змінна r після виконання наступного фрагменту програми?
int a = 2, b = 3, r;
r = !a + a && b + (a < b) + (a || b)
1
2
3
4
8
Визначте результат роботи фрагменту програми
int a = 5, b;
b = a | 2;
cout << b;
0
2
5
7
Визначте результат роботи фрагменту програми
int a = 5, b;
b = a & 2;
cout << b;
0
2
5
7
Визначте результат роботи фрагменту програми:
int a = 3, b;
b = a ^ 2;
cout << b;
0
1
2
3
Для чого в мові C++ призначений оператор sizeof?
для визначення довжини строки
для визначення кількості цифр у числі
для визначення кількості байт типа даних або змінної
для визначення розмірності масиву або матриці
Задається дві змінні:
int a, b;
cin >> a >> b;
Як обміняти їх значення?
a = b; b = a;
int t = a; b = a; a = t;
int t = a; a = b; b = t;
int t = a; b = t; a = b;
Для чого в мові програмування C++ призначений оператор ^ ?
для зведення у ступень
для бітового «ИЛИ»
не має такого оператора
не має правильних відповідей
Яка із стрічок не є коментарем у програмі на С++?
#comments
/* коментар */
// comment
Яка із стрічок є директивою препроцесору?
int a, b;
int main()
return 0;
#ifndef Unit1H
Чому буде дорівнювати змінна t після виконання наступного фрагменту програми:
int t = 3;
t = t << 2;
5
12
0
3
9
Визначте результат роботи фрагменту програми:
int a, b=1;
a++;
cout << a * b;
0
1
2
результат неможливо визначити
код містить синтаксичну помилку
Яке ключове слово використовується при визначенні об’єднання?
union
enum
struct
set
Яке ключове слово використовується при визначенні переліків?
union
enum
struct
list
Розділ 3. Розгалужені алгоритми.
Який із перерахованих операторів відноситься до операторів розгалуження?
while
sizeof
*
++
?
Яку мінімальну кількість простих перевірок в програмі треба здійснити, щоб гарантовано виявити найбільшу за значенням змінну із трьох заданих?
1
2
3
4
Яку мінімальну кількість простих перевірок в програмі треба здійснити, щоб гарантовано виявити, що вісім задах змінних мають однакові значення?
4
6
7
8
9
Яку мінімальну кількість простих перевірок в програмі треба здійснити, щоб гарантовано виявити, скільки із п’яти заданих змінних дорівнюють нулю?
2
3
4
5
6
Що буде виведено на екран при виконанні наступного фрагменту програми?
int a = 1, b = 2;
if (!a)
cout << "a";
else
cout << "b";
cout << "c";
2c
ac
bc
abc
код містить синтаксичну помилку
Що буде виведено на екран при виконанні наступного фрагменту програми?
int a, b = 2;
cin >> a;
if (a)
cout << "a";
cout << "c";
else
cout << "b";
c2
ac
cb
acb
код містить синтаксичну помилку
Визначте результат роботи фрагменту програми:
int a;
cin >> a;
if(a = 2)
cout << 1;
else
cout << 2;
1
2
результат неможливо визначити
Визначите результат роботи фрагменту програми:
int a = 1, b = 2;
b = a > 0 ? 3 : 4;
cout << b;
1
2
3
4
фрагмент коду містить синтаксичну помилку
Визначите результат роботи фрагменту програми:
int a, b;
cin >> a >> b;
if( ( (a = = b) || (a != b) ) || (a > 0) )
cout << 1;
else
cout << 2;
1
2
результат неможливо визначити
фрагмент коду містить синтаксичну помилку
Визначите результат роботи фрагменту програми:
int a, n = 0;
cin >> a;
if( a > 0 ) n++;
if( a = = 0 ) n++;
if( a < 0 ) n++;
cout << n;
0
1
2
3
результат неможливо визначити
Визначите, чи всі варіанти фрагментів програм для визначення найбільшого значення із трьох заданих вірні?
// варіант 1
int a, b, c;
cin >> a >> b >> c;
if( a > c )
{
if( a > b)
cout << a;
else cout << b;
}
else if(c < b)
cout << b;
else cout << c;
// варіант 2
int a, b, c;
cin >> a >> b >> c;
if( a > b && a > c)
cout << a;
else if( b > c )
cout << b;
else cout << c;
// варіант 3
int a, b, c;
cin >> a >> b >> c;
if( a > b )
{
if( a > c)
cout << a;
}
else if(b > c)
cout << b;
else cout << c;
варіант 1 невірний
варіант 2 невірний
варіант 3 невірний
невірні варіанти 1 і 3
всі варіанти вірні
Розділ 4. Циклічні алгоритми
Який оператор відноситься до операторів циклу в мові С++?
break
foreach
For
continue
until
while
Який оператор перериває виконання циклу?
continue
break
while
stop
Яка стрічка містить синтаксичну помилку?
for(int i = 0 ; ; i++)
for( ; ; )
for( ; i ; i++ )
for( i > 0; i++ )
Яку мінімальну кількість циклів в програмі треба організувати, щоб відсортувати заданий масив?
1
2
3
4
Скільки ітерацій буде виконано в даному циклі:
for(int i=0; i <= 5; i++);
4
5
6
жодної
цикл нескінчений
Яким буде результат виконання даного фрагменту програми:
for(int i=0; i < 3; i++);
cout << i;
012
0123
2
3
цикл нескінчений
Яким буде результат виконання даного фрагменту програми:
int i, j;
for(i = 0; i < 2; i++)
for(j = 1; j <= 1; j++)
cout << i << j;
0121
111
0111
цикл нескінчений
код містить синтаксичну помилку
Яким буде результат виконання даного фрагменту програми:
int i;
for(i = 2; i >= 0; i++)
cout << i;
012
210
21
цикл нескінчений
код містить синтаксичну помилку
Розділ 5. Одновимірні масиви.
В якому випадку масив розміром на 5 символів оголошено вірно?
char a(5);
char a[5];
char a = 5;
char a = array(5);
char a = new int[5];
Яку мінімальну кількість перестановок треба здійснити, щоб переставити елементи масиву розміром на 10 елементів у зворотному порядку?
1
4
5
6
10
Визначте результат роботи фрагменту програми:
int a[2] = {1, 2, 3}
cout << a[0] + a[1] + a[2];
6
3
0
результат неможливо визначити
Чи допущена у даному фрагменті програми синтаксична помилка:
int n, i;
cin >> n;
int a[n];
for(i = 0; i < n; i++)
cin >> i;
так
ні
Дано масив:
int a[10];
Чи можна змінити розмір масиву під час виконання програми?
так
ні
можна тільки зменшити
можна тільки збільшити
Визначите результат роботи фрагменту програми:
int a[5];
a = 1;
cout << a;
1
5
0
фрагмент коду містить синтаксичну помилку
Визначите результат роботи фрагменту програми:
int a[5] = { 4, 0, 2, 7, 3}, m = 0;
for(int i = 1; i < 5; i++)
if(a[i] > a[m])
m = i;
cout << m;
0
1
2
3
4
Визначите результат роботи фрагменту програми:
int a[5] = { 4, 0, 2, 7, 3}, m = 0;
for(int i = 1; i < 5; i++)
if(a[i] < a[m])
m = i;
cout << a[m];
0
1
2
3
4
Визначите результат роботи фрагменту програми:
int a[5] = { 4, 0, 2, 4, 2}, m = 0;
for(int i = 0; i < 4; i++)
for(int j = i+1; j < 5; j++)
if(a[i] == a[j])
cout << i << j;
03
24
42
0324
1435
Визначите результат роботи фрагменту програми:
int a[5] = { 4, 0, 2, 4, 2};
for(int i = 0; i < 5; i++)
if(a[i] = = i)
cout << i;
0
1
2
4
Розділ 6. Багатовимірні масиви.
В якому випадку матриця розміром 3 строки на 5 стовбців оголошено вірно?
int a[5][3];
int a[3, 5];
int a[5 x 3];
int a[3][5];
Чи допускається оголошувати і використовувати масиви із розмірністю більше трьох?
так
ні
В якому випадку вірно виділена пам’ять для динамічної матриці цілих чисел розміром m x n?
int a[n][m];
int *a = new int[n][m];
int *a = new int[n x m];
В якому варіанті програми вірно пораховано суму елементів матриці розміром 10х10, які розміщені вище головної діагоналі:
// варіант1
for (i = 0; i < 10; i++)
for (j = i+1; j < 10; j++)
s += a[i][j];
// варіант 2
for (i = 0; i < 10; i++)
for (j = 0; j < 9-i; j++)
s += a[i][j];
// варіант 3
for (i = 0; i < 10; i++)
for (j = 9-i; j < 10; j++)
s += a[i][j];
// варіант 4
for (i = 0; i < 10; i++)
for (j = 0; j < i; j++)
s += a[i][j];
варіант 1
варіант 2
варіант 3
варіант 4
не має вірного варіанту
В якому варіанті програми вірно пораховано суму елементів матриці розміром 10х10, які розміщені нижче побічної діагоналі:
// варіант1
for (i = 0; i < 10; i++)
for (j = i+1; j < 10; j++)
s += a[i][j];
// варіант 2
for (i = 0; i < 10; i++)
for (j = 0; j < 9-i; j++)
s += a[i][j];
// варіант 3
for (i = 0; i < 10; i++)
for (j = 9-i; j < 10; j++)
s += a[i][j];
// варіант 4
for (i = 0; i < 10; i++)
for (j = 0; j < i; j++)
s += a[i][j];
варіант 1
варіант 2
варіант 3
варіант 4
не має вірного варіанту
В якому варіанті програми вірно пораховано суму елементів матриці розміром 10х10, які розміщені вище побічної і вище головної діагоналі одночасно:
// варіант1
for (i = 0; i < 10; i++)
for (j = i+1; j < 10; j++)
s += a[i][j];
// варіант 2
for (i = 0; i < 10; i++)
for (j = 0; j < 9-i; j++)
s += a[i][j];
// варіант 3
for (i = 0; i < 10; i++)
for (j = 9-i; j < 10; j++)
s += a[i][j];
// варіант 4
for (i = 0; i < 10; i++)
for (j = 0; j < i; j++)
s += a[i][j];
варіант 1
варіант 2
варіант 3
варіант 4
не має вірного варіанту