+ All Categories
Home > Documents > Использование языка программирования Python для … › vkr2018...

Использование языка программирования Python для … › vkr2018...

Date post: 23-Jun-2020
Category:
Upload: others
View: 13 times
Download: 0 times
Share this document with a friend
64
МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное бюджетное образовательное учреждение высшего образования «Алтайский государственный гуманитарно -педагогический университет имени В.М. Шукшина» (АГГПУ им. В.М. Шукшина) Институт естественных наук и профессионального образования Кафедра математики, физики, информатики Направление подготовки 44.03.05 Педагогическое образование Профиль подготовки: Физика и Информатика Использование языка программирования Python для обучения школьников программированию в базовом курсе информатики и ИКТ Выпускная квалификационная работа Допустить к защите Заведующий кафедрой математики, физики, информатики «_____» ___________________ 20__ ___г. _______Захаров Павел Васильевич______ (Ф.И.О.) ____________________________________ (Подпись) Выполнил студент группы __________Ф-ФИ 141__________ ________________Попов_____________ _ фамилия ___________Сергей Алексеевич_____ ___ имя, отчество ____________________________________ подпись Научный руководитель _______ доктор пед. наук, доцент ___ ___ ученая степень, ученое звание ___ _Старовиков Михаил Иванович_____ Ф.И.О. ____________________________________ подпись Оценка ____________________________________ «_____» __________________ 20______г. ____________________________________ подпись председателя ГЭК Бийск – 2019
Transcript
Page 1: Использование языка программирования Python для … › vkr2018 › file › fii_21_06_2019_08_54_25.pdf4 Введение Основы алгоритмизации

1

МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ

РОССИЙСКОЙ ФЕДЕРАЦИИ

Федеральное государственное бюджетное образовательное учреждение

высшего образования «Алтайский государственный гуманитарно-педагогический

университет имени В.М. Шукшина»

(АГГПУ им. В.М. Шукшина)

Институт естественных наук и профессионального образования

Кафедра математики, физики, информатики

Направление подготовки 44.03.05 Педагогическое образование

Профиль подготовки: Физика и Информатика

Использование языка программирования Python для обучения

школьников программированию в базовом курсе информатики и ИКТ

Выпускная квалификационная работа

Допустить к защите

Заведующий кафедрой математики,

физики, информатики

«_____» ___________________ 20__ ___г.

_______Захаров Павел Васильевич______ (Ф.И.О.)

____________________________________ (Подпись)

Выполнил студент

группы __________Ф-ФИ 141__________

________________Попов_____________ _ фамилия

___________Сергей Алексеевич_____ ___ имя, отчество

____________________________________ подпись

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

_______ доктор пед. наук, доцент ___ ___ ученая степень, ученое звание

___ _Старовиков Михаил Иванович_____ Ф.И.О.

____________________________________ подпись

Оценка

____________________________________

«_____» __________________ 20______г.

____________________________________ подпись председателя ГЭК

Бийск – 2019

Page 2: Использование языка программирования Python для … › vkr2018 › file › fii_21_06_2019_08_54_25.pdf4 Введение Основы алгоритмизации

2

МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ

РОССИЙСКОЙ ФЕДЕРАЦИИ

Федеральное государственное бюджетное образовательное учреждение

высшего образования «Алтайский государственный гуманитарно-педагогический

университет имени В.М. Шукшина»

(АГГПУ им. В.М. Шукшина)

АННОТАЦИЯ

На выпускную квалификационную работу бакалавра

студента Попова Сергея Алексеевича _____ группы _ _ Ф-ФИ141__ __

направление 44.03.05 Педагогическое образование____ ____ ________ __________ __

профиль (при наличии) Физика и Информатика________________ __ ____________

тема Использование языка программирования Python для обучения школьников

программированию в базовом курсе информатики и ИКТ_ _________________________

________

The thesis deals with the possibilities of using the Python programming language as a

means of teaching algorithmization and programming in the basic course of general secondary

education.

The first chapter substantiates the use of the Python programming language, analyzes the

scientific and methodological, regulatory and educational literature on teaching students the ba-

sics of programming in the basic course of computer science. The main features and benefits of

Python are shown.

The second chapter contains educational materials on the basics of programming using

the Python programming language in school.

Автор ВКР ______________________________ / Попов С.А. (подпись) (ФИО)

Page 3: Использование языка программирования Python для … › vkr2018 › file › fii_21_06_2019_08_54_25.pdf4 Введение Основы алгоритмизации

3

Оглавление

Введение ............................................................................................................... 4

Глава 1. Обоснование целесообразности использования языка Python в

обучении школьников основам программирования........................................... 6

1.1. Анализ ФГОС, кодификатора ЕГЭ и примерных учебных программ с

целью определения требований к результатам обучения основам

программирования в базовом курсе информатики и ИКТ в

общеобразовательной школе ............................................................................ 6

1.2. Анализ содержания школьных учебников информатики и ИКТ по

вопросам обучения языкам программирования ............................................ 10

1.3. Сравнительный анализ языков программирования, используемых в

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

1.4. Анализ научно-методической литературы по методике использования

языка Python в обучении школьников программированию .......................... 16

Глава 2. Учебно-методические материалы по использованию языка

программирования Python в обучении программированию учащихся 10-х

классов ................................................................................................................ 19

2.1. Разработка урока по теме: «Элементы языка Python и типы данных» .. 19

2.2. Разработка урока по теме: «Операции, функции, выражения» ............. 26

2.3. Разработка урока по теме: «Оператор присваивания, ввод и вывод

данных»............................................................................................................ 32

2.4. Разработка урока по теме: «Логические величины, операции,

выражения» ..................................................................................................... 39

2.5. Разработка урока по теме: «Программирование ветвлений»................. 47

2.6. Оценка эффективности разработок уроков............................................. 53

Заключение ......................................................................................................... 54

Литература .......................................................................................................... 55

Приложение 1 Презентация к уроку«Элементы языка Python и типы данных»

............................................................................................................................. 58

Page 4: Использование языка программирования Python для … › vkr2018 › file › fii_21_06_2019_08_54_25.pdf4 Введение Основы алгоритмизации

4

Введение

Основы алгоритмизации и программирования незаменимы в курсе

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

основ логического, алгоритмического и математического мышления. В этом

у учителя есть множество инструментов – языков программирования. Одним

из самых преподаваемых языков программирования в школах и

педагогических вузах стал Паскаль и его вариации. Однако Паскаль не самое

совершенное средство, Паскаль как язык устарел и больше не способен

конкурировать с современными языками программирования. К настоящему

моменту существует множество альтернатив Паскалю, одним из таких может

выступить язык программирования Python.

У учеников часто возникают проблемы с пониманием типов данных, и

с их объявлением, написанием и читаемостью кода программы. Python

позволяет решить данные пробелы, ведь данный язык отличается простым

синтаксисом и «низким порогом вхождения». Кроме того, в настоящее время

Python пользуется высоким спросом на рынке информационных технологий,

в отличии от Паскаля Python является развивающимся и востребованным

языком, занимая четвертое в списке самых популярных языков

программирования [21]. Знание Python пригодится тем ученикам, что

собираются сдавать экзамен по информатике и продолжить учебу в сфере

интернет-технологий. Простота языка поможет его освоению слабым

ученикам.

Объектом настоящего исследования является: процесс обучения

программированию в курсе информатики и ИКТ в общеобразовательной

школе.

Предмет: разработка методических материалов по использованию

языка программирования Python в обучении школьников основам

программирования в базовом курсе информатики и ИКТ.

Page 5: Использование языка программирования Python для … › vkr2018 › file › fii_21_06_2019_08_54_25.pdf4 Введение Основы алгоритмизации

5

Цель: разработать план-конспекты уроков и сопутствующие

методические материалы по изучению основ программирования с

использованием языка программирования Python в 10-х классах.

Задачи исследования:

1. Изучить научно-методическую, нормативно-правовую, учебную

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

базовом курсе информатики и ИКТ;

2. Выполнить сравнительный анализ языка программирования Python с

языком программирования Паскаль наиболее используемым в учебном

процессе в общеобразовательной школе;

3. Разработать планы-конспекты уроков и сопутствующие

методические материалы для их проведения по изучению основ

программирования с использованием языка Python;

4. Оценить эффективность методических разработок.

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

анализ содержания школьного учебного плана по дисциплине

«Информатика и ИКТ» по теме «Алгоритмизации и

программирование»;

сравнение средств алгоритмизации и языков программирования;

формализация понятий алгоритмизации и программирования;

изучение и анализ школьных учебников, научных статей, методических

разработок, нормативно-правовой документации;

моделирование учебных занятий;

экспертная оценка разработок уроков.

Page 6: Использование языка программирования Python для … › vkr2018 › file › fii_21_06_2019_08_54_25.pdf4 Введение Основы алгоритмизации

6

Глава 1. Обоснование целесообразности использования языка Python в

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

1.1. Анализ ФГОС, кодификатора ЕГЭ и примерных учебных программ

с целью определения требований к результатам обучения основам

программирования в базовом курсе информатики и ИКТ в

общеобразовательной школе

Согласно предъявляемым требованиям к предметным результатам

освоения базового курса информатики Федеральным государственным

