Топ новостей


РЕКЛАМА



Календарь

Програма для визначення кількості рішень системи логічних рівнянь на мові Pascal

Однією з найскладніших завдань другої частини ЄДІ з інформатики можна по праву вважати задачу на визначення кількості рішень системи логічних рівнянь - B15. При її вирішенні під час підготовки до іспиту учні часто бажають перевірити правильність своїх відповідей.

Отримаємо програмно кількість рішень системи рівнянь (1):

Лістинг програми, що дозволяє отримати кількість рішень системи (1):

В системі рівнянь (1) присутні шість логічних змінних - x1, x2, x3, y1, y2, y3. Ці змінні мають тип boolean. Також визначена змінна kol целочисленного типу byte. Потрібно відзначити, що вже при восьми логічних змінних в системі рівнянь, коли кількість рядків таблиці істинності (або кількість різних комбінацій логічних змінних) досягає 28 = 256, щоб уникнути переповнення і, як наслідок, отримання помилкового результату, необхідно використовувати інший тип, наприклад, word, змінні якого можуть містити цілочисельні значення від 0 до 65535. Відповідно, при шістнадцяти логічних змінних в системі необхідно відмовитися вже від типу word.Вивод програми: «Кількість рішень = 13».

У тілі програми відбувається ініціалізація (обнулення) змінної kol.

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

В умовному операторі кожна комбінація значень змінних проходить перевірку на відповідність системі логічних рівнянь, записаних в якості умови і об'єднаних кон'юнкція; в разі, якщо комбінація значень логічних змінних є рішенням системи, то змінна kol инкрементируется. При записи умови умовного оператора було враховано наступне тотожність (2):

При записи умови умовного оператора було враховано наступне тотожність (2):

Слід звернути увагу на те, що під час запису першого і другого рівнянь системи (1) допустимо не порівнювати значення виразів Слід звернути увагу на те, що під час запису першого і другого рівнянь системи (1) допустимо не порівнювати значення виразів   і логічну константу true і логічну константу true. Більш того, під час запису третього рівняння системи (1), допустимо використовувати заперечення вираження замість порівняння з логічної константою false. Таким чином, наступний запис умовного оператора також буде вірною:

Таким чином, наступний запис умовного оператора також буде вірною:

Наведений підхід до програмного рішення систем логічних рівнянь дозволяє учням не тільки перевіряти правильність своїх відповідей при підготовці до ЄДІ, але також покращує розуміння завдання і розвиває навички програмування і записи логічних виразів в стандартному базисі булевих функцій.Последнім оператором програми є оператор виведення, що відображає інформацію про кількості рішень системи логічних рівнянь.


Реклама



Новости