Урок по теме "Ветвление в полной и неполной формах"

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


Цель: сформировать понятие о ветвлении в полной и неполной форме, начать формировать навык решения задач на использование в них разных форм ветвлений.

Ход урока:

Объяснение нового материала.

Алгоритмы ветвления могут быть представлены в полной и неполной формах. Например, "Если пошел дождь, то надо открыть зонт" и "Если билет в кино стоит не больше 50 руб., то купить билет, и занять своё место в зале, иначе (если стоимость билета более 50 руб.) вернуться домой". Первый алгоритм является неполной формой ветвления, а второй - полной формой ветвления.

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

Полная форма ветвления.

If <условие>

Then <оператор 1>

Else <оператор 2>;

Неполная форма ветвления

If <условие>

Then <оператор 1>;

Если после Then или после Else стоит более одного оператора, то в этом случае используется составной оператор. Составной оператор состоит из нескольких операторов и всегда заключается в операторные скобки, которыми являются Begin :. End, например,

If <условие>

Then

Begin

<оператор 1>;

<оператор 2>;

<оператор 3>;

<оператор 4>;

End

Else <оператор 5>;

или

If <условие>

Then<оператор 1>

Else

Begin

<оператор 2>;

<оператор 3>;

<оператор 4>;

End;

Задача.

Найти площадь кольца.

Решим задачу, составив для этого словесный алгоритм.

Найдем площадь внешнего круга (радиус R).

Найдем площадь внутреннего круга (радиус r).

Вычтем из площади внешнего круга площадь внутреннего и получим площадь кольца.

Вопросы:

Будет ли зависеть решение задачи от значений радиусов кругов? (Да).

Будет ли задача иметь решение, если радиусы кругов будут равны? (Нет, кольца не будет, будет только окружность).

Будет ли задача иметь решение, если радиус внешнего круга будет меньше радиуса внутреннего круга? (Нет).

Может ли один из радиусов равняться нулю? (Нет).

Какое условие должно выполняться для того, чтобы задача всегда имела решение? (0 < r < R).

Какой пункт в словесном алгоритме еще нужно использовать? (Узнать, выполняется ли неравенство 0 < r < R).

Тогда словесный алгоритм бут выглядеть так:

Узнать, выполняется ли неравенство 0 < r < R.

Если неравенство истинно, то

найдем площадь внешнего круга (радиус R);

найдем площадь внутреннего круга (радиус r);

вычтем из площади внешнего круга площадь внутреннего и получим площадь кольца.

Если неравенство ложно, то не будем выполнять подсчетов.

Составим блок-схему для решения задачи.

Из блок-схемы видно, что по ветке "ТО" присутствует составной оператор, который при написании программы нужно заключить в операторные скобки.

Напишем программу на языке Pascal по имеющейся блок-схеме.

program ring;

uses crt;

const pi = 3.14;

var R, r: integer;

S1, S2, Sk : real;

begin

writeln ('Введите радиус внешнего круга');

readln(R);

writeln ('Введите радиус внутреннего круга');

readln(r);

if (r > 0) and (r < R)

then

begin

S1:= pi*R*R;

S2:= pi*r*r;

Sk:= S1 - S2;

writeln(Sk);

end

else writeln('Нет кольца');

readln;

end.

Первичное закрепление.

Предлагается составить блок-схему и программу для решения задачи, на использование полной и неполной формы ветвления.

Найти наибольшее из двух чисел.

Найти значение выражения:

Дано трехзначное число N. Определить, будет ли сумма его цифр четным числом.

Итог урока.

Вопросы:

Какой оператор используется для записи ветвления?

Что такое составной оператор?

Какой синтаксис имеет составной оператор?

Как в программе записывается условный оператор?

Выставление оценок за урок.

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

Определить, будет ли квадрат числа равняться сумме квадратов его цифр. (Составить бок-схему и программу для решения задачи).

Найти большее из трех чисел. (Составить бок-схему и программу для решения задачи).