Изучение цикла While при обучении программированию на языке Python с элементами геймификации в Minecraft

Рассмотрение основных особенностей изучения цикла While при обучении программированию на языке Python с элементами геймификации в Minecraft. Знакомство с методикой обучения информатике в школе, анализ ключевых проблем. Сущность понятия "игровая среда".

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 09.06.2021
Размер файла 15,4 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Изучение цикла While при обучении программированию на языке Python с элементами геймификации в Minecraft

А.Г. Сиденко

Аннотация

обучение программирование школа

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

Ключевые слова: геймификация образовательного процесса; язык Python; программирование; игровая среда; теория и методика обучения информатике в школе.

Abstract

Learning the While Cycle when Teaching Programming in a Python Language with Gamification Elements in Minecraft Virtual World

обучение программирование школа

The article discusses some of the possibilities of using programming in Python language in primary and secondary schools based on the use of game scripts in the virtual world Minecraft. The peculiarity of studying this topic in the school course of computer science is its practical orientation, the possibility of applying the received theoretical knowledge in practice, including the construction of examples of using it in various fields.

Keywords: gamification of the educational process; Python language; programming; gaming environment; theory and methods of teaching computer science in school.

При изучении основ программирования необходимо сформировать у учащихся понятия базовых алгоритмических конструкций, в число которых входит алгоритмическая структура «следование», алгоритмическая конструкция «условие», алгоритмическая конструкция «цикл» [1, 2]. Кроме того, важной частью изучения основ программирования является практико-ориентированный подход. Применение такого подхода обеспечивает необходимую связь между теоретическими навыками и практическим применением полученных знаний.

Циклы позволяют программам выполнять один и тот же код снова и снова. Такая структура применяется, когда нужно использовать написанный код несколько раз. В настоящей статье рассматривается цикл с условием while -- «пока». Выполнение такого кода зависит от условия. Цикл будет выполняться, пока условие будет принимать значение true -- «истина». Цикл прекращает работу, когда условие принимает значение false -- «ложь».

Пример кода, который реализует конструкцию цикла while:

k=1

while k <= 10:

print(k)

count += 1

рпп1(«конец цикла»)

Переменная k используется для подсчета повторений цикла. Сначала присваиваем значение k=1. Внутри цикла значение k будет изменяться на единицу при каждом запуске цикла. После того как значение превысит 10, цикл остановится. Вывод на экран фразы «конец цикла» после остановки цикла известит пользователя о том, что цикл прекратил свою работу.

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

Для этого предлагаем рассмотреть возможность изучения данной темы с реализацией программ в игровом мире Minecraft [3]. Сюжет игры строится на том, что необходимо взаимодействовать с предметами окружающего мира -- кубическими конструкциями различного типа, искать ископаемые ресурсы, выполнять сценарии и взаимодействовать с другими игроками. Рассмотрим возможность интегрировать программный код, написанный в среде разработки Python и виртуального игрового мира, при помощи модуля Python IDLE (версия 3.7.1), Minecraft Python API и Spigot Minecraft сервер. Данные программы являются кросс-платформенными и могут быть установлены на различные операционные системы.

Возьмем за основу игру «Найди спрятанное» и напишем код для реализации такой игры. Случайным образом, при помощи генератора случайных чисел, разместим «золотой» блок (minecraft: gold_block). Задача игрока его обнаружить. В процессе поиска игроку будут выводиться на экран подсказки, которые сообщают, насколько далеко он находится от цели. Если цель очень далеко, то на экран выводится подсказка «Очень далеко», если близко -- «Ты у цели». Если игрок встанет на «золотой» блок, игра завершится.

Рассмотрим код такой программы:

from mcpi.minecraft import Minecraft

import Math

import time

import random

mc = Minecraft.create( )

dX = random.randint(-132, 132)

dZ = random.randint(-132, 132)

dY = mc.getHeight(dX, dZ)

block = 41

mc.setBlock(dX, dY, dZ, block)

mc.postToChat(«Co3gaeM блок»)

while True:

pos = mc.player.getPos( )

dist = math.sqrt((pos.x - dX) ** 2 + (pos.z - dZ) ** 2)

if dist > 150 :

mc.postToChat(«Очeнь далеко»)

elif dist > 75 :

тс.роз1ТоСНа1(«Далеко»)

elif dist > 38 :

mc.postToChat(«Tbi почти рядом»)

elif dist > 19 :

mc.postToChat(«He далеко»)

elif dist > 9 :

mc.postToChat(«Ty у цели»)

elif dist == 0 :

mc.postToChat(«Uenb достигнута») break

