Слайд 1Процедуры и функции
8 класс. Программирование на языке ABC Pascal
Учитель информатики
НИШ г. Уральска ФМН Зеленов Борис Александрович
Слайд 2Куда данное занятие вносит свой вклад?
Учащиеся используют процедуры и функции
для решения задач
Учащиеся учатся решать объемные задачи, раскладывая их на
более мелкие
Слайд 3Цель урока:
Сформировать понятие о процедурах и функциях в языке программирования.
Слайд 4Цель обучения
Учащиеся знают понятия «процедуры» и «функции», определяет формальные и
фактические параметры
Слайд 5Ожидаемые результаты - Дескрипторы:
1.Знает определение «процедуры»
2.Знает определение «функции»
3.Определяет фактические и
формальные параметры
4.Различает параметры значений и переменных
5.Находит обращение к процедуре
или функции в программном коде
Слайд 6Задача
Эльвира староста класса. Ей предстоит составить план выполнения генеральной уборки
в классе: убрать бумажки, полить цветы, помыть парты, вытереть стекла.
Как ей лучше организовать работу? Помогите Эльвире.
Слайд 7Стандартный план Эльвиры
Начало
1. Убрать бумажки
2. Полить цветы
3. Помыть парты
4.
Вытереть стекла
Конец алгоритма
Как улучшить организацию этого процесса?
Слайд 8В этом случае на помощь нам придут…
Слайд 11Vocabulary
Полезные фразы:
Для передачи значений переменных в процедуру (функцию) используются фактические
параметры …
Для того, чтобы описать процедуру, следует сначала…., потом …
Слайд 12Понятие подпрограммы
Определение
Подпрограмма - это отдельная функционально независимая часть программы.
Слайд 13Подпрограммы решают три важные задачи:
избавляют от необходимости многократно повторять в
тексте программы аналогичные фрагменты;
улучшают структуру программы, облегчая ее понимание;
повышают устойчивость
к ошибкам программирования и непредвиденным последствиям при модификациях программы.
Слайд 14Пример
Нарисовать забор, используя язык программирования
В этой задаче можно создать процедуру
которая будет выполнять алгоритм рисования одного фрагмента(штакетника), а затем постоянно
обращаться к этой процедуре, меняя начальное положение пера
Слайд 15Задание
Опишите как рационально выполнить рисунок елочки в среде программирования
Слайд 16Процедуры и функции
Представляют собой самостоятельные фрагменты программ, оформленные особым образом
и имеющие собственное имя.
Слайд 17Взаимодействие основной программы и подпрограммы
Фрагмент урока, где учащиеся выполняют роль
основной программы, процедур и функций
Слайд 18Фрагмент урока, где учащиеся выполняют роль основной программы, процедур и
функций
Слайд 19Блок-схема
Блок вызова подпрограммы (процедуры или функции)
Имя подпрограммы (процедуры или функции)
Слайд 20Блок-схема
Start
End.
Product
…
…
Product
…
End
Слайд 21Описание процедуры имеет вид:
procedure имя(список формальных параметров);
раздел описаний
begin
операторы
end;
Слайд 22Описание функции имеет вид:
function имя(список формальных параметров): тип возвращаемого
значения;
раздел описаний
begin
операторы
end;
Слайд 23Расположение в программе
Program ...;
//Раздел описаний Uses, Const, Var, …
procedure
A;
begin ....... end;
procedure B;
begin ........ end;
Function C;
begin
........ end;
//Основная программа
begin ........ end.
Слайд 24Отличие функции от процедуры
Отличие функции от процедуры заключается в том,
что результатом исполнения операторов, образующих тело функции, всегда является некоторое
единственное значение, поэтому обращение к функции можно использовать в соответствующих выражениях наряду с переменными и константами.
Слайд 26Процедура или функция?
______ MaxNumber(a,b: integer): integer;
var max: integer;
begin
if a>b then max:=a else max:=b;
MaxNumber :=
max;
end;
Слайд 27Процедура или функция?
______MaxNumber(a,b: integer; var max: integer);
begin
if a>b
then max:=a else max:=b;
end;
Слайд 28Процедура или функция?
________ChangeColor( C1, C2 : Word );
BEGIN
TextColor(C1);
TextBackGround(C2)
END;
Слайд 29Процедура или функция?
_______ Add(X, Y: Integer): Integer;
begin
Add := X +
Y
end;
Слайд 31Вызов процедуры производится оператором, имеющим следующий формат:
имя процедуры(список фактических параметров);
Список
фактических параметров - это их перечисление через запятую.
Слайд 32Параметры
В стандарте языка Паскаль передача параметров может производиться двумя способами
- по значению и по ссылке. Параметры, передаваемые по значению,
называют параметрами-значениями, передаваемые по ссылке - параметрами-переменными. Последние отличаются тем, что в заголовке процедуры (функции) перед ними ставится служебное слово var.
Слайд 33Передача параметров. Формальные параметры
Переменные
-значения
Переменные
-ссылки
Слайд 34При первом способе (передача по значению) значения фактических параметров копируются
в соответствующие формальные параметры.
Основная программа
…
Name(x, y);
…
Процедура
Procedure Name (a, b:
integer);
…
При изменении этих значений в ходе выполнения процедуры (функции) исходные данные (фактические параметры) измениться не могут
Слайд 35При передаче по ссылке все изменения, происходящие в теле процедуры
(функции) с формальными параметрами, приводят к немедленным аналогичным изменениям соответствующих
им фактических параметров.
Основная программа
…
Name(x, y, c );
…
Процедура
Procedure Name (a, b: integer, Var c:real);
…
Изменения происходят с переменными вызывающего блока, поэтому по ссылке передаются выходные параметры. При вызове соответствующие им фактические параметры могут быть только переменными.
Слайд 36Задание
Var a, S: real;
Procedure Kvad(R: real; var S: real);
Begin …
end;
Begin
…
Kvad( a, S);
…
End.
Выпишите:
1.Фактические параметры ___________
2.Формальные параметры ___________
3.Формальные параметры-значения __________
4.Формальные параметры-ссылки
___________
5.Имя процедуры ___________
6.Обращение к процедуре из программы _____________________
Слайд 37Интерактивное задание
http://www.bzfar.net/load/podprogrammy_procedury_i_funkcii_parametry/23-1-0-498
Слайд 38Задача
Эльвира староста класса. Ей предстоит составить план выполнения генеральной уборки
в классе: убрать бумажки, полить цветы, помыть парты, вытереть стекла.
Как ей лучше организовать работу? Помогите Эльвире.
Слайд 39Продвинутый план Эльвиры
Начало
1. Выполнить Арсен
2. Выполнить Мила
3. Выполнить Виталий
4. Выполнить
Индира
Конец алгоритма
Подпрограммы:
Арсен – убирает бумажки
Мила – поливает цветы
Виталий – моет
парты
Индира – вытирает стекла
Слайд 40Резюме:
С какими новыми структурами языка программирования мы сегодня познакомились?
Назовите изученные
параметры
Как передаются параметры в процедуру?
Слайд 41Домашнее задание
Конспект урока
Найти определения: «Локальные переменные» и «Глобальные переменные»
Составить две
задачи, в которых можно использовать процедуры или функции.
Слайд 42Рефлексия
Как бы вы определили тему урока? (придумайте свое название)
Что, по
вашему мнению, вы должны узнать на следующем уроке?