образовательным стандартом среднего общего образования, «ученик должен

владеть умением понимать программы на выбранном универсальном

алгоритмическом языке и владеть приемами написания программы для

решения стандартной задачи с использованием основных конструкций и

отладки таких программ» [15]. Под универсальным алгоритмическим языком

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

противоречит использованию языка Python. Python обладает стандартными

алгоритмическими конструкциями и имеет гибкую систему отладки

программ.

В кодификаторе единого государственного экзамена в проверяемых

элементах содержания присутствуют пункты: языки программирования,

типы данных, основные конструкции языка программирования, система

программирования; основные этапы разработки программ, разбиение задачи

на подзадачи [14]. Кроме того, в кодификаторе перечислены следующие

проверяемые умения или способы действий: читать и отлаживать программы

на языке программирования; создавать программы на языке

программирования по их описанию [14]. Язык программирования Python

отвечает данным требованиям, однако со своими особенностями. Например,

существуют некоторые отличия в типах данных в сравнении с другими

языками. Этот вопрос будет рассмотрен позже. Кодификатор также не

Page 7: Использование языка программирования Python для … › vkr2018 › file › fii_21_06_2019_08_54_25.pdf4 Введение Основы алгоритмизации

7

устанавливает определенный язык программирования, однако, рассматривая

демонстрационный вариант Единого государственного экзамена по

информатике и ИКТ, следует отметить, что в заданиях содержательного

блока «программирование» экзаменуемым на выбор предоставляется пять

языков программирования, среди которых есть Python [13].

В примерных рабочих программах устанавливаются личностные,

метапредметные и предметные результаты. Требования к знаниям и умениям

в области программирования приведены в составе предметных результатах

обучения. В рассмотренных предметных результатах примерных рабочих

программ [3, 9, 13] формулировки требований совпадают с теми, что

приведены в ФГОСе.

В рабочей программе, составленной И.Г. Семакиным [9], указана

следующая тематика занятий для 10-го класса, рассчитанная на 18 часов (8

часов теории и 10 часов практики) при одном часе информатики в неделю и

на 35 часов (16 часов теории и 19 часов практики) при двух часах.

Глава 3. Программирование обработки информации (Паскаль).

§ 15. Элементы языка и типы данных.

§ 16. Операции, функции, выражения.

§ 17. Оператор присваивания, ввод и вывод данных.

§ 18. Логические величины, операции, выражения.

§ 19. Программирование ветвлений.

§ 20. Пример поэтапной разработки программы решения задачи.

§ 21. Программирование циклов.

§ 22. Вложенные и итерационные циклы.

§ 23. Вспомогательные алгоритмы и подпрограммы.

§ 24. Массивы.

§ 25. Организация ввода и вывода данных с использованием файлов.

§ 26. Типовые задачи обработки массивов.

§ 27. Символьный тип данных.

§ 28. Строки символов.

Page 8: Использование языка программирования Python для … › vkr2018 › file › fii_21_06_2019_08_54_25.pdf4 Введение Основы алгоритмизации

8

§ 29. Комбинированный тип данных.

Также план включает 8 практических занятий по темам теоретических

уроков. Автор в качестве изучаемого языка программирования использует

Паскаль, затрагивает все необходимые основы программирования и

рассматривает особенности структурного программирования в Паскаль.

Изучая заявленные темы, можно сделать вывод о том, что вместо языка

Паскаль с успехом может быть использован язык Python.

В рабочей программе, составленной Н.Д. Угриновичем [13],

предусматривается следящая тематика занятий. План рассчитан на 10 часов и

представлен следующими темами.

Глава 4. Алгоритмизация и основы объектно-ориентированного

программирования.

4.1. Алгоритм и кодирование основных алгоритмических структур.

4.1.1. Алгоритм и его свойства.

4.1.2. Алгоритмические структуры «ветвление» и «цикл».

4.1.3. Подпрограммы. Рекурсивные алгоритмы.

4.1.4. Приемы отладки программ. Трассировка программ.

4.1.5. Типовые алгоритмы.

4.2. История развития языков программирования.

4.3. Введение в объектно-ориентированное программирование.

4.3.1. Объекты: свойства и методы.

4.3.2. События.

4.3.3. Проекты и приложения.

4.4. Система объектно-ориентированного программирования Microsoft

Visual Studio.

4.4.1. Интегрированная среда разработки языков Visual Basic .NET и

Visual C#.

4.5. Система объектно-ориентированного программирования Lazarus.

4.6. Переменные в языках объектно-ориентированного

программирования.

Page 9: Использование языка программирования Python для … › vkr2018 › file › fii_21_06_2019_08_54_25.pdf4 Введение Основы алгоритмизации

9

4.7. Графический интерфейс.

Практическая работа 4.1 Создание проекта «Консольное приложение»

Практическая работа 4.2 Создание проекта «Переменные»

Практическая работа 4.3 Создание проекта «Отметка»

Практическая работа 4.4 Создание проекта «Перевод целых чисел»

Обучение программированию представлено сразу несколькими

языками программирования, основное внимание уделено изучению

объектно-ориентированного программирования. Такая парадигма

программирования также поддерживается в Python, содержание данной

рабочей программы может быть реализовано с помощью языка Python.

Тематический блок «Алгоритмы и элементы программирования»

присутствует в рабочей программе за авторством Л.Л Босовой [3].

Программа рассчитана на 9 часов (5 часов теории и 4 часа практики) и

включает следующие темы занятий по основам программирования,

изучаемых в 11-ом классе.

Глава 2. Алгоритмы и элементы программирования.

§ 5. Основные сведения об алгоритмах.

§ 6. Алгоритмические структуры.

§ 7. Запись алгоритмов на языках программирования.

§ 8. Структурированные типы данных. Массивы.

§ 9. Структурное программирование.

Рабочая программа схожа с программой И.Г. Семакина, используется

язык программирования Паскаль и рассматриваются принципы структурного

программирования. Однако глава существенно меньше и отсутствуют

отдельные практические занятия. Несмотря на отмеченные различия,

программа в полном объеме может быть реализована при использовании

языка Python.

Подводя итог рассмотрения нормативно-правовых актов, учебников,

рабочих программ следует заметить, что учитель имеет право выбрать язык

программирования Python в качестве средства обучения основам

Page 10: Использование языка программирования Python для … › vkr2018 › file › fii_21_06_2019_08_54_25.pdf4 Введение Основы алгоритмизации

10

алгоритмизации и программирования. Данный язык позволяет достичь

требуемых результатов обучения и в полной мере обеспечивает учебный

процесс.

1.2. Анализ содержания школьных учебников информатики и ИКТ по

вопросам обучения языкам программирования

Возьмем за основу три популярных учебника в средней школе, учебник

за 10-ый класс под авторством И.Г. Семакина, Н.Д. Угриновича за 10-ый

класс и Л.Л. Босовой за 11-ый класс.

Наиболее полно основы алгоритмизации и программирования

отражены в учебнике И. Г. Семакина [8], объем главы, отведённой под

данную тему, составляет 18 часов, что составляет более половины учебника.

Большой упор сделан как на теоретические основы, так и на практические

занятия.

В качестве языка программирования используется Паскаль и

структурная парадигма программирования. Однако Паскаль вводится не

сразу. В начале главы основные конструкции, типы данных объясняются

блок-схемами, таблицами и Алгоритмическим языком. Следом идет история

языков программирования, их различия и особенности языка Паскаль.

Досконально разбирается его структура, синтаксис, операторы и выражения,

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

ввод и вывод из файлов, работа со строками и символами, комбинированным

типом данных. В главу входят и практические работы, направленные на

закрепление материала. Разные уровни задач помогают справится с работами

разным по силе ученикам.

Автор последовательно излагает материал, в главу входят все

необходимые знания по программированию, уделено большое внимание

разбору примеров. Использование языка Python не только сможет

Page 11: Использование языка программирования Python для … › vkr2018 › file › fii_21_06_2019_08_54_25.pdf4 Введение Основы алгоритмизации

11

реализовать данное содержание обучения, но и, на наш взгляд, представить

его в более доступном для учащихся виде.

Программирование в учебнике Н.Д. Угриновича [12] за 10-й класс

представлено главой «Алгоритмизация и основы объектно-ориентированного

программирования». Основное внимание уделяется изучению парадигмы

объектно-ориентированного программирования и созданию графического

интерфейса. Изучаются присущие данным особенностям языки

программирования Visual Basic .NET, Visual C# и Lazarus. Весь

теоретический материал и практические занятия рассматривается и

выполняется одновременно на трех языках. Python, наряду со структурным,

поддерживает объектно-ориентированное программирование и может

раскрыть содержание учебника, заменив используемые языки. Однако в Py-

thon создание программ с графическим интерфейсом значительно отличается

от создания программ в Visual Studio. Так как в Python нет единого

инструмента для создания таких программ, учителю потребуется время

чтобы адаптировать материал под Python.

В учебнике для среднего общего образования под авторством Л.Л.

Босовой [2] программирование представлено в 11-ом классе главой

«Алгоритмы и элементы программирования». В данном учебнике авторами

для изучения выбран Паскаль. Данная глава включает все стандартные

понятия и основные конструкции. Особое внимание уделено работе с

