Методические рекомендации по обучению основам программирования на Python в 8 классе (базовый уровень)

Автор: Порубова Елена Владимировна

Организация: МАОУ СОШ №76 с УИОП

Населенный пункт: г.Екатеринбург

ОГЛАВЛЕНИЕ

Введение

Занятие 1. Язык программирования. Система программирования (1 ч)

Занятие 2. Переменные. Оператор присваивания (1 ч)

Занятие 3. Программирование линейных алгоритмов (1 ч)

Занятие 4. Разработка программ, содержащих оператор ветвления (1 ч)

Занятие 5. Диалоговая отладка программ (1 ч)

Занятие 6. Цикл с условием (1 ч)

Занятие 7. Цикл с переменной (1 ч)

Занятие 8. Обработка символьных данных (1 ч)

Занятие 9. Обобщение и систематизация знаний по теме «Язык программирования» (1 ч)

Занятие 10. Анализ алгоритмов. Определение возможных результатов работы алгоритма при заданном множестве входных данных (1 ч)

Занятие 11. Анализ алгоритмов. Определение возможных входных данных, приводящих к данному результату (1 ч)

Список литературы и Интернет-источников

Приложение 1. Переменные. Оператор присваивания

Приложение 2. Линейные алгоритмы: определение, блок-схема, типы данных, пример программы

Приложение 3. Вычисления на Python. Арифметические выражения и арифметические операции

Приложение 4. Ветвление: определение, блок-схемы ветвлений в полной и неполной форме, примеры программ

Приложение 5. Диалоговая отладка программ

Приложение 6. Цикл с условием

Приложение 7. Цикл с переменной

Приложение 8. Обработка символьных данных

Приложение 9. Обобщение и систематизация знаний по теме «Язык программирования»

Приложение 10. Анализ алгоритмов. Определение возможных результатов работы алгоритма при заданном множестве входных данных

Приложение 11. Анализ алгоритмов. Определение возможных входных данных, приводящих к данному результату

Введение

Так любимый многими педагогами привычный Turbo Pascal окончательно и бесповоротно канул в Лету. Сегодня школьники хотят изучать и изучают на уроках информатики наиболее простой и удобный универсальный язык программирования Python.

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

С 2023-2024 учебного года для 8-х классов школы №76 г. Екатеринбурга для обучения по предмету «Информатика», в рамках изучения тем раздела «Основы программирования» (11 часов), в качестве языка программирования выбран Python. Учебник, выданный им в школьной библиотеке старый, и в этом учебнике соответствующие темы описываются на основе языка программирования Pascal. В будущем ситуация, вероятно, изменится: появится новый учебник для 8-9 классов по информатике и пособия по методике обучения Python для учителя.

Но сегодня те педагоги, которые «переходят» на Python, должны его освоить (проще всего пройти дистанционный курс в Internet) и самостоятельно организовать обучение, по сути, разрабатывая собственные методические пособия и методики обучения на основе разнообразных отрывочных сведений из различных источников.

Казалось бы, зная один язык программирования, можно легко освоить другой, и писать программы, заменяя конкретные команды одного языка командами другого. Алгоритмические конструкции те же, значит, выстраивать образовательный процесс можно как раньше, задачи для освоения алгоритмических «примитивов» предлагать те же, что и при изучении Pascal, из старого учебника. И действительно, так тоже можно изучать Python, «основы» освоят все, а наиболее «продвинутые» учащиеся продолжат его изучение самостоятельно, интуитивно осваивая его на инновационном уровне, решая интересные современные задачи. Но является ли такой способ обучения оптимальным?

И здесь мы возвращаемся к вопросу: зачем и почему мы переходим на изучение Python в школе? Почему нас больше не устраивает Pascal, который обладает своими преимуществами: язык программирования высокого уровня, созданный как учебный (т.е. для решения практических жизненных задач никогда не использовался) для школьников и студентов, наглядный, удобный в освоении, который и сегодня продолжает развиваться? Его современные модификации, такие как Object Pascal, широко используются в коммерческом программировании (среда Delphi).

