Умовні оператори. Тестування

Про матеріал
Цей матеріал стане в нагоді на уроках інформатики при вивченні мови програмування та при підготовці учнів до олімпіади з інформатики. Він містить різноманітні завдання 3-4 варіантів.
Перегляд файлу

4. Тестування

Приклад тесту з розбором

  1.   Вкажіть неправильно записані операції відношення, якщо var a,b,c:integer;
  1. a+1=<b потрібно замість «=<» написати «>=»
  2. a>=b правильно
  3. a<b+c правильно
  4. a>b=c помилка несумісності типів
  5. a<<b немає знаку порівняння «<<»
  6. a>b>c подвійна нерівність записується так (a>b) and (b>c)
  1.   Вкажіть правильно записані логічні вирази, якщо A, B, C – змінні логічного типу:

Примітка: оскільки усі змінні є змінними логічного типу, з ними можна виконувати будь-які логічні операції. Крім операції not, яка являється унарною операцією, всі інші є бінарними, а тому помилками є тільки відсутність операнда у бінарній операції (зліва або справа) або відсутність операнда праворуч від унарної операції.

  1.                    A
  2.                    not or B    відсутній операнд праворуч від унарної операції not
  3.                    A and B
  4.                    A and not B
  5.                    A and B and C
  6.                    and A and B відсутній операнд ліворуч від бінарної операції and
  7.                    A or B or відсутній операнд праворуч від бінарної операції or
  1. Вкажіть неправильно сформовані логічні вирази, якщо var a,b,c:integer; d:boolean;
  1. a=b=c подвійна рівність записується так (a=b) or (b=c)
  2. not d and(b>c)
  3. ord(a>b) результатом функції ord() є не логічне значення, а числове
  4. a=b or a=c складена умова повинна містити прості умови у круглих дужках (a=b) or (a=c)
  5. d and not(a+b>c)
  6. d and(not a=c) цей вираз хоч і здається помилковим, насправді є правильним, оскільки з цілими числами дозволяється виконувати логічні операції, результатом яких буде інше число, тобто not a – це число, яке порівнюється з іншим числом с.
  1. Якщо значення змінної a дійсного типу не менше від 1, то потрібно подвоїти значення цієї змінної. Вкажіть правильно сформовані записи:
  1.     if not(a<1) then a:=a*2;
  2.     if a>1 then a:=2*a;
  3. if a>=1 then a:=2*a;
  4.     if a>=1 then a:=a+2;
  5. if(a>1)or(a=1) then a:=a*2;
  6. if a<1 then else a:=2*a;

Пояснення. Усі виділені відповіді є правильними, оскільки в них або умова написана по-різному (a>=1) рівнозначно (a>1) or (a=1), що в свою чергу може бути записане, як not(a<1)), або змінені місцями гілки then та else.

  1.   При виконанні таких дій

a:=–0.5;

if a>0

then if a<1 then writeln(–a)

     else writeln(a);

на екрані монітора буде виведено число

 а) –0.5;  б) 0.5;   в) не буде виведене нічого.

Пояснення. Оскільки при заданому значенні змінної a логічний вираз першого умовного оператора буде мати значення false (хибність), жоден з інших операторів не буде виконаний, а тому екран буде порожнім.

  1.   Вкажіть істинне відношення при виконанні умови – «натуральне число k не кратне 5»:
  1. k mod 5 = 0;
  2. k mod 5 <> 0;
  3. k mod 5 < 1;
  4. not(k mod 5 = 0);
  5. k mod 5 > 0
  6. k div 5 = 0;
  7. not (k mod 5 <> 0);
  8. k div 5 = 1;

Пояснення. Якщо натуральне число k не є кратним деякому іншому числу p, то залишок від ділення числа k на число p не буде нульовим. А оскільки обидва числа натуральні, він не може бути і від’ємним. Звідси випливає вибір правильних відповідей.

  1.   Якою буде умова Sqr(2*X)<5*Y – 2 при X = 2, Y = 4?
  1.     істиною
  2.     хибною

Пояснення. Достатньо порахувати значення логічного виразу: , отримаємо нерівність 4<18. Відповідь очевидна.

  1.   Вкажіть логічний вираз, еквівалентний виразу „xmax(x,y,z)”:
  1. (x<y) and (x<z);
  2. (y>x)and(y>=z) or (z>x)and(z>=y);
  3. (x<y)or(x<z);
  4. (x<y)and(x>z);
  5. (x<z)and(x>y);
  6.   (x>z)and(x<y);

Пояснення. В кожному із записів Х дійсно не є максимальним значенням.

  1.   При яких значеннях 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 істина

  1. За допомогою дужок вкажіть порядок виконання дій при обчисленні логічного виразу 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

  1.   Вкажіть неправильно записані операції відношення, якщо var a,b,c:integer;
  1. a>b
  2. a=>b
  3. a<>b
  4. a=b
  5. a<b<c
  6. a<=b
  1.   Вкажіть правильно записані логічні вирази, якщо A, B, C – змінні логічного типу:
  1. C
  2. A not and B
  3. A or B
  4. C or not B
  5. A or B and C
  6. A or B
  1.   Вкажіть правильно сформовані логічні вирази, якщо var a,b,c:integer; d:boolean;
  1. not (a=b)
  2. a<b and b<c
  3. (a>b+c) and d
  4. (a=b)and(not b=c)
  5. a<b<c
  6. not d or (a>b)
  1.   При виконанні умови a<b, де a, b змінні дійсного типу, потрібно цим змінним присвоїти квадрати їх значень. Вкажіть правильно сформований запис:
  1. if a<b then a:=a*a; b:=b*b;
  2. if a<b then a:=a*a

      else b:=b*b;

  1.                    if a<b

      then begin

            a:=a*a;b:=b*b

      end;

  1. if a<b then a:=a*a and b:=b*b;
  2. if not(a>=b) then

 else begin a:=a*a; b:=b*b;end;

  1. if a>=b then

      else begin

