Remkomplekty.ru

IT Новости из мира ПК
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Оператор case паскаль

Урок 7. Оператор выбора Сase

Урок из серии: «Язык программирования Паскаль»

В этом уроке будет рассмотрено использование оператора выбора Select Case.

На предыдущем уроке было показано, как использовать оператор If … hten для выбора одного из двух возможных продолжений алгоритма.

Если один оператор If может обеспечить выбор из двух альтернатив, то оператор выбора case позволяет сделать выбор из произвольного числа имеющихся вариантов.

С помощью операторе If … them тоже можно организовать проверку более двух условий, если использовать вложенные операторы If … then, но запись с оператором Select Case получается более компактной и более понятной.

Оператор выбора case состоит из выражения, называемого селектором (selection — выбор альтернативы) и списка операторов, каждому из которых предшествует список констант выбора (список может состоять из одной константы).

Здесь ветвь else заключается в квадратные скобки, что говорит о том, что эта часть оператора выбора не обязательна.

Алгоритм выполнения оператора выбора:

  1. Вычисляется выражение, которое должно принимать значение, принадлежащее порядковому типу (например, оно не может быть вещественного типа).
  2. В случае если результат вычисления равен одной из перечисленных констант, то выполняется соответствующий оператор. Затем управление передается за пределы оператора выбора.
  3. Если значение выражения не совпадает ни с одной константой, то выполняется оператор, стоящий после else, если он есть, либо управление передается на оператор end и выполнение программы продолжается.

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

Правила использования оператора:

  1. Тип константы должен совпадать с типом выражения
  2. В этой конструкции перед else стоит точка с запятой.
  3. Все константы в альтернативах должны быть уникальны в пределах оператора выбора (т.е. повторение констант в альтернативах не допускается).

Пример 1. По введенному номеру дня недели вывести на экран его название.

Пример 2. В восточном календаре принят 60-летний цикл, состоящий из 12-летних подциклов, обозначаемых названиями цвета: зеленый, красный, желтый, белый и черный.

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

По номеру года выведите его название, если 1984 год был началом цикла — годом зеленой крысы.

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

Задания для самостоятельного выполнения

  1. Составьте программу, которая переводила бы арабские цифры в римские.
  2. Составить программу, которая по номеру месяца определяла время года.

В этом уроке было показано, как использовать оператор Select Case для выбора из нескольких вариантов.

Проверь себя!

На следующем уроке Вы познакомитесь со средой программирования Pascal ABC.

Оператор выбора Case Of в Pascal.

Помимо условного оператора If в языке программирования Pascal существует оператор выбора Case of. Рассмотрим его применение на примере программы, которая выводит на экран то или иное сообщение, в зависимости от введенного числа.

Вывод сообщения на экран с помощью If.

Эта программа выводит на экран сообщение (Нуль, Один и т. д.) в зависимости от того какое мы введем число. Однако, ту же задачу можно выполнить более простым способом с помощью оператора Case of.

Использование Case Of.

В строке №8 записывается оператор выбора Case Of. Сначала записывается слово Case, затем записывается переменная, затем слово Of. После служебного слова Of идет перечисление всех возможных значений переменной (строка №9 — №13), а через двоеточие указывается действие, которое нужно сделать, если переменная принимает то или иное значение. Таким образом, если мы вводим с клавиатуры 0, то на экран выводится сообщение «Нуль» (строка №9), если вводим 1, то выводится сообщение «Один» (строка №10) и т.д.

Читать еще:  Язык си abs

Нам не нужно каждый раз писать конструкцию If…Then.
Достаточно указать CASE «переменная» OF, а затем для каждого значения этой переменной через двоеточие прописать вывод на экран. После перечисления всех операторов необходимо поставить служебное слово End.

Запустим программу и введем любое число от 0 до 4 (например, 4)

Напишем программу, которая определяет квартал года по введенному числу месяца.

Использование Case Of Else.

В строке №8 записываем оператор выбора Case Of. После слова Of (в строках №9 — №12) указываем возможные значения нашей переменной. Причем несколько значений можно указать в одной строке. Например, в строке №9 мы указываем 3 значения для переменной и действие, которое нужно совершить, если будут введены эти переменные. Т.е. если мы вводим с клавиатуры 1 или 2 или 3, то на экран выводится сообщение «Первый квартал».

