СМОЛЕНСКОЕ ОБЛАСТНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБЩЕОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ «ШКОЛА-ИНТЕРНАТ СРЕДНЕГО (ПОЛНОГО) ОБЩЕГО ОБРАЗОВАНИЯ

advertisement
СМОЛЕНСКОЕ ОБЛАСТНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ
ОБЩЕОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
«ШКОЛА-ИНТЕРНАТ СРЕДНЕГО (ПОЛНОГО) ОБЩЕГО ОБРАЗОВАНИЯ
С УГЛУБЛЕННЫМ ИЗУЧЕНИЕМ ОТДЕЛЬНЫХ ПРЕДМЕТОВ
ИМЕНИ КИРИЛЛА И МЕФОДИЯ»
Конспект урока информатики и ИКТ
в 9 классе по теме
«Оператор выбора Case»
подготовила
Сенчилова Ольга Контантиновна,
учитель информатики и ИКТ
Смоленск, 2011
1
Разработка урока по теме «Оператор выбора Case»
(9Г класс)
Учитель информатики: Сенчилова О.К.
Раздел программы: Алгоритмизация и программирование.
Тип урока: традиционный урок - формирование новых знаний.
Вид урока: практического применения знаний и умений.
Цель урока: формирование навыков программирования на языке Паскаль.
Задачи урока.
Обучающие:
1) повторение и закрепление основных понятий: структуры программы на Паскале, описаний
данных, операторов ввода-вывода и ветвления;
2) изучение правил записи и особенностей применения оператора выбора;
3) формирование навыков использования операторов при записи алгоритма на язык Паскаль.
Развивающие:
1) развитие умения обобщать полученные знания и последовательно их применять в процессе
выполнения задания;
2) развитие умения пользоваться операторами в ходе разработки программ разного вида и
уровня;
3) развитие абстрактного и логического мышления;
4) формирование умений использовать приобретенные знания в практической деятельности.
Воспитательные:
1) формирование коммуникационной культуры учеников, умения работать в паре;
2) воспитание самостоятельности в применении полученных знаний.
Оборудование.
 компьютер учителя с проектором и экраном;
 презентация «Оператор выбора»;
 компьютеры со средой программирования ПаскальАВС;
 файлы с заготовками программ;
 инструкции учащимся к практической части урока.
