Применение операторов цикла для численных методов решения задач

Цель урока: Формировать умение применять операторы цикла с предусловием постусловием и со счетчиком при решении задач численными методами на языке программирования Pascal.

Задачи урока:

Обучающие – закрепление знаний учащихся о базовых алгоритмических структурах, научить использовать операторы цикла при решении задач.

Развивающие – формирование алгоритмического мышления и навыков работы при создании программ, развитие познавательного интереса к предмету, развитие умения применять полученные знания к решению проблем из реальной жизни.

Воспитывающие – развитие самостоятельности мышления, развитие грамотной устой речи с использованием специальных терминов.

Тип урока: урок совершенствования знаний и умений.

Формы организации работы на уроке: фронтальная работа, индивидуальная работа по карточкам и за ПК.

Технические и программные средства: персональные компьютеры, мультимедиа проектор, среда программирования Pascal.

Методическое обеспечение урока: электронная презентация по теме урока, карточки с индивидуальными заданиями.

План урока


Этапы урока

Время

Цель

Формы работы

1

Организационный момент

2 мин.

Создание рабочей атмосферы

    Объявление темы урока. Формирование мотивации через постановку проблемных вопросов. Рассказ о ходе урока

2


Контроль домашнего задания


8мин.


Контроль полученных знаний о базовых алгоритмических структурах и операторах цикла

    Фронтальный опрос (используется электронная презентация). Выполнение индивидуальных разноуровневых заданий.

3

Применение знаний к решению задачи

20 мин

Научить использовать циклы в решении задач, формирование интереса к предмету.

    Фронтальная беседа с целью построения алгоритма задачи и программы (использование презентации). Тестирование программы. Выполнение учащимися комплекса упражнений для снятия утомления.

4

Самостоятельная работа

10 мин.

Отработка на практике полученных знаний.

Выполнение учащимися обязательных заданий, заданий углубленного уровня.

5

Подведение итогов.

3 мин.

Обобщение учебного материала

Беседа с элементами фронтального опроса.

6

Домашнее задание

2 мин.

    Запись домашнего задания. Объявление темы следующего урока. Опережающее домашнее задание.

Ход урока

НЕ нашли? Не то? Что вы ищете?

1. Организационный момент.

Мы продолжаем изучать язык программирования Паскаль. Вспомним с какими операторами мы познакомились на прошлом уроке. (Операторы циклов с предусловием и постусловием и со счетчиком). Сегодня будем решать задачи с использованием этих операторов. Многие из вас любят решать уравнения  и задачи на уроках математики. А нельзя ли нам применить наши знания по программированию для решения некоторых задач по математике?  Это будет нашим проблемным вопросом на уроке. В ходе урока:

    проверяем домашнее задание и повторяем пройденный материал; отвечаем на проблемный вопрос; вы выполняете самостоятельную работу за ПК.

2. Контроль домашнего задания.

Сейчас мы повторим алгоритмические структуры цикла и операторы цикла языка программирования Pascal, а также возможности и особенности их использования.

а) Запись на доске решения домашней задачи. № 70 п.4.4 “Задачник-практикум”.

Составить программу вычисления значения функции F(x) на отрезке [a, b] с шагом h. F(x)=x-sinx.

б) Индивидуальная карточка (низкий уровень):

Определить значение переменной S. (s=13)

I:=1; S:=0; j:=5;

While i<j do

Begin

S:=S+i*j;

I:=I+1;

J:=J-1

End;

в) Индивидуальная карточка (углубленный уровень) для выполнения за компьютером (исходная программа уже набрана).

“Изменить программу так, чтоб вычислялась сумма целых чисел кратных 5, если последовательно вводятся 10 целых чисел”.

Program ex;

Var a, s,I:integer;

Begin

S:=0;

I:=1;

Repeat

Writeln(‘введите число’);

Readln(a);

S:=s+a;

I:=i+1

Until i>10;

Writeln(‘s=’,s);

Readln;

End.

г) Фронтальный опрос, задания сопровождаются слайдами презентации.

Вопросы:

    Что такое цикл? (ПО Многократное повторение последовательности действий по некоторому условию.) В каких ситуациях могут применяться циклы? Для разминки: Соотнесите блок-схему алгоритмической структуры и оператор. (Слайд 2). Рассказать об операторах по плану (связный рассказ). Слайд 3.
Определение цикла с предусловием/постусловием. Порядок выполнения. В каком случае используется этот цикл.
    Приведите примеры задач и ситуаций, в которых используется этот цикл.
    Определите значения переменных после выполнения операторов. Сколько раз выполняется цикл. Слайд 4
