«Программа для изучения». Методика обучения программированию
Тип открытых программ «программа для изучения» рекомендуется применять на уроке введения нового материала. При этом преследуется следующая цель: с помощью программы-заготовки помочь усвоить учащимся особенности изучаемой темы.
Здесь стоит отметить, что ОП не даются сразу же ученикам – в этом случае получится, что ученики сами должны изучать язык программирования. При изучении нового материала вначале дается общая теория, касающаяся конкретной цели: правила описания, синтаксис, даются основные конструкции, а лишь затем используются ОП. Это так же связано с тем, что в одной ОП не представляется возможность охватить сразу все особенности изучаемой темы, что связано с требованиями применяемыми к ОП (например, размер программы).
Вначале учитель просит учеников просто запустить программу, чтобы узнать, что, в принципе, она делает. Это уровень знакомства с программой. Далее:
- Обучаемый исследует поведение программы: изменяет исходные данные и обдумывает результаты. Это уровень практики. Если ввод данных происходит прямо в текст программы, то часть ее текста, не относящаяся к вводу, пока игнорируется обучаемым.
- Обучаемый пытается объяснить результаты. Это – начало теоретического мышления, опирающегося на создающуюся в уме обучаемого модель поведения программы решаемой задачи.
- Обучаемый должен предсказать поведение программы до запуска, овладеть логикой алгоритма.
- Далее изучение открытой программы продолжается по комментариям: обучаемый видит справа текст на нечетком, живом языке, а слева – последовательность формальных операторов алгоритмического языка, не имеющую пока для него смысла. Но и текст на живом языке еще не вполне понятен обучаемому. Скрытая в нем алгоритмическая составляющая проявляется только при сопоставлении с формальным способом записи.
Здесь начинается процесс прямого и обратного перевода обучаемым задачи с языка комментариев на язык высокого уровня, и в итоге – связывание, слияние этих двух описаний в мышлении обучаемого, «расформализация» алгоритмического описания и уточнение содержательного.
Рассмотрим применение описанных теоретических положений методики обучения программированию с использованием ОП типа «Программа для изучения» с помощью следующего примера.
Пример:
{Даны три действительных числа. Возвести в квадрат те из них, значения которых не отрицательны, и в третью степень – отрицательные.}
program stepen;
var a,b,c:integer; {Опишем переменные, для хранения чисел}
begin
writeln(‘Введите число а:’); {Запрос на ввод числа а}
readln(a); {Присвоим переменной а значение введенное с клавиатуры}
writeln(‘Введите число b:’); {Запрос на ввод числа b}
readln(b); {Присвоим переменной b значение введенное с клавиатуры}
writeln(‘Введите число c:’); {Запрос на ввод числа c}
readln(c); {Присвоим переменной c значение введенное с клавиатуры}
{При помощи условного оператора:
if <логическое выражение> then <оператор 1> else <оператор 2>
проверяем условие задачи для каждого из чисел по отдельности}
if a>=0 then a:=a*a else a:=a*a*a; {Если а>=0 – логическое выражение,
то возведем a в квадрат – оператор 1, в противном случае (если а<0)
возведем его в третью степень – оператор 2}
if b>=0 then b:=b*b else b:=b*b*b*b; {то же самое проделаем с числом b}
if c>=0 then c:=c*c else c:=c*c*c*c; {и числом с}
{После проверок и преобразований выведем на экран полученные числа}
writeln(‘a=’,a); {сначала число а}
writeln(‘b=’,b); {затем число b}
writeln(‘c=’,c); {и число с}
readln {Просмотрим полученный результат}
end.
Исходя из методик, учащиеся перед изучением данной программы должны ознакомиться с общей теорией, касающейся вопроса ветвления в программировании, а именно:
- знать синтаксис условного оператора;
- знать смысл как условного оператора в целом, так и отдельных элементов, входящих в его конструкцию.
После знакомства с общей теорией учащиеся запускают программу для исследования ее поведения. На этом этапе, когда обучаемые изменяют исходные данные, вводимые наборы данных могут предлагаться учителем. Например:
- введите три положительных числа;
- введите три отрицательных числа; и т.п.
После введения каждого из наборов учащиеся объясняют полученные результаты (например, почему при введении трех положительных чисел получается набор из трех положительных чисел). Затем учащиеся получают некоторый набор данных и по нему, не запуская программу, должны получить результат (тем самым обучаемые ставят себя на место компьютера и овладевают логикой алгоритма).
И, наконец, в подведение итогов учащиеся изучают программу по комментариям:
- связывают элемент <логическое выражение> в конструкции условного оператора с выражением a>=0 в программе;
- сопоставляют элементы <оператор 1> и <оператор 2> с выражениями a:=a*a, b:=b*b, c:=c*c и a:=a*a*a, b:=b*b*b, c:=c*c*c соответственно.
При этом эффективным будет следующий прием: на третьем этапе (этап овладения логикой алгоритма) дать такой набор данных (0, 1, -1), а на четвертом этапе выяснить у учащихся, какой из операторов — <оператор 1> или <оператор 1> – выполняется в условном операторе для каждого из чисел.