СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

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

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

"Оператор выбора в языке Паскаль" (9 класс)

Категория: Информатика

Нажмите, чтобы узнать подробности

Материал содержит конспект урока, презентацию к уроку, раздаточный материал для выполнения практической работы, компьютерную тестирующую программу "InformTest2", мультимедийный материал для проведения физкультминутки и рефлексивную карту.

Просмотр содержимого документа
«Оператор выбора - урок»

Прийменко Андрей Викторович

Учитель информатики

МБОУ «Средняя общеобразовательная школа №48»

г. Курск


Тема урока: Оператор выбора в языке Паскаль


Предмет: информатика

Класс: 9

информатика, конспект урока, типы переменных, переменная, программирование.

Цель: ввести понятия переменные

Задачи:

Образовательные – дать определение понятию оператор выбора, рассказать о способах применения, особенностях использования в программах.

Развивающие  развитие внимательности, памяти, алгоритмического мышления школьников.

Воспитательныеразвитие познавательного интереса, логического мышления.

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

Форма урока: мультимедиа – урок, практикум, лекция.

Оборудование урока: мультимедийный проектор, экран, раздаточный материал, компьютеры, программное обеспечение “InformTest2”.


План урока:

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

  2. Сообщение темы, цели урока

  3. Актуализация знаний

  4. Ознакомление с новым материалом

  5. Закрепление знаний

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


Ход урока:

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

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

Case of 

[else ] end

Здесь case, of, else, end – зарезервированные слова (случай, из, иначе, конец);



- выражение порядкового типа;

- одна или более конструкций вида:

: ;

- константа того же типа, что и выражение

;

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

Оператор выбора Паскаля работает следующим образом. Вначале вычисляется значение выражения , а затем в последовательности отыскивается константа, равная вычисленному значению. Выполняется оператор, который следует за найденной константой, после чего оператор выбора завершает работу. Если в списке выбора не будет найдена константа, соответствующая вычисленному значению ключа выбора, управление передается операторам, стоящим за словом else. Часть else можно опустить, тогда при отсутствии в списке выбора нужной константы не будет выполнено никаких действий, и оператор выбора просто завершит свою работу.

Например, составим программу, которая по номеру дня недели выводит на экран его название:

Пример программы с использованием Case of


Program dni_nedeli;
Var n: byte; 
Begin 
    Readln(n); 
    Case n of 
       1: writeln(‘понедельник ’); 
       2: writeln(‘вторник ’); 
       3: writeln(‘среда ’); 
       4: writeln(‘четверг ’); 
       5: writeln(‘пятница ’); 
       6: writeln(‘суббота ’); 
       7: writeln(‘воскресенье’); 
       else writeln(‘дня недели с номером’, n,’нет’);
    end;
end. 



Следует помнить, что все константы из списка выбора должны быть различны.

Любому из операторов списка выбора может предшествовать не одна, а несколько констант выбора, разделенных запятыми. Например, следующая программа при вводе одного из символов ‘ y’ или ‘ Y’ выведет на экран «Да», а при вводе ‘ n’ или ‘ N’ – слово «Нет».

Пример программы с использованием Case of с несколькими переменными


Var ch: char; 
Begin 
    Readln(ch); 
   
Case ch of
       N, n: writeln(‘
Да ’); 
       Y, y: writeln(‘
Нет ’);
   
End;
End.

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
















Практикум

Задание 1

Набрать программу в среде Турбо Паскаль 7 (презентация, слайды 4,10)

Задание 2

Компьютерное тестирование в программе “InformTest2”

Задание 3

Дать комментарий каждой строке программы


Program Number1;
Var
  a, b, c : integer;
 
Begin
  writeln(‘Введите цифру ‘);
 
  readln(a);
  if (a9)
    then
      writeln (‘Это число не является цифрой‘)
    else
      case a of
        0 : writeln (‘ноль‘);
        1 : writeln (‘один‘);
        2 : writeln (‘два‘);
        3 : writeln (‘три‘);
        4 : writeln (‘четыре‘);
        5 : writeln (‘пять‘);
        6 : writeln (‘шесть‘);
        7 : writeln (‘семь‘);
        8 : writeln (‘восемь‘);
        9 : writeln (‘девять‘);
      end;
  readln;
End.


Домашняя работа:

Информатика и ИКТ 9 класс п. 4.2.3. , стр. 115

Конспект урока




Литература


Тимошевская Н.Е. Основы алгоритмизации и программирования на языке Pascal/ Справочник: Учеб.пособие. -Томск, Интернет ресурсы 2005. – 135с.