План урока.
1. Организационный момент. (2 мин.)
2. Актуализация опорных знаний. (3 мин.)
3. Объяснение нового материала. (10 мин.)
4. Разработка программ с использованием оператора выбора. Работа над проектом: обработка
результатов компьютерного теста при помощи оператора выбора. (20 мин.)
5. Подведение итогов урока. (5 мин.)
Ход урока.
1. Организационный момент.
Приветствие, проверка отсутствующих. Сообщение о целях и задачах урока.
2. Актуализация знаний учащихся.
1) Какой оператор языка Паскаль позволяет реализовать в программе алгоритмическую
конструкцию «ветвление»? Каков его общий вид? (Ответ: оператор if…then…else). (Слайд )
2) Поясните, как выполняется оператор if в ходе работы программы. (Ответ: проверяется
условие, если оно истинно, выполняется команда, записанная после слова then, при этом команда,
2
записанная после else пропускается; если же условие ложно, то наоборот, пропускается команда,
записанная после слова then, а выполняется команда, записанная после else.)
3) Сколько вариантов действий можно предусмотреть, используя один оператор if с простым
условием? (Ответ: два варианта; один будет реализован, если условие выбора истинно, второй –
если условие ложно).
4) Какими способами можно с помощью оператора if реализовать в программе более двух
вариантов действий? (Ответ: использовать несколько операторов if подряд либо использовать
вложенные ветвления)
4) Что такое вложенные ветвления? (Ответ: использование одного оператора ветвления внутри
другого в качестве команды на ветви «да» или «нет», т.е. после then или после else).(Слайд )
3. Объяснение нового материала.
Достаточно часто при составлении программ необходимо сделать выбор из достаточно большого
количества вариантов. И если для 3-4 вариантов еще можно обойтись лишь оператором if, то при
увеличении их количества это становится все более затруднительным. В этом случае на помощь к
программистам приходит команда множественного выбора CASE.
Рассмотрим сказанное на примере. (Слайд )
Задача: Дан номер месяца. Определить количество дней в этом месяце для невисокосного года.
Как зависит число дней от номера месяца? (2 – 28 дней, 4,6,9,11 – 30 дней, 1,3,5,7,8,12 – 31 день).
В чем особенность задачи? Выбор не из двух, не из трех, а из двенадцати вариантов в
зависимости от номера месяца.
Можно ли решить задачу, используя оператор ветвления if? (Да, можно! Но программа
получится очень громоздкой, некрасивой, объемной.)
Именно в таких случаях, когда имеется ситуация множественного выбора, целесообразно
использовать оператор Case. Вот как лаконично будет выглядеть в этом случае программа. (Слайд )
Program Days;
Var m : integer;
Begin
write('Введите номер месяца: ');
readln ( m );
case m of
2 : writeln(‘В этом месяце 28 дней’);
4,6,9,11 : writeln(‘В этом месяце 30 дней’);
1,3,5,7,8,10,12 : writeln(‘В этом месяце 31 день’);
else
writeln(‘Месяца с таким номером нет’);
end;
End.
Познакомимся более подробно с оператором выбора.
В общем виде он записывается так (Слайд ):
Case <переключатель> of
<список значений 1> : <оператор 1>;
<список значений 2> : <оператор 2>;
...
<список значений n> : <оператор n>;
else
<оператор m>;
end;
3
Оператор выбора Case является обобщением оператора if – он дает возможность выполнить одно
из нескольких действий в зависимости от назначения переключателя. Логику работы оператора
выбора можно описать так: вычисленное значение Переключателя определяет, какой из Операторов
должен быть выполнен. Если Переключатель принимает одно из значений <списка значений 1>, то
выполняется <оператор 1>, а остальные операторы пропускаются. Если Переключатель
принимает одно из значений <списка значений 2>, то выполняется <оператор 2>. аналогично
будут выполняться <оператор 3> и до <оператора n>. <Оператор m> будет выполняться в том
случае, если значение Переключателя не совпало ни с одним из значений списков значений от 1-го до
n-го.
Возможно использование неполной формы оператора CASE, без ветви else. В этом случае, если
значение переключателя не попало ни в один из списков значений, не выполняется никаких
действий, и управление передается оператору, стоящему непосредственно после ключевого слова
end, замыкающего оператор case.
В качестве переключателя в операторе Case можно использовать переменную типа integer либо
char. Переменую типа real использовать нельзя.
Значения в списках можно группировать, а именно (Слайд ):
 записывать перечисление значений: 2,4,6
 записывать диапазон значений: 10..15
 использовать смешанную запись: 21,22,25..30