Прежде чем создать «золотой» блок, программа выбирает для него место, чтобы он не оказался под землей. Для этого используется функция getHeight ( ). Функция случайным образом выбирает координаты x и z на поверхности и находит соответствующую координату у блока, не являющегося воздухом, но расположенного выше остальных, а значит лежащего на поверхности земли. Затем программа создает «золотой» блок (block = 41), который можно разместить на указанном месте случайным образом. Команда import math импортирует модуль math, отвечающий за вычисления в языке Python. При помощи строки dist = math.sqrt((pos.x - dX) ** 2 + (pos.z - dZ) ** 2) находим расстояние от игрока до «золотого» блока. В данной формуле используется теорема Пифагора, которая определяет расстояние до объекта, в какой бы точке от координат игрока он ни находился. Сообщение-подсказку выводит программа, и его содержание зависит от удаленности игрока от объекта. Имеющаяся в конце кода команда break останавливает работу цикла.

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

Литература

1.Заславская О.Ю. Модель, алгоритм и содержание подготовки учителя информатики в современных условиях // Вестник Российского университета дружбы народов. Серия «Информатизация образования». 2007. № 4. С. 52-58.

2.Поляков К.Ю., Еремин Е.А. Информатика. 10 класс. Углубленный уровень: учебник в 2 ч. Ч.1. М.: БИНОМ. Лаборатория знаний, 2018. 344 с.

3.Amazing Activity Book For Minecrafters: Puzzles, Mazes, Dot-To-Dot, Spot The Difference, Crosswords, Maths, Word Search And More. Gameplay Publishing, 2016. 82 p.

Literatura

1.Zaslavskaya O.Yu. Model', algoritm i soderzhanie podgotovki uchitelya informatiki v sovremenny'x usloviyax // Vestnik Rossijskogo universiteta druzhby' narodov. Seriya «Informatizaciya obrazovaniya». 2007. № 4. S. 52-58.

2.Polyakov K.Yu., Eremin E.A. Informatika. 10 klass. Uglublenny'j uroven': uchebnik: v 2 ch. Ch. 1. M.: BINOM. Laboratoriya znanij, 2018. 344 s.

3.Amazing Activity Book For Minecrafters: Puzzles, Mazes, Dot-To-Dot, Spot The Difference, Crosswords, Maths, Word Search And More. Gameplay Publishing, 2016. 82 p.

Размещено на Allbest.ru


Подобные документы

  • Исторические аспекты развития линии "Алгоритмизация и программирование" в старшей школе. Изучение языка программирования Python с применением дистанционных курсов Coursera. Методическая система обучения программированию с использованием Coursera.

    дипломная работа [808,8 K], добавлен 13.12.2017

  • Программное обеспечение Python и ее основные характеристики, как программной среды. Общие сведения о языке программирования Python. Особенности применения ППП Python (x,y) с использованием его различных вычислительных модулей в учебном процессе.

    дипломная работа [2,9 M], добавлен 07.04.2019

  • Понятие и характеристики облачных технологий, модели их развертывания, технологические процессы, аспекты экономики и критика. Язык программирования Python, оценка функциональности, сравнение с аналогами. Управление облаком в Python на примере libcloud.

    курсовая работа [43,0 K], добавлен 08.06.2014

  • Разработка программ средствами библиотеки tkinter на языке Python. Изучение основы работы в текстовом редакторе Word. Описание авторской идеи анимации. Использование базовых команд и конструкций. Процесс проектирования и алгоритм разработанной программы.

    контрольная работа [125,3 K], добавлен 11.11.2014

  • Отличительные особенности языка программирования Python: низкий порог вхождения, минималистичный язык, краткий код, поддержка математических вычислений, большое количество развитых web-фреймворков. Традиционная модель выполнения программ на языке Python.

    реферат [51,9 K], добавлен 18.01.2015

  • Разработка вычислительного комплекса для преобразования параллельного десятичного кода в двоичный; вычисления суммы или разности; преобразования результата обратно в десятичный код и отображения на дисплее. Схемы логических элементов программы Minecraft.

    курсовая работа [2,5 M], добавлен 25.01.2013

  • Разработка структуры базы данных для хранения дипломных проектов в среде объектно-ориентированного программирования Python. Создание внешнего вида окон ввода-вывода информации, технологии переходов. Листинг программы с пояснениями; направления улучшения.

    курсовая работа [3,1 M], добавлен 27.02.2015

  • Анализ основ ООП, изучение языка программирования Python, применение полученных знаний на практике для реализации предметной области. Понятие и механизм инкапсуляции. Фиксирование информационной работы отеля. Диаграмма классов. Реализация на языке Python.

    курсовая работа [227,6 K], добавлен 14.05.2017

  • Об'єктно-орієнтована мова Python - сучасна мова програмування, проста у вивченні та використанні. Наявність повної стандартної бібліотеки. Середовища програмування на Python. Механізм функціонування інтерпретатора. Колекції даних, комбіновані оператори.

    презентация [753,2 K], добавлен 06.02.2014

  • Представление полиномов в виде кольцевых списков и выполнение базовых арифметических действий над ними. Реализация алгоритмов сложения, умножения и вычитания полиномов класса List на языке программирования Python 2.7. в интегрированной среде Python IDLE.

    курсовая работа [228,1 K], добавлен 11.01.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.