Конструкция выбора на примере построения блок-схем и применения условного оператора

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


Занятия рассчитаны на 3 урока.

1 урок - лекция. 2 урок - практическое занятие. 3 урок - лабораторная работа.

Цели занятий

Обучающие.

  • Дать представление о разветвляющейся конструкции алгоритма и условного оператора программы, написанной на языке Pascal;
  • Закрепить умения и навыки по работе с разветвляющимися конструкциями алгоритма и условного оператора программы, написанной на языке Pascal.

Воспитательные.

  • умение работать в коллективе и в паре,
  • формирование ответственного отношения к учебе, аккуратность.

Развивающие.

  • Развитие абстрактного и логического мышления.
  • Умение выделять из класса задач задачи, решаемые с использованием конкретного алгоритма.
  • Умение аргументировано отстаивать свою точку зрения.

Структура занятий:

Занятие 1

  • оргмомент, 3мин
  • лекция 25мин
  • разбор вариантов решения задач 10мин
  • вариативное домашнее задание 2 мин

Занятие 2

  • оргмомент 3 мин
  • проверка домашнего задания 10 мин
  • объяснение структуры условного оператора; 10 мин
  • индивидуальная работа учащихся 15 мин
  • домашнее задание; 2 мин

Занятие 3

  • оргмомент, 3мин
  • проверка домашнего задания, 15 мин
  • проверочный тест, 20 мин
  • домашнее задание; 2 мин.

Занятие 1

Учитель. Повторим структуру программы языка Pascal.

  1. В каком разделе программы идет описание типов переменных?
  2. Какой знак препинания стоит после слова VAR?
  3. С какого слова начинается тело программы?
  4. Чем заканчивается любая программа?

Итак, структура программы на Turbo Pascal:

Program Program_name;

Var {раздел_объявления_переменных}

<список имен переменных>:<тип1>;

<другой список имен переменных>:<тип2>;

…..

<другой список имен переменных>:<тип n>;

begin {начало основной программы}

{тело_программы, состоящее из операторов, вызовов процедур}

end.

Вы знакомы с оператором "присвоить". Освоим новую конструкцию, позволяющую сделать выбор действий. Начнем с алгоритмов. Алгоритм, в результате которого обеспечивается выбор на одного из двух возможных действий, называется разветвляющимся. Такой алгоритм обязательно содержит условие и в зависимости от результата выполнения условия происходит выбор действия.

Например: Если день рабочий, то идем в школу, иначе будем отдыхать.

Таких примеров можем привести много из обычной жизни и наук. К примеру, физика: Если удар упругий, то масса тела сохраняется, иначе масса изменяется. Математика: Если у равностороннего четырехугольника углы прямые, то назовем его прямоугольником, иначе назовем его ромбом.

Представим такую конструкцию блок-схемой.

Блок-схема

Как Вы думаете, почему две разные схемы? Вновь обратимся к математике.

Рассмотрим два примера

Пример 1 Пример 2 .

В примере 1 условия являются взаимоисключающими, поэтому выберем одно из них. Это условие будет определять выбор действия. Если x-1 <0,то y=4, иначе y=3. Это предложение соответствует схеме 1. Можно ли по-другому составить это выражение?

В примере 2 мы произведем действие только при определенном условии. Каком?

Правильно, Если x не равен 0, то, иначе ничего делать не будем. Последнюю часть предложения можно отбросить. Получится следующее предложение: Если x не равен 0, то. Это предложение соответствует схеме 2.

Вот и у нас получилось, что конструкция ветвления имеет два вида: Полная конструкция и Неполная конструкция, которые представлены на схеме 1 и 2 соответственно.

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

Задания на карточках

Учащиеся выполняют задания на местах и у доски. Идет обсуждение предложенных решений. Какому типу схемы соответствуют построенные Вами блок-схемы? Почему?

Этап объяснения домашнего задания. Домашнее задание: построить блок-схемы вычисления следующих задач.

  1. Вычислить частное от деления двух чисел. Проверить правильность введенных данных, если они ошибочны (делитель не равен 0), то выдать сообщение об ошибке.
  2. Вычислить площадь кольца. Проверить правильность введенных данных.
  3. Вычислить стоимость покупки с учетом скидки. Скидка в 10% предоставляется, если сумма покупки больше 10000 рублей.

Занятие 2

Учитель. Проверим домашнее задание. Кто предложит свои варианты решения задания?

Ученики. На доске записываются варианты решений заданий и обсуждаются учащимися.

Учитель. Вы хорошо справились с заданием.