A:=1; b:=1;
While a<=3 do a:=a+1;
B:=b+1;
s:=0; i:=1;
Repeat
s:=s+2*I;
i:=i+1
Until i>2
    Найдите ошибки в записи фрагмента программы и постарайтесь определить, что хотел программист. Слайды 5, 6, 7, 8. Поставить  соотношение между задачей и фрагментом программы по её решению:
      Последовательно вводят 5 целых чисел. Найти количество отрицательных чисел. Последовательно вводят N целых чисел. Найти произведение чисел больших 8 и меньших 15. Вычислить сумму натурального ряда чисел от 1 до 10.
I:=1;
While i<=10 do
Begin
S:=S+i;
I:=I+1
End; I:=1;
Repeat
Writeln(‘введите число’);
Readln(a);
If a<0 then k:=k+1;
I:=I+1
Until I>5; I:=1; p:=1;
Repeat
Writeln(‘введите число’);
Readln(a);
If (a>8) and (a<15) then p:=p*a;
I:=I+1
Until I>N;

Решение задачи.

Решать уравнения учат на уроках алгебры. Для разных типов уравнений применяются разные методы. Все они дают точные решения и все относятся к так называемым аналитическим методам. Мы знаем аналитические решения для уравнений первой и второй степени. В тех случаях, когда удается выполнить разложение на множители, нам удается аналитически решить уравнения третьей и четвертой степеней, но что мы будем делать с уравнением пятой степени, если оно на множители не раскладывается?

Когда в задаче возникают такие уравнения (системы уравнений), их решают численными методами. Численные методы позволяют получить не точное, а приближенное решение уравнения, но с любой точностью, в зависимости от возможности ЭВМ.

Представьте себе, что корень уравнения – это мишень. Мы как бы «стреляем» в корень и в случае недолета переносим огонь вперед, а в случае перелета – назад, постепенно приближаясь к корню. Чтобы использовать эти рассуждения воспользуемся свойствами данной функции. Пусть на концах отрезка функция F(x)  принимает значения разного знака. Вычислим значение функции в середине этого отрезка и посмотрим на его знак.

Знак будет отличаться от знака функции на одном из концов отрезка, но совпадать со знаком на другом конце. Из двух половин отрезка выберем ту, у которой знаки на концах противоположные и снова поделим отрезок пополам. Продолжая действовать тем же образом, мы получим сколь угодно малый отрезок, причем известно, что корень уравнения лежит на этом отрезке. Так определяют корень с любой нужной точностью.

Рассмотрим задачу в следующей постановке. Просмотр слайдов презентации с обсуждением.

Дано нелинейное уравнение: f(x)=0 (Слайд 11. Исходные данные )
Найти корень уравнения, принадлежащий интервалу [a, b], с заданной точностью .

Для уточнения корня методом половинного деления последовательно осуществляем следующие операции:

Делим интервал пополам:

– вычисление координаты средины отрезка [a, b].

В качестве нового интервала изоляции принимаем ту половину интервала, на концах которого функция имеет разные знаки (рис.1).


Рис. 1.

Для этого:

a) Вычисляем значение функции f(x) в точках a и t.

b) Проверяем: если f(a)·f(t) < 0, то корень находится в левой половине интервала [a, b] (рис.1а). Тогда отбрасываем правую половину интервала и делаем переприсвоение b=t.

c) Если f(a)·f(t) < 0 не выполняется, то корень находится в правой половине интервала [a, b] (рис.1.б). Тогда отбрасываем левую половину и делаем переприсвоение a=t. В обоих случаях мы получим новый интервал [a, b] в 2 раза меньший предыдущего.

Процесс, начиная с пункта 1, циклически повторяем до тех пор, пока длина интервала [a, b] не станет равной либо меньшей заданной точности, т. е.


Рис. 2. Схема алгоритма уточнения корней по методу половинного деления

Учитель: Какой алгоритм по структуре у нас получился?

ПО: циклический, причем использовать надо цикл с предусловием.

Учитель: Что необходимо вписать в блоки, ( f(a) и f(t) )?

ПО: Здесь необходимо записать команду вычисления конкретной функции в точке a и в точке t.

Учитель: Что необходимо предварительно сделать, прежде чем применять этот алгоритм для нахождения корня уравнения?

ПО: Необходимо, в первую очередь, проверить, удовлетворяет ли функция постановке задачи: является ли график функции непрерывной линией на отрезке [a, b], разные ли знаки имеет функция на концах отрезка [a, b].

IV. Этап закрепления, проверки полученных знаний

Учитель: Можно ли применять метод деления отрезка пополам для нахождения корней уравнений, на заданных отрезках (уравнения записаны на доске):