В строке №13 записывается служебное слово Else. Если мы вводим с клавиатуры число, которое лежит вне диапазона чисел от 1 до 12, то должно совершиться действие, которое указывается после слова Else (строка №14).

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

Дополнение к материалу.

В данном примере вместо перечисления значений переменной можно использовать диапазон значений переменной. Например, строку №9 можно записать так: 1..3: writeln (‘Первый квартал’); Т.е. сначала указывается первое значение переменной, а затем через 2 точки указывается последнее значение переменной.

лабы по информатике, егэ

лабораторные работы и задачи по программированию и информатике, егэ по информатике

Pascal: Занятие №2. Часть 2: Оператор выбора в паскале

Оператор выбора в Паскале

  • Оператор case в Паскале используется в тех случаях, когда в зависимости от значения какой-либо переменной нужно выполнить те или иные действия (простые или составные операторы).
  • Если вариантов всего два, то можно обойтись и условным оператором IF, с которым мы уже знакомы. Но если их, к примеру, десять, то использовать конструкцию if then else в pascal становится совсем нецелесообразно. В этом случае оптимален оператор CASE варианта.

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

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

Результат выполнения с использованием условного оператора if:

var otmetka:integer; begin writeln(‘Отметка?’); readln(otmetka); if (otmetka=1) or (otmetka=2) then writeln (‘кошмар!’) else if otmetka=3 then writeln(‘плохо’) else if otmetka=4 then writeln(‘неплохо’) else if otmetka=5 then writeln(‘отлично!’) else writeln(‘таких отметок не бывает’); end.

Данный пример демонстрирует нерациональную работу программиста и слишком запутанный код. Гораздо лаконичнее выглядит код при использовании оператора выбора.

Результат выполнения с использованием оператора выбора case:

var otmetka:integer; begin writeln(‘отметка?’); readln(otmetka); case otmetka of 1,2 : writeln (‘кошмар!’); 3: writeln(‘плохо’); 4: writeln(‘неплохо’); 5: writeln(‘отлично!’); else writeln(‘таких отметок не бывает’); end end.

Блок-схема, соответствующая оператору выбора:

  • Чтобы задать диапазон значений, используется один из двух вариантов:
    • Перечисление через запятую:

    . case x of: 1,2,3,4,5: writeln(‘от одного до пяти’); .

    . case x of: 1..5: writeln(‘от одного до пяти’); .

    Перечисление или диапазон

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

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

Символьный тип char в Паскале

Для решения следующей задачи пригодится тип char — символьный.
Переменная данного типа объявляется так:
c: char;
и присваивает значения следующим образом:
c:=’a’;

Операторы условия и выбора

Тема: Оператор выбора CASE. Решение задач.

Ранее Вы познакомились с условным оператором If, который позволяет программе выполнять переходы на ту или иную ветвь по значению булева условия. Используя несколько операторов If, можно производить ветвление по последовательности условий. В приведенном фрагменте показано, как при помощи ряда операторов If можно преобразовать целое число (в диапазоне 0-9) к его словесному представлению:

Вы уже, наверное, представили, насколько этот подход однообразный и утомительный. Язык Паскаль предоставляет для этих целей другую управляющую структуру (оператор выбора case), которая позволяет построить ветвление по ряду условий в форме, более удобной для чтения программ.

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

Общая форма записи следующая:

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

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

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

Оператором может являться не только простой оператор, но также составной и пустой операторы.

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

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

Посмотрите, в каких вариантах еще можно использовать оператор выбора при решении задачи.

Задача. Написать программу преобразования цифр в слова.

Выберите с учителем задачи для самостоятельного решения.

  1. Написать алгоритм, позволяющий получить словесное наименование школьных оценок.

Написать алгортм, классифицирующий треугольники (остроугольные, прямоугольные, тупоугольные), если даны углы.

Написать алгоритм, который по номеру дня недели — целому числу от 1 до 7 выдавать в качестве результата количество уроков в классе в соответствующий день.

Написать алгоритм нахождения числа дней в месяце, если даны: Номер месяца n — целое число а, равное 1 для високосного года и равное 0 в противном случае.

По номеру дня недели вывести его название.