Учитель. Мы с вами подошли к изучению важной конструкции языка, называемой условный оператор. На языке Pascal он выглядит так: IF…THEN…ELSE (англ. Если.... То... Иначе…).

Напишем программу: которая запрашивает два неравных числа с клавиатуры и выводит на экран сообщение “1-е число больше чем 2-е” или “2-е число больше чем 1-е”.

Вопрос: как проверить числа на БОЛЬШЕ/МЕНЬШЕ? Используем условный оператор:

If <условие> Then <действие 1> Else <действие2>;

Работает этот оператор следующим образом: проверяется верность выполнения условия. Если условие истинно, то выполняется <действие 1>. Иначе - <действие2> В части условия могут использоваться следующие знаки сравнения:

Приведём пример и сделаем к нему комментарий.

Для начала запишем словами сравнение двух чисел А и В:

Если А > B   то Write(A,' больше чем ',B,'!') иначе Write(B,' больше чем ',A,'!');

Посмотрим теперь, как выглядит эта конструкция на Pascal:

If A > B   Then Write(A,' больше чем ',B,'!') else Write(B,' больше чем ',A,'!');

Рассмотрим этот оператор.

  1. Сначала идет служебное слово If
  2. После него стоит условие, в котором используются знаки сравнения.
  3. Если это условие истинно, то есть A > B, то выполнится действие, указанное после слова Then.
  4. Если же условие ложно, то есть A < B, то выполнится действие, указанное после слова Else.

Обратите внимание, перед словом Else нет точки с запятой ";". Это еще не окончание оператора.

Подобная конструкция соответствует блок-схеме 1 предыдущего урока.

Давайте попробуем записать этот оператор, используя другое условие. Какое? Как будет выглядеть запись условного оператора с таким условием?

Действия после Else может и не быть. Это используется, когда действие может быть выполнено только при заданном условии. Тогда ветка Else отсутствует. Вот такой пример:

If A = B Then Write(A,' равно ',B,'!');

Эта конструкция соответствует схеме 2 предыдущего урока.

Напишем программы для решения примеров предыдущего урока

PROGRAM IGRIK1;

VAR

Y,X: INTEGER;

BEGIN

WRITE(‘X=’); READLN(X);

IF X-1<0 THEN Y:=4

ELSE Y:=3;

WRITELN(‘Y=’,Y);

END.

PROGRAM IGRIK2;

VAR

Y,X: INTEGER;

BEGIN

WRITE(‘X=’); READLN(X);

IF X<>0 THEN y:=1/x;

IF X<>0 THEN WRITELN(‘Y=’,Y)

ELSE WRITELN(‘РЕШЕНИЯ НЕТ’);

END.

Наберите программы в среде TP и разберитесь, как они работают. Что будет выведено на экран при x= -5 и x=5, x=0? Предложите другой вариант записи условного оператора программы 1.

Домашнее задание. Запишите алгебраические выражения предыдущего урока с помощью условного оператора. Попробуйте написать программы для предыдущего д/з.

Занятие 3

Учитель. Проверим домашнее задание.

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

А теперь проведем небольшой тест

Вариант 1

  1. Записать представленный алгоритм в виде условного оператора:
  2. img4.gif (3272 bytes)

    Чему будет равен Y при значениях

    а) X= - 3; б) X= 3; в) X= 0 ?

  3. Определить тип переменной y:
    1. y: = a / b;
    2. y : = a mod b;
    3. y : = sqrt (a);
    4. y : = abs (a- b);
  4. Для x = 4,a y = 5 определить значение z:
    1. If abs(x - y) > = 1 then z : = sqr( y) else z : = sqrt (x);
    2. x : = y; z : = x / y; z : = z + y - x;
    3. y : = x;  if x> y   then z : = sqrt (x)   else z : = sqr (y);
  5. Записать на языке Pascal следующие выражения
    1. y = 5x4 - 10 x + 2
    2. y =

Вариант 2

Учитель. Я надеюсь, что работа не была для Вас сложной. Впереди нас ожидает дальнейшее изучение конструкции УСЛОВНЫЙ ОПЕРАТОР.

Д/з. Учитель диктует задачу на дом: Написать программу, которая выводит пример на умножение двух однозначных чисел, запрашивает ответ пользователя, проверяет его выводит сообщение “Правильно” или “Вы ошиблись” и правильный результат.

  • Составить словесное описание по условию задачи
  • Начертить блок-схему.
  • Составить программу на Pascal
  • Набрать программу в среде TP

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