массивами, их обработке, поиску элементов, сортировкам. Вводится общее

представление о структурном программировании и вспомогательных

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

примерами и практическими заданиями после параграфа. Использование

языка Python не только сможет реализовать данное содержание обучения, но

и, на наш взгляд, представить его в более доступном для учащихся виде.

Подводя итог рассмотрения школьных учебников, сделаем вывод, что

язык программирования Python может заменить используемые языки в

Page 12: Использование языка программирования Python для … › vkr2018 › file › fii_21_06_2019_08_54_25.pdf4 Введение Основы алгоритмизации

12

данных учебниках, поскольку Python поддерживает структурную и объектно-

ориентированную парадигмы программирования.

1.3. Сравнительный анализ языков программирования, используемых в

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

Перед тем как производить сравнение языков программирования,

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

Python – интерпретируемый высокоуровневый язык программирования

общего назначения, ориентированный на повышение производительности

разработчика и читаемости кода [19]. Созданный Гвидо ван Россумом и

впервые выпущенный в 1991 году, Python поддерживает структурное,

объектно-ориентированное, функциональное, императивное и аспектно-

ориентированное программирование [20].

Python распространяется бесплатно и является кроссплатформенным. В

большинстве дистрибутивов операционной системы Linux, установленной в

большинстве школ, содержится интерпретатор Python.

Разберем главные отличительные особенности языка

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

1. Простой синтаксис.

Python вместо знаков препинания или ключевых слов (в Паскале

такими словами являются «begin» и «end»), использует отступы для

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

другими нарушениями в структуре, не смогут быть выполненными в Python.

Такая особенность позволит сократить размер кода и увеличить читаемость

программы. Синтаксис Python приучит школьников писать «красивый код»,

что улучшит написание и понимание кода. Так, например, отличаться запись

цикла на Паскале и Python (Таблица 1).

Page 13: Использование языка программирования Python для … › vkr2018 › file › fii_21_06_2019_08_54_25.pdf4 Введение Основы алгоритмизации

13

Таблица 1

Сравнение синтаксиса цикла с предусловием в Паскаль и Python

Паскаль Python

while s + n < 150 do

begin

s := s + 15;

n := n - 5

end;

writeln(n)

while s + n < 150:

s = s + 15

n = n - 5

print(n)

2. Динамическая типизация.

Python обладает динамической типизацией. Это означает что

переменная связывается с типом во время присваивания значения, а значит

нет необходимости заранее объявлять переменную. Это упрощает понимание

типов данных и разрешает путаницу в различных длинах целочисленных и

вещественных, строковых и символьных типах, а также сокращает размер

кода. Сравнение объявления переменных в Паскаль и Python (Таблица 2).

Таблица 2

Сравнение синтаксиса объявления переменных в Паскаль и Python

Паскаль Python

var s, n: integer;

begin

s := 0;

s = 0

n = 75

Page 14: Использование языка программирования Python для … › vkr2018 › file › fii_21_06_2019_08_54_25.pdf4 Введение Основы алгоритмизации

14

n := 75;

end.

3. Компактный код.

Одно из очевидных достоинств языка. Python – компактность

программного кода. Например, решение задачи – поменять местами значения

двух переменных – на языке Паскаль решается в три оператора [7], в Python в

одну строку (Таблица 3):

Таблица 3

Сравнение синтаксиса переприсвоения переменных в Паскаль и Python

Паскаль Python

c := a;

a := b;

b := c;

a, b = b, a

4. Высокоуровневые типы данных.

Python, будучи языком очень высокого уровня, имеет встроенные типы

данных высокого уровня, такие как динамические массивы (списки) и

словари [23].

В языке Python нет массивов в привычном понимании этого термина,

но зато есть списки, которые можно считать расширением понятия

“динамический массив”. Мы можем отдельно работать с каждым элементом

списка, а можем выполнять операции со всем списком, например, добавлять

и удалять элементы, копировать части списка, сортировать [7]. Рассмотрим

пример на заполнение массива одинаковыми значениями (Таблица 4). Python

справляется с этой задачей в одну строку, продублировав массив, состоящий

из одного нуля.

Page 15: Использование языка программирования Python для … › vkr2018 › file › fii_21_06_2019_08_54_25.pdf4 Введение Основы алгоритмизации

15

Таблица 4

Сравнение синтаксиса заполнения массива в Паскаль и Python

Паскаль Python

const n = 100;

var a: array[0..n - 1] of integer;

for i := 0 to n - 1 do

a[i] := 0;

n = 100

a = [0] * n

5. Интерактивный режим в Python.

Python может значительно сэкономить время при разработке

программы, поскольку не требует компиляции [23]. Для трансляции

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

может использоваться в интерактивном режиме, что позволяет легко

экспериментировать с функциями языка, писать одноразовые программы или

тестировать функции во время разработки программ [23]. Интерактивный

режим подойдет для самых первых уроков изучения Python, так как

обеспечивает наглядность процесса программирования (Таблица 5).

Таблица 5

Интерактивный режим в Python

Python

>>> 50 – 5 * 6

20

Page 16: Использование языка программирования Python для … › vkr2018 › file › fii_21_06_2019_08_54_25.pdf4 Введение Основы алгоритмизации

16

>>> (50 – 5 * 6) / 4

5.0

На основании данных отличий можно сделать вывод, что синтаксис и

структура основных алгоритмических конструкций в Python во многом схожа

с Паскалем. Однако они приведены в совершенный вид, код стал чище и

короче, кроме того, Python поддерживает современные типы данных и

необходимые функции для работы с ними. Это делает язык подходящим для

первого знакомства с программированием, в особенности для школьников, и

легким для изучения самим учителем.

1.4. Анализ научно-методической литературы по методике

использования языка Python в обучении школьников

программированию

Интерес к Python в последнее время возник не только у программистов,

но и педагогов. Стали появляться работы, посвященные предпосылкам

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

планированию, результатам апробаций и опыту преподавания. Рассмотрим

статьи по нашей тематике.

Автор статьи «Структура, содержание и методические подходы к

преподаванию языка программирования Python в школе» [16] Н.Е. Федорова

разработала курс «Основы алгоритмизации и программирования», в качестве

основы выбрав язык программирования Python, заинтересовавший автора

простым синтаксисом, полезными функциями и поддержкой императивной и

объектно-ориентированной парадигм программирования. Содержание курса

представлено двумя модулями «Алгоритмизация и исполнители» (8-9 класс),

«Алгоритмизация и объектно-ориентированное программирование» (10-11

класс).

Page 17: Использование языка программирования Python для … › vkr2018 › file › fii_21_06_2019_08_54_25.pdf4 Введение Основы алгоритмизации

17

Автор, подмечая, что Python язык интерпретируемый, предполагает,

что «при его изучении можно использовать метод проб и ошибок, что

превращает программирование в игру» [16]. Использование Python как

калькулятора при работе в интерактивном режиме должно закрепить за

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

принцип наглядности.

Говоря о объектно-ориентированном программировании, автор,

отмечает то, что ввиду сложности раздела, каждой теме теоретического

материала соответствует практическая работа, предназначенная для

закрепления полученных теоретических сведений на практике. Сначала

решаются элементарные задачи, далее предлагаются задания по разработке

индивидуального проекта с целью закрепления полученных знаний.

Анализ апробации данного курса показал, что 90% учащихся

справились с программой курса и заинтересованность в изучении этого

направления.

Автор статьи «Язык программирования python в качестве

дополнительного языка программирования в школе» [1] В.В. Абрамовских

ставит во главе вопрос реализации принципа компетентностного подхода,

говоря о популярности профессии программиста. И для чтобы удовлетворить

современным требованиям, необходимо внедрить дополнительный язык

программирования. Далее автор останавливается на преимуществах Python и

внешних причинах.

Упоминается эффективный контроль кода, простота синтаксиса,

динамическая типизация данных. Также отмечается востребованность языка

такими крупными компаниями как Google, YouTube, Pixar, NASA, поддержка

языка на олимпиадах всероссийского уровня и в заданиях по

программированию на ЕГЭ.

В своей статье «Python как основной язык программирования в средней

школе» [10] Н.А. Сорокина рассматривает язык Python, его достоинства и

недостатки, обосновывает выбор изучения языка в средней школе.

Page 18: Использование языка программирования Python для … › vkr2018 › file › fii_21_06_2019_08_54_25.pdf4 Введение Основы алгоритмизации

18

Автор касается недостатков языка программирования Python:

программы на Python работают медленнее, чем созданные на компилируемых

языках (C, C++). Автор также относит к недостаткам, то, что нами

определялось как положительное качество, а именно, необходимость

приручать к грамотному написанию программного кода. Автор

аргументирует это следующим: «В большой и объемной задаче при

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

исправления». К недостаткам автор также относит наличие различных версий

языка, которое может повлечь за собой несовместимость некоторых

программ.

Рассмотренные статьи, пропагандирующие включение Python в школу,

сводятся к перечислению отличительных особенностей и плюсов, редко –

минусов. Наши мысли схожи. Многие отмечают развитие сферы интернет-

технологий и необходимость актуализации и осовременивания знаний,

преподаваемых в школе. Отмечается рост популярности языка, его

востребованность профессиональными программистами, включение языка

