Цели урока:
- Знакомство со структурой варианта, выяснение его особенностей.
- Рассмотрение различий между структурой варианта и ветвления
Задачи урока:
- образовательная – знакомство учащихся с базовыми алгоритмическими структурами;
- развивающие – формирование логического и алгоритмического мышления; развитие познавательного интереса к предмету информатика; формировать умение сравнивать и делать выводы; развитие памяти;
- воспитательные – воспитание необходимости связывать изучение новой темы с уже известными фактами; воспитание ответственности за выполненную работу.
Место урока в учебном плане.
Данный урок является одним из уроков по теме “Базовые алгоритмические структуры”, на котором вводится понятие оператора варианта. На предыдущих уроках было введено понятие алгоритма, рассмотрены базовые алгоритмические структуры, как линейный и условный алгоритмы.
Средства обучения:
Технические и программные средства:
- Персональные компьютеры
- Программная среда Turbo Pascal
- Презентация по теме урока
- Проектор
План урока.
- Организационный момент – 2 мин.
- Актуализация опорных знаний – 5 мин.
- Изучение нового материала – 15 мин.
- Применение полученных знаний – 15 мин.
- Подведение итогов урока. Домашнее задание – 3 мин.
Ход урока
В данном уроке особое внимание уделено визуальному представлению информации – в ходе урока с помощью проектора демонстрируются слайды, подготовленные в пакете презентационной графики Microsoft PowerPoint.
I. Актуализация и проверка домашнего задания
Знакомство учащихся с целью урока.
1. Постановка цели урока:
Мы продолжаем изучение условной алгоритмической конструкции. На данный момент, мы уже знакомы с двумя её видами. Цель этого урока познакомиться с оператором варианта и научиться использовать его при решении задач.
2. Фронтальный опрос:
- Назовите уже известные виды ветвления;
- В чём их отличие?
- Изобразите блок-схемы для каждого из этих видов;
- С помощью каких зарезервированных слов это может быть реализовано в языке программирования?
- Почему максимальное число вариантов действий может быть именно 2, не более? (ожидаемый вариант ответа: условие – это логическое выражение, которое может принимать только два значения false/true)
С целью подготовки учащихся к восприятию новой темы и проверки усвоения материала прошлых урокав проводится тест. Каждый ученик выполняет тест за компьютером (используется программа MyTest). (Приложение 1)
Учащиеся по сети получают готовую программу открывают, находят ошибки и тестируют его
По номеру дня недели вывести соответствующее ему название
program prim1;
var z: integer;
begin
writeln('введи номер дня недели');
readln(z);
if z=1 then writeln('Понедельник')
else if z=2 then writeln('вторник')
else if z=3 then writeln('среда')
else if z=4 then writeln('четверг')
else if z=5 then writeln('пятница')
else if z=6 then writeln('суббота')
else if z=7 then writeln('воскресенье')
else writeln('нет такого дня недели');
readln;
end.
Ставится проблемный вопрос.
Нельзя ли эту структуру усовершенствовать?
II. Объяснение нового материала.
Без объяснения редактирую программу по образцу и тестирую его.
program prim1;
var z: integer;
begin
writeln('введи номер дня недели');
readln(z);
case z of
1:writeln('понедельник');
2: writeln('вторник');
3: writeln('среда');
4: writeln('четверг');
5: writeln('пятница');
6: writeln('суббота');
7: writeln('воскресенье');
else writeln('нет такого дня недели');
end;
readln;
end.
Вывод: программа работает так же.
Сравним эти две программы. (Приложение 2)
Какие можем сделать выводы?
Очень похожие, почти не отличаются, только немного меньше символов.
После каждой строки ставится;
Почему же Вирту, автору Паскаль понадобилась данная структура?
Рассмотрим данную программу на деле.
(работа в среде Паскаль.)
- Что будет если в программе 2 заменить 1, каким будет ответ?
- Что будет если 2 заменить 2..5?
- Что будет если записать 2,4,6?
Она более совершенна.
А теперь сделаем записи в тетрадях.
Пишем тему урока. Оператор варианта.
Тема и объяснение сопровождается через проектор
Часто приходиться иметь дело с более многообразными ситуациями, когда из многих возможных вариантов приходиться выбирать что-то одно.
Например: выбор учебного заведения, выбор костюма, и т.д.
Оператор варианта в таких ситуациях может быть использован именно тогда, когда выполнение одного из нескольких действий зависит от значения выражения порядкового типа. Т.е. тех типов, количество значений которых можно чётко указать, а сами значения перечислить. (Это целочисленные типы, символьный, логический, перечисляемый, интервальный типы).
Формат записи:
Оператор варианта | Множественное ветвление: |
Case k of
|
Если один оператор IF может обеспечить выбор из двух альтернатив, то оператор выбора позволяет сделать выбор из произвольного числа имеющихся вариантов. Он состоит из выражения, называемого селектором, и списка параметров, каждому из которых предшествует список констант выбора (список может состоять из одной константы.
Формат оператора:
Case <выражение - селектор> of
<список 1> : <оператор 1> ;
<список 2> : <оператор 2> ;
…………
<список N> : <оператор N> ;
Else <оператор> ;
End;
Оператор Case работает следующим образом. Сначала вычисляется значение выражения-селектора, затем обеспечивается реализация того оператора, константа выбора которого равна текущему значению селектора. Если ни одна из констант не равна текущему значению селектора, то выполняется оператор стоящий за словом Else. Если слово Else отсутствует, то активируется оператор, находящийся за словом End, т.е. первый оператор за границей Case.
Селектор должен относится к одному из целочисленных типов. Список констант выбора состоит из произвольного количества значений, или диапазонов, отделенных друг от друга запятыми. Границы диапазона записываются двумя константами через разграничитель “..”. Тип константы должен совпадать с типом селектора.
При использовании оператора выбора должны выполняться следующие правила:
1. Значения выражения “переключателя” записанного после слова Case, должны принадлежать дискретному типу, для целого типа они должны лежать в диапазоне integer;
2. Все константы, предшествующие операторам альтернатив, должны иметь тип, совместимый с типом выражения;
3. Все константы в альтернативах должны быть уникальны в пределах оператора варианта, диапазоны не должны пересекаться и не должны содержать констант, указанных в данной или других альтернативах.
III. Физкультпауза.
IV. Закрепление нового материала и практическая работа
Рассмотрим несколько примеров:
Вводиться число от 1 до 4, определяющее пору года. Дать название этой поры года (1 - зима, 2 - весна, 3 - лето, 4 - осень).
program zadacha3;
var n:byte;
Begin
writeln('Введите номер поры года');
readln(n);
case n of
1: writeln('зима');
2: writeln('весна');
3: writeln('лето');
4: writeln('осень');
else
writeln('неправильно ввели номер поры года');
end;
End.
Составим программу "КАЛЬКУЛЯТОР", которая после ввода двух чисел и одного из знаков +, -, *, / произведёт вычисления, а результат выдаст на экран.
program zadacha3_11;
var
a,b,s:real;
sim:char;
Begin
writeln('Введите два числа');
readln(a,b);
writeln('Введите знак операции');
readln(sim);
case sim of
'+': s:=a+b;
'-': s:=a-b;
'*': s:=a*b;
'/': s:=a/b;
end;
writeln ('результат ',a,sim,b,' = ',s);
End.
В данной программе отсутствует часть else и поэтому, если ввести вместо рассматриваемых арифметических знаков, ввести любой символ, то программа будет работать, но будет работать неверно.
Вопросы для повторения:
- Сколько строк может быть записано в списке выбора?
- Может ли в операторе выбора отсутствовать часть else?
- Сформулируйте, что может являться ключом выбора?
- Можно ли оператор выбора заменить условным оператором if … then?
Выставление оценок, закрепление.
V. Домашняя работа
По номеру четверти координатной плоскости вывести знаки X и Y.