x2 – 5 = 0, [0, 3] (ПО: функция непрерывна на отрезке и f(0) * f(3) < 0, применять метод можно) sin(x) – 0,2 = 0 [0, /2] (ПО: функция непрерывна на отрезке и f(0) * f(/2) < 0, применять метод можно) 1/(x – 1) [–2, 2] (ПО: функция не существует в точке х=1, применять метод нельзя) x4 + cos(x) – 2 = 0 [0, 2] (ПО: функция непрерывна на отрезке и f(0)* f(2) < 0, применять метод можно) x5 – 1 = 0 [–5, 2] (ПО: функция непрерывна на отрезке и f(– 5) * f(2) < 0, применять метод можно)

V. Задания для самостоятельного выполнения

1. Записать для алгоритма на рисунке 2 программу на языке Pascal (заготовка):

Program MPD;

Var a, b,t, eps, fa, fb: real ;

begin

Writeln (‘vvedite levuy granicy’);

Readln(a);

Writeln (‘vvedite pravuy granicy’);

Readln(b);

Writeln (‘zadaite tochnoct rascheta’);

Readln(eps);

fa:= ;

while abs(b-a)<=eps do

t:=0.5*(a-b);

ft:= ;

if fa*ft<0  then

b:=t;

else begin

a:=t;

fa:=ft

end;

end;

Writeln (‘koren yr-niya – ‘,a);

end.

Гимнастика для снятия утомления ( можно включить лёгкую музыку).

Следующие упражнения позволят снять мышечное напряжение и усталость глаз, улучшить общее самочувствие организма.

    Зажмуриться на 3-5 секунд, открыть глаза на 1-2 секунды, снова зажмурится. Вытянуть руки вперёд, кисти рук на себя, сконцентрировать взгляд на кончиках пальцев, повернуть ладони, поднести к лицу и сконцентрировать внимание на ладонях, повторить 2-3 раза. Выполнить наклоны туловища в стороны, вперёд и назад, повторить 4-5 раз.

4. Самостоятельная работа.

Теперь закрепим и проверим ваши знания. Вы получите карточки с заданиями и будете работать за компьютером. Если задание вами выполнено, то можете получить следующее, более сложное. Не забудьте провести тестирование и выполнить вычисления, указанные в задании. Результаты запишите в тетрадь, программу сохраните в вашей папке для проверки. Я постаралась подобрать для вас задачи, которые вы могли встретиться в курсе алгебры и начала анализа. Желаю удачи!

5.  Задания для самостоятельного выполнения

Записать для алгоритма на рисунке 2 программу на языке Pascal (заготовка):

Program MPD;

Var a, b,t, eps, fa, fb: real ;

begin

Writeln (‘vvedite levuy granicy’);

Readln(a);

Writeln (‘vvedite pravuy granicy’);

Readln(b);

Writeln (‘zadaite tochnoct rascheta’);

Readln(eps);

fa:= ;

while abs(b-a)<=eps do

t:=0.5*(a-b);

ft:= ;

if fa*ft<0  then

b:=t;

else begin

a:=t;

fa:=ft

end;

end;

Writeln (‘koren yr-niya – ‘,a);

end.


1 вариант.

Используя программу, вычислить на компьютере приближенные корни уравнения с точностью до 0.001 следующих уравнений:

x3 + x2 + x + 1 = 0;  [–2,1] x5 – 0,3 | x – 1 | = 0;  [0,1]

2 вариант.

Используя программу, вычислить на компьютере приближенные корни уравнения с точностью до 0.001 следующих уравнений:

x2cos(2x) + 1 = 0 [0, π/2] 2x – cos(x) = 0 [0, π/4]

Углубленный вариант.

Используя программу, вычислить на компьютере приближенные корни уравнения с точностью до 0.0001 следующих уравнений:

tg(x) – (x + 1)/2 = 0 [0, π/4] Вычислить значения , используя этот же метод деления отрезка пополам. Ответы сравните с расчетами на инженерном калькуляторе.

Подведем итоги. Сегодня на уроке вы узнали, как находить решение уравнений методом деления отрезка пополам, как использовать для этого компьютер. Я проверил во время практической работы, как вы усвоили материал, вы хорошо справились с заданием и получили следующие отметки… На этом изучение применений компьютера для научно-технических расчетов не заканчивается, предлагаю проанализировать свои записи в тетради и выполнить домашнее задание: подумать над вопросом “Какие методы поиска площадей фигур вы знаете?”. Запишите его себе в тетрадь.

Домашнее задание. § 5.7.1 стр 264 упр.5.9