Python в ЕГЭ и в школьные олимпиады. Отмечаются также его технические

достоинства, особо легкий синтаксис и краткость записей.

Page 19: Использование языка программирования Python для … › vkr2018 › file › fii_21_06_2019_08_54_25.pdf4 Введение Основы алгоритмизации

19

Глава 2. Учебно-методические материалы по использованию языка

программирования Python в обучении программированию

учащихся 10-х классов

Для создания план-конспектов уроков воспользуемся учебно-

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

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

«Программирование обработка информации» под язык программирования

Python. В качестве теоретического материала по языку программирования

Python использованы следующие информационные источники [4, 5, 6, 17, 18,

22, 23]. Технологические карты и ход уроков представлены в таблицах 6-16.

2.1. Разработка урока по теме: «Элементы языка Python и типы данных»

Таблица 6

Технологическая карта урока информатики

УМК Информатика. Базовый уровень: учебник для 10

класса / И. Г. Семакин, Е. К. Хеннер, Т. Ю. Шеина.

Раздел программы Программирование обработки информации

Тема урока Элементы языка Python и типы данных

Класс 10

Тип урока Комбинированный

Цели Рассмотреть систему основных понятий в Python.

Задачи урока: Познавательные:

сформировать знания учащихся о языке

программирования Python, его алфавите, правилах

создания идентификаторов, написанию

комментариев, типах данных.

Page 20: Использование языка программирования Python для … › vkr2018 › file › fii_21_06_2019_08_54_25.pdf4 Введение Основы алгоритмизации

20

Развивающие:

развить понимание элементов языка

программирования Python и типов данных.

Воспитывающие:

способствовать развитию познавательного

интереса к программированию, повысить

информационную культуру обучающихся.

Основные понятия: Язык программирования, алфавит языка,

идентификатор, комментарии, типы данных.

Формы работы: Фронтальная, индивидуальная.

Методы работы: Информационный (словесный), наглядный,

иллюстративный, практический.

Оборудование урока Доска, компьютерная презентация, проектор,

компьютеры, программное обеспечение:

интерпретатор Python.

Структура урока:

1. Организационный момент, постановка цели урока и мотивация

учебной деятельности;

2. Изложение нового материала;

3. Подведение итогов урока;

4. Домашнее задание;

5. Рефлексия.

Таблица 7

Ход урока

1. Орг. момент

Деятельность учителя Деятельность Примечание

Page 21: Использование языка программирования Python для … › vkr2018 › file › fii_21_06_2019_08_54_25.pdf4 Введение Основы алгоритмизации

21

обучающихся

Приветствует учеников, проверяет

готовность обучающихся к урокам.

Приветствуют

учителя,

демонстрируют

готовность к

уроку.

2. Изложение нового материала.

Сегодня мы начинаем изучение

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

Слышали вы про него? Это современный

и востребованный язык, кроме того, очень

простой и легкий в изучении. В учебнике

изучается Паскаль, не смотря на

некоторую схожесть языков, между ними

множество отличий. Эти самые отличия

будем записывать в тетрадь.

Языку программирования Python,

как и другим языкам присуща система

основных понятий, в нее входят состав

программы на Python, то есть элементы

языка, комментарии; типы данных,

простые типы, структурные типы. Перед

тем начать программировать рассмотрим

данную систему.

Алфавит. Алфавит языка Python

состоит из множества символов,

включающих в себя буквы, цифры и

специальные символы.

Латинские буквы: от A до Z

Выполняют

записи в

тетради,

отвечают на

вопросы

учителя.

Изложение

материала

сопровождается

презентацией.

Page 22: Использование языка программирования Python для … › vkr2018 › file › fii_21_06_2019_08_54_25.pdf4 Введение Основы алгоритмизации

22

(прописные) и от a до z. (строчные).

Цифры: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.

Специальные символы и

комбинации символов: + – * / = < > [ ] . , (

) : ; { } ^ @ $ #, пробел.

Идентификаторы.

Идентификатором называется

символическое имя определенного

программного объекта. Такими объектами

являются имена констант, переменных,

типов данных, процедур и функций,

программ. Идентификаторы формируются

по следующим правилам: имя может

состоять из буквы или

последовательности букв, цифр и символа

подчеркивания, начинаться такая

последовательность не должна начинаться

с цифры; желательно, чтобы имя

отражало смысл величины; имя не

должно совпадать ни с одним из

зарезервированных слов. Название

переменных, как и служебные слов

зависит от регистра.

Для того, чтобы отметить, что

делает тот или иной участок кода можно

применить комментарии. Интерпретатор

игнорирует комментарии, что не

оказывает влияние на работоспособность

программы. Перед комментарием

Page 23: Использование языка программирования Python для … › vkr2018 › file › fii_21_06_2019_08_54_25.pdf4 Введение Основы алгоритмизации

23

необходимо поставить знак решетки «#».

Пример комментария «# Ввод степени

числа».

Буквы русского алфавита

употребляются только в комментариях и

строковом типе.

Концепция типов данных является

одной из центральных в любом языке

программирования. С типом величины

связаны три ее свойства: форма

внутреннего представления, множество

принимаемых значений и множество

допустимых операций. Python располагает

множеством типов данных.

Логический тип (Boolean) – bool.

Представленный предопределенными

объектами True и False, ЛОЖЬ и

ПРАВДА. Важно заметить, что эти два

значения являются служебными, и их

написание всегда должно быть с большой

буквы.

Числа представлены двумя типами,

целочисленным (Integer) – int, и

вещественными (Float) – float для чисел с

плавающей точкой.

Также существует еще один

численный тип complex для комплексных

чисел, однако не станем вдаваться в

подробности столь непростого множества

Page 24: Использование языка программирования Python для … › vkr2018 › file › fii_21_06_2019_08_54_25.pdf4 Введение Основы алгоритмизации

24

чисел.

Строковый тип данных (String) – str.

Помимо чисел, Python также может

манипулировать строками, которые могут

быть выражены несколькими способами.

Они могут быть заключены в одинарные

кавычки ('...') или двойные кавычки ("...")

с одинаковым результатом.

Python включает несколько

составных типов данных, используемых

для группировки других элементов.

Наиболее универсальным является список

(list), иногда еще называемый массивом,

который можно записать в виде списка

элементов, разделенных запятыми, в

квадратных скобках. Списки могут

содержать элементы разных типов, но

обычно все элементы имеют одинаковый

тип. Пример списка: «fibonacci = [0, 1, 1,

2, 3, 5, 8]».

Словари (Dictionary) – dict. Словарь

представляет из себя набор

последовательностей «ключ: значение»

заключенные в фигурные скобки, и

разделенные запятыми. Словари удобно

использовать всегда, когда возникает

необходимость связать значения с

ключами, например, чтобы описать

свойства чего-либо. Словари можно

Page 25: Использование языка программирования Python для … › vkr2018 › file › fii_21_06_2019_08_54_25.pdf4 Введение Основы алгоритмизации

25

помешать внутри других словарей.

Например, словарем можно представить

школьный журнал: «journal = {‘Смирнов’:

4, ‘Попов’: 5}».

Кортеж – tuple. В общих чертах

напоминает список, который невозможно

изменить – кортежи являются

последовательностями, как списки, но они

являются неизменяемыми, как строки.

Синтаксически литерал кортежа

заключается в круглые, а не в квадратные

скобки. Пример кортежа: T = (1, 2, 3, 4).

Множества – set. Множества – это

неупорядоченные коллекции уникальных

и неизменяемых объектов. Множества

создаются фигурными скобками, как

словарь, однако перечисляются запятыми

как список. Пример множества: Y = {‘h’,

‘a’, ‘m’}.

3. Подведение итогов урока

Чему научились на уроке? Есть ли

вопросы к учителю?

Ученики

отвечают на

вопросы

учителя.

4. Домашняя задание

Повторить содержание элементов

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

структура алфавита; определение

идентификатора и правила задания

Записывают

домашнее

задание.

Page 26: Использование языка программирования Python для … › vkr2018 › file › fii_21_06_2019_08_54_25.pdf4 Введение Основы алгоритмизации

26

идентификатора.

5. Рефлексия

Большое всем спасибо за работу.

Очень рад, что вы внимательно слушали,

помогали мне в работе. И теперь главное,

хорошо подготовиться дома к

следующему занятию.

Благодарят

учителя.

2.2. Разработка урока по теме: «Операции, функции, выражения»

Таблица 8

Технологическая карта урока информатики

УМК Информатика. Базовый уровень: учебник для 10

класса / И. Г. Семакин, Е. К. Хеннер, Т. Ю. Шеина.

Раздел программы Программирование обработки информации

Тема урока Операции, функции, выражения

Класс 10

Тип урока Комбинированный

Цели Рассмотреть базовые операции, функции и

выражения в Python.

Задачи урока: Познавательные:

сформировать знания учащихся о языке

программирования Python, его операциях,

функциях, выражениях.

Развивающие:

развить понятие о базовых арифметических

операциях и математических функциях.

Page 27: Использование языка программирования Python для … › vkr2018 › file › fii_21_06_2019_08_54_25.pdf4 Введение Основы алгоритмизации

27

Воспитывающие:

содействовать развитию познавательного интереса

к программированию математических формул.

