Главная страница
Навигация по странице:

  • Создание игры «Крестики-нолики» на языке программирования Python

  • Объект исследования

  • Гипотеза

  • 1 Теоретическая часть 1.1 Понятие о языках программирования

  • 1.2 Компиляторы и интерпретаторы

  • 1.3 Почему Python

  • 2 ПРАКТИЧЕСКАЯ ЧАСТЬ 2.1 Создание собственного прототипа игры “Крестики-нолики”.

  • Рисунок 1

  • Список использованных источников

  • Реферат. Школьный проект. Исследовательский проект по информатике Создание игры Крестикинолики на языке программирования Python


    Скачать 0.86 Mb.
    НазваниеИсследовательский проект по информатике Создание игры Крестикинолики на языке программирования Python
    АнкорРеферат
    Дата24.01.2023
    Размер0.86 Mb.
    Формат файлаdoc
    Имя файлаШкольный проект.doc
    ТипРешение
    #902130

    Муниципальное общеобразовательное учреждение «Лицей №4»

    Республика Мордовия, г.о. Саранск

    Исследовательский проект по информатике


    Создание игры «Крестики-нолики»

    на языке программирования Python

    Автор работы:

    Шеволаев Илья Вячеславович ученик 10 А класса







    Руководители работы:

    Варданян Юлия Валерьевна,

    учитель географии и экологии
    Слугин Александр Николаевич,

    учитель информатики







    СОДЕРЖАНИЕ
    Введение…………………………………………………………………………….3

    1. Теоретическая часть…………………………………..........................................5

    1.1 Понятие о языках программирования ……………………….………….5

      1. Компиляторы и интерпретаторы …………………………………………..7

      2. Почему Python?………………………………………………...…………….8

    2. ПРАКТИЧЕСКАЯ ЧАСТЬ……………………………………………………11

    2.1 Постановка конкретной задачи ………………….…………………………..11

    2.2 Решение поставленной задачи ……………………………………….11

    Заключение……………………………………………………………………….17

    Список использованных источников…………………………………………..19

    Приложения……………………………………………………………………....20

    ВВЕДЕНИЕ
    Рубеж XX и XXI столетий ознаменовался массовым распространением персональных компьютеров. Это позволило человечеству взглянуть на информацию с другой стороны, с позиции двоичного кода. С информатизацией общества количество информации, которое потребляется человеком в день, многократно возросло. Современные информационные технологии стремительно развиваются изо дня в день и двигают экономический прогресс. Крупнейшие корпорации борются за лучшие умы, в частности, с каждым годом на рынке труда спрос на программистов в той или иной среде разработки растет в геометрической прогрессии. Выбор языка программирования становится стратегически важным пунктом отбора. Python — один из самых популярных языков программирования на данный момент, в рейтинге TIOBE он занимает 5 место. У Python существуют свои фанаты этого языка, но есть и те, кто данный язык не переносит, в любом случае равнодушным он никого не оставляет. Такие известные компании, как Google и Intel, Cisco и Hewlett-Packard, используют язык Python, выбрав его за гибкость, простоту использования и обеспечиваемую им высокую скорость разработки. Он позволяет создавать эффективные и надежные проекты, которые легко интегрируются с программами и инструментами, написанными на других языках.

    Цель исследования: Создание собственной игры “Крестики-нолики” на языке программирования Python для игры одному или с другом.

    Для реализации поставленных целей, мы решали следующие задачи:

    • Ознакомиться общими понятиями в языках программирования.

    • Выявить плюсы и минусы языка Python;

    • Написание алгоритма создания программы;

    • Создание программы на языке программирования Python;

    Объект исследования: Интерпретируемый язык программирования Python.

    Предмет исследования: Программа, созданная на языке программирования Python.

    Гипотеза: Python – современный и простой в освоении язык программирования, подходящий для написания различных программ.

    Методы исследования:

    1)теоретические (анализ и синтез),

    2) практические (наблюдение, сравнение, эксперимент),

    1 Теоретическая часть

    1.1 Понятие о языках программирования

    Язык программирования — формальный язык, предназначенный для записи компьютерных программ.

    Фактически, язык программирования, это набор правил описания команд и заранее созданных функций.

    Сегодня практически все программы создаются с помощью языков программирования. Теоретически программу можно написать и на естественном языке (говорят: программирование на метаязыке), но из-за неоднозначности естественного языка автоматически перевести такую программу в машинный код пока невозможно.

    Языки программирования – это формальные искусственные языки. Как и естественные языки, они имеют алфавит, словарный запас, грамматику и синтаксис, а также семантику.

    Алфавит – разрешенный к использованию набор символов, с помощью которого могут быть образованы слова и величины данного языка.

    Синтаксис – система правил, определяющих допустимые конструкции языка программирования из букв алфавита.

    Семантика – система правил однозначного толкования каждой языковой конструкции, позволяющих производить процесс обработки данных.

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

    Языки программирования, ориентированные на команды процессора и учитывающие его особенности, называют языками низкого уровня. «Низкий уровень» не означает неразвитый, имеется в виду, что операторы этого языка близки к машинному коду и ориентированы на конкретные команды процессора.

    Языком самого низкого уровня является ассемблер. Программа, написанная на нем, представляет последовательность команд машинных кодов, но записанных с помощью символьных мнемоник. С помощью языков низкого уровня создаются компактные оптимальные программы, так как программист получает доступ ко всем возможностям процессора. С другой стороны, при этом требуется хорошо понимать устройство компьютера, а использование такой программы на компьютере с процессором другого типа невозможно. Такие языки программирования используются для написания небольших системных приложений, драйверов устройств, модулей стыковки с нестандартным оборудованием, когда важнее компактность, быстродействие, прямой доступ к аппаратным ресурсам.

    Языки программирования, имитирующие естественные, обладающие укрупненными командами, ориентированные «на человека», называют языками высокого уровня. Чем выше уровень языка, тем ближе структуры данных и конструкции, использующиеся в программе, к понятиям исходной задачи. Особенности конкретных компьютерных архитектур в них не учитываются, поэтому исходные тексты программ легко переносимы на другие платформы, имеющие трансляторы этого языка. Разрабатывать программы на языках высокого уровня с помощью понятных и мощных команд значительно проще, число ошибок, допускаемых в процессе программирования, намного меньше. В настоящее время насчитывается несколько сотен таких языков (без учета их диалектов).
    Таким образом, языки программирования высокого уровня, ориентированные на решение больших содержательных прикладных задач, являются аппаратно-независимыми и требуют использования соответствующих программ-переводчиков для преобразования текста программы в машинный код, который в итоге и обрабатывается процессором.

    1.2 Компиляторы и интерпретаторы

    С помощью языка программирования создается текст программы, описывающий разработанный алгоритм. Чтобы программа была выполнена, надо либо весь ее текст перевести в машинный код (это действие и выполняет программа – компилятор) и затем передать на исполнение процессору, либо сразу выполнять команды языка, переводя на машинный язык и исполняя каждую команду поочередно (этим занимаются программы – интерпретаторы).

    Интерпретатор функционирует следующим образом: берет очередной оператор языка из текста программы, анализирует его структуру и затем сразу исполняет. После успешного выполнения текущей команды интерпретатор переходит к анализу и исполнению следующей. Если один и тот же оператор в программе выполняется несколько раз, интерпретатор всякий раз воспринимает его так, будто встретил впервые. Поэтому программы, в которых требуется произвести большой объем повторяющихся вычислений, будут работать медленно. Для выполнения программы на другом компьютере также необходимо установить интерпретатор, так как без него программа представляет собой набор слов, и работать не может.

    Компиляторы полностью обрабатывают весь текст программы (его называют исходным кодом или source code). Они осуществляют поиск синтаксических ошибок, выполняют семантический анализ и только затем, если текст программы в точности соответствует правилам языка, его автоматически переводят (транслируют) на машинный язык (говорят: генерируют объектный код или object code). Нередко при этом выполняется оптимизация с помощью набора методов, позволяющих повысить быстродействие программы. Сгенерированный объектный код обрабатывается специальной программой сборщиком или редактором связей, который производит связывание объектного и машинного кодов. Текст программы преобразуется в готовый к исполнению ЕХЕ-файл (исполнимый код), его можно сохранить в памяти компьютера или на диске. Этот файл имеет самостоятельное значение, и может работать под управлением операционной системы. Его можно перенести на другие компьютеры с процессором, поддерживающим соответствующий машинный код.

    Основной недостаток компиляторов – трудоемкость трансляции языков программирования, ориентированных на обработку данных сложной структуры, заранее неизвестной или динамически меняющейся во время работы программы. Для таких программ в машинный код вводятся дополнительные проверки и анализ наличия ресурсов операционной системы, средства динамического захвата и освобождения памяти компьютера, что на уровне статически заданных машинных инструкций осуществить достаточно сложно, а для которых задач практически невозможно.

    С помощью интерпретатора, наоборот, для исследования содержимого памяти допустимо в любой момент прервать работу программы, организовать диалог с пользователем, выполнить любые сложные преобразования данных и при этом постоянно контролировать программно-аппаратную среду, что и обеспечивает высокую надежность работы программы.

    Самые часто используемые компилируемые языки программирования это - C, C++, Rust и Go. А интерпретируемые это – Python, PHP и Java.
    1.3 Почему Python?

    Языков программирования на современном IT рынке существует огромное множество. Но почему Python имеет такую большую аудиторию у себя за спиной? И чем же обусловлен такой выбор столь большого количества пользователей.

    Он используется крупнейшими технологическими корпорациями. Python является предпочтительным языком программирования для большинства гигантов в мире информационных технологий. К ним относятся: Google, Dropbox, Instagram и Spotify, и это лишь некоторые из них. За пределами мира ИТ многие другие огромные организации также используют этот мощный язык, включая Disney, NASA и Electronic Arts. Также язык Python является предпочтительным во многих технологических стартапах.

    С ним легко работать, что сокращает время разработки. Написанный в удобочитаемом формате, Python делает процесс разработки программного обеспечения быстрым, удобным и максимально упрощенным. Если разработчик имеет базовые знания любого другого языка программирования, он может легко изучить Python и внедрить его в свои проекты.

    По сравнению с другими языками, Python в 5-10 раз быстрее по времени разработки, однако медленный при выполнении программ. Он обеспечивает расширенные возможности управления процессами и объектно-ориентированный дизайн, помогая как в скорости, так и в производительности. Упрощенный контекст и удобные для пользователя структуры данных позволяют разработчикам легко читать и писать. Сокращенные сроки, связанные с Python, также означают меньшие затраты на разработку для компаний-разработчиков Python и их клиентов.

    Большое интернет-сообщество поддерживает Python. Скорее всего, если разработчик столкнется с проблемой или обнаружит ошибку в Python, другой разработчик уже найдет решение этой проблемы. Python поддерживается большим онлайн-сообществом сторонников и других программистов, которые постоянно улучшают его функциональные возможности. Кроме того, при его использовании легко получить быструю поддержку по сложным вопросам.

    Так же стоит отметить, что в современной разработке telegram-ботов и искусственного интеллекта аналогов практически нет, и Python крепко закрепился в этой нище разработки. Подводя итог можно сказать что, Python является одним из самых популярных языков программирования сегодня - и на то есть веские причины.
    2 ПРАКТИЧЕСКАЯ ЧАСТЬ

    2.1 Создание собственного прототипа игры “Крестики-нолики”.
    Цель

    Для решения этой задачи был выбран язык Python и встроенный в него модуль Pygame. В свою очередь Pygame – это набор модулей языка программирования Python, предназначенный для написания компьютерных игр и мультимедиа-приложений. Pygame базируется на мультимедийной библиотеке SDL.

    Для начала установим модуль Pygame и пропишем базовую структуру нашей программы (рисунок 1).


    Рисунок 1 –

    Далее добавим размер и настройку нашего окна приложения.




    Далее пропишем основную логику нашей программы. Нарисуем игровое поле. И постановку крестика или нолика в зависимости от действий игрока.

    Следующим действием добавим в игру главное меню и возможность играть одному. В этом случае с помощью встроенного модуля random нолики будут ставиться в случайное свободное поле.



    И последним действием добавим в игру уведомления об окончании игры, и возможность её перезапустить при нажатии кнопок.

    Теперь сделаем так, что бы нашу программу можно было запускать без помощи встроенного в Python интерпретатора. Для этого установим модуль pyinstaller и через консоль скомпилируем нашу программу. Теперь её можно запустить на любом компьютере.



    Заключение
    «Чтение хорошей программы на Python очень напоминает чтение английского текста, хоть и достаточно строго!... псевдо-кодовая природа Python является одной из его самых сильных сторон. Она позволяет вам сосредоточиться на решении задач, а не на самом языке».

    Целью данной работы было изучение возможностей языка Python, его особенностей и создания собственной игры “Крестики-нолики”, используя среду программирования Python.

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

    Безусловно, как и любой язык программирования, Python имеет некоторые свои недостатки. Но преимущества, которые он предоставляет при создании программного обеспечения, гораздо существеннее и не оказывают особого влияния на его функциональность и практичность. В случае же критичности некоторых недостатков при решении некоторых специфических задач, универсальность и гибкость Python позволяет обходить эти недостатки без ущерба для решаемой задачи.

    Таким образом, можно с большой уверенностью утверждать, что Рython подходит для решения подавляющего большинства повседневных задач, будь то подключение к сети интернет, чтение-отправка электронной почты, резервное копирование, либо же какая-нибудь игрушка. Язык программирования Python практически не имеет никаких ограничений или запретов на использование, поэтому также может свободно использоваться при создании крупных проектов. А универсальность и простота и Рython делают его одним из лидеров среди языков программирования как для профессионалов, так и для тех, кто только начинает пробовать свои силы в программировании.

    Список использованных источников


    1. Книга “Byte of Python” Swaroop Chitlur

    2. Книга “Грокаем алгоритмы” Адитья Бхаргава

    3. https://ru.wikipedia.org/wiki/Язык_программирования

    4. https://ru.wikipedia.org/wiki/Python

    5. https://www.python.org/doc/

    6. https://www.pygame.org/docs/



    написать администратору сайта