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

Разделы: Информатика


Программирование, по мнению А.П. Ершова, вторая грамотность. На уроках информатики преподавание основ программирования с использованием любого языка высокого уровня - обязательная составляющая учебного процесса.

Как учить элементам программирования? Этот вопрос каждый учитель решает по-своему. Многие учителя информатики сталкиваются с тем, что некоторые конструкции (конструкция цикла, конструкция ветвления, т.д.) языка программирования представляют трудность для понимания учащихся. Например, тема «Процедуры и функции пользователя» - одна из сложнейших тем в преподавании языка Паскаль и в понимании детей.

Вообще, человеческий мозг устроен так, что он лучше воспринимает информацию, представленную в графическом виде. И поэтому, например, при анализе расчетов, мы строим диаграммы; при структурировании информации – выводим её в виде графов или таблиц и т.д.

Поэтому возникает вопрос: «А нельзя ли знакомить учащихся с основными конструкциями программирования языка Паскаль с использованием графического режима, графический процедур и функций?» Оказывается, можно. Принцип наглядности в преподавании многих предметов, и в частности информатики, является одним из ведущих в обучении. Наглядность способствует развитию у школьников эмоционально – оценочного отношения к приобретаемым знаниям. Принцип наглядности повышают интерес к знаниям, позволяют облегчить процесс их усвоения, поддерживают внимание ребенка.

Конечно, есть в данном приёме и минусы (например, программы, написанные на языке Паскаль, получаются большими, громоздкими). Но принцип наглядности перекрывает все минусы.

Путь воплощения данной идеи сводится к методическим разработкам уроков, УМК по основам программирования с использованием графического режима и графических процедур и функций. Можно для усиления наглядности использовать наглядно-демонстрационные средства (интерактивную доску, проектор). Обязательным условием является введение темы «Графический режим. Графические процедуры и функции» в самом начале изучения языка программирования Паскаль. Так как эта тема – одна из любимых тем учащихся при изучении языка, то и другие темы, на основе данной, они рассматривают с удовольствием, без настороженности.

Мною была разработана серия уроков с использованием данного подхода при изучении основных конструкций языка Паскаль. Приведу пример фрагмента урока по теме «Процедуры и функции пользователя».

Ход урока

1. Повторение.

2. Построение графического изображения.

Демонстрация презентации.

Задача №1. Нарисовать в графическом режиме равносторонний треугольник в центре экрана (640х480). Сторона треугольника равняется 50.

Выводы:

Программа будет выглядеть так:

uses graph;
var L, i, j:integer; h:real;
begin
i:=0; initgraph(i,j,'C:\');
L:=50;  h:=L*sin(pi/3);
line(320-L div 2,240+round(h/3),320+L div 2,240+round(h/3));
line(320+L div 2,240+round(h/3),320,240-round(h*2/3));
line(320,240-round(h*2/3),320-L div 2,240+round(h/3));
readln; closegraph
end.

Задача №2. Нарисовать три равносторонних треугольника, имеющих общий центр тяжести со сторонами 50 ,60, 70.

Заметим, что в программе трижды повторяется один и тот же фрагмент:

h:=L*sin(pi/3);
line(320-L div 2,240+round(h/3),320 +L div 2, 240+round(h/3);
line(320+L div 2,240+round(h/3),320, 240+round(h*2/3);
line(320,240-round(h*2/3),320 -L div 2, 240+round(h/3);

Возникает естественное желание, как и с переменными, дать этому фрагменту имя (например, Treug) и вместо повторений использовать это имя. Такой именованный фрагмент последовательности команд называется подпрограммой или процедурой.

3. Ввод понятия «Процедура».

Определение: Процедура – это часть программы (составной оператор), описывающая некоторый алгоритм, она имеет некоторое имя, к которой можно многократно обращаться из любой точки программы.

Описание процедуры в языке Паскаль очень похоже на описание программы. Только вместо слова program нужно писать слово procedure,а после end ставить не точку, а точку с запятой.

procedure Treug;
begin
h:=L*sin(pi/3);
line(320-L div 2,240+round(h/3),320 +L div 2, 240+round(h/3);
line(320+L div 2,240+round(h/3),320, 240+round(h*2/3);
line(320,240-round(h*2/3),320 - L div 2, 240+round(h/3);
end;  

Тогда программа будет выглядеть так:

uses graph;
var L,i,j:integer;h:real;
procedure Treug;
begin
h:=L*sin(pi/3);
line(320-L div 2,240+round(h/3),320+L div 2,240+round(h/3));
line(320+L div 2,240+round(h/3),320,240-round(h*2/3));
line(320,240-round(h*2/3),320-L div 2,240+round(h/3))
end;
BEGIN
i:=0; initgraph(i,j,'C:\ ');
L:=50;treug; L:=60;treug; L:=70;treug; readln;
Closegraph
END.