Цель урока:
- выяснить, каким образом компьютер принимает решения: как он выбирает, какое действие из нескольких возможных нужно выполнить в данный момент;
- ознакомить учащихся с задачами, которые требуют для их решения осуществить выбор из двух вариантов;
- изучить синтаксис и семантику условного оператора;
- подготовить учащихся к написанию программы тестирования, иллюстрируя все этапы решения задачи с помощью компьютера (от постановки задачи до отладки и сдачи программы в эксплуатацию).
Задачи урока:
- диагностика знаний учащихся по теме «Программирование»;
- теоретическое обобщение пройденного материала, использование ранее полученных знаний для решения комплексной задачи.
Формы и методы работы:
- постановка задачи;
- обсуждение способов решения задачи и необходимых ресурсов для ее решения;
- обсуждение способов организации интерфейса программы;
- обсуждение способов оформления работы;
- лекция по новому материалу;
- решение задач по новому материалу (закрепление).
Тип урока: Изучение нового материала.
Замечание 1: На следующем после предлагаемого уроке учащиеся обсуждают домашние задачи и пишут в классе программу «Тест». При этом можно напомнить учащимся, что для экономии времени при оформлении каждого блока теста удобно использовать команды «копировать и «вставить».
Замечание 2: Для успешной реализации поставленной цели, желательно предварительно:
- ознакомить учащихся с логическим типом данных, операциями сравнения, логическими операциями, применяемыми к переменным логического типа (один урок);
- ознакомить учащихся с возможностями работы со звуком (второй урок).
Замечание 3: После написания программы «Тест» можно провести урок по изучению оператора многовариантного выбора Case с целью применения его при подведении итогов тестирования и сообщении результатов.
Cодержание урока:
Во многих жизненных ситуациях принятие того или иного решения зависит от выполнения одного или нескольких условий.
Такую ситуацию демонстрирует картина Виктора Михайловича Васнецова «Витязь на распутье» (1878).
При написании программ для решения задач на компьютере, мы тоже часто оказываемся в ситуации выбора дальнейших действий. Для этого в языках программирования существуют специальные средства и операторы. Один из таких операторов – «условный оператор» или, как его называют по-другому, «оператор ветвления». Изучим его синтаксис и семантику на примере. Допустим, что перед нами стоит задача написания тестирующей программы. В этой программе пользователю задаются вопросы, предлагается выбор ответа из нескольких вариантов, производится анализ полученного ответа, а в конце работы программы подводится итог тестирования. Спланируем структуру программы. Можно предположить, что один ее блок выглядит следующим образом.
Где обитают белые медведи?
- В Антарктиде
- В Арктике
- В Африке
- В зоопарке
Ваш выбор:
Если выбор правильный, то начисляем балл, иначе звуковой сигнал.
- Нужна переменная, в которой будет зафиксирован выбор ответа, назовем ее N.
- Нужна переменная, значением которой будет количество набранных баллов, назовем ее B.
- Пусть эти переменные имеют тип Byte.
Предполагается 5 вопросов в тесте ? количество набранных баллов от 0 до 5.
Результаты теста:
Если B=0, то …
Если В=1, то …
и т. д.
Появилась необходимость в возможности проверять некоторое условие и в зависимости от этого принимать решение как нам действовать.
Полная форма условного оператора.
IF <условие> then <действия 1> else <действия 2>
Неполная форма условного оператора.
IF <условие> then <действия 1>
Замечание: Если в качестве блока Действие1 (Действие2) должна выполниться серия операторов, то эти операторы заключаются в операторные скобки Begin – End.
В случае неверного ответа должен раздаваться звуковой сигнал.
Begin Sound (500); Delay(50000); NoSound End.
Условие записывается при помощи знаков <, >, =, <=, >=, <>, а также логических операций AND, OR, XOR, NOT, при этом операции отношения в сложных условиях заключаются в скобки.
IF (x>0) AND (y<x+5) then writeln(‘Принадлежит’) else writeln(‘Не принадлежит’)
Примеры, продемонстрированные далее, необходимо набрать на компьютере без ошибок, так чтобы программы заработали.
Пример 1
Получить два числа. Определить большее из чисел и вывести его на экран.
Program Ex_IF1;
Uses Crt;
Var A, B: Integer;
Begin
Clrscr;
Write (‘Введите два числа A и B через пробел ’);
ReadLn (A, B);
Write (‘Большее из двух чисел ’);
IF A>B THEN WriteLn (A) ELSE WriteLn (B);
ReadLn;
End.
Пример 2
Проверить, принадлежит ли число, введенное с клавиатуры, интервалу (0, 5).
Program Ex_IF2;
Uses Crt;
Var X: Integer;
Begin
Clrscr;
Write (‘Введите число X: ’);
ReadLn (X);
IF (X >0) AND (X < 5) THEN
WriteLn (X, ‘ Принадлежит (0, 5)’)
ELSE
WriteLn (X, ‘ Не принадлежит (0, 5)’);
ReadLn;
End.
Задачи, сформулированные ниже, необходимо решить самостоятельно. Работу можно начать на уроке, если сделаны все предыдущие задания и осталось время, затем продолжить дома.
Задача 1 Составьте программу вычисления функции:
Задача 2
Определить, делится ли число на 7 без остатка.?
Задача 3
Определить, могут ли три числа, введенные с клавиатуры, быть сторонами треугольника. Является ли этот треугольник прямоугольным?
Домашнее задание.
- Написать программы для трех задач, сформулированных в классе.
- В тетради написать 5 вопросов для будущего теста и к ним по 4 ответа, среди которых один ответ правильный.
- Написать в тетради программу «Тест», в которой задается только один вопрос, но в конце подводятся итоги (0 - баллов или 1 - .балл). Пример (про медведей) приведен в начале урока.