Одно и то же значение переключателя не должно повторяться в разных списках.
Если в каком-либо варианте значений переключателя должно выполняться несколько действий,
то их записывают в виде составного оператора: begin <действие 1>;… <действие k>; end;
А теперь давайте подумаем, как можно применить новый изученный оператор к вашему проекту
«Психологический тест». Рассмотрим вновь программу Шаблон теста.pas, приведенную в вашем
проектном задании (Слайд ).
Program Test;
Var a, k : integer;
Begin
{Вывод на экран текстовой заставки}
writeln('********************');
writeln('** Тестирование **');
writeln('** по математике **');
writeln('**
**');
writeln('********************');
{Ждем нажатия Enter и очищаем экран}
readln;
Cls;
k:=0;
writeln('<Вопрос 1 с вариантами ответа>');
readln(a);
if a = <номер правильного ответа 1> then k:=k+1;
writeln('<Вопрос 2 с вариантами ответа>');
readln(a);
if a = <номер правильного ответа 2> then k:=k+1;
writeln('<Вопрос 3 с вариантами ответа>');
readln(a);
if a = <номер правильного ответа 3> then k:=k+1;
{Очищаем экран и выводим оценку}
Cls;
if k=3 then writeln('Ваша отметка - 5');
if k=2 then writeln('Ваша отметка - 4');
if k=1 then writeln('Ваша отметка - 3');
End.
С помощью какого оператора организована обработка результатов? (if). В ваших проектах
ситуация сложнее, чем в этом примере: разные результаты теста выдаются для нескольких
4
диапазонов баллов, например, 1-5, 6-10, 11-15. Можно ли в этом случае использовать оператор
ветвления if ? (Только со сложными условиями, с использованием логических функций). Удобно ли
будет использовать оператор выбора Сase? (Да). (Продемонстрировать использование Case на
шаблоне (Слайд )).
4. Разработка программ с использованием оператора выбора. Работа над проектом:
обработка результатов компьютерного теста при помощи оператора выбора.
Закрепим наши знания на практике. Вам предлагается составить две программы с
использованием оператора Сase. Условия задач и инструкции к работе лежат на компьютерных
столах. Затем вы продолжите работу над своими проектами: запрограммируете обработку
результатов компьютерного теста при помощи оператора выбора.
Для тех, у кого останется время, в практикуме есть дополнительная задача.
Успехов в работе!
Работа учащихся за компьютерами. Учитель выполняет роль консультанта.
Практикум.
Задача 1. Дан номер месяца — целое число в диапазоне 1–12 (1 - январь, 2 -февраль и т. д.).
Вывести название соответствующего времени года («зима», «весна», «лето», «осень»).
Инструкция к задаче 1.
1) Откройте в папке Общие документы файл 9г время года.pas.
2) Заполните пропуски в заготовке программы: задайте тип переменной n, запишите
оператор Case в соответствующем месте программы.
3) Запустите программу на выполнение. При необходимости исправьте ошибки.
4) Проверьте работу программы, задавая разные значения номера месяца.
5) Запишите текст программы в тетрадь.
Задача 2. Арифметические действия над числами пронумерованы следующим образом: 1 сложение, 2 - вычитание, 3 - умножение, 4 - деление. Дан номер действия N (целое число в диапазоне
1–4) и вещественные числа A и B (В не равно 0). Выполнить над числами указанное действие и
вывести результат.
Инструкция к задаче 2.
1) Откройте в папке Общие документы файл 9г калькулятор.pas.
2) Решите задачу, заполнив пропуски в заготовке программы.
3) Запустите программу на выполнение. При необходимости исправьте ошибки.
4) Проверьте работу программы для разных видов арифметических действий.
5) Запишите текст программы в тетрадь.
Работа над проектом «Психологический тест». Реализуйте в вашей программе вывод
результатов тестирования в зависимости от набранных баллов, используя оператор выбора Case.
Дополнительная задача. Ввести возраст человека (от 1 до 100 лет) и вывести его вместе с
последующим словом «год», «года» или «лет».
Примеры:
Введите возраст:
Введите возраст:
24
57
Вам 24 года
Вам 57 лет
5. Подведение итогов урока.
Давайте подытожим: что нового сегодня на уроке вы узнали; чему научились; будут ли знания
вам полезны? Что на ваш взгляд вам удалось освоить лучше, а что нет? Над чем вам необходимо
поработать?
(Выставляются оценки)
5
Список использованной литературы.
1.
2.
Информатика и ИКТ: учебник для 9 класса / И.Г. Семакин, Л.А. Залогова, С.В. Русаков,
Л.В. Шестакова. – 3-е изд. – М.: БИНОМ. Лаборатория знаний, 2010.
Златопольский Д.М. Я иду на урок информатики: задачи по программированию. 7-11
классы: Книга для учителя. – М.: Издательство «Первое сентября», 2001.
6
Download