Конспект урока по теме "Оператор выбора Case" 9 класс

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













Конспект урока информатики и ИКТ
в 9 классе по теме
«Оператор выбора Case»







подготовила

Сенчилова Ольга Контантиновна,

учитель информатики и ИКТ













Смоленск, 2011


Разработка урока по теме «Оператор выбора Case»

(9Г класс)



Учитель информатики: Сенчилова О.К.



Раздел программы: Алгоритмизация и программирование.

Тип урока: традиционный урок - формирование новых знаний.

Вид урока: практического применения знаний и умений.



Цель урока: формирование навыков программирования на языке Паскаль.



Задачи урока.

Обучающие: 

повторение и закрепление основных понятий: структуры программы на Паскале, описаний данных, операторов ввода-вывода и ветвления;

изучение правил записи и особенностей применения оператора выбора;

формирование навыков использования операторов при записи алгоритма на язык Паскаль.

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

развитие умения обобщать полученные знания и последовательно  их применять в процессе выполнения задания;

развитие умения пользоваться операторами в ходе разработки программ разного вида и уровня;  

развитие абстрактного и логического мышления;

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

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

формирование коммуникационной культуры учеников, умения работать в паре;

воспитание самостоятельности в применении полученных знаний.



Оборудование.

компьютер учителя с проектором и экраном;

презентация «Оператор выбора»;

компьютеры со средой программирования ПаскальАВС;

файлы с заготовками программ;

инструкции учащимся к практической части урока.



План урока.

Организационный момент. (2 мин.)

Актуализация опорных знаний. (3 мин.)

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

Разработка программ с использованием оператора выбора. Работа над проектом: обработка результатов компьютерного теста при помощи оператора выбора. (20 мин.)

Подведение итогов урока. (5 мин.)



Ход урока.

1. Организационный момент.

Приветствие, проверка отсутствующих.  Сообщение о целях и задачах урока.

2. Актуализация знаний учащихся.

1) Какой оператор языка Паскаль позволяет реализовать в программе алгоритмическую конструкцию «ветвление»? Каков его общий вид? (Ответ: оператор if…then…else). (Слайд  )

2) Поясните, как выполняется оператор if в ходе работы программы. (Ответ: проверяется условие, если оно истинно, выполняется команда, записанная после слова then, при этом команда, записанная после 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;



Оператор выбора 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). В ваших проектах ситуация сложнее, чем в этом примере: разные результаты теста выдаются для нескольких диапазонов баллов, например, 1-5, 6-10, 11-15. Можно ли в этом случае использовать оператор ветвления if ? (Только со сложными условиями, с использованием логических функций). Удобно ли будет использовать оператор выбора Сase? (Да). (Продемонстрировать использование Case на шаблоне (Слайд  )).

4. Разработка программ с использованием оператора выбора. Работа над проектом: обработка результатов компьютерного теста при помощи оператора выбора.

Закрепим наши знания на практике. Вам предлагается составить две программы с использованием оператора Сase. Условия задач и инструкции к работе лежат на компьютерных столах. Затем вы продолжите работу над своими проектами: запрограммируете обработку результатов компьютерного теста при помощи оператора выбора.

Для тех, у кого останется время, в практикуме есть дополнительная задача. 

Успехов в работе!



Работа учащихся за компьютерами. Учитель выполняет роль консультанта.



Практикум.

Задача 1. Дан номер месяца — целое число в диапазоне 1–12 (1 - январь, 2 -февраль и т. д.). Вывести название соответствующего времени года («зима», «весна», «лето», «осень»).

Инструкция к задаче 1.

Откройте в папке Общие документы файл 9г время года.pas.

Заполните пропуски в заготовке программы: задайте тип переменной n, запишите оператор Case в соответствующем месте программы.

Запустите программу на выполнение. При необходимости исправьте ошибки.

Проверьте работу программы, задавая разные значения номера месяца.

Запишите текст программы в тетрадь.

Задача 2. Арифметические действия над числами пронумерованы следующим образом: 1 - сложение, 2 - вычитание, 3 - умножение, 4 - деление. Дан номер действия N (целое число в диапазоне 1–4) и вещественные числа A и B (В не равно 0). Выполнить над числами указанное действие и вывести результат.

Инструкция к задаче 2.

Откройте в папке Общие документы файл 9г калькулятор.pas.

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

Запустите программу на выполнение. При необходимости исправьте ошибки.

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

Запишите текст программы в тетрадь.

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

Дополнительная задача. Ввести возраст человека (от 1 до 100 лет) и вывести его вместе с последующим словом «год», «года» или «лет».

    Примеры:

		Введите возраст:      		Введите возраст:

		24                    		57

		Вам 24 года           		Вам 57 лет



5. Подведение итогов урока.

Давайте подытожим: что нового сегодня на уроке вы узнали; чему научились; будут ли знания вам полезны? Что на ваш взгляд вам удалось освоить лучше, а что нет? Над чем вам необходимо поработать?

(Выставляются оценки)




Список использованной литературы.

Информатика и ИКТ: учебник для 9 класса / И.Г. Семакин, Л.А. Залогова, С.В. Русаков, Л.В. Шестакова. – 3-е изд. – М.: БИНОМ. Лаборатория знаний, 2010.

Златопольский Д.М. Я иду на урок информатики: задачи по программированию. 7-11 классы: Книга для учителя. – М.: Издательство «Первое сентября», 2001.

6