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

Презентация:



Advertisements
Похожие презентации
1 Программирование на языке Паскаль Оператор выбора.
Advertisements

1 Программирование на языке Паскаль Тема: Оператор выбора.
1 Программирование на языке Паскаль © К.Ю. Поляков, ВведениеВведение 2.ВетвленияВетвления 3.Сложные условияСложные условия 4.ЦиклыЦиклы 5.Циклы.
1 Программирование на языке Паскаль Ветвления. 2 Разветвляющиеся алгоритмы Задача. Ввести два целых числа и вывести на экран наибольшее из них. Идея решения:
Составить программу, которая запрашивает номер месяца и выводит соответствующее название времени года. В случае, если введено недопустимое число, программа.
Алгоритмы ветвления. Оператор выбора 9 класс. Повторение 1. Что такое алгоритм? 2. Какие типы алгоритмов вы знаете? 3. Какой алгоритм называется линейным?
1 Программирование на языке Паскаль Тема 4. Циклы.
Оператор ветвления : if then else ; Вложенное ветвление : if then else else ;
CASE – ОПЕРАТОР ВЫБОРА. РАССМОТРИМ СЛЕДУЮЩУЮ ЗАДАЧУ : Х, ЕСЛИ Х = 3 У = Х+1, ЕСЛИ Х=0 Х 2 + Х –2, ЕСЛИ Х = -2 Х 3, ЕСЛИ Х = -8.
Оператор множественного выбора CASE © М.Е.Макарова
Операторы языка Паскаль Условные операторы. Оператор условия ЕСЛИ (if) Оператор условия ВЫБОР (case) Условные операторы предназначены для выбора к исполнению.
Оператор множественного выбора CASE. Составить программу, которая спрашивает у пользователя номер месяца и выводит соответствующее названия времени года.
Оператор варианта (выбора). Оператор варианта применяется для решения задач в которых необходимо использовать многократно вложенные друг в друга условные.
Оператор выбора. Оператор выбора позволяет выбрать одно из нескольких возможных продолжений программы. Параметром, по которому осуществляется выбор, служит.
1 Программирование на языке Паскаль © К.Ю. Поляков, ВведениеВведение 2.ВетвленияВетвления 3.Сложные условияСложные условия 4.ЦиклыЦиклы 5.Циклы.
1 Программирование на языке Паскаль Тема 3. Сложные условия © К.Ю. Поляков,
1 Программирование на языке Паскаль Сложные условия.
1 Программирование на языке Паскаль Тема 2. Ветвления.
1 Программирование на языке Паскаль Ветвления. 2 Разветвляющиеся алгоритмы Задача. Ввести два целых числа и вывести на экран наибольшее из них. Идея решения:
Информатика Лекция 3. План лекции Процедуры ввода - вывода Примеры ввода - вывода данных Структурированные операторы ( выбора )
Транксрипт:

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

2 Оператор выбора Оператор выбора позволяет выбрать одно из нескольких возможных продолжений программы. CaseOf Общий вид оператора: Case Of { : ;} Else Else end; : Case, Of, Else, end Где: Case, Of, Else, end – служебные слова; Ключ выбора - переменная любого типа (кроме Real или String); Список выбора - одна или более конструкций ; Константа выбора - константа того же типа, что и ; оператор выбора - простой или составной оператор языка Паскаль.

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

4 Алгоритм конец выбор ни один вариант не подошел да нет да ошибка Начало ввод M M нет 2 В месяце 28 дней 1,3,5,7, 8,10,12 В месяце 31 день

5 Программа program qq; var M: integer; begin writeln('Введите номер месяца:'); read ( M ); caseof case M of 2: Write(В месяце 28 дней); 4,6,9,11: Writeln(В месяце 30 дней); 1,3,5,7,8,10,12: Writeln(В месяце 31 день) else else Writeln(Неверный номер месяца); end end; end. program qq; var M: integer; begin writeln('Введите номер месяца:'); read ( M ); caseof case M of 2: Write(В месяце 28 дней); 4,6,9,11: Writeln(В месяце 30 дней); 1,3,5,7,8,10,12: Writeln(В месяце 31 день) else else Writeln(Неверный номер месяца); end end; end. Ни один вариант не подошел Ключ выбора Список выбора

6 Оператор выбора Алгоритм работы: 1.Вычисляется или вводится выражение ; 2.Управление передается тому оператору, перед которым стоит константа выбора, равная вычисленному или введенному значению; 3.Если в списке не будет найдена такая константа, управление передается оператору, стоящему за словом Else (часть Else может отсутствовать). Тогда при отсутствии в списке выбора нужной константы оператор выбора просто завершит свою работу.

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

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

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

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

11 Задания (с защитой от неверного ввода) 1. Ввести номер дня недели и вывести название дня недели Пример: Введите номер дня недели: Вторник 2 2. Ввести номер месяца и номер дня, вывести число дней, оставшихся до Нового года. Пример: Введите номер месяца: 12 Введите день: 25 До Нового года осталось 6 дней. 3. Вывести значение Y если x, если n=1; b, если n=2; Y = b+x, если n=3; 1/x, если n=4 Значения b и х – целые, задать с клавиатуры

12 Задания 4. Ввести номер месяца и вывести название времени года. Пример: Введите номер месяца: 4 весна