Назад Зміст Вперед

Задачі з використанням логічних змінних

Цей алгоритм використовується, якщо для деякої послідовності чисел потрібно на деяке запитання відповісти: „так” чи „ні”.

Приклад 1

Дано n цілих чисел. Знайти в цій послідовності кількість непарних чисел.

Дано: кількість чисел та самі числа.

Знайти: Кількість непарних чисел.

Змінні:

Вхідні:

Вихідні:

Проміжні:

Програма

Результати роботи програми

Ввід Відповідь Пояснення
1 5
8 2 6 4 8
0 5 – кількість чисел. 8 2 6 4 8 – самі числа. Серед них немає непарних, тому 0
2 4
1 6 8 4
1 4 – кількість чисел. 1 6 8 4 – самі числа. Серед них є одне непарне, тому 1
3 6
1 3 2 4 3 9
3 6 – кількість чисел. 1 3 2 4 3 9 – самі числа. Серед них є три непарних, тому 3

Для того, щоб відповісти на питання, чи є в цій послідовності хоча б одне непарне число, потрібно перевірити значення k. Якщо k>0, то відповідь "так", у іншому випадку "ні".

Програма

Для того, щоб відповісти на питання, чи всі числа в цій послідовності непарні, потрібно перевірити значення k. Якщо k=n, то відповідь "так", у іншому випадку "ні".

Програма

Існує ще один спосіб відповісти на ці питання, без рахування кількості, з використанням логічних змінних - перемикачей.

Приклад 2

Дано n цілих чисел. З’ясуйте, чи є в цій послідовності хоча б одне непарне число.

Дано: кількість чисел та самі числа.

Знайти: Якщо серед чисел є непарні, то надрукувати yes, якщо немає, то надрукувати no.

Змінні:

Вхідні:

Вихідні:

Проміжні:

Алгоритм

  1. Спочатку потрібно присвоїти початкове значення ознаці f=false. Тобто вважаємо, що непарних серед чисел немає. Якщо зустрінемо непарне, змінимо це значення на протилежне.
  2. Вводимо n – кількість чисел, що будемо вводити. Це значення буде визначати кількість витків циклу.
  3. У циклі будемо виконувати такі дії:
  4. Коли цикл закінчиться, тобто будуть введені всі n чисел, значення змінної f (ознаки) або залишиться початковим false (якщо серед чисел немає непарних), або зміниться на true (якщо серед чисел є одне чи декілька непарних).
  5. Після завершення циклу потрібно перевірити значення змінної f.
  6. Для перевірки значення логічної змінної можна не використовувати операцію «=». Тому:

Програма

Результати роботи програми

Ввід Відповідь Пояснення
1 5
8 2 6 4 8
No 5 – кількість чисел. 8 2 6 4 8 – самі числа. Серед них немає непарних, тому No
2 4
1 6 8 4
Yes 4 – кількість чисел. 1 6 8 4 – самі числа. Серед них є непарні, тому Yes
3 6
1 3 2 4 3 9
Yes 6 – кількість чисел. 1 3 2 4 3 9 – самі числа. Серед них є три непарні, тому Yes

Приклад 3

Дано n чисел. З’ясуйте, чи всі вони непарні.

Дано: кількість чисел та самі числа.

Знайти: Якщо всі числа непарні, то надрукувати yes, якщо є парні, то надрукувати no.

Змінні:

Вхідні:

Вихідні:

Проміжні:

Алгоритм

  1. Спочатку потрібно присвоїти початкове значення ознаці f=true. На відміну від попереднього прикладу вважаємо, що всі числа непарні. Тоді якщо зустрінемо парне число, змінимо це значення на протилежне.
  2. Вводимо n – кількість чисел, що будемо вводити. Це значення буде визначати кількість витків циклу.
  3. У циклі будемо виконувати такі дії:
  4. Коли цикл закінчиться, тобто будуть введені всі n чисел, значення змінної f (ознаки) або залишиться початковим true (якщо всі числа непарні, тобто серед чисел немає парних), або зміниться на false (якщо серед чисел є одно чи декілька парних).
  5. Після завершення циклу потрібно перевірити значення змінної f.

Програма

Результати роботи програми