Ниже размещена пара ответов Google на запрос: почему Python стал таким популярным?

  • У популярности Python есть ряд причин. И первая: он полностью бесплатный и обладает множеством библиотек. Кроме того, на нем можно написать всё, что пожелает душа. И, как вишенка на торте, нейронные сети, искусственный интеллект, робототехника – для всего этого у Python есть необходимые средства.
  • Python используется для написания известных сайтов и приложений, среди которых Dropbox, Netflix, Uber, BitTorrent и др. Кроме того, Python помогает банкам следить за средствами на счетах вкладчиков, а в области медицины на нём пишут программы для роботов, выполняющих сложные хирургические операции.

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

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

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

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

Автор данной методической разработки предлагает вниманию педагогического сообщества свой вариант методического сопровождения при обучении основам программирования на Python в 8 классе, в соответствии с утвержденной на педагогическом совете рабочей программой курса базового уровня.

Занятие 1. Язык программирования.
Система программирования (1 ч)

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

План рассказа преподавателя

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

2. Среды разработки IDLE, PyCharm, Visual Studio Code (VS Code). Их преимущества и недостатки.

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

4. Образец простейшей программы на языке Python (из лабораторной работы №1).

1.2 Работа в среде IDLE

План рассказа преподавателя

1. Как загрузить среду разработки, создать, сохранить файл программы и запустить ее для получения результатов. Окно редактирования программы. Окно запуска программы.

2. Пример простой программы.

1.3 Лабораторная работа №1

Тема: Знакомство с работой в среде IDLE

Чему надо научиться:

- загружать среду разработки программ IDLE;

- сохранять и запускать программу;

- отлаживать программу;

- отслеживать изменение значений переменных во время выполнения программы;

- анализировать полученные результаты.

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

1. Загрузите среду разработки (Пуск – IDLE). После входа в систему IDLE нажмите File – New file.

2. В появившемся окне редактирования введите текст программы, нажимая клавишу Enter в конце каждой строки:

print (‘2 + 2 = ?')

print (‘Ответ: 4’)

3. Сохраните программу (File –Save as…).

4. Запустите программу (Run – Run Module). Результат появится в первом окне IDLE. При обнаружении ошибки IDLE останавливает выполнение программы, позиционирует курсор в точку ошибки в окне редактирования и выводит сообщение об ошибке. Отредактируйте программу при необходимости и повторите запуск.

5. Проанализируйте полученный результат. Как работает команда print?

6. Следуя полученному алгоритму действий, выполните задания 1 и 2 [4].

1). Вывести на экран текст «лесенкой»

 

2). Вывести на экран рисунок из букв

 

Занятие 2. Переменные. Оператор присваивания (1 ч)

2.1 Алфавит языка и переменные на Python. Оператор присваивания (подробнее см. в Приложении 1)

План рассказа преподавателя

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

2. Переменная: имя, тип и значение. Основные типы переменных.

3. Как записать значение в переменную? Оператор присваивания.

4. Ввод значения с клавиатуры. Применение функции input: результат и преобразование в целое число. Ввод данных с подсказкой.

5. Вывод данных: значение переменной, значение и текст, вычисление выражения, без разделителей и через пробелы.

6. Разбор задачи на сложение: простое решение (без вывода пояснений) и полное решение (с пояснениями-подсказками).

2.2 Решение задач

Задачи, решаемые на уроке [4]

1). Ввести три числа, найти их сумму.

2). Ввести три числа, найти их сумму и произведение.

3). Ввести три числа, найти их сумму, произведение и среднее арифметическое.

4). Запросить значения двух переменных и поменять их местами.

Занятие 3. Программирование линейных алгоритмов (1 ч)

3.1 Линейные алгоритмы: определение, блок-схема, типы данных, пример программы (подробнее см. в Приложении 2)

План рассказа преподавателя

1. Алгоритмическая конструкция «следование». Какие алгоритмы называются линейными.

2. Графическое представление алгоритмической конструкции «следование» (блок-схема линейного алгоритма).

3. Примеры линейных алгоритмов для различных исполнителей: человек, автоматическое устройство, исполнители системы программирования Кумир (Робот и др.)

4. Пример простой программы на Python, реализующей линейный алгоритм.

3.2 Вычисления на Python. Арифметические выражения и арифметические операции (подробнее см. в Приложении 3)