Основные понятия: Операция, функция, выражение.

Формы работы: Фронтальная, индивидуальная.

Методы работы: Информационный (словесный), наглядный,

иллюстративный, практический.

Оборудование урока Доска, компьютерная презентация, проектор,

компьютеры, программное обеспечение:

интерпретатор Python.

Структура урока:

1. Организационный момент, постановка цели урока и мотивация

учебной деятельности;

2. Изложение нового материала;

3. Подведение итогов урока;

4. Домашнее задание;

5. Рефлексия.

Таблица 9

Ход урока

1. Орг. момент

Деятельность учителя Деятельность

обучающихся

Примечание

Приветствует учеников,

проверяет готовность обучающихся к

урокам.

Приветствуют

учителя,

демонстрируют

готовность к

Page 28: Использование языка программирования Python для … › vkr2018 › file › fii_21_06_2019_08_54_25.pdf4 Введение Основы алгоритмизации

28

уроку.

2. Изложение нового материала в лекционной форме

Арифметические операции. К

числовым типам данных относятся

группы вещественных и целочисленных

типов. К ним применены

арифметические операции и операции

отношений.

Операции над данными бывают

унарными, применимые к одному

операнду, и бинарные, применимые к

двум операндам. Для первых шагов в

программировании ограничимся

изучением одной унарной

арифметической операцией в Python.

Это операция изменения знака. Ее

формат: - <Величина>.

Перечислим бинарные

арифметически операции.

+ A + B Сложение

- A - B Вычитание

* A * B Умножение

/ A / B Деление

// A // B Целочисленное деление

% A % B Остаток от

целочисленного деления

Стандартные функции. В Python

существуют большое количество

Выполняют

записи в

тетради,

отвечают на

вопросы

учителя

Изложение

материала

сопровождается

презентацией

Page 29: Использование языка программирования Python для … › vkr2018 › file › fii_21_06_2019_08_54_25.pdf4 Введение Основы алгоритмизации

29

стандартных функций, к которым

программист может обращаться в своих

программах. Наиболее часто

используются математические

функции, например: math.sqrt(x) –

квадратный корень, abs(х) – абсолютная

величина, math.sin(х) и др. Часто

используемые стандартные функции:

input(...) – функции ввода, print(...) –

процедура вывода данных.

Стандартные функции являются

внешними подпрограммами по

отношению к вызывающей их

программе. Они объединены в модули,

которые подключаются к основной

программе и становятся доступными

для использования. Наиболее часто

используемый модуль – Модуль math,

один из наиважнейших в Python. Этот

модуль предоставляет обширный

функционал для работы с числами.

Для подключения других модулей

необходимо в начале программы

написать строку: «import». Модуль math

подключается следующим образом: im-

port math.

Арифметические выражения.

Арифметическое выражение задает

порядок выполнения действий над

Page 30: Использование языка программирования Python для … › vkr2018 › file › fii_21_06_2019_08_54_25.pdf4 Введение Основы алгоритмизации

30

числовыми величинами.

Арифметические выражения содержат

числовые константы и переменные,

арифметические операции, функции,

круглые скобки.

Например, рассмотрим

математическое выражение.

2𝑎 + √0,5 sin(𝑥 + 𝑦)

0,2𝑐 − ln(𝑥 − 𝑦)

В Python оно выглядит так:

(2 * a + math.sqrt(0.5 * math.sin(x +

y))) / (0.2 * c - math.log(x - y))

Для того чтобы правильно

записывать арифметические

выражения, нужно соблюдать

следующие правила.

1. Все символы пишутся в

строчку на одном уровне.

Проставляются все знаки операций, то

есть знак умножения пропускать

нельзя.

2. Не допускаются два

следующих подряд знака операций, за

исключение знака минус, который

можно поставить перед числом,

которое хотим сделать отрицательным.

3. Операции с более высоким

приоритетом выполняются раньше

операций с меньшим приоритетом.

Page 31: Использование языка программирования Python для … › vkr2018 › file › fii_21_06_2019_08_54_25.pdf4 Введение Основы алгоритмизации

31

Порядок убывания приоритетов:

вычисление функции; унарная операция

смены знака (-); *, /, //, %; +, -.

4. Несколько записанных подряд

операций одинакового приоритета

выполняются последовательно слева

направо.

5. Часть выражения, заключенная

в скобки, вычисляется в первую

очередь.

Не следует записывать

выражения, не имеющие

математического смысла, например

деление на нуль, логарифм

отрицательного числа и т. п.

Запишем следующую таблицу

стандартных математических функций

Python.

math.pi Число Пи

math.factorial(X) Факториал числа X

math.sqrt(X) Квадратный

корень из X

math.sin(X) Синус X (X

указывается в

радианах)

math.cos(X) Косинус X (X

указывается в

радианах).

Page 32: Использование языка программирования Python для … › vkr2018 › file › fii_21_06_2019_08_54_25.pdf4 Введение Основы алгоритмизации

32

math.degrees(X) Конвертирует

радианы в градусы

math.radians(X) Конвертирует

градусы в радианы

round(X) Округление

3. Подведение итогов урока

Чему научились на уроке? Есть

ли вопросы к учителю?

Ученики

отвечают на

вопросы

учителя.

4. Домашняя задание

Выполнить задания 1 и 2 после

параграфа 16.

Записывают

домашнее

задание.

5. Рефлексия

Большое всем спасибо за работу.

Очень рад, что вы внимательно

слушали, помогали мне в работе. И

теперь главное, хорошо подготовиться

дома к следующему занятию.

Благодарят

учителя.

2.3. Разработка урока по теме: «Оператор присваивания, ввод и вывод

данных»

Таблица 10

Технологическая карта урока информатики

УМК Информатика. Базовый уровень: учебник для 10

Page 33: Использование языка программирования Python для … › vkr2018 › file › fii_21_06_2019_08_54_25.pdf4 Введение Основы алгоритмизации

33

класса / И. Г. Семакин, Е. К. Хеннер, Т. Ю. Шеина.

Раздел программы Программирование обработки информации

Тема урока Оператор присваивания, ввод и вывод данных

Класс 10

Тип урока Комбинированный

Цели Рассмотреть оператор присваивания, ввод и вывод

информации в Python.

Задачи урока: Познавательные:

сформировать знания учащихся о языке

программирования Python, операторе

присваивания, вводе и выводе данных.

Развивающие:

развить понимание присвоения значений,

введённых с клавиатуры и выводу сообщений на

монитор.

Воспитывающие:

развить познавательный интерес к

программированию ввода и вывода значений.

Основные понятия: Операция, функция, выражение.

Формы работы: Фронтальная, индивидуальная.

Методы работы: Информационный (словесный), наглядный,

иллюстративный, практический.

Оборудование урока Доска, компьютерная презентация, проектор,

компьютеры, программное обеспечение:

интерпретатор Python.

Структура урока:

1. Организационный момент, постановка цели урока и мотивация

учебной деятельности;

Page 34: Использование языка программирования Python для … › vkr2018 › file › fii_21_06_2019_08_54_25.pdf4 Введение Основы алгоритмизации

34

2. Изложение нового материала;

3. Самостоятельная работа;

4. Подведение итогов урока;

5. Домашнее задание;

6. Рефлексия.

Таблица 11

Ход урока

1. Орг. момент

Деятельность учителя Деятельность

обучающихся

Примечание

Приветствует учеников,

проверяет готовность обучающихся к

урокам.

Приветствуют

учителя,

демонстрируют

готовность к

уроку.

2. Изложение нового материала в лекционной форме

Присваивание – это действие, в

результате которого переменная

величина получает определенное

значение. Оператор присваивания

имеет следующий формат:

<Переменная> = <Выражение>.

Например:

1. x = 2 * a + math.sqrt(b)

2. b = (x > y) and (k != 0)

Сначала вычисляется выражение,

затем полученное значение

Выполняют

записи в тетради,

отвечают на

вопросы учителя

Изложение

материала

сопровождается

презентацией

Page 35: Использование языка программирования Python для … › vkr2018 › file › fii_21_06_2019_08_54_25.pdf4 Введение Основы алгоритмизации

35

присваивается переменной. В первом

примере приведен арифметический

оператор присваивания. Во втором

примере логический оператор

присваивания. При присвоении типы

переменной и выражения могут не

совпадать, при следующем присвоении,

тип переменной подстроиться под

новое значение, данное свойство типов

называется динамической типизацией.

Python обладает динамической

типизацией, это значит, что тип данных

присваивается вместе со значением, а

значит если переприсвоить тип

некоторой переменной, значит

переприсвоить ее тип. Однако это

правило касается лишь присвоения,

существуют функции, которые

подразумевают определенный тип

данных.

Ввод и вывод данных. Под

вводом понимается передача данных с

внешнего устройства компьютера, с

клавиатуры в оперативную память. При

выводе данные передаются из

оперативной памяти на внешнее

устройство, на монитор.

Операция ввода называется

чтением и выполняется с помощью

Page 36: Использование языка программирования Python для … › vkr2018 › file › fii_21_06_2019_08_54_25.pdf4 Введение Основы алгоритмизации

36

оператора input(). Вывод называется

записью, и для его выполнения

используется print(). Внутрь скобок

