Школа: ГБОУ Имени маршала на Юго-Востоке

(классы “Силаэдр”)

Быки и коровы

Сенин Георгий.

Научный руководитель:

Москва 2017

Оглавление

Введение…………………………………………………………………………………………………………………………………………….....3

Материалы и методы………………………………………………………………………………………………………………….…….....3

Результаты……………………………………………………………………………………………………………………………………………..4

Анализ полученных результатов………………………………………………………………………………..………………………..5

Выводы………………………………………………………………………..…………………………………………………………………………5

Перспективы………………………………………………………………………………….………………………………………………………6

Дополнение…………….…………………………………………………………………………………….………………………………………6

Список литературы…………………………………………………………………………………………..……………………………………6

Введение

Правила игры “Быки и коровы”: Играют два или более игроков. Один загадывает слово, другой (другие) пытается отгадать. Если в загаданном слове и в предложенном есть одинаковая буква на одинаковых местах, то это бык. Если в словах будут одинаковые буквы, но они встречаются на разных местах, то это корова. Например: загаданное – аист, а предложенное – сорт. 1 бык, 1 корова.

Цель: Написать программу, которая отгадывает слова в автоматическом режиме по правилам игры «Быки и Коровы» и исследовать характеристики программы: будет ли она отгадывать быстрее человека.

Задачи:  1) Придумать алгоритм

2) Реализовать программу

3) Реализовать интерфейс

4) Исследовать распределение длин игр для разного количества букв

Материалы и методы

Инструменты: Я использовали язык программирования , а также словари английских и русских языков  в текстовых файлах.  Для реализации интерфейса был использован Windows Forms.

Результаты

Алгоритм:

Вкратце идея алгоритма такова: программа располагает большим словарем, а потом удаляет слова из словаря по введенным пользователем данным и выводит любое слово из отсортированного словаря.

Программа

Была написана программа, которая играет с пользователем и в автоматическом режиме отгадывает слово на английском или русском языке из 3-9 букв, загаданное пользователем по правилам игры «Быки и коровы».

Анализ полученных данных

­­­­­­        Программа угадывает слово из четырех букв чаще всего за 8 попыток, вот распределение длин игр для слов из 4 и 5 букв:

­­

Выводы

Когда я играл с другими людьми, они отгадывали чаще всего за 5-7 попыток.  Однако программа чаще отгадывает слова за 8-9 попыток, но при этом есть случаи, когда количество попыток больше 15. Я думаю, это происходит из-за того что встречаются похожие по конструкции слова (например, если 4 буквы, то это: буква “о”на втором месте и буква ”а” на четвертом)

Перспективы

В планах реализовать интерфейс на Windows Forms для более удобной игры. Доработать алгоритм так, чтобы не предлагались похожие слова.

Благодарность: автор благодарит Нечаева Николая Михайловича за помощь с Windows Forms.

Литература:

[1] А. Беллос «Красота в квадрате». М:2015.