План рассказа преподавателя

1. Арифметические выражения: приоритет выполнения операций.

2. Операция деления: классическое деление, целочисленное деление (округление «вниз»!), остаток от деления. Операции // и %.

3. Генератор случайных чисел.

4. Сокращенная запись операций.

5. Ввод двух значений в одной строке.

3.3. Решение задач

Задачи, решаемые на уроке [4]

«1»: Ввести три числа: цену пирожка (два числа: рубли, потом – копейки) и количество пирожков. Найти сумму, которую нужно заплатить (рубли и копейки)

Пример:

Стоимость пирожка:

12 50

Сколько пирожков:

5

К оплате: 62 руб. 50 коп.

«2»: Ввести число, обозначающее количество секунд. Вывести то же самое время в часах, минутах и секундах.

Пример:

Число секунд:

8325

2 ч. 18 мин. 45 с

Занятие 4. Разработка программ, содержащих
оператор ветвления (1 ч
)

4.1 Ветвление: определение, блок-схемы ветвлений в полной и неполной форме, примеры программ (подробнее см. в Приложении 4)

План рассказа преподавателя

1. Алгоритмическая конструкция «ветвление».

2. Блок-схемы ветвлений в полной и неполной форме.

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

4. Знаки отношений.

5. Условный оператор на Python.

6. Примеры простых программ на Python, реализующих ветвления в полной и неполной форме.

4.2. Решение задач

Задачи, решаемые на уроке (без функций min и max!) [4]

«1»: Ввести два целых числа, найти наибольшее и наименьшее из них.

Пример:

Введите два целых числа:

1 5

Наибольшее число 5

Наименьшее число 1

«2»: Ввести четыре целых числа, найти наибольшее из них.

Пример:

Введите четыре целых числа:

1 5 4 3

Наибольшее число 5

«3»: Ввести пять чисел и найти наибольшее из них.

Пример:

Введите пять чисел:

4 15 9 56 4

Наибольшее число 56

«4»: Ввести последовательно возраст Антона, Бориса и Виктора. Определить, кто из них старше.

Пример:

Возраст Антона: 15

Возраст Бориса: 17

Возраст Виктора: 16

Ответ: Борис старше всех.

Пример:

Возраст Антона: 17

Возраст Бориса: 17

Возраст Виктора: 16

Ответ: Антон и Борис старше Виктора.

Занятие 5. Диалоговая отладка программ (1 ч)

5.1. Методики отладки программ, см. подробнее в Приложении 5.

План рассказа преподавателя

1. Диалоговая отладка программ. Локализация и идентификация проблемных мест в коде. Выявление их причин.

2. Специализированные инструменты разработки для пошагового выполнения кода.

5.2. Диалоговая отладка программ в IDLE. Пошаговая инструкция для новичка.

5.3. Методика выявления смысловых (семантических) ошибок в ходе проверки простых коротких программ.

5.4. Решение задач

Задачи, решаемые на уроке

«1»: Написать программу для решения квадратного уравнения. Подобрать такие значения коэффициентов a, b, c, при которых дискриминант
D <0, D> 0, D = 0. Выполнить диалоговую отладку программы.

Занятие 6. Цикл с условием (1 ч)

6.1 Цикл: определение, блок-схема цикла с условием, примеры простых программ (подробнее см. в Приложении 6)

План рассказа преподавателя

1. Алгоритмическая конструкция «цикл».

2. Блок-схема цикла с условием.

3. Особенности выполнения цикла: повтор (цикличность), количество повторений (несколько раз, ни разу, зацикливание).

4. Запись цикла на алгоритмическом языке.

5. Оператор while на Python.

6. Примеры простых программ на Python, реализующих циклы с условием.

6.2. Решение задач.

Задачи, решаемые на уроке [4]

«1»: Ввести с клавиатуры количество повторений и вывести столько же раз какое-нибудь сообщение.

Пример:

Сколько раз:

5

Привет!

Привет!

Привет!

Привет!

Привет!

«2»: Ввести с клавиатуры натуральное число и определить, сколько раз в его записи встречается цифра 1.

Пример:

Введите число:

51211

Количество единиц 3