Ввід Відповідь Пояснення
1 5
1 2 3 4 5
No 5 – кількість чисел. 1 2 3 4 5 – самі числа. Вони не всі непарні, тому No
2 4
1 5 7 2
No 4 – кількість чисел. 1 5 7 2 – самі числа. Серед них є парне, тому No
3 6
1 3 5 7 9 3
Yes 6 – кількість чисел.1 3 5 7 9 3 – самі числа. Вони всі непарні, тому Yes

Правило використання ознаки

    При складанні програм з використанням ознаки потрібно пам’ятати:
  • Перед циклом (перед перевіркою даних) ознаці потрібно присвоїти початкове значення.
  • У циклі, в процесі перевірки ознака може змінити своє значення тільки на протилежне. Вона не може змінюватись «туди сюди».
  • Після завершення циклу значення ознаки потрібно перевірити. Це значення може залишитися початковим, а може змінитися на протилежне.

Варіанти задач

Варіант 1

  1. Дано n цілих чисел. Чи всі вони кратні 5?
  2. Дано n цілих чисел. Чи є в цій послідовності числа =0?

Варіант 2

  1. Дано n цілих чисел. Чи є в цій послідовності від’ємні числа?
  2. Дано n цілих чисел. Чи всі вони кратні 10?

Варіант 3

  1. Дано n цілих чисел. Чи всі вони додатні?
  2. Дано n цілих чисел. Чи є в цій послідовності числа, які закінчуються цифрою 2?

Варіант 4

  1. Дано n цілих чисел. Чи є в цій послідовності числа кратні 3?
  2. Дано n цілих чисел. Чи всі вони закінчуються цифрою 1?

Варіант 5

  1. Дано n цілих чисел. Чи всі вони однозначні?
  2. Дано n цілих чисел. Чи є в цій послідовності парні числа?

Варіант 6

  1. Дано n цілих чисел. Чи є в цій послідовності додатні числа?
  2. Дано n цілих чисел. Чи всі вони однозначні та кратні 4?

Варіант 7

  1. Дано n цілих чисел. Чи всі вони додатні та однозначні?
  2. Дано n цілих чисел. Чи є в цій послідовності числа, які кратні b?

Варіант 8

  1. Дано n цілих чисел. Чи є в цій послідовності однозначні числа?
  2. Дано n цілих чисел. Чи всі вони закінчуються на 33?

Варіант 9

  1. Дано n цілих чисел. Чи всі вони закінчуються цифрою 3?
  2. Дано n цілих чисел. Чи є в цій послідовності двозначні від’ємні числа?

Варіант 10

  1. Дано n цілих чисел. Чи є в цій послідовності двозначні числа?
  2. Дано n цілих чисел. Чи всі вони двозначні та закінчуються на 6?

Варіант 11

  1. Дано n цілих чисел. Чи всі вони двозначні?
  2. Дано n цілих чисел. Чи є в цій послідовності числа, які закінчуються на 00?

Варіант 12

  1. Дано n цілих чисел. Чи є в цій послідовності числа, які закінчуються цифрою 5?
  2. Дано n цілих чисел. Чи всі вони додатні та тризначні?

Варіант 13

  1. Дано n цілих чисел. Чи всі вони тризначні?
  2. Дано n цілих чисел. Чи є в цій послідовності числа, які належать інтервалу [x, y] ?

Варіант 14

  1. Дано n цілих чисел. Чи є в цій послідовності двозначні числа які складаються з однакових цифр?
  2. Дано n цілих чисел. Чи всі вони кратні b?

Варіант 15

  1. Дано n цілих чисел. Чи всі вони двозначні та складаються з різних цифр?
  2. Дано n цілих чисел. Чи є в цій послідовності числа, які належать інтервалу [x, y] та кратні b?

Варіант 16

  1. Дано n цілих чисел. Чи є в цій послідовності тризначні числа?
  2. Дано n цілих чисел. Чи всі вони від’ємні та закінчуються на 55?

Варіант 17

  1. Дано n цілих чисел. Чи всі вони належать інтервалу [x, y]?
  2. Дано n цілих чисел. Чи є в цій послідовності тризначні додатні числа, які складаються з різних цифр?

Назад Зміст Вперед