Войти / Зарегистрироваться

Экспериментальная деятельность учащихся на уроке по теме «Подпрограммы. Процедуры и функции»

Получить свидетельство
Автор: Вахрушев Р. О.

Структура урока направлена на развитие интеллектуальных способностей учащихся, что достигается активным включением учащихся в экспериментальную деятельность на данном уроке. А. Н. Леонтьев отмечал, что «главным процессом, который характеризует психическое развитие ребенка, является специфический процесс усвоения или присвоения им достижений предшествующих поколений людей» [7]. Учащиеся в ходе работы, пользуясь инструкцией учителя по выполнению эксперимента, самостоятельно добывают новое теоретическое знание, применяя его на практике в ходе лабораторной работы, и формулируют выводы по только что изученной теме раздела.
Таким образом, на уроке организован деятельностный подход к изучению материала, который, в свою очередь, с учетом особенностей предмета информатики, предполагающих изучение раздела «Алгоритмизация и программирование» в ходе решения задач на компьютере, реализуется при помощи задачного подхода. А. Гин в своей работе отметил: «…чтобы знание становилось инструментом, а не залежами ненужного старья на задворках интеллекта, ученик должен с ним работать» [3].
Урок в большей степени ориентирован на достижение метапредметных результатов процесса обучения, так как носит исследовательский характер изучения нового материала.
В ходе эксперимента ученики анализируют новый материал, а допущенные ошибки, которые они совершают во время выполнения лабораторной работы и которые они с большой долей самостоятельности исправляют, дают возможность сформировать у учеников фундаментальное теоретическое знание. Знание, которое будет добыто учениками самостоятельно, на высоком уровне сложности, в ходе проб и ошибок, лучше усвоится ими, чем если бы тот же самый материал им дал учитель.

Модель урока 

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

Ход урока

I. Установка. Очень часто в жизни человеку нужно решить жизненно важную задачу, которая состоит из нескольких этапов. Например, сборка автомобиля на конвейере завода. Из цеха завода не сразу выходит готовый автомобиль. Весь процесс сборки автомобиля на заводе разбивают на этапы, причем для рабочих разных специальностей: от сборщиков салона автомобиля до специалистов, отвечающих за покраску кузова, существуют временные рамки и точный, поэтапный план сборки. Например, в машине не может быть собран салон, если кузов еще не покрашен. В данном примере рабочие завода рационально разбили сложную задачу сборки автомобиля на более простые подзадачи, которые решают специалисты конкретной области (маляры, операторы покрасочных камер, мотористы и т. д.). Результатом слаженной, прописанной поэтапно и распределенной по времени работы будет готовый автомобиль.
Программисты также сталкиваются со сложными задачами, и код, который им предстоит написать, иногда состоит из нескольких десятков строк. Чтобы не запутаться в своем же коде и для удобства отладки программы и поиска ошибок они также разбивают программу на более мелкие части – подпрограммы.
II. Начальное знание. Процедура – это алгоритм, который целиком используется при составлении другого алгоритма. Процедура, возвращающая некоторое конечное значение, называется функцией. Структура процедуры повторяет структуру программы, она также представлена заголовком и телом.
Процедура – это подпрограмма, не возвращающая никакого значения.
Функция – это подпрограмма, возвращающая некоторое значение.
Технология разбиения программы на подпрограммы называется технологией нисходящего или структурного программирования, то есть программа выполняется «сверху вниз». Структурное программирование делает программу более понятной. Ее легче отлаживать и сопровождать. 
III. Проблема для исследования: как написать алгоритм, включающий в себя подпрограмму, на компьютере?
IV. Вопросы для решения проблемы исследования:

  1. Когда удобно использовать подпрограммы?
  2. От чего зависит выбор типа подпрограммы?

V. Задание для разбора в классе. Значение xвводится с клавиатуры. Вычислить значение выражения y= x6 + 5(x3)4 + 3(2 ∙ x)7. Необходимо спросить учеников, смогут ли они решить такую задачу (смогут, но код будет очень длинным). Следует обратить внимание учеников на то, что в программе без использования процедуры будут три однотипных отрывка кода (вычисление степени). Проще всего вычисление степени определить в отдельной процедуре, а затем вызывать ее для трех разных выражений.
Код основной программы (обсуждение основной логики при помощи презентации, на которой код будет появляться построчно):

