Remkomplekty.ru

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

Оператор выбора паскаль примеры

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

Тема: Оператор выбора 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.
  • Урок 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) и т.д.

    Нам не нужно каждый раз писать конструкцию 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’;

    Оператор выбора паскаль примеры

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

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

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

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

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

    Цель урока:

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

    Задачи:

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

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

    План урока:

    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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Итог урока.

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

    Ссылка на основную публикацию
    Adblock
    detector