В зависимости от того введена ли открытая скобка или закрытая, напечатать «открытая круглая скобка» или «закрытая фигурная скобка». (Учитывать круглые, квадратные, фигурные скобки).

В зависимости от введённого символа L, S, V программа должна вычислять длину окружности; площадь круга; объём цилиндра.

По введенному числу от 0 до 15 вывести название цвета, соответствующего этому коду.

Определить, является ли введенная буква русского алфавита гласной.

Написать программу, которая бы предлагала меню для вывода графических объектов, и рисовала бы соответствующий выбору.

Придумайте шуточный тест с выдачей шуточных результатов.

Напишите программу, которая по введенному числу из промежутка 0..24, определяет время суток.

Напишите программу, которая по введенному номеру месяца високосного или невисокосного года, выводит количество дней в месяце.

Вычислить значение функции по одной из формул:

  • Придумайте программу на использование оператора выбора сase.
  • Оператор условного перехода if. Оператор выбора case

    Для реализации ветвления на Pascal используются условный оператор if и оператор множественного выбора case.

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

    Оператор if, как и остальные структурированные операторы, обычно включает в себя составные операторы.

    Формат условного оператора (полная форма):

    Вычисляется значение логического выражения (иначе говоря, проверяется условие). Если значением логического выражения является true (истина), то выполняется оператор, следующий после слова then (оператор 1). Если значением логического выражения является false (ложь), то выполняется оператор, следующий после слова else (оператор 2).

    Можно использовать краткую форму условного оператора:

    Вычисляется значение логического выражения, т. е. проверяется условие. Если значением логического выражения является true (истина), то выполняется оператор, следующий после слова then. Если значением логического выражения является false (ложь), то управление передается на оператор, следующий после условного.

    1 Если в зависимости от условия предполагается выполнить несколько действий, то соответствующие операторы берутся в операторные скобки begin…end (используется составной оператор).

    2 Перед зарезервированными словами then и else знак «;» никогда не ставится, т. к. конструкция if … then … else …; является единым оператором.

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

    Формат оператора выбора:

    case, of, else, end − зарезервированные слова (в переводе означающие соответственно выбор, из, иначе, конец),

    − имя переменной или выражение порядкового типа (кроме longint);

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

    , …, − произвольные операторы языка Pascal, в том числе составной и структурированные.

    Принцип действия оператора case:

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

    Задания для практического занятия:

    1 Создать с помощью TotalCommander на диске z: папку (клавиша F7) для сохранения там файлов программ (латинскими буквами, не более 8 символов, без пробелов и точек!).

    2 Загрузить Free, Turbo Pascal или PascalABC. ДляэтоговыполнитьStart / All Programs / Free (Turbo) PascalилиPascalABC (Пуск / Всепрограммы / Free [Turbo] Pascal илиPascalABC) илищелкнутьдваждыпосоответствующемуярлыкунарабочемстоле.

    3 Создать новый файл: File / New (Файл / Создать). Он получает имя noname01.pas (или Program01.pas), отображаемое в верхней части окна документа.

    4 Сохранить в личной папке на диске z: новый файл с именем ФИО21.pas, лучше использовать латинские буквы. Для этого File / Saveas… (Файл / Сохранить как…), в строке Name ввести имя диска, вложенные каталоги, имя файла, например, z:Ivanovisp21.pas или

    и нажать Ok. Периодически сохранять файл в процессе работы (клавиша F2).

    5 Набрать текст линейной программы, вычисляющей расстояние между двумя точками (x1; y1) и (x2; y2) по формуле .

    write(‘Введите координаты первой точки x1 и y1’);

    write(‘Введите координаты второй точки x2 и y2’);

    writeln(‘расстояние между двумя точками равно’,d:5:2);

    6 Произвести компиляцию программы (клавиша F9). Исправить ошибки.

    7 Запустить программу на выполнение (Ctrl + F9).

    8 Посмотреть результаты (Alt + F5)

    9 Создать новый файл: File / New (Файл / Создать). Сохранить его в личной папке на диске z: под именем ФИО22.pas. Периодически сохранять файл в процессе работы (клавиша F2).

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

    Ссылка на основную публикацию
    ВсеИнструменты
    Adblock
    detector
    ×
    ×