СМОЛЕНСКОЕ ОБЛАСТНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБЩЕОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ «ШКОЛА-ИНТЕРНАТ СРЕДНЕГО (ПОЛНОГО) ОБЩЕГО ОБРАЗОВАНИЯ С УГЛУБЛЕННЫМ ИЗУЧЕНИЕМ ОТДЕЛЬНЫХ ПРЕДМЕТОВ ИМЕНИ КИРИЛЛА И МЕФОДИЯ» Конспект урока информатики и ИКТ в 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