Задачи:
- Дидактическая: в ходе урока сформулировать определение цикла, понятие разветвляющихся структур. Привести примеры различных способов записи алгоритмов.
- Развивающая: в ходе урока привести примеры аналогий, сопоставлений и сравнений. В целях развития познавательного интереса привести примеры межпредметной связи информатики с другими науками (на примере египетской задачи).
- Воспитательная: продолжить формирование дисциплины мышления, сообразительности на примере строгости алгоритмического языка и исполнения на ПК.
Тип урока: комбинированный
а) объяснение нового материала;
б) практикум.
Структура урока:
- инициализация урока;
- сообщение цели и задач урока;
- проверка домашнего задания;
- объяснение нового материала;
- закрепление;
- проверка понимания;
- практикум;
- подведение итогов урока;
- задание на дом;
- комментированное сообщение оценок.
ХОД УРОКА
I. Инициализация урока (организационный момент)
II. Сообщение цели и задач урока
Объявление задач урока: в ходе урока сформулируем определение цикла и понятие разветвляющихся структур. Приведём примеры различных способов записей циклических программ и исполнение их на ПК.
III. Проверка домашнего задания
а) проверка письменного задания – составление программы (у доски один ученик);
Задача: в треугольнике известны длины сторон: а, в и величина угла между ними хо. (а = 8,7; в = 17,3; х = 680 или 1,186 rad). Составить алгоритм для вычисления длины третьей стороны с, площади треугольника – S и радиуса R – окружности, описанной около треугольника.
б) реализация программы на ПК (второй ученик).
На языке Qbasic. |
На языке Turbo Pascal. |
Rem “треугольник” input a, b, x c=sqr(a^2+b^2-2*a*b*cos(x)) S=a*b*sin(x)/2 R=c/(2*sin(x)) print “c=”;c, “S=”S, “R=”;R end |
Program treugolnik; {заголовок программы} var a,b,x,c,S,R:real; {описание значений переменных как вещественных } begin {начало программы} a:=8.7; {значение длины стороны – а} b:=17.3; {значение длины стороны – в} x:=1.186; {радианная мера угла, равная 68о} c:=sqrt(a*a+b*b-2*a*b*cos(x)); {вычисление длины стороны – с} S:=a*b*sin(x)/2; {вычисление площади треугольника} R:=c/(2*sin(x)); {вычисление радиуса, описанного около треугольника} write (‘c=’); writeln (c); {вывод длины стороны с} write (‘S=’); writeln (S); {вывод значения площади треугольника} write (‘R=’); writeln (R); {вывод значения радиуса, описанного около треугольника} end. {конец программы} |
Результаты на языке Qbasic |
Результаты на языке Turbo Pascal |
запуск программы: run |
запуск программы: run |
в) фронтальный опрос;
Предлагаемые вопросы:
а) сформулировать определение алгоритма;
б) перечислить свойства алгоритма;
в) перечислить способы записи алгоритма;
г) определение линейного алгоритма.
Предполагаемые ответы на вопросы:
а) Алгоритм – это точное предписание,
определяющее вычислительный процесс, ведущий от
варьирующих начальных данных к искомому
результату.
б) Основные свойства алгоритма:
1. детерминированность (определённость);
2. дискретность (поэтапность);
3. массовость;
4. результативность.
- Детерминированность (определённость) означает, что набор указаний должен быть точным и понятным.
- Дискретность (поэтапность) означает разбиение алгоритма на отдельные элементарные этапы.
- Массовость означает пригодность алгоритма для решения всех однотипных задач.
- Результативность означает конец алгоритма.
в) Способы записи алгоритма:
- формульный;
- словесный;
- табличный;
- с помощью блок-схем;
- с помощью алгоритма (программы).
г) Линейным алгоритмом называется алгоритм, в котором все действия (операции) выполняются один раз и последовательно друг за другом.
IV. Объявление темы урока
Сформулируем определение цикла.
Определение: Неоднократно повторяемые команды называются циклом, а сами процессы циклическими.
Для записи разветвляющихся и циклических алгоритмов используются составные команды, аналогичные сложным предложениям русского языка:
Если… … … то … … … иначе… … … все
IF … … …THEN… … … ELSE… … … END IF
Определение: Разветвляющимся называется алгоритм, при выполнении которого действия исполнителя определяются результатами проверки некоторых условий.
Рис. 1. Структура команды ветвления (полная).
Рис. 2. Структура команды ветвления (неполная).
V. Египетская задача
У семи хозяев по семь кошек, каждая кошка съедает по семи мышей, каждая мышь съедает по семи колосьев пшеницы, из каждого колоса пшеницы всходит по семи мер зерна. Сколько мер зерна сохранится благодаря кошкам? (Нагибин Ф.Ф. Математическая шкатулка. Просвещение, 1984.)
Число хозяев |
кошек |
мышей |
колосьев пшеницы |
мер зерна |
7 |
7 . 7 |
7 . 7 . 7 |
7 . 7 . 7 . 7 |
7 . 7 . 7 . 7 . 7 |
7, 72, 73, 74, 75: функция у = 7n
Рис. 3. Структура команды ветвления (неполная).
VI. Практикум
Программа 1. “Египетская задача” на языке Qbasic:
10 print “n”, “y”
20 n=1
30 y=7^n
40 print n, y
50 n=n+1
60 if n<6 then 30
70 end
Результаты:
n | y |
1 | 7 |
2 | 49 |
3 | 343 |
4 | 2401 |
5 | 16807 |
Ответ: 16 807 мер зерна сохранится благодаря кошкам.
Физминутка (зарядка):
Колпак мой треугольный,
треугольный мой колпак,
а если он не треугольный,
то это не мой колпак.
Программную реализацию алгоритма с
использованием операторов условия If–Then можно
заменить равносильной записью средствами For–Next.
Тем не менее использование операторов цикла там,
где это возможно, позволяет более лаконично и
выразительно описывать циклические алгоритмы.
Для программирования циклических алгоритмов
имеются два специальных оператора:
- оператор начала цикла – For – заголовок,
- оператор конца цикла – Next.
Эти два оператора используются всегда совместно.
Структура оператора – заголовка:
For x = a to b step h
Вслед за оператором начала цикла располагаются
строки программы, которые должны выполняться
циклически, – тело цикла.
За последней строкой размещается оператор конца
цикла.
В операторе For – заголовке используется
переменная х, задающая слева от оператора to начальное
значение параметра цикла, справа – конечное.
Оператор step h задает шаг параметра. Шаг может
быть как положительным, так и отрицательным. В
случае, если шаг равен 1, указание оператора step h можно
опустить. Переменная – параметр цикла после
оператора Next должна быть такой же, что в
заголовке For – начале цикла.
VII. Практикум
Программа 1а. “Египетская задача” на языке Qbasic:
print “n”, “y”
for n=1 to 5
y=7^n
print n, y
next n
end
VШ. Подведение итогов урока
– Сегодня на уроке мы сформулировали определение цикла, понятие разветвляющихся структур. Исполнили алгоритм на ПК.
IX. Задание на дом
Составить алгоритм вычисления функции, заданной формулой: у = 2х + 3 на интервале от 0 до 4.
X. Комментированное сообщение оценок