Тема урока: «Процедуры и функции. Понятие подпрограмм. Механизм реализации подпрограмм с помощью процедур и функций»
Вид материала | Урок |
- Каждая подпрограмма определяется уникальным именем (идентификатором). Замечание: тексты, 42.15kb.
- Тема урока: «Исследование функции с помощью производной», 80.5kb.
- Урока. Раздел. Тема урока, 316.06kb.
- Городская целевая программа "Электронная Москва" оглавление введение Существующие проблемы, 2282.07kb.
- В себя различные компоненты раздела описаний (типы, константы, переменные, процедуры, 373.81kb.
- Реферат по Информационной безопасности Тема: «Антивирусы», 711.1kb.
- Тема: Использование логических функций в пакете Excel, 14.85kb.
- 1. Право: понятие и признаки. Функции права. Право, 1015.3kb.
- Задачи урока: повторить свойство монотонности и ограниченности показательной функции;, 91.6kb.
- Урок учителя математики Гукасовой А. П. Тема урока: «Уравнение касательной», 52.29kb.
Тема урока: «Процедуры и функции. Понятие подпрограмм. Механизм реализации подпрограмм с помощью
процедур и функций».
(2 урок)
Цель: закрепить знания о подпрограммах и возможностях их использования.
Показать на примерах механизм реализации подпрограмм с помощью
процедур и функций.
Задачи:
Образовательная: научиться составлять простейшие подпрограммы, умение анализировать информацию, выделять главное.
Развивающая: развитие речи, умение делать выводы, выделять главное.
Воспитывающая: умение высказывать свое мнение, прислушиваться к чужому, работать коллективно, способность следовать нормам поведения.
Оборудование: компьютер, мультимедийный проектор, презентация по теме
урока.
План урока:
- Орг. момент. (1 мин)
- Актуализация и проверка знаний. (5 мин)
- Теоретическая часть. (10 мин)
- Практическая часть. (20 мин)
- Д/з (2 мин)
- Рефлексия. (5 мин)
- Итог урока. (2 мин)
Ход урока.
I. Орг. момент.
Приветствие, проверка присутствующих. Объяснение хода урока.
II. Актуализация и проверка знаний.
1. Фронтальный опрос по вопросам:
- Что такое подпрограмма?
- Какие преимущества она даёт?
- Объясните назначение локальных и глобальных переменных.
- Как происходит обмен данными с процедурой без параметров?
- Какие бывают параметры?
- Чем отличаются формальные и фактические параметры?
2. Проверка домашней задачи.
Учащиеся предлагают свои решения задачи. Учитель демонстрирует правильный код программы.
СЛАЙД 1.
Задача: Используя процедуру, упорядочить значения трёх переменных
a, b и c в порядке их убывания.
В основной программе появятся 3 строки:
If a>b then swap(a, b);
If a>c then swap(a, b);
If b>c then swap(a, b);
III. Теоретическая часть.
Функции предназначены для того, чтобы вычислять только одно значение, поэтому её первое отличие состоит в том, что процедура может иметь новые значения у нескольких параметров, а функция только одно (оно и будет результатом).
Второе отличие заключается в заголовке функции. Он состоит из слова Function, за которым идёт имя функции, затем в круглых скобках идёт список формальных параметров, после чего через двоеточие записывается тип результата функции. Остальное как в процедуре.
В теле функции обязательно должен быть хотя бы один оператор присваивания, где в левой части стоит имя функции, а в правой – её значение. Иначе значение не будет определено.
СЛАЙД 2. ПОДПРОГРАММЫ — ФУНКЦИИ.
Описание функции имеет вид:
function имя_функции (описание входных данных):
тип_результата;
{описание локальных переменных}
begin
{операторы}
имя _функции:=результат;
end;
После описания формальных параметров, которые являются аргументами функции, в заголовке указывается тип результата, т.е. тип самой функции. Это описание относится к имени функции, которому необходимо присвоить значение результата работы подпрограммы. Как и процедура, функция может содержать все четыре раздела описаний локальных переменных.
Описание функции – это самостоятельная часть программы, имеющая собственные переменные, которым отводится отдельное, не зависящее от основной программы место в памяти ЭВМ. Эти объясняется тот факт, что переменные, именуемые одним именем и используемые как в описании функции, так и в основной программе, фактически являются разными переменными. При выполнении программы машина не путает имена этих переменных, так как области их действия не совпадают.
Таким образом, программист может вводить в описание функции различные имена, не заглядывая в другие части программы, что особенно важно при написании больших программ.
Функции отличаются от процедур тем, что они возвращают значения. Функции используются в выражениях вместо переменных или констант. Процедуры не возвращают значения, а просто преобразуют какие-либо данные, например, перерисовывают экранное изображение. Процедуры и функции вызываются при помощи специальных операторов вызова.
Обратим внимание на следующий слайд.
СЛАЙД 3.
function zifr (x : longint): integer;
var k: integer;
begin
k := 0;
while x<>0 do
begin
inc(k);
x:=x div10;
evd;
zifr:=k;
end.
Вопросы к учащимся:
1.Как описана функция?
2.Какую задачу решает данная подпрограмма?
IV. Практическая часть.
- Работа в парах. Вам необходимо решить задачу на вычисление наименьшего общего кратного двух натуральных чисел с использованием функции.
После выполнения групповой работы учитель демонстрирует слайд, коллективно разбираются допущенные ошибки.
СЛАЙД 5.
Процедура вычисления наименьшего общего кратного двух натуральных чисел с использованием функции.
Program NOK;
const c: array[1..5] of integer = (36, 54, 72, 18, 15);
var x, y, i: integer;
function NOD (a,b: integer): integer; {заголовок функции}
begin
while a<>b do
if a>b then a := a-b;
else b := b-a;
NOD:=a; {результат работы функции присваивается её имени}
end; {конец описания функции}
begin {начало главной программы}
x := c[ 1 ];
for i : = 2 to 5 do
begin
y := c[ I ];
x := x * y div NOD(x,y); {вызов функции}
end;
write (‘НОК =’, x)
end.
- Индивидульная работа.
Учащимся раздаются карточки с индивидуальными заданиями. В классе они начинают выполнять задания, дома заканчивают.
Задачи для индивидуальной работы:
1. Вычислить факториал числа n (n!=1*2*...*n)
2. Треугольник задан координатами своих вершин. Составить программу
вычисления его площади.
3. Вычислить площадь правильного шестиугольника по заданной стороне, используя подпрограмму нахождения площади треугольника.
4.Составьте программу нахождения наименьшего натурального N-значного числа Х (Х>=0), равного утроенному произведению своих цифр.
5. Даны натуральные числа m и n (m
6. Напишите программу для определения НОД трёх натуральных чисел.
7. Напишите программу вычисления суммы квадратов простых чисел, лежащих в интервале (M,N)/
8. Напишите программу подсчёта числа чётных цифр, используемых в записи N-значного числа M/
9. Дано простое число. Составить функцию, которая будет находить следующее за ним простое число.
10. Найти все натуральные числа, не превосходящие заданного n, которые делятся на каждую из своих цифр.
- Домашнее задание.
- выучить материалы лекции.
- Закончить решение индивидуальной задачи.
- Рефлексия.
Учащиеся делятся впечатлениями от урока, рассказывают, что им понравилось, а что можно было бы сделать по другому.
VII. Итог урока. Выставление оценок.