Тимошевская Н.Е. Основы алгоритмизации и программирования на языке Pascal/ Рабочая тетрадь: Учеб.пособие. -Томск, Интернет ресурсы 2005. – 135с.


Интернет ресурсы:

http://pascal.helpov.net

http://pas1.ru/programming.

http://pascal.proweb.kz/

http://nk-inform.narod.ru/pas/pas.htm

http://pascalabc.net/




Просмотр содержимого документа
«Программа комментарии раздатка»

Ученик(-ца) _________________ класс _____

Прокомментируйте каждую строку программы. Сделайте вывод о ее назначении.



Program Number1;
Var
  a, b, c : integer;
 
Begin
  writeln(‘Введите цифру ‘);
 
  readln(a);
  if (a9)
    then
      writeln (‘Это число не является цифрой‘)
    else
      case a of
        0 : writeln (‘ноль‘);
        1 : writeln (‘один‘);
        2 : writeln (‘два‘);
        3 : writeln (‘три‘);
        4 : writeln (‘четыре‘);
        5 : writeln (‘пять‘);
        6 : writeln (‘шесть‘);
        7 : writeln (‘семь‘);
        8 : writeln (‘восемь‘);
        9 : writeln (‘девять‘);
      end;
  readln;
End.

ВЫВОД: _____________________________________________________________________________

Ученик(-ца) _________________ класс _____

Прокомментируйте каждую строку программы. Сделайте вывод о ее назначении.



Program Number1;
Var
  a, b, c : integer;
 
Begin
  writeln(‘Введите цифру ‘);
 
  readln(a);
  if (a9)
    then
      writeln (‘Это число не является цифрой‘)
    else
      case a of
        0 : writeln (‘ноль‘);
        1 : writeln (‘один‘);
        2 : writeln (‘два‘);
        3 : writeln (‘три‘);
        4 : writeln (‘четыре‘);
        5 : writeln (‘пять‘);
        6 : writeln (‘шесть‘);
        7 : writeln (‘семь‘);
        8 : writeln (‘восемь‘);
        9 : writeln (‘девять‘);
      end;
  readln;
End.

ВЫВОД: _________________________________________________________________________________

Ученик(-ца) _________________ класс _____

Прокомментируйте каждую строку программы. Сделайте вывод о ее назначении.



Program Number1;
Var
  a, b, c : integer;
 
Begin
  writeln(‘Введите цифру ‘);
 
  readln(a);
  if (a9)
    then
      writeln (‘Это число не является цифрой‘)
    else
      case a of
        0 : writeln (‘ноль‘);
        1 : writeln (‘один‘);
        2 : writeln (‘два‘);
        3 : writeln (‘три‘);
        4 : writeln (‘четыре‘);
        5 : writeln (‘пять‘);
        6 : writeln (‘шесть‘);
        7 : writeln (‘семь‘);
        8 : writeln (‘восемь‘);
        9 : writeln (‘девять‘);
      end;
  readln;
End.

ВЫВОД: __________________________________________________________________________________

Ученик(-ца) _________________ класс _____

Прокомментируйте каждую строку программы. Сделайте вывод о ее назначении.



Program Number1;
Var
  a, b, c : integer;
 
Begin
  writeln(‘Введите цифру ‘);
 
  readln(a);
  if (a9)
    then
      writeln (‘Это число не является цифрой‘)
    else
      case a of
        0 : writeln (‘ноль‘);
        1 : writeln (‘один‘);
        2 : writeln (‘два‘);
        3 : writeln (‘три‘);
        4 : writeln (‘четыре‘);
        5 : writeln (‘пять‘);
        6 : writeln (‘шесть‘);
        7 : writeln (‘семь‘);
        8 : writeln (‘восемь‘);
        9 : writeln (‘девять‘);
      end;
  readln;
End.

ВЫВОД: _________________________________________________________________________________

Просмотр содержимого документа
«Программа на ПК раздатка»

program kalendar;

var M, D: integer;

begin

writeln('Введите номер месяца:');

read ( M );

case M of

2: begin D := 28; end;

4,6,9,11: begin D := 30; end;

1,3,5,7,8,10,12: D := 31;

else D := -1;

end;

Writeln (‘В этом месяце ’, D, ‘дней’) ;

readln;

readln;

end.



program kalendar;

var M, D: integer;

begin

writeln('Введите номер месяца:');

read ( M );

case M of

2: begin D := 28; end;

4,6,9,11: begin D := 30; end;

1,3,5,7,8,10,12: D := 31;

else D := -1;

end;

Writeln (‘В этом месяце ’, D, ‘дней’) ;

readln;

readln;

end.

program kalendar;

var M, D: integer;

begin

writeln('Введите номер месяца:');

read ( M );

case M of

2: begin D := 28; end;

