Реферат. Школьный проект. Исследовательский проект по информатике Создание игры Крестикинолики на языке программирования Python
Скачать 0.86 Mb.
|
Муниципальное общеобразовательное учреждение «Лицей №4» Республика Мордовия, г.о. Саранск Исследовательский проект по информатике Создание игры «Крестики-нолики» на языке программирования Python
СОДЕРЖАНИЕ Введение…………………………………………………………………………….3 1. Теоретическая часть…………………………………..........................................5 1.1 Понятие о языках программирования ……………………….………….5 Компиляторы и интерпретаторы …………………………………………..7 Почему 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 делают его одним из лидеров среди языков программирования как для профессионалов, так и для тех, кто только начинает пробовать свои силы в программировании. Список использованных источников Книга “Byte of Python” Swaroop Chitlur Книга “Грокаем алгоритмы” Адитья Бхаргава 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/ |