Решение задач с использованием оператора условного перехода

Разделы: Информатика


Цель урока:

  • Научить учащихся пользоваться оператором условного перехода  для решения задач.
  • Воспитать у учащихся любовь к предмету, показать связь между предметом информатики и математикой.
  • Показать возможность применения компьютера  для решения практических задач.

Оборудование и материалы:

  1. компьютеры,
  2. маркерная доска,
  3. мультимедиа проектор,
  4. презентация (Приложение 1),
  5. карточки с изображением областей.

План урока:

  1. Организация класса (отметить присутствующих, объявить тему и цель урока, рассказать о том, что будет происходить на уроке).
  2. Повторение пройденного материала.
  3. Основная часть урока.
  4. Подведение итогов урока.

Вопросы для повторения: (Слайды 2-7)

  1. Какой порядок выполнения программы называется  естественным?
  2. Есть ли возможность изменить естественный порядок выполнения операторов программы?
  3. Какие операторы относятся к операторам передачи управления?
  4. Для чего обычно применяется оператор безусловного перехода?
  5. Общий вид оператора безусловного перехода.
  6. Общий вид оператора условного перехода.
  7. Полная и неполная форма оператора условного перехода.
  8. Проверяемое условие записывается обычно с помощью операций отношения.  Как записываются эти операции?
  9. Какие условия называются составными, и какие логические операции используются для их записи?
  10. Давайте вспомним уравнение окружности с центром в начале координат и радиусом R.
  11. Что является графиком функции у =х (у = -х), х = 10?

Задача для повторения:

Для нахождения значений функции У нам надо рассмотреть на каких промежутках может находиться  переменная Х. Изобразим это графически:

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

Program Zadacha;

Var A, B, C, Х, Y : real;

Begin

Writeln (‘Введи переменные А, В, С’);

Readln  (А, В, С);

Writeln (‘Введи переменную Х’);

Readln  (Х);

If  Х<93  then  Y:=A+B*X;

If X>120 then Y:=A*B*X else Y:= B - A*X;

writeln(‘Y=’,Y);

Readln;

End.

Основная часть урока.

Задача: Дана точка на плоскости с координатами (х, у). Составить программу, которая выдает одно из сообщений «Да», «Нет», «На границе» в зависимости от того, лежит ли точка внутри заштрихованной области, вне заштрихованной области или на ее границе. Область  задается графически. (Слайд 8)

Заданная область разбивает всю плоскость на три непересекающихся множества точек.

В общем случае эти множества обозначим следующим образом: (Слайд 9)

J1 - множество точек, лежащих внутри области;

J3 - множество точек, лежащих вне области;

J2 - множество точек, образующих границу области.

Точка с координатами (х, у) может принадлежать только одному из них.

Для  непосредственной проверки выбираются те два множества, которые наиболее просто описать математически.

Обычно труднее всего описать точки границы области.

Например, для рис.1 (Слайд 10) множества задаются следующим образом:

Множество точек лежащих в области:   

M1: х2 + у2 < 102;

Множество точек лежащих вне области:

M2: х2 + у2 > 102;

Множество точек лежащих на границе области:

M3: х2 + у2 = 102.

А для рис. 2 (Слайд 11) множества задаются следующим образом:

Множество точек лежащих в области:   

M1: | х | < 10 и | у | < 5;

Множество точек лежащих вне области:

M2: | х | > 10 или | у | > 5;

Множество точек лежащих на границе области:

M3: ( | х | <=10 и у = 5) или (| х | <=10 и у = -5) или (| у | <5 и х = 10) или (| у | <5 и х = -10).

Как видим для рис.1 описание всех множеств равносильно, а для рис.2 описать множество M3 значительно сложнее.

А. Составим программу, которая дала бы возможность решить задачу для области заданной рис.1. (Слайд 12)

Program Zadacha_A;

Var x, y : real;

Begin

Writeln (‘Введи координаты точки’);

Readln  (x,y);

If sqr (x)+sqr (y)<sqr (10) then writeln(‘Да’);

If sqr (x)+sqr (y)>sqr (10) then writeln (‘Нет’) else writeln (‘На границе’);

Readln;

End.

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

Program Zadacha_B;

Var x, y : real;

Begin

Writeln (‘Введи координаты точки’);

Readln  (x,y);

If abs(x)< 10 and abs(y)< 5 then writeln(‘Да’);

If abs(x)> 10 or abs(y)> 5 then writeln (‘Нет’) else writeln (‘На границе’);

Readln;

End.

C. На рис.3 задана область. (Слайд 13) Для начала найдем множества  M1, M2, M3, а затем составим программу для решения этой задачи.

Множество точек лежащих в области:   

M1: (Y < X) и (Y > -X) и (X < 10)

Множество точек лежащих вне области:

M2: (Y > X) или (Y < -X) или (X > 10)

Множество точек лежащих на границе области:

M3: (Y = X) или (Y = -X) или (Х = 10)

Программа (Слайд 14):

Program Zadacha_C;

Var x, y : real;

Begin

Writeln (‘Введи координаты точки’);

Readln  (x,y);

If Y < X   and Y > -X  and X <10 then writeln(‘Да’);

If Y > X  or  Y < -X  or  X > 10  then writeln (‘Нет’) else writeln (‘На границе’);

Readln;

End.

D. Самостоятельная работа учащихся по карточкам, решение задач на ПК.

Подведение итогов урока (выставление оценок, задание домашнего задания)

Домашнее задание: Составить программу для решения данной задачи для области заданной рис.4. (Слайд 15)