4,6,9,11: begin D := 30; end;

1,3,5,7,8,10,12: D := 31;

else D := -1;

end;

Writeln (‘В этом месяце ’, D, ‘дней’) ;

readln;

readln;

end.



program kalendar;

var M, D: integer;

begin

writeln('Введите номер месяца:');

read ( M );

case M of

2: begin D := 28; end;

4,6,9,11: begin D := 30; end;

1,3,5,7,8,10,12: D := 31;

else D := -1;

end;

Writeln (‘В этом месяце ’, D, ‘дней’) ;

readln;

readln;

end.

Просмотр содержимого документа
«Рефлексивная карта»

Рефлексивная карта

ученика(-цы) ___ класса _____________________________________________

(фамилия, имя)

  • я узнал __________________________________________________________

  • было интересно __________________________________________________

  • было трудно _____________________________________________________

  • я понял, что _____________________________________________________

  • теперь я могу ____________________________________________________

  • я научился _______________________________________________________

  • у меня получилось _______________________________________________

  • я смог __________________________________________________________

  • я попробую _____________________________________________________

  • меня удивило ___________________________________________________

__________________________________________________________________________________


Рефлексивная карта

ученика(-цы) ___ класса _____________________________________________

(фамилия, имя)

  • я узнал __________________________________________________________

  • было интересно __________________________________________________

  • было трудно _____________________________________________________

  • я понял, что _____________________________________________________

  • теперь я могу ____________________________________________________

  • я научился _______________________________________________________

  • у меня получилось _______________________________________________

  • я смог __________________________________________________________

  • я попробую _____________________________________________________

  • меня удивило ___________________________________________________

__________________________________________________________________________________


Рефлексивная карта

ученика(-цы) ___ класса _____________________________________________

(фамилия, имя)

  • я узнал __________________________________________________________

  • было интересно __________________________________________________

  • было трудно _____________________________________________________

  • я понял, что _____________________________________________________

  • теперь я могу ____________________________________________________

  • я научился _______________________________________________________

  • у меня получилось _______________________________________________

  • я смог __________________________________________________________

  • я попробую _____________________________________________________

  • меня удивило ___________________________________________________

__________________________________________________________________________________

Просмотр содержимого презентации
«Оператор выбора»

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

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

Тема 6. Оператор выбора

Оператор выбора Задача: Ввести номер месяца и вывести количество  дней в этом месяце. Решение: Число дней по месяцам: 28 дней – 2 (февраль) 30 дней – 4 (апрель), 6 (июнь), 9 (сентябрь), 11 (ноябрь) 31 день – 1 (январь), 3 (март), 5 (май), 7 (июль),  8 (август), 10 (октябрь), 12 (декабрь) Особенность: Выбор не из двух, а из нескольких  вариантов в зависимости от номера месяца. ?  Можно ли решить известными методами? 2

Оператор выбора

Задача: Ввести номер месяца и вывести количество дней в этом месяце.

Решение: Число дней по месяцам:

28 дней – 2 (февраль)

30 дней – 4 (апрель), 6 (июнь), 9 (сентябрь), 11 (ноябрь)

31 день – 1 (январь), 3 (март), 5 (май), 7 (июль), 8 (август), 10 (октябрь), 12 (декабрь)

Особенность: Выбор не из двух, а из нескольких вариантов в зависимости от номера месяца.

?

Можно ли решить известными методами?

2

Алгоритм начало ввод M да M  =  1? оператор выбора D  :=  31; нет да M  =  2? D  :=  28; нет да M  =  12? D  :=  31; нет  вывод D ошибка ни один вариант не подошел конец 2

Алгоритм

начало

ввод M

да

M = 1?

оператор выбора

D := 31;

нет

да

M = 2?

D := 28;

нет

да

M = 12?

D := 31;

нет

вывод D

ошибка

ни один вариант не подошел

конец

2

Программа program kalendar; var M, D: integer; begin  writeln('Введите номер месяца:');  read ( M );  case M of  2: begin D := 28; end;  4,6,9,11: begin D := 30; end;  1,3,5,7,8,10,12: D := 31;  end; Writeln (‘В этом месяце ’, D, ‘ дней’); readln;  readln; end. 2

Программа

program kalendar;

var M, D: integer;

begin

writeln('Введите номер месяца:');

read ( M );

case M of

2: begin D := 28; end;

4,6,9,11: begin D := 30; end;

1,3,5,7,8,10,12: D := 31;

end;

Writeln (‘В этом месяце ’, D, ‘ дней’);

readln;

readln;

end.

2