помещается аргумент функции.

Ввод данных с клавиатуры.

Присвоим некоторой переменной

запись с клавиатуры, для этого

воспользуемся функцией input(). Эту

функцию следует присвоить некоторой

переменной. В качестве аргумента

функции введем то, сообщение, которое

выведется при вводе с клавиатуры,

например таким сообщением может

быть: «Как вас зовут?». Например так,

name = input(“Как вас зовут?”).

При выполнении этого оператора

происходит прерывание исполнения

программы, после чего пользователь

должен набрать на клавиатуре значения

переменной. При этом вводимое

значение высвечивается на экране. По

окончанию ввода нажимается клавиша

Enter. Если операторов input несколько,

значит каждый из них будет при

исполнении отделяться клавишой Enter.

Вывод данных. Выведем

сообщение “Hello World!”, для этого

используем функцию print().

Аргументом данной функции является

Page 37: Использование языка программирования Python для … › vkr2018 › file › fii_21_06_2019_08_54_25.pdf4 Введение Основы алгоритмизации

37

запись некоторого типа или

переменная, полная запись будет

выглядеть так: print(‘Hello World!’) или

так

a = ‘Hello World!’

print(a).

Аргументы функций input() и

Print() может принимать несколько

значений. Отделяются переменные

запятыми. Например:

name = “Сергей”

print(‘Привет, ’, name)

Линейная программа. Следование

– простейшая алгоритмическая

структура. Программа, реализующая

следование, называется линейной

программой.

Одним из обязательных условий

хорошего стиля программирования

является организация диалога между

компьютером и пользователем. Такое

диалоговое взаимодействие называется

интерактивным интерфейсом.

4. Самостоятельная работа.

Запустим интерпретатор Python,

программа называется IDLE и

выполним два простых задания на

создание линейной программы.

Пример 1. Составим линейную

Выполняют

самостоятельную

работу.

Page 38: Использование языка программирования Python для … › vkr2018 › file › fii_21_06_2019_08_54_25.pdf4 Введение Основы алгоритмизации

38

программу, по которой в диалоге будут

вводиться два целых числа с

клавиатуры и вычисляться их

произведение.

A = input(‘A = ’)

B = input(‘B = ’)

print(A, ‘ * ’, B, ‘ = ’, A * B)

Пример 2. Дано натуральное

трехзначное число. Требуется

вычислить сумму его цифр. Например,

если дано число 325, то в результате

должно получиться: 3 + 2 + 5 = 10.

Сначала составим программу, а

потом ее прокомментируем.

N = input(‘Введите трехзначное

число: ’)

Sum = 0

Sum = Sum + N % 10

N = N // 10

Sum = Sum + N % 10

N = N // 10

Sum = Sum + N

print(‘Сумма цифр = ’, Sum)

В этой программе использованы

две операции целочисленной

арифметики: «//» - целочисленное

деление и % - остаток от

целочисленного деления. Остаток от

деления 10 выделяет младшую цифру

Page 39: Использование языка программирования Python для … › vkr2018 › file › fii_21_06_2019_08_54_25.pdf4 Введение Основы алгоритмизации

39

числа, а целочисленное деление на 10

отбрасывает младшую цифру.

4. Подведение итогов урока

Чему научились на уроке? Есть

ли вопросы к учителю?

Ученики

отвечают на

вопросы

учителя.

5. Домашняя задание

Выполнить задания 1 и 6 после

параграфа 17.

Записывают

домашнее

задание.

6. Рефлексия

Большое всем спасибо за работу.

Очень рад, что вы внимательно

слушали, помогали мне в работе. И

теперь главное, хорошо подготовиться

дома к следующему занятию.

Благодарят

учителя.

2.4. Разработка урока по теме: «Логические величины,

операции, выражения»

Таблица 12

Технологическая карта урока информатики

УМК Информатика. Базовый уровень: учебник для 10

класса / И. Г. Семакин, Е. К. Хеннер, Т. Ю. Шеина.

Раздел программы Программирование обработки информации

Тема урока Логические величины, операции, выражения

Класс 10

Page 40: Использование языка программирования Python для … › vkr2018 › file › fii_21_06_2019_08_54_25.pdf4 Введение Основы алгоритмизации

40

Тип урока Комбинированный

Цели Рассмотреть логические величины, операции,

выражения в Python.

Задачи урока: Познавательные:

сформировать знания учащихся о языке

программирования Python, логических величинах,

операциях, выражениях.

Развивающие:

развить понятие логического тип Boolean.

Воспитывающие:

развить познавательный интерес к

программированию логических отношений.

Основные понятия: Операция, функция, выражение.

Формы работы: Фронтальная, индивидуальная.

Методы работы: Информационный (словесный), наглядный,

иллюстративный, практический.

Оборудование урока Доска, компьютерная презентация, проектор,

компьютеры, программное обеспечение:

интерпретатор Python.

Структура урока:

1. Организационный момент, постановка цели урока и мотивация

учебной деятельности;

2. Изложение нового материала;

3. Подведение итогов урока;

4. Домашнее задание;

5. Рефлексия.

Таблица 13

Page 41: Использование языка программирования Python для … › vkr2018 › file › fii_21_06_2019_08_54_25.pdf4 Введение Основы алгоритмизации

41

Ход урока

1. Орг. момент

Деятельность учителя Деятельность

обучающихся

Примечание

Приветствует учеников,

проверяет готовность обучающихся к

урокам.

Приветствуют

учителя,

демонстрируют

готовность к

уроку.

2. Изложение нового материала в лекционной форме

С элементами математической

логики вы уже встречались в курсе

информатики основной школы, изучая

способы записи запросов к базе данных

и условной функции ЕСЛИ в

электронных таблицах, основы

алгоритмизации и программирования.

Повторим основные понятия логики с

целью дальнейшего углубления ваших

знаний в использовании ее для

программирования.

К числу основных понятий

логики относятся: высказывание,

логическая величина, логические

операции, логические выражения и

формулы.

Высказывание (суждение) – это

повествовательное предложение, в

Выполняют

записи в

тетради,

отвечают на

вопросы

учителя

Изложение

материала

сопровождается

презентацией

Page 42: Использование языка программирования Python для … › vkr2018 › file › fii_21_06_2019_08_54_25.pdf4 Введение Основы алгоритмизации

42

котором что-либо утверждается или

отрицается. По поводу любого

высказывании можно сказать, истинно

оно или ложно. Например,

высказывание «На улице идет дождь»

будет истинным или ложным в

зависимости от состояния погоды в

данный момент. Истинность

высказывания «Значение А больше, чем

В», записанного в форме неравенства:

А > В, будет зависеть от значений

переменных А и В.

Логические величины – понятия,

выражаемые словами: ИСТИНА и

ЛОЖЬ, True и False. Следовательно,

истинность высказываний выражается

через логические величины.

Рассмотрим логические операции.

Конъюнкция (логическое умножение).

В русском языке она выражается

союзом И. В математической логике

используются знаки & или ∧.

Конъюнкция – бинарная операция;

записывается в виде: А & В. Значением

такого выражения будет ЛОЖЬ, если

значение хотя бы одного из операндов

ложно.

Дизъюнкция (логическое

сложение). В русском языке этой связке

Page 43: Использование языка программирования Python для … › vkr2018 › file › fii_21_06_2019_08_54_25.pdf4 Введение Основы алгоритмизации

43

соответствует союз ИЛИ. В

математической логике она

обозначается знаком v. Дизъюнкция –

бинарная операция; записывается в

виде: A v В. Значением такого

выражения будет ИСТИНА, если

значение хотя бы одного из операндов

истинно.

Отрицание. В русском языке этой

связке соответствует частица НЕ (в

некоторых высказываниях применяется

оборот «неверно, что ...»). Отрицание –

унарная операция; записывается в виде:

¬ А или Ā.

Правила выполнения

рассмотренных логических операций

отражены в таблице на странице 124,

которая называется таблицей

истинности логических операций, здесь

И означает «истина», Л – «ложь».

Логическая формула – формула,

содержащая лишь логические величины

и знаки логических операций.

Результатом вычисления логической

формулы является ИСТИНА или

ЛОЖЬ.

Последовательность выполнения

операций в логических формулах

определяется старшинством операций.

Page 44: Использование языка программирования Python для … › vkr2018 › file › fii_21_06_2019_08_54_25.pdf4 Введение Основы алгоритмизации

44

В порядке убывания старшинства

логические операции расположены так:

отрицание, конъюнкция, дизъюнкция.

Кроме того, на порядок выполнения

операций влияют скобки, которые

можно использовать в логических

формулах. Пример такой формулы

приведен на странице 125.

Логические функции на области

числовых значений. Алгебра чисел

пересекается с алгеброй логики в тех

случаях, когда приходится проверять

принадлежность значений

алгебраических выражений некоторому

множеству. Например, принадлежность

значения числовой переменной X

множеству положительных чисел

выражается через высказывание: «X

больше нуля». Символически это

записывается так: Х > 0. В алгебре

такое выражение называют

неравенством. В логике — отношением.

Отношение X > 0 может быть

истинным или ложным. Если X —

положительная величина, то оно

истинно, если отрицательная, то ложно.

В общем виде отношение имеет

следующую структуру:

