Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Poyasnyuvalna_zapiska (1).docx
Скачиваний:
1
Добавлен:
04.09.2019
Размер:
414.35 Кб
Скачать

Алгоритм програми

  1. Початок

  2. Зробити перший хід “1234”

  3. Присвоїти початкові значення необхідним змінним.

  4. Зчитати значень биків та корів, які ввів користувач

  5. Якщо к-сть биків дорівнює 4, присвоїти значення істинності булевій змінній про закінчення гри

  6. Інакше присвоїти значення лічильнику 0, поки він менший кількості комбінацій повторювати такі дії:

    1. Якщо в масиві комбінацій наявний елемент з номером лічильника, то сформувати наступний хід

  7. Вивести номер спроби та комбінацію цифр ходу

  8. Поки булеві змінні, що сповіщають про перемогу чи неправильно введену кількість биків чи корів не істинні, повторювати такі дії:

    1. Присвоїти булевій змінній про помилку значення, що повертає функція пошуку чи доступна наступна комбінація

    2. Якщо змінна про помилку не істинна,

      1. Вивести номер спроби та комбінацію цифр ходу

      2. Зчитати значень биків та корів, які ввів користувач

      3. Якщо к-сть биків дорівнює 4, вивести повідомлення, що коп’ютер виграв та число спроб

      4. Інакше присвоїти значення лічильнику 0, поки він менший кількості доступних комбінацій повторювати такі дії:

        1. Якщо в масиві комбінацій наявний елемент з номером лічильника, то сформувати наступний хід

  9. Якщо змінна, що містить інформацію про закінчення гри істинна, то вивести повідомлення, що комп’ютер виграв та кількість спроб

  10. Інакше вивести повідомлення про неправильну введення кількості биків чи корів

  11. Кінець

Алгоритм функції, яка формує наступний хід комп’ютера

  1. Присвоїти значення лічильнику 0, поки він менший кількості позицій, повторювати такі дії:

    1. Присвоїти поточному елементу массиву пропуску цифр значення хибності

    2. Збільшити лічильник на 1

  2. Присвоїти значення лічильнику 0, поки він менший кількості цифр,які можна загадувати, повторювати такі дії:

    1. Присвоїти поточному елементу массиву використання цифр значення хибності

  3. Присвоїти значення лічильнику 0, поки він менший кількості позицій, повторювати такі дії:

    1. Якщо комбінація цифр з масиву комбінацій дорівнює тій, що вивів комп’ютер, то позиція числа, яка дорівнює номеру лічильника не буде пропускатись при підрахунку корів, бо тут вже є бик

    2. Збільшити значення кількості биків на 1

    3. Збільшити лічильник на 1

  4. Якщо значення кількості биків не дорівнює числу биків, яке ввів користувач, то повернути значення хибність

  5. Присвоїти значення лічильнику 0, поки він менший кількості позицій, повторювати такі дії:

    1. Якщо ця цифра не перевірялась і на цій позиції нема бика то:

      1. Визначити чи потрібно збільшувати кількість корів

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

      2. Присвоїти поточному елементу массиву використання цифр значення хибності

  6. Якщо значення кількості корів не дорівнює числу корів, яке ввів користувач, то повернути значення хибність

  7. Інакше повернути значення істинність

Алгоритм функції, яка виводить на екран хід комп’ютера

  1. Вивети номер спроби

  2. Присвоїти значення лічильнику 0, поки він менший кількості позицій, повторювати такі дії:

    1. Вивести елемент масиву комбінації , номер якого дорівнює лічильнику

    2. Збільшити лічильник на 1

Алгоритм функції, яка перевіряє чи доступний наступний хід

  1. Присвоїти значення лічильнику 0, поки він менший кількості варіантів спроби, повторювати такі дії:

    1. Якщо в масиві комбінацій наявний елемент з номером лічильника, то:

      1. Присвоїти значення другому лічильнику 0, поки він менший кількості позицій цифр, повторювати такі дії:

      2. Заповнити масив наступного ходу елементами масиву комбінацій з номером другого лічильника

      3. Збільшити значення другого лічильника на 1

    2. Повернути значення істинність

    3. Збільшити значення першого лічильника на 1

  2. Повернути значення false

Відеокопії екрана

Приклад 1.

Приклад 2. Модифікація задачі

Аналіз достовірності результатів

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

Решето Ератосфена

Умова задачі [2]

Знайти всі прості числа в інтервалі , застосувавши метод Решета Ератосфена

Вхідні та вихідні тести

Користувач вводить верхню границю інтервалу на якому буде здійснюватись пошук простих чисел. Програма виводить всі прості числа в даному інтервалі та їх кількість на екран.

Приклад 1:

Границя проміжку:

Прості числа в даному проміжку:

Кількість простих чисел :

Приклад 2:

Границя проміжку:

Прості числа в даному проміжку:

Кількість простих чисел :

Опис алгоритму методу

Якщо потрібно знайти всі прості числа менші за певне число , виписуються всі числа від . Потім в цьому ряду викреслюються всі числа, які діляться на і так далі до . Числа, які залишилися невикресленими після цієї процедури – прості, тобто є кратними самому собі та одиниці.

Алгоритм програми

  1. Початок

  2. Ввести границю інтервалу, на якому буде здійснюватись пошук простих чисел .

  3. Якщо введені дані не вірно, вивести повідомлення

  4. Інакше знайти всі прості числа менші заданого:

    1. Присвоїти першому лічильнику значення 2, поки він менший заданого числа, повторювати такі дії:

      1. Якщо число, що дорівнює значенню першого лічильника не викреслено, тобто логічна зміна істинна, то

        1. Присвоїти другому лічильнику значення першого у квадраті, поки він менший заданого числа, повторювати такі дії:

        2. Якщо число націло ділиться на значення другого лічильника, викреслити його, тобото логічній змінній присвоїти значення false

        3. Збільшити значення другого лічильника на перший лічильник

      2. Збільшити значення першого лічильника на 1

    2. Присвоїти значення 2 лічильнику, поки він менший заданого числа, повторювати такі дії:

    3. Якщо поточна логічна змінна дорівнює true, вивести на екран номер лічильника, тобто просте число

  5. Кінець

Відеокопії екрана

Приклад 1.

Приклад 2.

Аналіз достовірності результатів

При обробці вхідних даних програма ніби ”відсіює” не потрібні числа. Результатом виконання програми є всі прості числа в проміжку та їх кількість. Отже програма працює вірно і знаходить необхідний розв’язок.

Пошук простих чисел

Умова задачі [2]

Знайти всі прості числа на заданому проміжку .

Вхідні та вихідні тести

Користувач вводить верхню та нижню границі інтервалу на якому буде здійснюватись пошук простих чисел. Програма виводить всі прості числа в заданому інтервалі та їх кількість на екран.

Приклад 1:

Нижня границя проміжку:

Верхня границя проміжку:

Прості числа в заданомуц проміжку:

Кількість простих чисел :

Приклад 2:

Нижня границя проміжку:

Верхня границя проміжку:

Прості числа в даному проміжку:

Кількість простих чисел :

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]