Структура оператора выбора Case  of     [else ] end  Здесь  case, of, else, end  – зарезервированные слова (случай, из, иначе, конец);  - выражение порядкового типа;  - одна или более конструкций вида: : ;  - константа того же типа, что и выражение ;  - произвольные операторы Паскаля. 2

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

Case of  [else ] end

Здесь  case, of, else, end  – зарезервированные слова (случай, из, иначе, конец);

- выражение порядкового типа;

- одна или более конструкций вида:

: ;

- константа того же типа, что и выражение ;

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

2

Оператор выбора Особенности: после case может быть имя переменной или арифметическое выражение целого типа ( integer ) после case может быть имя переменной или арифметическое выражение целого типа ( integer )  или символьного типа ( char ) case i+3 of  1: begin a := b; end;  2: begin a := c; end; end; var c: char; ... case c of  'а': writeln('Антилопа');  'б': writeln('Барсук');  else writeln('Не знаю'); end; 2

Оператор выбора

Особенности:

  • после case может быть имя переменной или арифметическое выражение целого типа ( integer )
  • после case может быть имя переменной или арифметическое выражение целого типа ( integer )

или символьного типа ( char )

case i+3 of

1: begin a := b; end;

2: begin a := c; end;

end;

var c: char;

...

case c of

'а': writeln('Антилопа');

'б': writeln('Барсук');

else writeln('Не знаю');

end;

2

Оператор выбора Особенности: если нужно выполнить только один оператор, слова begin и end можно не писать нельзя ставить два одинаковых значения если нужно выполнить только один оператор, слова begin и end можно не писать нельзя ставить два одинаковых значения case i+3 of  1: a := b;  2: a := c; end; case i+3 of  1: a := b;  1: a := c; end; 2

Оператор выбора

Особенности:

  • если нужно выполнить только один оператор, слова begin и end можно не писать нельзя ставить два одинаковых значения
  • если нужно выполнить только один оператор, слова begin и end можно не писать
  • нельзя ставить два одинаковых значения

case i+3 of

1: a := b;

2: a := c;

end;

case i+3 of

1: a := b;

1: a := c;

end;

2

Оператор выбора Особенности: значения, при которых выполняются одинаковые действия, можно группировать значения, при которых выполняются одинаковые действия, можно группировать case i of  1: a := b;  2,4,6: a := c;  10..15: a := d;  20,21,25..30: a := e;  else writeln('Ошибка'); end; перечисление диапазон смесь 2

Оператор выбора

Особенности:

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

case i of

1: a := b;

2,4,6: a := c;

10..15: a := d;

20,21,25..30: a := e;

else writeln('Ошибка');

end;

перечисление

диапазон

смесь

2

Что неправильно? case a of case a of  2: a := b  2: begin a := b;  4: a := c;  4: a := c end; end; ; case a of case a of  0..2: a := b;  2..5: a := b;  4: a := c;  6..3: a := c; end; end; 3..6: begin case a+c/2 of  2: a := b;  4: a := c; end; case a of  2: a := b; d := 0;  4: a := c; end; end; 2

Что неправильно?

case a of

case a of

2: a := b

2: begin a := b;

4: a := c;

4: a := c

end;

end;

;

case a of

case a of

0..2: a := b;

2..5: a := b;

4: a := c;

6..3: a := c;

end;

end;

3..6:

begin

case a+c/2 of

2: a := b;

4: a := c;

end;

case a of

2: a := b; d := 0;

4: a := c;

end;

end;

2

Задания «4»: Ввести номер месяца и вывести количество дней в нем. Предусмотреть защиту от неверного ввода.  Пример:  Введите номер месяца:  Введите номер месяца:  -2 2  Неверный номер месяца В этом месяце 28 дней. «5»: Ввести номер месяца и вывести количество дней в нем, а также число месяцев, оставшихся до Нового года.  Пример:  Введите номер месяца:  Введите номер месяца:  -2 2  Неверный номер месяца В этом месяце 28 дней.    До Нового года осталось 10       месяцев 2

Задания

«4»: Ввести номер месяца и вывести количество дней в нем. Предусмотреть защиту от неверного ввода.

Пример:

Введите номер месяца: Введите номер месяца:

-2 2

Неверный номер месяца В этом месяце 28 дней.

«5»: Ввести номер месяца и вывести количество дней в нем, а также число месяцев, оставшихся до Нового года.

Пример:

Введите номер месяца: Введите номер месяца:

-2 2

Неверный номер месяца В этом месяце 28 дней.

До Нового года осталось 10 месяцев

2

Домашнее задание Информатика и ИКТ 9 класс п. 4.2.3. , стр. 115 Конспект урока 2

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

Информатика и ИКТ 9 класс п. 4.2.3. , стр. 115

Конспект урока

2