Класс | Дата |
|
|
|
|
|
|
|
|
|
|
|
|
Планируемые образовательные результаты:
- предметные – представления о способах записи вспомогательных алгоритмов в языке Паскаль;
- метапредметные – умение самостоятельно планировать пути достижения целей; умение соотносить свои действия с планируемыми результатами, осуществлять контроль своей деятельности, определять способы действий в рамках предложенных условий, корректировать свои действия в соответствии с изменяющейся ситуацией; умение оценивать правильность выполнения учебной задачи;
- личностные – алгоритмическое мышление, необходимое для профессиональной деятельности в современном обществе; представление о программировании как сфере возможной профессиональной деятельности.
Решаемые учебные задачи:
1) напомнить сущность понятия вспомогательного алгоритма, ввести понятие подпрограммы;
2) познакомить с правилами оформления подпрограммы в виде процедуры;
3) познакомить с правилами оформления подпрограммы в виде функции;
4) познакомить с примером рекурсивной функции.
Воспитательный аспект:
Развитие алгоритмического мышления, необходимого для профессиональной деятельности в современном обществе; развитие умений составить и записать алгоритм для конкретного исполнителя.
Формирование знаний об алгоритмических конструкциях, логических значениях и операциях.
Знакомство с одним из языков программирования и основными алгоритмическими структурами.
Основные понятия, изучаемые на уроке:
- подпрограмма;
- процедура;
- функция;
- рекурсивная функция.
Используемые на уроке средства ИКТ:
- персональный компьютер (ПК) учителя, мультимедийныйпроектор, экран;
- ПК учащихся.
Электронные образовательные ресурсы
- презентация «Запись вспомогательных алгоритмов на языке Паскаль».
Особенности изложения содержания темы урока
1. Организационный момент (1 минута)
Приветствие учащихся, сообщение темы и целей урока.
2. Повторение (3 минуты)
1) проверка изученного материала по вопросу 10 к §2,3;
2) визуальная проверка выполнения домашнего задания .
3) рассмотрение заданий, вызвавших затруднения при выполнении домашнего задания.
3. Изучение нового материала (18 минут)
Новый материал излагается в сопровождении презентации «Запись вспомогательных алгоритмов на языке Паскаль».
1 слайд — название презентации;
2 слайд — ключевые слова;
- подпрограмма
- процедура
- функция
- рекурсивная функция
3 слайд —подпрограммы;
Запись вспомогательных алгоритмов в языках программирования осуществляется с помощью подпрограмм.
Структура описания подпрограммы аналогична структуре главной программы. Описание подпрограммы начинается с заголовка и заканчивается оператором end.
4 слайд—процедуры;
Процедура - подпрограмма, имеющая произвольное количество входных и выходных данных.
Описание процедуры имеет вид:
procedure (;
var: );
begin
end;
Для вызова процедуры достаточно указать её имя со списком фактических параметров.
5 слайд—алгоритм Евклида;
Процедура для нахождения НОД
procedure nod (a, b: integer; var c: integer);
begin
while ab do
if ab thena:=a-b else b:=b-a;
c:=a
end;
6 слайд—варианты вызова процедуры;
nod (36, 15, z) - в качестве параметров-значений использованы константы;
(x, y, z) - в качестве параметров-значений использованы имена переменных;
(x+y, 15, z) -в качестве параметров-значений использованы выражение и константа;
В любом случае между фактическими и формальными параметрами должно быть полное соответствие по количеству, порядку следования и типу.
7 слайд—программа с процедурой;
Напишем процедуру для нахождения наибольшего общего делителя
двух чисел с помощью алгоритма Евклида. Используем её для нахождения наибольшего общего делителя следующих шести чисел: 16, 32, 40, 64, 80 и 128.В программе найден первый из элементов, удовлетворяющих условию.
programn_20;
const m: array [1..6] of integer = (16, 32,40, 64, 80, 128);
vari, x, y, z: integer;
procedure nod (a, b: integer;
varc:integer);
begin
while ab do
if ab thena:=a-b else b:=b-a;
c:=a
end;
begin
x:=m[1];
fori:=2 to 6 do
begin
y:=m[i];
nod (x, y, z);
x:=z
end;
writeln ('НОД=', x)
end.
8слайд — функции;
Функция - подпрограмма, имеющая единственный результат, записываемый в ячейку памяти, имя которой совпадает с именем функции.
function (): ;
begin
;
:=
end;
В блоке функции обязательно должен присутствовать оператор :=.
Для вызова функции её имя со списком параметров можно в любом выражении, в условиях, в операторе write главной программы.
9 слайд—Функция поиска максимального из 2-х;
Напишем программу нахождения максимального из четырёх целых чисел, использующую функцию поиска максимального из двух чисел:
program n_20;
var a, b, c, d, f: integer;
function max (x, y: integer): integer;
begin
if xy thenmax:=x else max:=y;
end;
begin
readln (a, b, c, d);
f:= max(max(a, b), max(c, d));
writeln ('f=', f);
end.
10 слайд – Последовательность Фибоначчи;
В январе Саше подарили пару новорождённых кроликов. Через два месяца они дали первый приплод - новую пару кроликов, а затем давали приплод по паре кроликов каждый месяц.
Каждая новая пара также даёт первый приплод (пару кроликов) через два месяца, а затем - по паре кроликов каждый месяц. Сколько пар кроликов будет у Саши в декабре?
Числа 1, 1, 2, 3, 5, 8, … образуют так называемую последовательность Фибоначчи, названную в честь итальянского математика, впервые решившего соответствующую задачу ещё в начале XIII века.
11 слайд – математическая модель;
Пусть f(n) количество пар кроликов в месяце с номером n.
По условию задачи:
f(1) = 1,
f(2) = 1,
f(3) = 2.
Из двух пар, имеющихся в марте, дать приплод в апреле сможет только одна: f(4) = 3.
Из пар, имеющихся в апреле, дать приплод в мае смогут только пары, родившиеся в марте и ранее:
f(5) = f(4) + f(3) = 3 + 2 = 5.
В общем случае:
f(n)= f(n –1)+ f(n – 2), n = 3.
12 слайд– функция;
function f (n: integer): integer;
begin
if (n=1) or (n=2) thenf:=1
elsef:=f(n-1)+f(n-2)
end;
Полученная функция рекурсивная - в ней реализован способ вычисления очередного значения функции через вычисление её предшествующих значений.
13 слайд— самое главное.
Запись вспомогательных алгоритмов в языках программирования осуществляется с помощью подпрограмм. В Паскале различают два вида подпрограмм: процедуры и функции.
Процедура - подпрограмма, имеющая произвольное количество входных и выходных данных.
Функция - подпрограмма, имеющая единственный результат, записываемый в ячейку памяти, имя которой совпадает с именем функции.
Вопросы и задания
14 слайд – вопросы и задания;
Вопросы 1-10 кпараграфу 4.7.
4. Практическая часть (20 минут)
Выполнить, рассмотренные на уроке задачи № 3, 4, 10 из учебника на компьютере в среде программирования PascalABC.NET. Скачать ее можно по ссылке на сайте (http://pascalabc.net/).
Все задания, которые не успели выполнить на уроке, задаются на дом.
5. Подведение итогов урока. Сообщение домашнего задания. Выставление оценок (3 минуты)
15 слайд — опорный конспект;
16 слайд — Д/з.
Домашнее задание.
§2.4, вопросы № 1-10 к параграфу. РТ. 92