Приклад тесту з розбором
-
Вкажіть неправильно записані операції відношення, якщо var a,b,c:integer;
-
a+1=<b потрібно замість «=<» написати «>=»
-
a>=b правильно
-
a<b+c правильно
-
a>b=c помилка несумісності типів
-
a<<b немає знаку порівняння «<<»
-
a>b>c подвійна нерівність записується так (a>b) and (b>c)
-
Вкажіть правильно записані логічні вирази, якщо A, B, C – змінні логічного типу:
Примітка: оскільки усі змінні є змінними логічного типу, з ними можна виконувати будь-які логічні операції. Крім операції not, яка являється унарною операцією, всі інші є бінарними, а тому помилками є тільки відсутність операнда у бінарній операції (зліва або справа) або відсутність операнда праворуч від унарної операції.
-
A
-
not or B відсутній операнд праворуч від унарної операції not
-
A and B
-
A and not B
-
A and B and C
-
and A and B відсутній операнд ліворуч від бінарної операції and
-
A or B or відсутній операнд праворуч від бінарної операції or
-
Вкажіть неправильно сформовані логічні вирази, якщо var a,b,c:integer; d:boolean;
-
a=b=c подвійна рівність записується так (a=b) or (b=c)
-
not d and(b>c)
-
ord(a>b) результатом функції ord() є не логічне значення, а числове
-
a=b or a=c складена умова повинна містити прості умови у круглих дужках (a=b) or (a=c)
-
d and not(a+b>c)
-
d and(not a=c) цей вираз хоч і здається помилковим, насправді є правильним, оскільки з цілими числами дозволяється виконувати логічні операції, результатом яких буде інше число, тобто not a – це число, яке порівнюється з іншим числом с.
-
Якщо значення змінної a дійсного типу не менше від 1, то потрібно подвоїти значення цієї змінної. Вкажіть правильно сформовані записи:
-
if not(a<1) then a:=a*2;
-
if a>1 then a:=2*a;
-
if a>=1 then a:=2*a;
-
if a>=1 then a:=a+2;
-
if(a>1)or(a=1) then a:=a*2;
-
if a<1 then else a:=2*a;
Пояснення. Усі виділені відповіді є правильними, оскільки в них або умова написана по-різному (a>=1) рівнозначно (a>1) or (a=1), що в свою чергу може бути записане, як not(a<1)), або змінені місцями гілки then та else.
-
При виконанні таких дій
a:=–0.5;
if a>0
then if a<1 then writeln(–a)
else writeln(a);
на екрані монітора буде виведено число
а) –0.5; б) 0.5; в) не буде виведене нічого.
Пояснення. Оскільки при заданому значенні змінної a логічний вираз першого умовного оператора буде мати значення false (хибність), жоден з інших операторів не буде виконаний, а тому екран буде порожнім.
-
Вкажіть істинне відношення при виконанні умови – «натуральне число k не кратне 5»:
-
k mod 5 = 0;
-
k mod 5 <> 0;
-
k mod 5 < 1;
-
not(k mod 5 = 0);
-
k mod 5 > 0
-
k div 5 = 0;
-
not (k mod 5 <> 0);
-
k div 5 = 1;
Пояснення. Якщо натуральне число k не є кратним деякому іншому числу p, то залишок від ділення числа k на число p не буде нульовим. А оскільки обидва числа натуральні, він не може бути і від’ємним. Звідси випливає вибір правильних відповідей.
-
Якою буде умова Sqr(2*X)<5*Y – 2 при X = 2, Y = 4?
-
істиною
-
хибною
Пояснення. Достатньо порахувати значення логічного виразу: , отримаємо нерівність 4<18. Відповідь очевидна.
-
Вкажіть логічний вираз, еквівалентний виразу „xmax(x,y,z)”:
-
(x<y) and (x<z);
-
(y>x)and(y>=z) or (z>x)and(z>=y);
-
(x<y)or(x<z);
-
(x<y)and(x>z);
-
(x<z)and(x>y);
-
(x>z)and(x<y);
Пояснення. В кожному із записів Х дійсно не є максимальним значенням.
-
При яких значеннях a і b умова –2*a<=–b/2 буде істинна:
a) a=2, b=5 -2*2<-5/2; -4<2.5 істина
б) a=1, b=4 -2*1=-4/2; -2<=-2 істина
в) a=-2, b=2 -2*(-2)<=-2/2; 4<=-1 хибна
г) a=-5, b=-20 -2*(-5)<=-(-20)/2; 10<=10 істина
-
За допомогою дужок вкажіть порядок виконання дій при обчисленні логічного виразу a or not b and c and d
а) (a or not b) and (c and d)
б) (a or (((not b) and c) and d))
в) a or ((not b and c) and d)
г) a or (not b and (c and d))
Пояснення. При розв’язанні потрібно враховувати пріоритет виконання операцій у виразах. Оскільки найвищий пріоритет має унарна операція not, беремо в дужки (not b), наступними будуть виконані операції and в порядку їх слідування, тобто ((not b) and c), потім (((not b) and c) and d)і нарешті операція or. Тобто остаточна відповідь: (a or (((not b) and c) and d)).
Варіант 1
-
Вкажіть неправильно записані операції відношення, якщо var a,b,c:integer;
-
a>b
-
a=>b
-
a<>b
-
a=b
-
a<b<c
-
a<=b
-
Вкажіть правильно записані логічні вирази, якщо A, B, C – змінні логічного типу:
-
C
-
A not and B
-
A or B
-
C or not B
-
A or B and C
-
A or B
-
Вкажіть правильно сформовані логічні вирази, якщо var a,b,c:integer; d:boolean;
-
not (a=b)
-
a<b and b<c
-
(a>b+c) and d
-
(a=b)and(not b=c)
-
a<b<c
-
not d or (a>b)
-
При виконанні умови a<b, де a, b змінні дійсного типу, потрібно цим змінним присвоїти квадрати їх значень. Вкажіть правильно сформований запис:
-
if a<b then a:=a*a; b:=b*b;
-
if a<b then a:=a*a
else b:=b*b;
-
if a<b
then begin
a:=a*a;b:=b*b
end;
-
if a<b then a:=a*a and b:=b*b;
-
if not(a>=b) then
else begin a:=a*a; b:=b*b;end;
-
if a>=b then
else begin
a:=a*a; b:=b*b
end;
-
При виконанні таких дій
a:=50;
if a>10 then if a<40 then WriteLn(a)
else WriteLn(–a);
на екрані монітора буде виведено число
а) 50; б) – 50; в) не буде виведене нічого.
-
Вкажіть істинне відношення при виконанні умови – «натуральне число k кратне 7»:
-
k mod 7 = 0;
-
k mod 7 < 1;
-
k mod 7 <> 0;
-
k div 7 <> 0;
-
not (k mod 7 <> 0);
-
k div 7 = 0;
-
k mod 7 > 0;
-
k div 7 = 1;
-
Якою буде умова 2*X+5<=sqr(A) при X = 12, A = 5?
-
істиною;
-
хибною.
-
Вкажіть логічний вираз, еквівалентний виразу «y=max(x,y,z)»:
-
(x<y) and (z<y);
-
(y>x)and(y>=z)or(z>x)and(z>=y);
-
(x<y) or (z<y);
-
not(x>=y) and not(z>=y);
-
not((y<x)and(x>z)or(z>x)and(z>y));
-
not(x>=y) and (z<y).
-
При яких значеннях a і b умова a-2>=b+1 буде хибна:
a) a=-10, b=7
b) a=7, b=4
c) a=15, b=10
d) a=15, b=14
-
За допомогою дужок вкажіть порядок виконання дій при обчисленні логічного виразу a and b or not c and d
а) ((a and b)or((not c)and d))
б) (a And b)or not(c and d)
в) ((a and b)or(not c))and d
г) a and(b or(not(c and d)))
Варіант 2
-
Вкажіть неправильно записані операції відношення, якщо var x, y,z:integer;
-
x+3>y
-
x>=y
-
x=<y+z
-
x>y=z
-
x=<y
-
x>y>z
-
Вкажіть правильно записані логічні вирази, якщо X, Y, Z – змінні логічного типу:
-
X
-
not and X
-
X or Y
-
X and not Y
-
X or Y and Z
-
or X and Y
-
Вкажіть неправильно сформовані логічні вирази, якщо var x,y,z:integer; d:boolean;
-
not x or (y<z)
-
x=y=z
-
x=y and x=z
-
Ord(x>y)
-
d and not(x+y<z)
-
z and(not x=y)
-
При виконанні умови a<=b, де a, b змінні дійсного типу, потрібно знайти суму цих значень. Вкажіть правильно сформований запис:
-
if a<=b then s:=a+b;
-
if a>b then
else s:=a+b;
-
if a>=b
then s:=a+b;
-
if (a<b)or(a=b) then s:=a+b;
-
if not(a>b) then s:=a+b;
-
if not(a>=b) then
else s:=a+b;
-
При виконанні таких дій
x:=–0.54;
if x>0 then if x<1 then writeln(–x)
else writeln(x);
на екрані монітора буде виведено число
а) –0.54; б) 0.54; в)не буде виведене нічого.
-
Вкажіть істинне відношення при виконанні умови – «натуральне число k не кратне 3»:
-
k mod 3 = 0;
-
k div 3 <> 0;
-
k mod 3 < 1;
-
k div 3 = 1;
-
k mod 3 <> 0;
-
not (k mod 3 <> 0);
-
(k mod 3 = 1)or(k mod 3 = 2);
-
k mod 3 > 0;
-
Якою буде умова 2*Y>=X–2 при X=12, Y=11?
-
істиною
-
хибною
-
Вкажіть логічний вираз, еквівалентний виразу „z=min(x,y,z)”:
-
(x>y) and (z<y);
-
(y>x)and(y>z)or(z>x)and(z>y);
-
(x<y) or (z<y);
-
not(z>=y) and not(z>=x);
-
not((y<x)or(x>z)and(z>x)or(z>y));
-
not(z>=y) and (z<x);
-
При яких значеннях p і q умова sqr(p+2)<sqrt(q+16) буде істинна:
a) p=–2, q=0
b) p=5, q=9
c) p=–6, q=–5
d) p=5, q=105
-
За допомогою дужок вкажіть порядок виконання дій при обчисленні логічного виразу not a or c and not d and a
а) (not a) or ((c and not d) and a)
б) (not a or c) and not d and a
в) ((not a) or c) and (not d and a)
г) ((not a) or ((c and (not d)) and a))