Тесты
У нас вы можете пройти тестирование по информатике онлайн быстро и бесплатно.
Перейти

Оператор множественного выбора CASE

Урок является продолжением изучения темы множественного выбора на языке Pascal. Предназначен как для изучения на уроках, так и во время проведения элективных курсов.

Вид: урок-презентация с применением современных технологий.

Технология: информационная.

Время проведения: 40 минут.

Оборудование: компьютерный класс, мультимедийные устройства.

Цель урока:

Познакомить учащихся со способами организации в программах ветвления на три и более рукавов (ветвей).

Задачи:

  • Обучающие – познакомить учеников с использованием команды множественного выбора CASE; привести примеры.
  • Развивающие — развитие умения преодолевать трудности при выполнении заданий самостоятельной работы, развитие логического мышления, памяти, внимания, навыков коммуникативной работы в группах.
  • Воспитательные — воспитание аккуратности, ответственности за свою работу в коллективе, уважительного отношения к мнению одноклассников, уметь работать самостоятельно, выделять главное, сравнивать, делать выводы, развитие познавательного интереса, логического мышления.

Подготовка к уроку:

  1. Подбор изображений для слайдов.
  2. Подбор и набор текста и задач.
  3. Составление и оформление презентации.

План урока:

  1. Организационный момент.
  2. Мотивационное начало урока.
  3. Изложение нового материала. Составление учащимися краткого конспекта нового материала.
  4. Закрепление изученного материала.
  5. Домашнее задание.
  6. Итог урока.

Ход урока

Организационный момент. Психологический настрой класса. Приветствие, выявление отсутствующих, проверка готовности учащихся к уроку. Проверка домашнего задания осуществляется по следующим вопросам:

  1. Какое минимальное количество разделов может быть в программе в Turbo Pascal? Назовите их. (Один — раздел операторов).
  2. Назовите основные типы данных и соответствующие им стандартные имена, которые мы использовали на прошлом уроке. (Целочисленный тип — INTEGER, вещественный тип — REAL, логический — BOOLEAN.)
  3. Укажите, какие операции деления возможны над данными целочисленного типа. Поясните их результат и назовите соответствующее стандартное имя, используемое в программе. (а. MOD; б. DIV.)
  4. Укажите типы данных, в которых нет возможности ввода данных с помощью оператора READ. (Логический тип данных — BOOLEAN.)
  5. Перечислите операторы, которые могут использоваться для организации линейных алгоритмов. (BEGIN, END, READ).
  6. Назовите операторы для программ с разветвляющейся конструкцией. (IF … THEN … ELSE.)

Сообщение о том, чем будем заниматься на уроке. Сообщение учащимся плана занятия и его цель для учащихся

Мотивационное начало урока. Достаточно часто при составлении программ необходимо сделать выбор из достаточно большого количества вариантов. Команду IF в данном случае использовать не рационально. И тут на помощь к программистам приходит команда множественного выбора CASE.

Изложение нового материала. Составление учащимися краткого конспекта нового материала.

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

Один из способов реализации ветвления на несколько рукавов – проверка условий до тех пор, пока одно из них не окажется истинным, выполнение предусмотренных этим условием действий и выход из ветвления.

Структура оператора выбора такова:

case <переменная> of
     <значение1>:<действия1>;
     <значение2>:<действия2>;
     <значение3>:<действия3>;
     ……………………………………………………………………;
     else <действия 4>;
end;

Оператор выбора работает следующим образом. В зависимости от того, какое значение принимает переменная, выполняется тот или иной блок действий. В случае если переменная не принимает ни одно из перечисленных значений, “работает” ветвь “ELSE” Но эта ветвь может и отсутствовать, в этом случае просто ничего не выполняется.

У множественного ветвления есть ограничения; в роли переменной может выступать только переменная порядкового типа. Но есть и положительные стороны — в качестве значений можно указывать целый диапазон.

Давайте рассмотрим на примере преимущества оператора case на примере следующей программы.

Задача 1. Приведите введенное пользователем число от 0 до 9 к его словесному представлению.

Сначала рассмотрим данную задачу с использованием оператора if:

program chislo;
var n : shortint; {-128..127}
begin
     write(‘Введи число: ‘);
     readln(n);
     if n=0 then write(‘Нуль’)
       else if n=1 then write(‘Один’)
       else if n=2 then write(‘Два’)
         else if n=3 then write(‘Три’)
           else if n=4 then write(‘Четыре’)
             else if n=5 then write(‘Пять’)
               else if n=6 then write(‘Шесть’)
                 else if n=7 then write(‘Семь’)
                   else if n=8 then write(‘Восемь’)
                     else if n=9 then write(‘Девять’)
                       else write(‘Это не цифра’);
end;

Теперь с помощью оператора case:

