Процедурное программирование в ABC Pascal. Процедуры и функции
Процедурное программирование в ABC Pascal. Процедуры и функции
Презентация составлена соответственно требованиям ИМКО (Интегрированная модель критериального оценивания) АОО "Назарбаев Интеллектуальные школы" и рекомендуется для использования на уроках программирования в Pascal в 8-ых классах.
В презентации разбираются общие структуры использования процедур и функций, приводятся примеры решения простых задач, используются активные методы закрепления и проверки знаний.
Вы уже знаете о суперспособностях современного учителя?
Тратить минимум сил на подготовку и проведение уроков.
Быстро и объективно проверять знания учащихся.
Сделать изучение нового материала максимально понятным.
Избавить себя от подбора заданий и их проверки после уроков.
Просмотр содержимого документа
«Процедурное программирование в ABC Pascal. Процедуры и функции »
8 класс. Программирование на языке ABC Pascal
Процедуры и функции
Учитель информатики НИШ г. Уральска ФМН Зеленов Борис Александрович
Куда данное занятие вносит свой вклад?
Учащиеся используют процедуры и функции для решения задач
Учащиеся учатся решать объемные задачи, раскладывая их на более мелкие
Цель урока:
Сформировать понятие о процедурах и функциях в языке программирования.
Цель обучения
Учащиеся знают понятия «процедуры» и «функции», определяет формальные и фактические параметры
Ожидаемые результаты - Дескрипторы:
1.Знает определение «процедуры»
2.Знает определение «функции»
3.Определяет фактические и формальные параметры
4.Различает параметры значений и переменных
5.Находит обращение к процедуре или функции в программном коде
Задача
Эльвира староста класса. Ей предстоит составить план выполнения генеральной уборки в классе: убрать бумажки, полить цветы, помыть парты, вытереть стекла. Как ей лучше организовать работу? Помогите Эльвире.
Стандартный план Эльвиры
Начало
1. Убрать бумажки
2. Полить цветы
3. Помыть парты
4. Вытереть стекла
Конец алгоритма
Как улучшить организацию этого процесса?
В этом случае на помощь нам придут…
Решите ребусы
Тема урока
Подпрограммы:
Vocabulary
Kazakh
Russian
Ішкі бағдарлама
English
Подпрограмма
Процедура
Процедура
Subprogram
Функция
Параметрлер
Функция
Procedure
Параметры
Function
Parameters
Полезные фразы:
Для передачи значений переменных в процедуру (функцию) используются фактические параметры …
Для того, чтобы описать процедуру, следует сначала…., потом …
Понятие подпрограммы
Определение
Подпрограмма - это отдельная функционально независимая часть программы.
Подпрограммы
Процедуры
Функции
Подпрограммы решают три важные задачи:
избавляют от необходимости многократно повторять в тексте программы аналогичные фрагменты;
улучшают структуру программы, облегчая ее понимание;
повышают устойчивость к ошибкам программирования и непредвиденным последствиям при модификациях программы.
Пример
Нарисовать забор, используя язык программирования
В этой задаче можно создать процедуру которая будет выполнять алгоритм рисования одного фрагмента(штакетника), а затем постоянно обращаться к этой процедуре, меняя начальное положение пера
Задание
Опишите как рационально выполнить рисунок елочки в среде программирования
Процедуры и функции
Представляют собой самостоятельные фрагменты программ, оформленные особым образом и имеющие собственное имя.
Взаимодействие основной программы и подпрограммы
Фрагмент урока, где учащиеся выполняют роль основной программы, процедур и функций
Фрагмент урока, где учащиеся выполняют роль основной программы, процедур и функций
Блок-схема
Блок вызова подпрограммы (процедуры или функции)
Имя подпрограммы (процедуры или функции)
Блок-схема
Start
…
Product
Product
…
End
…
End.
Описание процедуры имеет вид:
procedure имя(список формальных параметров); раздел описаний begin операторы end ;
Описание функции имеет вид:
function имя(список формальных параметров): тип возвращаемого значения;
раздел описаний begin операторы end ;
Расположение в программе
Program ...;
//Раздел описаний Uses, Const, Var, …
procedureA ;
begin ....... end ;
procedureB ;
begin ........ end ;
Function C ;
begin ........ end ;
//Основная программа
begin ........ end .
Отличие функции от процедуры
Отличие функции от процедуры заключается в том, что результатом исполнения операторов, образующих тело функции, всегда является некоторое единственное значение, поэтому обращение к функции можно использовать в соответствующих выражениях наряду с переменными и константами.
Процедуры
1
Функции
Может иметь несколько результатов или выполнять некоторое действие
2
Имеет только один результат, тип которого указывается отдельно при объявлении функции.
Результатами могут быть значения любого типа массивы, строки, числа и т.д.
3
Результат может быть только значением типа real, integer или char.
Команда вызова процедуры – отдельная команда, которая употребляется самостоятельно
4
Обращение к функции может использоваться только как компонент выражения соответствующего типа.
В теле функции должен быть хотя бы один оператор присваивания, в левой части которого указано имя функции.
b then max:=a else max:=b; MaxNumber := max; end;" width="640"
Процедура или функция?
______ MaxNumber(a,b: integer): integer;
var max: integer;
begin
if ab then max:=a else max:=b;
MaxNumber := max;
end;
b then max:=a else max:=b; end;" width="640"
Процедура или функция?
______MaxNumber(a,b: integer; var max: integer);
begin
if ab then max:=a else max:=b;
end;
Процедура или функция?
________ChangeColor( C1, C2 : Word );
BEGIN
TextColor(C1);
TextBackGround(C2)
END;
Процедура или функция?
_______ Add(X, Y: Integer): Integer;
begin
Add := X + Y
end;
Параметры
Фактические
Указываются в разделе основной программы
Указываются в разделе основной программы
Формальные
Указываются в подпрограмме
Указываются в подпрограмме
Вызов процедуры производится оператором, имеющим следующий формат:
имя процедуры(список фактических параметров);
Список фактических параметров - это их перечисление через запятую.
Параметры
В стандарте языка Паскаль передача параметров может производиться двумя способами - по значению и по ссылке. Параметры, передаваемые по значению, называют параметрами-значениями , передаваемые по ссылке - параметрами-переменными . Последние отличаются тем, что в заголовке процедуры (функции) перед ними ставится служебное слово var.
Передача параметров. Формальные параметры
Переменные
-значения
Параметры по значению
a, b:real;
Формальные параметры
Var c, d: integer;
Параметры по ссылке
Переменные
-ссылки
Формальные параметры
Параметры по значению
a, b:real;
При первом способе (передача по значению) значения фактических параметров копируются в соответствующие формальные параметры.
Процедура
Procedure Name (a, b: integer);
…
Основная программа
…
Name(x, y);
…
При изменении этих значений в ходе выполнения процедуры (функции) исходные данные (фактические параметры) измениться не могут
Формальные параметры
Параметры по ссылке
Var c, d: integer;
При передаче по ссылке все изменения, происходящие в теле процедуры (функции) с формальными параметрами, приводят к немедленным аналогичным изменениям соответствующих им фактических параметров.
Процедура
Procedure Name (a, b: integer, Var c:real);
…
Основная программа
Изменения происходят с переменными вызывающего блока, поэтому по ссылке передаются выходные параметры. При вызове соответствующие им фактические параметры могут быть только переменными.
…
Name(x, y, c );
…
Задание
Var a, S: real;
Выпишите:
1.Фактические параметры ___________
Procedure Kvad(R: real; var S: real);
2.Формальные параметры ___________
Begin … end;
3.Формальные параметры-значения __________
4.Формальные параметры-ссылки ___________
Begin
5.Имя процедуры ___________
6.Обращение к процедуре из программы _____________________
Эльвира староста класса. Ей предстоит составить план выполнения генеральной уборки в классе: убрать бумажки, полить цветы, помыть парты, вытереть стекла. Как ей лучше организовать работу? Помогите Эльвире.
Продвинутый план Эльвиры
Подпрограммы:
Арсен – убирает бумажки
Мила – поливает цветы
Виталий – моет парты
Индира – вытирает стекла
Начало
1. Выполнить Арсен
2. Выполнить Мила
3. Выполнить Виталий
4. Выполнить Индира
Конец алгоритма
Резюме:
С какими новыми структурами языка программирования мы сегодня познакомились?
Назовите изученные параметры
Как передаются параметры в процедуру?
Домашнее задание
Конспект урока
Найти определения: «Локальные переменные» и «Глобальные переменные»
Составить две задачи, в которых можно использовать процедуры или функции.
Рефлексия
Как бы вы определили тему урока? (придумайте свое название)
Что, по вашему мнению, вы должны узнать на следующем уроке?