< выражение 1 > < знак

Page 45: Использование языка программирования Python для … › vkr2018 › file › fii_21_06_2019_08_54_25.pdf4 Введение Основы алгоритмизации

45

отношения > < выражение 2 >

Здесь выражения 1 и 2 —

некоторые математические выражения,

принимающие числовые значения. В

частном случае выражение может

представлять собой одну константу или

одну переменную величину. Знаки

отношений могут быть следующими:

Логические выражения в Python.

На вступительном уроке уже

говорилось о том, что в Python имеется

логический тип данных – bool, иногда

записывают как Boolean. Содержащий

следующие логические константы: True

(истина), False (ложь). Следует

напомнить, что данные логические

константы являются

зарезервированными словами, и писать

их следует строго с заглавной буквы,

например rain = True.

Операции отношения:

осуществляют сравнение двух

операндов и определяют, истинно или

ложно соответствующее отношение

между ними. Знаки операций

отношения: «==» (равно), «!=» (не

равно), «>» (больше), «<» (меньше),

«>=» (больше или равно), «<=» (меньше

или равно). Как знак «равно» уже занят

Page 46: Использование языка программирования Python для … › vkr2018 › file › fii_21_06_2019_08_54_25.pdf4 Введение Основы алгоритмизации

46

под присваивание, в операциях

отношения проверка на равность

производиться двойным знаком

«равно». А для того, чтобы проверить

на не равенство, поставим

восклицательный знак перед знаком

«равно».

Логические операции: not –

отрицание, and – логическое умножение

(конъюнкция), or – логическое

сложение (дизъюнкция). Логические

операции располагаются в следующем

порядке по убыванию старшинства

(приоритета): 1) not, 2) and, 3) or.

Операции отношения имеют самый

низкий приоритет. Поэтому если

операндами логической операции

являются отношения, то их следует

заключать в круглые скобки.

Логическое выражение может

состоять из логических констант и

переменных, отношений, логических

операций. Логическое выражение

принимает значение True или False.

Для правильной записи сложного

логического выражения (предиката)

нужно учитывать относительные

приоритеты арифметических,

логических операций и операций

Page 47: Использование языка программирования Python для … › vkr2018 › file › fii_21_06_2019_08_54_25.pdf4 Введение Основы алгоритмизации

47

отношений, поскольку все они могут

присутствовать в логическом

выражении. По убыванию приоритета

операции располагаются в следующем

порядке. Первыми выполняются

арифметические операции: - (унарный

минус), *, /, +, -. Вторыми логические

операции: not, and и or. И последними

операции отношения: ==, !=, >, <, >=,

<=.

3. Подведение итогов урока

Чему научились на уроке? Есть

ли вопросы к учителю?

Ученики

отвечают на

вопросы

учителя.

4. Домашняя задание

Выполнить задания 1 и 6 после

параграфа 17.

Записывают

домашнее

задание.

5. Рефлексия

Большое всем спасибо за работу.

Очень рад, что вы внимательно

слушали, помогали мне в работе. И

теперь главное, хорошо подготовиться

дома к следующему занятию.

Благодарят

учителя.

2.5. Разработка урока по теме: «Программирование ветвлений»

Таблица 14

Технологическая карта урока информатики

Page 48: Использование языка программирования Python для … › vkr2018 › file › fii_21_06_2019_08_54_25.pdf4 Введение Основы алгоритмизации

48

УМК Информатика. Базовый уровень: учебник для 10

класса / И. Г. Семакин, Е. К. Хеннер, Т. Ю. Шеина.

Раздел программы Программирование обработки информации

Тема урока Программирование ветвлений

Класс 10

Тип урока Комбинированный

Цели Рассмотреть оператор ветвления в Python.

Задачи урока: Познавательные:

сформировать знания учащихся о языке

программирования Python, операторе присваивания

ветвления.

Развивающие:

развить понятие о условном операторе.

Воспитывающие:

способствовать развитию познавательного

интереса к программированию, повысить культуру

написания программы.

Основные понятия: Операция, функция, выражение.

Формы работы: Фронтальная, индивидуальная.

Методы работы: Информационный (словесный), наглядный,

иллюстративный, практический.

Оборудование урока Доска, компьютерная презентация, проектор,

компьютеры, программное обеспечение:

интерпретатор Python.

Структура урока:

1. Организационный момент, постановка цели урока и мотивация

учебной деятельности;

Page 49: Использование языка программирования Python для … › vkr2018 › file › fii_21_06_2019_08_54_25.pdf4 Введение Основы алгоритмизации

49

2. Актуализация деятельности;

3. Изложение нового материала;

4. Подведение итогов урока;

5. Домашнее задание;

6. Рефлексия.

Таблица 15

Ход урока

1. Орг. момент

Деятельность учителя Деятельность

обучающихся

Примечание

Приветствует учеников,

проверяет готовность обучающихся к

урокам.

Приветствуют

учителя,

демонстрируют

готовность к

уроку.

2. Изложение нового материала в лекционной форме

Давайте вспомним что же такое

ветвление. Ветвление –

алгоритмическая альтернатива.

Управление передается одному из

двух блоков в зависимости от

истинности или ложности условия.

Затем происходит выход на общее

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

как объявляется условный оператор в

Выполняют

записи в тетради,

отвечают на

вопросы учителя

Изложение

материала

сопровождается

презентацией

Page 50: Использование языка программирования Python для … › vkr2018 › file › fii_21_06_2019_08_54_25.pdf4 Введение Основы алгоритмизации

50

Python. Так выглядит полное

ветвление:

if <Логическое выражение>:

<Оператор 1>

else:

<Оператор 2>

Так неполное ветвление:

if <Логическое выражение>:

<Оператор 1>

То, что в алгоритмах называется

условием, в Python является

логическим выражением, которое

вычисляется в первую очередь. Если

его значение равно True, то будет

выполняться <Оператор 1> (после

двоеточия), если — False, то

<Оператор 2> (после else:) для полной

формы или оператор, сразу

следующий после условного, для

неполной формы (без else). А теперь

запишем очень важное правило при

работе с языком программирования

Python. Следует запомнить, что Python

использует отступы для создания

блоков программы, операторы в

условной конструкции, отделаются от

условия отступом, который можно

добавить с помощью клавиши Tab или

четыре раза нажать пробел, однако

Page 51: Использование языка программирования Python для … › vkr2018 › file › fii_21_06_2019_08_54_25.pdf4 Введение Основы алгоритмизации

51

первый вариант наиболее удобен.

Если отступ не был поставлен или

наоборот вы отступили очень много,

программа попросту не выполниться,

или интерпретатор при выполнении

программы может зайти в не нужный

фрагмент программы. После того как

условный оператор был полностью

дописан, необходимо вернуться на

изначальный уровень, нажатием

клавиши Backspace.

Такая система с отступами,

помогает поддерживать структуру

программы, не давая программисту

запутаться в коде. Особенно это важно

на начальном этапе, в школе, чтобы

выработать привычку писать

«красиво».

Помимо полной и неполной

формы условного оператора, есть еще

одна форма, форма выбора. Если есть

необходимость введение нескольких

альтернативных условий используем

дополнительные блоки elif, слияние

else и if. Блок elif позволяет

одновременно ввести новое условие и

новую инструкцию. Запишем самую

полную запись условной конструкции

в Python:

Page 52: Использование языка программирования Python для … › vkr2018 › file › fii_21_06_2019_08_54_25.pdf4 Введение Основы алгоритмизации

52

if <Логическое выражение>:

<Оператор 1>

elif:

<Оператор 2>

else:

<Оператор 3>

3. Самостоятельная работа.

Рассмотрим пример применения

данной особенности.

if n == 3 or 4 or 5:

print(‘Экзамен сдан’)

elif n == 2:

print(‘Экзамен не сдан’)

else:

print(‘Нет такой оценки’)

Выполняют

самостоятельную

работу.

4. Подведение итогов урока

Чему научились на уроке? Есть

ли вопросы к учителю?

Ученики

отвечают на

вопросы

учителя.

5. Домашняя задание

Выполнить задания 1 и 6 после

параграфа 17.

Записывают

домашнее

задание.

6. Рефлексия

Большое всем спасибо за работу.

Очень рада, что вы внимательно

слушали, помогали мне в работе. И

теперь главное, хорошо подготовиться

Благодарят

учителя

Page 53: Использование языка программирования Python для … › vkr2018 › file › fii_21_06_2019_08_54_25.pdf4 Введение Основы алгоритмизации

53

дома к следующему занятию.

2.6. Оценка эффективности разработок уроков

Планы-конспекты прошли экспертную оценку учителем информатики

и ИКТ высшей категории Лапиной Е.В.

Учитель отметила следующие достоинства разработок.

1. Поставленные цели и задачи нашли свое отражение в плане-

конспекте, они прослеживаются по ходу урока и соответствуют

поставленной теме.

2. Учебный материал успешно адаптирован под язык

программирования Python, и соответствует учебнику, по которому

занимаются учащиеся, грамотно выстроен ход урока.

3. План-конспект подразумевает постоянное общение и взаимодействие

учителя и учащихся.

4. На уроке планируется использование мультимедийной презентации,

что несомненно делает урок более привлекательным, а материал легким для

