Введение
XXI век называют эрой информационных
технологий. Какие бы задачи ни решал сейчас ученый или специалист, для него
очень важно уметь грамотно обрабатывать информацию: искать, отбирать,
анализировать и использовать ее. Именно поэтому ему не обойтись без знания
информатики. Применение ЭВМ позволяет теперь переложить часть этой обработки на
автоматические устройства, способные достаточно долго работать без
участия человека, со скоростью в несколько миллионов раз превышающей
скорость обработки информации человеком.
ЭВМ внедряются буквально во все
области человеческой деятельности, поэтому непрерывно растет круг людей,
вовлеченных в работу с ними. В условиях массового применения вычислительных
машин большое значение имеет использование различных языков программирования. И
это понятно - без них ЭВМ не более чем "черный ящик". Эффективность
взаимодействия человека с ЭВМ тем больше, чем проще и понятнее язык общения с
ЭВМ. Особый интерес представляют языки, доступные миллионам пользователей,
способные привить им навыки культурного программирования.
Pascal - один из языков
программирования, который помогает писать «структурированные» программы в таком
виде, в котором структура программы должна непосредственно отражать структуру
задачи. Эта особенность языка Pascal, а также его достаточная простота из-за
интуитивной понятийности его конструкций, позволила языку завоевать прочное
место среди языков программирования. Современным достижением программирования
является признание преимущества структурированных программ. Вот почему Pascal
широко используется инженерами и научными работниками, является официальным
языком международных олимпиад по информатике.
План урока
Тема: «Функции: способы организации
и описание. Вызов функций»
Цели:
образовательные
·
формирование у студентов знаний
и умений по теме, связанных с понятием функции пользователя;
·
научить применять подпрограммы-функции
в решении задач на Паскале;
развивающие
·
развитие познавательного
интереса к изучению языка программирования;
·
развитие
алгоритмического и логического мышления, памяти, внимательности;
·
формирование компьютерной
грамотности и потребности в приобретении знаний;
воспитательные
·
привитие культуры поведения;
·
привитие навыков коллективной
и самостоятельной работы.
Тип урока: комбинированный
Оборудование и программное обеспечение урока:
·
интерактивный комплекс;
·
операционная система Windows 7;
·
среда
объектно-ориентированного программирования Delphi 7;
·
компьютерная презентация в
Power Point.
Методы обучения: объяснительно-иллюстративный, исследовательский,
практический.
Ход урока.
1. Организационный момент.
Приветствие. Проверка отсутствующих.
2. Мотивация. Сообщение темы и цели урока.
Ребята, скажите, с чего
начинается урок физической культуры? (Ответ: с разминки). Давайте
проведем своеобразную разминку на эрудицию "Ребусы". (Приложение).
Ребята, тема сегодняшнего урока "Функции: способы организации и описание.
Вызов функций".
Целями урока являются: сформировать
знания и умения по данной теме и научить применять подпрограммы-функции в
решении задач на языке Паскаль.
3. Актуализация опорных знаний и умений.
На предыдущих уроках вы
познакомились с понятием подпрограмма, со структурой подпрограммы и видами
подпрограмм. Ребята, давайте повторим.
Вопросы по теме:
1.
Что такое подпрограмма? ( Подпрограмма
– это специальным образом оформленный алгоритм, который может многократно
использоваться при решении более общей задачи)
2.
Какие задачи решают
подпрограммы? (1. Избавляют от
необходимости многократно повторять в тексте программы аналогичные фрагменты;
2. Улучшают структуру программы, облегчая ее понимание; 3. Повышают
устойчивость к ошибкам программирования и непредвиденным последствиям при
модификациях программы)
3.
Где в программе описывается
подпрограмма? (Описание подпрограммы располагается между разделом var главной
программы и ее программным блоком (первым begin). Подпрограмм может быть
несколько, их описания располагаются в произвольном порядке одно за другим.)
4.
Назовите виды
подпрограмм. (процедуры и
функции)
5.
Скажите, как описываются
процедуры на языке Паскаль? (Procedure Имя (формальные параметры); описание переменных; begin инструкции;
end;)
6.
Какие параметры называются
"формальные" и какие - "фактические"? (Фактические параметры - находятся в главной программе и
указываются при вызове подпрограммы; формальные параметры – находятся в
подпрограмме и указываются при ее описании).
7.
Скажите, как выполнить вызов
процедуры в программе? (Имя (фактические параметры);)
8.
Какие переменные называются
глобальными, а какие локальными переменными? (Глобальные переменные -
это переменные в Основной программе; Локальные переменные- это переменные в
подпрограмме.)
4. Изложение нового материала
Молодцы, ребята. Откройте свои тетради, запишите дату и тему
урока. Ребята, сегодня 28 марта 2016 года. Как вы знаете, этот год у нас - год
российского кино. Так вот, сегодня день рождения Иннокентия Смоктуновского - известного советского и российского
актера театра и кино, Народного артиста СССР и Андрея Панина - советского и
российского актера театра и кино, режиссера, Заслуженного артиста РФ.
Итак, приступим к изучению новой темы. (Конспект нового материала)
Функция - это часть программы, выполняющая некоторое законченное действие и
возвращающая результат своего выполнения. Каждая функция имеет имя, список
параметров, тип возвращающего значения.
Описание функции. Описание функции состоит из
заголовка и тела. Однако описание заголовка имеет 2 отличия: прежде всего для
функций используется ключевое слово function. Кроме того, поскольку функции
всегда возвращают результат, завершается строка заголовка типом возвращаемого
значения. Таким образом, для объявления функции мы получаем следующий
синтаксис:
function Имя
(формальные параметры) : тип результата;
раздел описания функции;
begin
Исполняемая часть функции; Имя функции := результат;
end;
Возвращаемое значение может быть любого типа, кроме файлового.
Единственным дополнением является то, что в теле функции обязательно должна
присутствовать хотя бы одна операция присваивания, в левой части которой должно
быть либо имя функции, либо ключевое слово result. Именно это выражение и
определяет возвращаемое функцией значение.
Вызов функции. Обращение к
функции является операндом в выражении. То есть:
идентификатор := имя
функции(фактические параметры);
Пример. Требуется найти (x!-y!)*d!
Опишем функцию вычисления факториала.
function factorial(n:integer):integer;
var
p,i:integer;
Begin
p:=1;
for i:=2 to n do p:=p*i;
factorial:=p;
end;
Вызывать данную функцию в программе можно так:
f:=(factorial (x)-factorial (y))*factorial (d)
5. Решение задач
Преподаватель: Ребята,
посмотрите на доску. Скажите, здесь описана процедура или функция?
1. ________ MaxNum(a,b:integer):integer;
var
max: integer;
begin
if
a>b then max:=a else max:=b;
MaxNum:=max;
end;
2. ________ MaxNum(a,b:integer; var max:integer);
begin
if
a>b then max:=a else max:=b;
end;
3. ________Add(x,y: integer):integer;
begin
Add:=x+y;
end;
Молодцы. А теперь решим
следующие задачи.
Задача 1. Написать
программу нахождения суммы максимального и минимального элемента целочисленного
массива, используя подпрограмму-функцию нахождения максимального и минимального
элемента.
Текст программы:
program Project1;
{$APPTYPE CONSOLE}
uses SysUtils;
type
tArr=array[1..100] of integer;
var
MasA:tArr; i,n:byte; sum:integer;
function MaxEl(Mas:tArr;n:byte):integer;
var m:integer;
begin
m:=Mas[1];
for i:=2 to n do
if m<Mas[i] then m:=Mas[i];
MaxEl:=m;
end;
function MinEl(Mas:tArr;n:byte):integer;
var m:integer;
begin
m:=Mas[1];
for i:=2 to n do
if m>Mas[i] then m:=Mas[i];
MinEl:=m;
end;
begin
randomize;
writeln('Vvedite n'); readln(n);
for i:=1 to n do MasA[i]:=random(10)-3;
sum:=MaxEl(MasA,n)+MinEl(MasA,n);
writeln('Elementi massiva: ');
for i:=1 to n do write(MasA[i],' ');
writeln;
writeln('Summa = ',sum);
readln;
end.
Анализ программы
ü Назовите глобальные и локальные переменные.
ü Назовите фактические и формальные параметры.
ü Как в основной программе осуществляется обращение к подпрограмме?
Задача
2. Найти наибольшее число из 4 заданных
чисел.
Текст программы:
program Project1;
{$APPTYPE CONSOLE}
uses SysUtils;
var a,b,c,d,n:integer;
function MaxNum(x,y:integer):integer;
var max:integer;
begin
if x>y then max:=x else max:=y;
MaxNum:=max;
end;
begin
writeln('Vvedite a,b,c,d'); readln(a,b,c,d);
n:=MaxNum(MaxNum(a,b),MaxNum(c,d));
writeln('Maksimalnoe chislo = ',n); readln;
end.
6. Закрепление
1.
Что
такое подпрограмма-функция в Pascal?
2.
Где объявляется в основной
программе подпрограмма-функция?
3.
Как объявляется
подпрограмма-функция?
4.
Как вызывается в основной
программе подпрограмма-функция?
7. Рефлексия
Завершите фразу:
1.
Сегодня я
узнал(а)…
2.
Было
интересно…
3.
Было трудно…
4.
Я понял(а),
что…
5.
Теперь я
могу…
6.
Я
почувствовал(а), что…
7.
Я приобрел(а)…
8.
Я научился(ась)…
9.
У меня
получилось …
10.
Я смог(ла)…
11.
Меня удивило…
12.
Мне захотелось…
8. Домашнее задание
1) Выучить тему сегодняшнего урока.
2) Выполнить задачу: По
координатам вершин треугольника вычислить его периметр и площадь, используя
подпрограмму-функцию вычисления длины отрезка, соединяющего две точки.
9. Итог урока
Преподаватель: Сегодня на
уроке мы изучили функции пользователя и применили полученные знания при решении
задач. Выяснили, что подавляющее большинство задач можно решать разными
способами. На следующем занятии мы с вами изучим рекурсивные функции и их
особенность.
По итогам работы на уроке активные студенты получают хорошие оценки
за урок.
Преподаватель:
Спасибо вам за урок. До свидания.
Заключение
В современном
мире уже никак не обойтись без компьютерной грамотности и тем более, без знания
специализированных программ в различных сферах человеческой деятельности, где применяется
компьютер.
Эта компьютерная грамотность -
непременное условие пригодности человека к практически любой профессиональной
деятельности.
Ведь вся компьютерная
техника призвана помогать человеку, но для того, чтобы разъяснить компьютеру,
что Вы от него хотите, нужно уметь говорить с ним на одном языке.
Для понимания
того, как работает компьютер, как управлять и использовать компьютерную мощь в
решении ваших задач.
Приложение
"Ребусы"
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.