Begin

{Нужно считать значение переменной x с клавиатуры}

Writeln ('введите значение x');

Readln(x);

{Нужно при помощи процедуры вычислить значение степени каждого, входящего в состав выражения, элемента}

Step(x, 6, R1); Step(x-3, 4, R2); Step(2*x, 7, R3);

{В переменных R1, R2, R3 хранится результат степени соответствующего элемента. Вычисляем значение выражения}

Y:= R1+5*R2+3*R3;

Writeln(y);

Readln;

End.

{Далее рассматривается код процедуры step}

Procedure Step(a, n, b: integer);

Var i: byte;

Begin

{Обсуждение: какую конструкцию удобно использовать для нахождения степени? – (цикл)}

b:=1;

for i:=1 to n do b:=b*a;

end

VI. Экспериментальный раздел. На компьютере подготовить программу-заготовку, с которой и будут работать ученики. Код рассмотренной ранее программы:

Program Ex;

Var y, R1, R2, R3:integer;

Procedure step(a, n, b:integer);

Var i:byte;

begin

b:=1;

for i:=1 to n do

b:=b*a;

end;

BEGIN

writeln ('введите значение x');

readln(x);

step(x, 6, R1);

step(x-3, 4, R2);

step(2*x, 7, R3);

y:=R1+5*R2+3*R3;

writeln(y);

readln;

END.

Задания:
  1. Запустить, проверить, верно ли работает программа (программа работает неверно, так как переменные R1, R2, R3 не передаются в процедуру).
  2. Написать служебное слово var перед параметром, отвечающим за результат возведения в степень (перед b), запустить программу. Верно ли стала работать программа? Объяснить получившийся результат.
  3. Изменить программу для вычисления выражения: 3x5 – 4(x3)2 + 2.
VII. Конечное знание, вывод. Подпрограммы используются для структуризации основной программы. Параметры, указываемые при описании подпрограммы, называются формальными. Параметры, указываемые при вызове подпрограммы, называются фактическими. Если формальный параметр описан со словом var, то его называют параметром-переменной и говорят, что он передается по ссылке (ссылка на переменную основной программы). Все изменения в таком случае происходят с самой переменной основной программы.
Если же параметр описан без слова var, то его называют параметром-значением и говорят, что он передается по значению (принимает такое же значение, что и параметр в вызове). В данном случае переменная основной программы после выполнения процедуры не изменяется.
Если параметр передается по значению, то при вызове подпрограммы значения фактических параметров присваиваются соответствующим формальным параметрам. Типы и количество фактических параметров-значений и соответствующих им формальных параметров должны совпадать.
 
Список литературы
  1. Бабанский Ю. К. Методы обучения в современной общеобразовательной школе. – М.: Просвещение, 1985. – 208 с.
  2. Васенина Е. А. Интеллектуальное воспитание школьников в процессе обучения информатике. – Киров: Изд-во ВятГГУ. – 164 с.
  3. Задачи по программированию / С. М. Окулов, Т. В. Ашихмина, Н. А. Бушмелева и др.; под ред. С. М. Окулова. – М.: БИНОМ. Лаборатория знаний, 2006. – 820 с.
  4. Зимняя И. А. Педагогическая психология. – Ростов-на-Дону: Феникс, 1997. – 480 с.
  5. Леонтьев А. Н. Деятельность. Сознание. Личность. – М: Политиздат, 1975. – 304 с.
  6. Махмутов М. И. Организация проблемного обучения в школе: Книга для учителя. – М.: Просвещение, 1977. – 240 с.
  7. Окулов С. М. Основы программирования. – М.: ЮНИМЕДИАСТАЙЛ, 2002. – 424 c.
  8. Талызина Н. Ф. Управление процессом усвоения знаний. – М., 1984. – 344 с.
  9. Холодная М. А. Психология интеллекта. Парадоксы исследования. – СПб.: Питер, 2002. – 272 с.

Похожие публикации