program chislo;
var n : shortint;
begin
     write(‘Введи число: ‘);
     readln(n);
     case n of
       0: write(‘Нуль’);
       1: write(‘Один’);
       2: write(‘Два’);
       3: write(‘Три’);
       4: write(‘Четыре’);
       5: write(‘Пять’);
       6: write(‘Шесть’);
       7: write(‘Семь’);
       8: write(‘Восемь’);
       9: write(‘Девять’);
       else write(‘Это не цифра’);
     end;
end;

Сделаем выводы. (Как видно из приведённых примеров, использование оператора case очень эффективно. Он упрощает решение разветвляющихся задач, сокращает затраты на написание кода, и упрощает понимание его). Давайте разберем еще один пример.

Задача 2. Написать программу, которая запрашивает у пользователя номер месяца и выводит соответствующее название времени года. Предусмотреть ошибку ввода.

program nomermesaca;
var x:byte;
begin
       writeln(‘ введите номер месяца ‘); readln(x); Case x of
           1,2,12:writeln (‘зима’);
           3,4,5:writeln (‘весна’);
           6,7,8:writeln (‘лето’);
           9,10,11:writeln (‘осень’)
       else
             writeln (‘ошибка’);
       end;
end.

Я думаю до readln(x); всё понятно. Теперь разбираем непосредственно часть программы с оператором-”case”.

Допустим, мы ввели число 5. Так вот программа берет нашу переменную x, которая в нашем случае равняется пяти, и ищет нашу пятёрку среди тех данных, которые мы ввели между “Case x of… и … Else writeln (‘ошибка’);”.

Пройдя первую строку программа нужной пятёрки не нашла и, перейдя на вторую, нужная пятёрка была найдена и в соответствии с командой, которую мы задали в этом случае программа выводит на экран слово «Весна».

Если бы мы ввели число большее, чем 12,то программа бы выдала нам следующее: «Ошибка»

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

Учащимся предлагаются несколько задач, которые они должны составить на компьютере:

Задача 3. Составить программу, имитирующую работу своеобразного калькулятора.

program Calc;
var a, b, c: integer;
       begin
       writeln(‘Введите a’); Read(a);
       writeln(‘Введите b’); Read(b);
       writeln(‘Введите c‘); Read(c);
       case c of
           1: writeln(‘Сумма=‘, a+b);
           2: writeln(‘Разность=‘, a-b);
           3: writeln(‘Произведение=‘, a*b);
           4: writeln(‘Целая часть от деления=‘, a div b);
           5: writeln(‘Остаток от деления=‘, a mod b);
           else writeln(‘Введен неизвестный номер операции’);
       end;
end.

Задача 4. Написать программу, которая в зависимости от введённого числа выводила бы на экран: если 1, 2, 3, 4, 5 то ‘один’, если 6, 7, 10, 15 то ‘два’, если 8 то ‘три’, если 16, 17, 18, 19, 20, 22, 25 то ‘четыре’. Иначе вывести на экран ‘ошибка’.

program primer;
var n : integer;
begin
       write(‘Введите число: ‘);
       readln(n);
       case n of
           1..5: write(‘один’);
           6, 7, 10, 15: write(‘два’);
           8: write(‘три’);
           16..20, 22, 25: write(‘четыре’);
       else write(‘ошибка’);
       end;
end.

Выявление пробелов в знаниях учащихся и их ликвидация. Беседа.

  1. С помощью каких операторов можно организовать многовариантное ветвление? (IF…THEN…ELSE, CASE…OF). Ставится ли перед ELSE ;? (Нет)
  2. Какой тип может иметь переменная, выступающая в роли параметра в операторе выбора CASE (Перечисляемый).
  3. Может ли отсутствовать ELSE в операторе выбора? (Да)
  4. Как “работает” оператор выбора? (Оператор выбора работает следующим образом. В зависимости от того, какое значение принимает переменная выполняется тот или иной блок действий. В случае если переменная не принимает ни одно из перечисленных значений, “работает” ветвь “else” Но эта ветвь может и отсутствовать, в этом случае просто ничего не выполняется.)

Домашнее задание.

Составить программу по следующему условию.

В некотором учебном заведении действуют следующие правила приема. Абитуриенты сдают три экзамена. Если они набирают не менее 13 баллов, то это дает право поступить на дневное отделение, от 10 до 12 — вечернее, от 8 до 9 — заочное и ниже 8 баллов — отказ в приеме на учебу. Записать программу, которая в зависимости от суммы набранных баллов сообщает абитуриенту его права на поступление.

Итог урока.

Сегодня на уроке мы повторили структуру программы, типы данных, инструкции ввода и вывода, логические выражения, условный оператор, познакомились с организацией многовариантного ветвления.

предыдущие:

Оцените статью
12345 (Пока оценок нет)
Загрузка...
Добавить комментарий