восприятия учащимися.

5. План-конспект оформлен по ФГОС, что позволяет легко

ориентироваться в конспекте урока, находить необходимый материал. В

предоставленном плане-конспекте четко видна структура урока.

Результаты исследования доложены и опубликованы в материалах

конференции «Наука и образование: проблемы и перспективы 2019».

Page 54: Использование языка программирования Python для … › vkr2018 › file › fii_21_06_2019_08_54_25.pdf4 Введение Основы алгоритмизации

54

Заключение

Программирование - сложная глава в курсе информатики, выбор языка

программирования позволяет определить успешность в освоении данного

курса. Предложенный нами для использования в обучении язык

программирования Python более легок в изучении, позволяет разрешить ряд

сложностей в программировании, с которыми сталкиваются ученики. Кроме

того, Python является востребованным и обновляемым языком

программирования.

Изучив научно-методическую, нормативно-правовую, учебную

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

базовом курсе информатики и ИКТ, следует заметить, что федеральный

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

Определены лишь умения и знания, которыми ученик должен овладеть.

Проанализировав три популярных школьных учебника и их учебные

программы, заметим, что учеников преимущественно обучают языку

программирования Паскаль. Схожесть основных структур Паскаля и Python,

а также объема и структуры учебников, делает их подходящими для

изучения на их основе языка программирования Python.

Сравнительный анализ языков программирования Python и Паскаль

позволил показать достоинства Python, такие как простой синтаксис,

современные типы данных и динамическая типизация, компактный код,

интересные функции и наличие интерактивного режима.

На основе учебника Е. Г. Семакина составлено пять план-конспектов

уроков по следующим темам «Элементы языка Python и типы данных»,

«Операции, функции, выражения», «Оператор присваивания, ввод и вывод

данных», «Логические величины, операции, выражения» и

«Программирование ветвлений». Все конспекты уроков получили

положительное экспертное заключение у учителя информатики и ИКТ

высшей квалификационной категории Лапиной Е.В.

Page 55: Использование языка программирования Python для … › vkr2018 › file › fii_21_06_2019_08_54_25.pdf4 Введение Основы алгоритмизации

55

Литература

1. Абрамовских В.В. Язык программирования python в качестве

дополнительного языка программирования в школе // XIX Всероссийская

студенческая научно-практическая конференция Нижневартовского

государственного университета сборник статей. 2017. С. 16-18.

2. Босова Л. Л. Информатика. 11 класс. Базовый уровень [Текст]:

учебник для 11 класса / Л. Л. Босова, А. Ю. Босова. – М.: БИНОМ.

Лаборатория знаний, 2017. – 256 с.: ил.

3. Босова Л. Л. Информатика. 10-11 классы. Базовый уровень [Текст]:

методическое пособие / Л. Л. Босова, А. Ю. Босова. – М.: БИНОМ.

Лаборатория знаний, 2016. – 56 с.: ил.

4. Интерпретатор [Электронный ресурс]. – Режим доступа:

https://ru.wikipedia.org/wiki/%D0%98%D0%BD%D1%82%D0%B5%D1%80%D

0%BF%D1%80%D0%B5%D1%82%D0%B0%D1%82%D0%BE%D1%80 Mon-

day, 4 May 2019 15:21:14.

5. Лутц М. Изучаем Python, 4-е издание. – Пер. с англ. – СПб.: Символ-

Плюс, 2011. – 1280 с., ил.

6. Модуль math | Python 3 для начинающих и чайников [Электронный

ресурс]. – Режим доступа: https://pythonworld.ru/moduli/modul-math.html Mon-

day, 7 May 2019 13:47:33.

7. Поляков К.Ю. Язык Python глазами учителя // Информатика. 2014.

№ 9. С. 4-16.

8. Семакин И. Г. Информатика. Базовый уровень [Текст]: учебник для

10 класса / И. Г. Семакин, Е. К. Хеннер, Т. Ю. Шеина. – 4-е изд. – М.:

БИНОМ. Лаборатория знаний, 2015. – 264 с.: ил.

9. Семакин И. Г. Информатика. 10-11 классы. Базовый уровень [Текст]:

методическое пособие / И. Г. Семакин. – М.: БИНОМ. Лаборатория знаний,

2016. – 64 с.

Page 56: Использование языка программирования Python для … › vkr2018 › file › fii_21_06_2019_08_54_25.pdf4 Введение Основы алгоритмизации

56

10. Сорокина Н.А. Python как основной язык программирования в

средней школе // Молодой ученый. 2019. № 5 (243). С. 15-16.

11. Угринович Н. Д. Информатика. 10 класс. Базовый уровень [Текст]:

учебник для 10 класса / Н. Д. Угринович. – М.: БИНОМ. Лаборатория знаний,

2017. – 288 c.: ил.

12. Угринович Н. Д. Информатика. 10-11 классы. Базовый уровень

[Текст]: методическое пособие / Н. Д. Угринович, М. С. Цветкова, И. Ю.

Хлобыстова. – М.: БИНОМ. Лаборатория знаний, 2016. – 96 c.

13. Федеральный институт педагогических измерений.

Демонстрационный вариант контрольных измерительных материалов

единого государственного экзамена 2019 года по информатике и ИКТ

[Электронный ресурс] Режим доступа: http://fipi.ru/ege-i-gve-11/demoversii-

specifikacii-kodifikatory, Wednesday, 3 Apr 2019 17:17:51.

14. Федеральный институт педагогических измерений. Кодификатор

элементов содержания и требований к уровню подготовки выпускников

образовательных организаций для проведения единого государственного

экзамена по информатике и ИКТ [Электронный ресурс] – Режим доступа:

http://fipi.ru/ege-i-gve-11/demoversii-specifikacii-kodifikatory, Wednesday, 3 Apr

2019 17:17:51.

15. Федеральный государственный образовательный стандарт среднего

общего образования (10-11 кл.) [Электронный ресурс]. – Режим доступа:

https://fgos.ru/LMS/wm/wm_fgos.php?id=sred Wednesday, 3 Apr 2019 16:11:17.

16. Федорова Н.Е. Cтруктура, содержание и методические подходы к

преподаванию языка программирования python в школе // Современные

информационные технологии и ИТ-образование. 2011. № 7. С. 892-897.

17. An Informal Introduction to Python – Python 3.7.3 documentation

[Электронный ресурс]. – Режим доступа:

https://docs.python.org/3/tutorial/introduction.html Monday, 29 Apr 2019

19:29:41.

Page 57: Использование языка программирования Python для … › vkr2018 › file › fii_21_06_2019_08_54_25.pdf4 Введение Основы алгоритмизации

57

18. IDLE [Электронный ресурс]. – Режим доступа:

https://ru.wikipedia.org/wiki/IDLE Monday, 4 May 2019 17:55:34

19. Python (programming language) - Wikipedia [Электронный ресурс]. –

Режим доступа: https://en.wikipedia.org/wiki/Python_(programming_language)

Thursday, 4 Apr 2019 17:40:53.

20. Python - Википедия [Электронный ресурс]. – Режим доступа:

https://ru.wikipedia.org/wiki/Python Thursday, 4 Apr 2019 17:40:53

21. TIOBE Index | TIOBE - The Software Quality Company [Электронный

ресурс]. – Режим доступа: https://www.tiobe.com/tiobe-index/ Wednesday, 3

Apr 2019 15:59:40.

22. Using the Python Interpreter – Python 3.7.3 documentation

[Электронный ресурс]. – Режим доступа:

https://docs.python.org/3/tutorial/interpreter.html Saturday, 27 Apr 2019 20:21:18.

23. Whetting Your Appetite – Python 3.7.3 documentation [Электронный

ресурс]. – Режим доступа: https://docs.python.org/3/tutorial/appetite.html Tues-

day, 16 Apr 2019 15:01:51.

Page 58: Использование языка программирования Python для … › vkr2018 › file › fii_21_06_2019_08_54_25.pdf4 Введение Основы алгоритмизации

58

Приложение 1 Презентация к уроку

«Элементы языка Python и типы данных»

Слайд 1

Слайд 2

Page 59: Использование языка программирования Python для … › vkr2018 › file › fii_21_06_2019_08_54_25.pdf4 Введение Основы алгоритмизации

59

Слайд 3

Слайд 4

Page 60: Использование языка программирования Python для … › vkr2018 › file › fii_21_06_2019_08_54_25.pdf4 Введение Основы алгоритмизации

60

Слайд 5

Слайд 6

Page 61: Использование языка программирования Python для … › vkr2018 › file › fii_21_06_2019_08_54_25.pdf4 Введение Основы алгоритмизации

61

Слайд 7

Слайд 8

Page 62: Использование языка программирования Python для … › vkr2018 › file › fii_21_06_2019_08_54_25.pdf4 Введение Основы алгоритмизации

62

Слайд 9

Слайд 10

Page 63: Использование языка программирования Python для … › vkr2018 › file › fii_21_06_2019_08_54_25.pdf4 Введение Основы алгоритмизации

63

Слайд 11

Слайд 12

Page 64: Использование языка программирования Python для … › vkr2018 › file › fii_21_06_2019_08_54_25.pdf4 Введение Основы алгоритмизации

64

Слайд 13


Recommended