Тема урока: «Процедуры и функции. Понятие подпрограмм

advertisement
Тема урока: «Процедуры и функции. Понятие подпрограмм. Механизм реализации подпрограмм
с помощью процедур».
Цель: дать учащимся представление о подпрограммах и возможностях их использования.
Показать на примерах механизм реализации подпрограмм с помощью процедур и функций.
Задачи:
Образовательная: научиться составлять простейшие подпрограммы, умение анализировать
информацию, выделять главное.
Развивающая: развитие речи, умение делать выводы, выделять главное.
Воспитывающая: умение высказывать свое мнение, прислушиваться к чужому, работать
коллективно, способность следовать нормам поведения.
Оборудование: компьютер, мультимедийный проектор, презентация по теме урока.
План урока:
I.
II.
III.
IV.
V.
VI.
VII.
Орг. момент. (1 мин)
Актуализация и проверка знаний. (5 мин)
Теоретическая часть. (15 мин)
Практическая часть. (15 мин)
Д/з (2 мин)
Рефлексия. (5 мин)
Итог урока. (2 мин)
Ход урока.
I. Орг. момент.
Приветствие, проверка присутствующих. Объяснение хода урока.
II. Актуализация и проверка знаний.
Фронтальный опрос по вопросам:
1. Что такое программа?
2. Какова структура программы?
3. С чего начинается основная часть программы? Как её закончить?
4. Обязателен ли заголовок программы?
5. Какие разделы описаний вы знаете?
6. С чего начинается раздел констант?
7. Как описать переменные?
III. Теоретическая часть. Лекция.
Язык программирования Pascal позволяет разделять программу на отдельные части, которые
называются подпрограммами. Термин подпрограмма говорит о том, что она подобна и подчинена
основной программе.
Подпрограмма - это повторяющаяся группа операторов, оформленная в виде
самостоятельной программной единицы. Она записывается однократно, а в соответствующих
местах программы обеспечивается лишь обращение к ней по имени
Подпрограммы решают три важные задачи, значительно облегчающие программирование:
1. избавляют от необходимости многократно повторять в тексте программы аналогичные
фрагменты, т.е. сократить объём программы;
2. улучшат структуру программы, облегчая понимание при разборе;
3. уменьшают вероятность появления ошибок, повышают устойчивость к
ошибкам программирования и непредвиденным последствиям при
модификации.
Подпрограммы имеют структуру, аналогичную главной программе. Они содержат
заголовок со специальным словом — признаком подпрограммы, имя и, при необходимости,
списки передаваемых на обработку и получаемых из подпрограммы данных. Затем могут
располагаться все имеющиеся в главной программе разделы описаний: меток, констант, типов и
переменных. В этих разделах описываются данные, используемые только внутри подпрограммы и
являющиеся промежуточными при её выполнении. Такие данные называются локальными. В
подпрограмме могут участвовать переменные, описанные в главной программе. Эти данные
называются глобальными, их значения и подпрограмма, и главная программа берут из общей
памяти.
Подпрограммы могут быть стандартными, определёнными системой Pascal, и собственными,
т.е. созданные отдельным пользователем.
Подпрограммы вызываются из определённого места программы, выполняют некоторые
действия, после чего возвращают управление в место вызова.
Подпрограммы делятся на две категории: процедуры и функции. Процедура —
подпрограмма, имеющая любое количество входных и выходных данных.
Любая процедура начинается с заголовка, который является её обязательной частью. Он
состоит из служебного слова Procedure, за которым следует имя процедуры, а в круглых скобках
— список формальных параметров. После заголовка могут идти те же разделы, что и в программе.
Procedure <имя> [(формальные параметры)]
begin
тело процедуры
end.
Результат выполнения процедуры — это одно или несколько значений. Оно передаётся в
основную программу как значение её параметра. При вызове процедуры её формальные
параметры заменяются фактическими в порядке их следования.
Процедура может быть описана без параметров и с параметрами. Параметры -это данные
из заголовка процедуры, как передаваемые её на обработку, так и получаемые в виде результатов.
СЛАЙД 1. ПРОЦЕДУРЫ БЕЗ ПАРАМЕТРОВ.
Описание процедуры без параметров имеет вид:
procedure имя;
{описание локальных переменных}
begin
{операторы}
end;
Процедура без параметров может реализовывать любой алгоритм. Все переменные, над
которыми производят действия операторы процедуры, определяются в вызывающей программе,
им присваиваются необходимые для выполнения процедуры значения.
Для удобства передачи данных в процедуру и получения из неё результата используются
формальные и фактические параметры.
Формальные — условные обозначения в описании процедуры — описываются в её заголовке.
Фактические — с которыми требуется выполнить процедуру — перечисляются при вызове
процедуры. Формальные и фактические параметры должны соответствовать по количеству, типу и
порядку следования. Формальные параметры описываются только в заголовке процедуры и
больше нигде. Их описание похоже на описание данных в разделе переменных и может также
содержать слово var.
СЛАЙД 2. ПРОЦЕДУРЫ С ПАРАМЕТРАМИ.
Процедура NOD c параметрами может иметь заголовок:
procedure NOD (a,b: integer; var k: integer);
Вызов этой процедуры: NOD (x,y,m);
Переменные в заголовке процедуры — формальные параметры, заменяемые при выполнении
процедуры на конкретные значения переменных Х и У . В заголовке процедуры NOD описаны
формальные параметры: a и b — входные данные , для которых находится наибольший общий
делитель; k — результат работы процедуры. При вызове процедуры переменная a примет
значение х, а переменная b — значение y. Результат работы процедуры при вызове попадёт в
ячейку с именем m, которой соответствует формальный параметр k.
IV. Практическая часть.
А теперь применим полученные теоретические знания на практике. Решим задачу:
Составить процедуру вычисления наименьшего общего кратного двух натуральных чисел. (с
использованием процедуры с параметром, процедуры без параметра, функции.)
Учащиеся решают задачу в группах (в среде редактора Pascal ) :
- 1 группа - решение задачи с использованием процедуры с параметром;
- 2 группа - решение задачи с использованием процедуры без параметра;
Учитель контролирует работу групп. После того, как все группы справились с задачей,
учитель демонстрирует слайды с правильным решением.
СЛАЙД 3.
Процедура вычисления наименьшего общего кратного
двух натуральных чисел с использованием процедуры с параметром .
Program NOK;
const c: array[1..5] of integer = (36, 54, 72, 18, 15);
var x, y, i, m: integer;
procedure NOD(a, b: integer; var k: integer); {заголовок процедуры}
begin
while a<>b do
if a>b then a := a-b;
else b := b-a;
k:=a;
end; {конец процедуры}
begin {начало главной программы}
x := c[ 1 ];
for i : = 2 to 5 do
begin
y := c[ I ];
NOD(x, y, m); {вызов процедуры с фактическими
параметрами}
x : x * y div m;
end;
write (‘НОК =’, x)
end.
СЛАЙД 4.
Процедура вычисления наименьшего общего кратного двух натуральных чисел с
использованием процедуры без параметра.
Program NOK;
const c: array[1..5] of integer = (36, 54, 72, 18, 15);
var x, y, i, m: integer;
procedure NOK; {заголовок процедуры}
var a,b: integer;
begin
a := x; b := y;
while a<>b do
if a>b then a := a-b;
else b := b-a;
m:=a;
end; {конец процедуры}
begin {начало главной программы}
x := c[ 1 ];
for i : = 2 to 5 do
begin
y := c[ I ];
NOD; {вызов процедуры без параметров}
x : x * y div m;
end;
write (‘НОК =’, x)
end.
V. Домашнее задание.
- выучить материалы лекции.
- Задача: Используя процедуру, упорядочить значения трёх переменных a, b и c в порядке
их убывания. .
VI. Рефлексия.
Учащиеся делятся впечатлениями от урока, рассказывают, что им понравилось, а что
можно было бы сделать по другому.
VII. Итог урока. Выставление оценок.
Download