a:=a*a; b:=b*b

      end;

  1.   При виконанні таких дій

a:=50;

if a>10 then if a<40 then WriteLn(a)

             else WriteLn(–a);

на екрані монітора буде виведено число

а) 50;   б) – 50;   в) не буде виведене нічого.

  1.   Вкажіть істинне відношення при виконанні умови – «натуральне число k кратне 7»:
  1. k mod 7 = 0;
  2. k mod 7 < 1;
  3. k mod 7 <> 0;
  4. k div 7 <> 0;
  5. not (k mod 7 <> 0);
  6. k div 7 = 0;
  7. k mod 7 > 0;
  8. k div 7 = 1;
  1.   Якою буде умова 2*X+5<=sqr(A)  при X = 12, A = 5?
    1. істиною;
    2. хибною.
  2.   Вкажіть логічний вираз, еквівалентний виразу «y=max(x,y,z)»:
  1.               (x<y) and (z<y);
  2.               (y>x)and(y>=z)or(z>x)and(z>=y);
  3.               (x<y) or (z<y);
  4.               not(x>=y) and not(z>=y);
  5.               not((y<x)and(x>z)or(z>x)and(z>y));
  6.                    not(x>=y) and (z<y).
  1. При яких значеннях 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

  1. За допомогою дужок вкажіть порядок виконання дій при обчисленні логічного виразу 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

  1. Вкажіть неправильно записані операції відношення, якщо var x, y,z:integer;
  1.                    x+3>y
  2. x>=y
  3. x=<y+z
  4. x>y=z
  5. x=<y
  6. x>y>z
  1.   Вкажіть правильно записані логічні вирази, якщо X, Y, Z – змінні логічного типу:
  1.     X
  2.     not and X
  3.     X or Y
  4. X and not Y
  5. X or Y and Z
  6. or X and Y
  1. Вкажіть неправильно сформовані логічні вирази, якщо var x,y,z:integer; d:boolean;
  1. not x or (y<z)
  2. x=y=z
  3. x=y and x=z
  4. Ord(x>y)
  5. d and not(x+y<z)
  6. z and(not x=y)
  1. При виконанні умови a<=b, де a, b змінні дійсного типу, потрібно знайти суму цих значень. Вкажіть правильно сформований запис:
  1. if a<=b then s:=a+b;
  2. if a>b then

else s:=a+b;

  1. if a>=b

then s:=a+b;

  1. if (a<b)or(a=b) then s:=a+b;
  2. if not(a>b) then s:=a+b;
  3. if not(a>=b) then

else s:=a+b;

  1.   При виконанні таких дій

x:=–0.54;

if x>0 then if x<1 then writeln(–x)

            else writeln(x);

на екрані монітора буде виведено число

а) –0.54;   б) 0.54;   в)не буде виведене нічого.

  1. Вкажіть істинне відношення при виконанні умови – «натуральне число k не кратне 3»:
  1. k mod 3 = 0;
  2. k div 3 <> 0;
  3. k mod 3 < 1;
  4. k div 3 = 1;
  5. k mod 3 <> 0;
  6. not (k mod 3 <> 0);
  7. (k mod 3 = 1)or(k mod 3 = 2);
  8. k mod 3 > 0;
  1. Якою буде умова 2*Y>=X–2 при X=12, Y=11?
    1. істиною
    2. хибною

 

  1. Вкажіть логічний вираз, еквівалентний виразу „z=min(x,y,z)”:
  1.               (x>y) and (z<y);
  2.               (y>x)and(y>z)or(z>x)and(z>y);
  3.               (x<y) or (z<y);
  4.               not(z>=y) and not(z>=x);
  5.               not((y<x)or(x>z)and(z>x)or(z>y));
  6.                    not(z>=y) and (z<x);
    1. При яких значеннях 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

  1. За допомогою дужок вкажіть порядок виконання дій при обчисленні логічного виразу 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))

 

Середня оцінка розробки
Структурованість
5.0
Оригінальність викладу
4.6
Відповідність темі
5.0
Загальна:
4.9
Всього відгуків: 5
Оцінки та відгуки
  1. Гладкий Віталій Юрійович
    Загальна:
    5.0
    Структурованість
    5.0
    Оригінальність викладу
    5.0
    Відповідність темі
    5.0
  2.  Shapoval
    Загальна:
    5.0
    Структурованість
    5.0
    Оригінальність викладу
    5.0
    Відповідність темі
    5.0
  3. Шпітко Вікторія Володимирівна
    Загальна:
    5.0
    Структурованість
    5.0
    Оригінальність викладу
    5.0
    Відповідність темі
    5.0
  4. Запорожец Ольга
    Загальна:
    4.7
    Структурованість
    5.0
    Оригінальність викладу
    4.0
    Відповідність темі
    5.0
  5. Bondareva Raisa
    Загальна:
    4.7
    Структурованість
    5.0
    Оригінальність викладу
    4.0
    Відповідність темі
    5.0
Показати ще 2 відгука
docx
Додано
12 лютого 2018
Переглядів
2455
Оцінка розробки
4.9 (5 відгуків)
Безкоштовний сертифікат
про публікацію авторської розробки
Щоб отримати, додайте розробку

Додати розробку