«3»: Ввести с клавиатуры натуральное число и найти сумму значений его цифр.

Пример:

Введите число:

1234

Сумма цифр 10

«4»: Ввести натуральное число и определить, верно ли, что в его записи есть две одинаковые цифры, стоящие рядом.

Пример:

Введите натуральное число:

12342

Нет

Пример:

Введите натуральное число:

12245

Да

Занятие 7. Цикл с переменной (1 ч)

7.1 Цикл: определение, блок-схема цикла с переменной, примеры простых программ (подробнее см. в Приложении 7)

План рассказа преподавателя

1. Алгоритмическая конструкция «цикл».

2. Блок-схема цикла с переменной.

3. Особенности выполнения цикла с переменной: лаконичность кода; переменная цикла (тип переменной, начальное и конечное значения переменной, шаг); количество повторений цикла в зависимости от значения переменной.

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

5. Оператор for на Python.

6. Примеры простых программ на Python, реализующих цикл с переменной.

7.2. Решение задач.

Задачи, решаемые на уроке [4]

«1»: Ипполит задумал трёхзначное число, которое при делении на 15 даёт в остатке 11, а при делении на 11 даёт в остатке 9. Найдите все такие числа.

«2»: Вводится натуральное число N. Программа должна найти факториал (обозначается как N!) – произведение всех натуральных чисел от 1 до N., например, 5! = 1 · 2 · 3 · 4 · 5 = 120.

Пример:

Введите число:

5

5!=120

«3»: Натуральное число называется числом Армстронга, если сумма цифр числа, возведенных в N-ную степень (где N – количество цифр в числе) равна самому числу. Например, 153 = 13 + 53 + 33. Найдите все трёхзначные числа Армстронга.

Занятие 8. Обработка символьных данных (1 ч)

8.1 Символьные строки. Примеры простых программ (подробнее см.
в Приложении 8)

План рассказа преподавателя

1. Символьные строки: начальное значение, вывод на экран, сложение, умножение

2. Индексация символов в строке, длина строки.

3. Ввод строки символов с клавиатуры.

4. Формирование новых строк.

5. Операции со строками. Срезы. Срезы строк от начала строки, до конца строки, реверс строк.

6*. Срезы с отрицательными индексами.

7. Операции со строками. Удаление и вставка символов в строку.

8. Примеры простых программ на Python, реализующих работу с символьными строками.

8.2. Решение задач.

Задачи, решаемые на уроке [4]

«1»: Ввести с клавиатуры пароль (символьную строку), если его длина меньше, чем 6 символов, вывести сообщение «Слишком короткий пароль!», иначе вывести сообщение «ОК».

Пример:

Введите пароль:

12345

Слишком короткий пароль!

Пример:

Введите пароль:

123456789

ОК

«2»: Ввести с клавиатуры пароль (символьную строку). Если его длина меньше, чем 6 символов, вывести сообщение «Слишком короткий пароль!». Если пароль начинается с букв «qwerty» вывести сообщение «Ненадёжный пароль!». Если ошибок не было, вывести сообщение «ОК».

Пример:

Введите пароль:

qwerty12345

Ненадёжный пароль!

Пример:

Введите пароль:

asdUTY7sakh

ОК

«3»: Ввести с клавиатуры имя файла. Если расширение имени файла – htm, html или php, выдать сообщение «Это веб-страница!», иначе выдать сообщение «Что-то другое»

Пример:

Введите имя файла:

C:\DOC\Сайт\index.html

Это веб-страница!

Пример:

Введите имя файла:

C:\Документы\Приказ.doc

Что-то другое

Занятие 9. Обобщение и систематизация знаний по теме «Язык программирования» (1 ч)

9.1 Тестирование по теме «Язык программирования Python», см. тест в Приложении 9.

9.2 Решение задач.

Задачи, решаемые на уроке

Вариант 1

  1. Написать программу для вычисления значения переменной f:
  2. В Гидрометцентр 3 раза в сутки - в 6, 12 и 18 часов поступает информация о температуре воздуха. Напишите программу для определения минимальной и среднедневной температур.
  3. Написать программу для решения квадратного уравнения.

Вариант 2

  1. Написать программу для вычисления:

F = R2*a -1, где

  1. В ЭВМ поступает информация о количестве очков, которые набрали три гроссмейстера на шахматном чемпионате. Напишите программу, которая определит сколько очков у лидера.
  2. Написать программу для решения квадратного уравнения

Занятие 10. Анализ алгоритмов. Определение возможных результатов работы алгоритма при заданном множестве входных данных (1 ч)

10.1 Анализ алгоритмов. Определение возможных результатов работы алгоритма при заданном множестве входных данных [7].

План рассказа преподавателя

  1. Повторение. Алгоритм: определение, свойства, способы записи алгоритма.
  2. Основные алгоритмические конструкции: следование, ветвление, циклы. Блок-схемы и записи команд на Python.
  3. Классификация алгоритмов по различным критериям.
  4. Введение в анализ алгоритмов: понятие анализа и его цели, сложность алгоритмов, методы анализа.
  5. Определение возможных результатов работы алгоритма, анализ входных данных и их влияние на результат.
  6. Оценка эффективности и оптимизация алгоритма.

10.2 Решение задач. Экологическая задача [8] (подробнее см.
в Приложении 10).

Занятие 11. Анализ алгоритмов. Определение возможных входных данных, приводящих к данному результату (1 ч)

11.1 Анализ алгоритмов. Определение возможных входных данных, приводящих к данному результату, см. подробнее в Приложении 11.

План рассказа преподавателя

  1. Задачи обратного анализа. Перебор значений параметров.
  2. Обратный перевод из программного кода в математическую модель. Примеры заданий по поиску возможных входных данных, приводящих к данному результату.
  3. Создание алгоритма на языке программирования для поиска возможных входных данных, приводящих к заданному результату.

11.2 Решение задач. Задание №6 из банка заданий ОГЭ [10]. Список литературы и Интернет-источников

  1. Дмитрий Златопольский, "Основы программирования на языке Python".
  2. Инфоурок. 8 класс «Диалоговая отладка программ».
    [Электронный ресурс]. Режим доступа:
    https://infourok.ru/8-klass-dialogovaya-otladka-programm-7176094.html
  3. ЯКласс. Информатика, Python (базовый уровень).
    [Электронный ресурс]. Режим доступа: https://www.yaklass.ru/p/informatika/python-bazovyj-uroven
  4. Учебник информатики К.Ю. Полякова и Е.А. Еремина.
    [Электронный ресурс]. Режим доступа: https://kpolyakov.spb.ru/school/osnbook/slides.htm
  5. «ПОЧТИ все задания ОГЭ по информатике на Python». [Электронный ресурс]. Режим доступа: https://www.youtube.com/watch?v=9iuiPhtLLUM
  6. Тест по языку программирования Python 8 класс [Электронный ресурс]. Режим доступа: https://uchitelya.com/informatika/195132-test-po-yazyku-programmirovaniya-python-8-klass.html
  7. Презентация по теме «Анализ алгоритмов. Определение возможных результатов работы алгоритма при заданном множестве входных данных». [Электронный ресурс]. Режим доступа:
    https://infourok.ru/analiz-algoritmov-opredelenie-vozmozhnyh-rezultatov-raboty-algoritma-pri-zadannom-mnozhestve-vhodnyh-dannyh-7140324.html
  8. Учебник: «Информатика (базовый и углублённый уровень)», Гейн А.Г., Ливчак А.Б., Сенокосов А.И. и др.
  9. «Облако знаний», Информатика 8 класс, Учительская – Опорные конспекты: [Электронный ресурс]. Режим доступа: https://oblakoz.ru/conspect/489210/Analiz%20algoritmov.%20Opredelenie%20vozmozhnyh%20vhodnyh%20dannyh,%20privodyashhih%20k%20dannomu%20rezul-tatu%20(Paskal-)
  10. Образовательный портал для подготовки к экзаменам СДАМ ГИА: РЕШУ ОГЭ, Информатика, [Электронный ресурс].

Режим доступа: https://inf-oge.sdamgia.ru/test?theme=25

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


Приложения:
  1. file0.docx (7,0 МБ)
  2. file1.7z (568 байта)
Опубликовано: 23.09.2024