Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УМК ОАиП.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.14 Mб
Скачать

4. Решение задач на множественный выбор

Задача 1

Написать программу, которая дает наименование школьных оценок, т. е. надо ввести оценку, а в результате получить ее название (например: «3 -удов­летворительно»), Если ввести число, не являющееся оценкой, то программа выведет: «Такой оценки нет».

Program Lab4_l;

Uses Crt;

Var X: integer;

Y: string [17];

Begin

ClrScr;

WriteLn ('Введи число');

Read (X);

Case X of

1: Y: = 'Очень плохо';

2: Y: = 'Плохо';

3: Y: = 'Удовлетворительно';

4: Y: = 'Хорошо';

5: Y: = 'Отлично'

Else Y: = 'Такой оценки нет';

WriteLn;

WriteLn ('X соответствует -', Y);

ReadLn;

End.

Пояснения к задаче 1

В переменную X по запросу программы вводим оценку. Эта же перемен­ная X используется в операторе множественного выбора в качестве переклю­чателя, который объявлен в разделе описаний как целочисленная переменная Integer. Имеющиеся пять альтернатив выбора - это константы выбора, содер­жащие наименование оценок.

Необязательная часть с Else исполнится в том случае, если введенное значение переменной X не совпадет ни с одним из пяти предложенных вариантов.

Переменной Y, объявленной как строковая размерность 17, присваивает­ся словесное наименование оценки в соответствии со значением переключа­теля X.

В случае несовпадения ни с одним из значений константы выбора будет сообщение: «Такой оценки нет».

Задача 2

Определить, какая клавиша нажата на клавиатуре – цифра или буква. Program Lab4_2;

Uses Crt;

Var Symbol: Char;

Begin

WriteLn (‘Введите любую буквенную или цифровую клавишу’);

Symbol: = ReadKey;

WriteLn (‘Нажатая клавиша – ‘);

Case Symbol of

'0'..'9': writeLn ('Это цифра');

'a'..'z': writeLn ('Это строчная латинская буква');

'A'..'Z': WriteLn ('Это прописная латинская буква');

'А'..'Я': WriteLn ('Это прописная русская буква');

'а'..'я': WriteLn ('Это строчная русская буква')

Else WriteLn ('Это другой символ');

End;

End.

Пояснения к задаче 2

Переключатель Symbol объявлен в разделе описаний как символьная пе­ременная Char. В нее считывается символ нажатой клавиши посредством спе­циализированной функции ReadKey модуля CRT.

При использовании CASE указывается диапазон допустимых значений ('0'.. '9'), ('a'..'z'), ('A'..'Z), ('А’..'Я'), ('а'..'я') и делается соответствующее сооб­щение о введенном символе. В случае несовпадения ни с одним из значений константы выбора появится сообщение: «Это другой символ».

Задача 3

Если между begin и end находится только одна инструкция, то слова begin и end можно не писать.

Приведем три фрагмента использования константы выбора:

  1. case day of

1,2, 3,4, 5: write ('Рабочий день.') ;

6: write ('Суббота!');

7: write ('Воскресенье!');

end;

  1. case day of

1..5: write ('Рабочий день.') ;

6: write('Cyббoтa!');

7: write ('Воскресенье !');

end;

  1. case day of

6: write ('Суббота!');

7: write ('Воскресенье!')

else write ('Рабочий день.');

end;

Практическое задание - решение задач с использованием операто­ра множественного выбора CASE

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

Методические указания

  1. Программа должна содержать для своей реализации операцию мно­жественного выбора.

  2. Необходимо составить блок-схему программы, после чего присту­пить к написанию программы в ИСП.

Вариант 1

Написать программу, которая запрашивает у пользователя номер месяца и выводит соответствующее название времени года, например: «2 - ЗИМА». Если ввести число, не являющееся номером месяца (например, 14), то про­грамма выведет: « Такого номера месяца нет».

Вариант 2

Группу детей, приехавшую в пионерский лагерь, распределяют по отря­дам по следующему принципу:

с 6 до 7 лет – 5-й отряд;

с 7 до 9 лет – 4-й отряд;

с 9 до 11 лет – 3 отряд;

с 11 до 13 лет – 2-й отряд;

с 13 до 15 лет (включительно) – 1-й отряд.

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

Вариант 3

Составить программу-меню, реализующую эпизод сказки: она спрашивает, куда предпочитает пойти герой (налево, направо или прямо), и печатает, что его ждет в каждом случае. Текст вопросов и ответов ЭВМ задать самостоятельно. Признак эпизода вводится с клавиатуры.

Вариант 4

Известно, что астрологи делят год на 12 периодов, каждому из которых соответствует один из знаков зодиака:

20.01-18.02 (Водолей)

19.02-20.03 (Рыба)

23.03-19.04 (Овен)

20.04-20.05 (Телец)

21.05-21.06 (Близнецы)

22.06-22.07 (Рак)

23.07-22.08 (Лев)

23.08-22.09 (Дева)

23.09-22.10 (Весы)

23.10-22.11 (Скорпион)

23.11-22.12 (Стрелец)

22.12-19.01 (Козерог)

Написать программу-меню, которая вводит дату некоторого дня года и печатает название соответствующего знака зодиака.

Вариант 5

Составить программу, которая вычисляет площадь круга, заданную либо радиусом R ( признак N = 1), либо диаметром D (N = 2), либо длиной окруж­ности L (признак N = 3):

Вариант 6

Самолет летит из пункта А в пункт В со средней скоростью V. Составить программу нахождения времени в полете t, если возможны три варианта:

а) дует встречный ветер (К = 1);

б) ветра нет (К = 2);

в) дует попутный ветер (К = 3).

Вариант 7

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

Таблица 5

Город

Код

Цена минуты, руб.

Владивосток

423

2,2

Москва

095

1,5

Мурманск

815

1,9

Самара

846

1,3

Вариант 8

Составить программу-меню «Выбор температуры», которая покажет на экране меню температур, а именно:

1 - максимальная температура;

2 - минимальная температура;

3 - средняя температура.

Пользователь выбирает нужную ему температуру.

Вариант 9

Составить программу-меню «Исторический тренажер». Программа предлагает историческое событие и меню с номерами. Номер вводится с кла­виатуры. После этого на экране должна появиться дата свершения историче­ского события.

Вариант 10

Написать программу-меню, которая спрашивала бы сокращенное имя, а печатала полное (например: Саша - Александр) для пяти ваших друзей. Ввод незнакомого имени должен провоцировать заявление типа: «Я с Вами не знаком». Необходимые данные задать самостоятельно.

Вариант 11

Составить программу-меню, которая напечатает ваши оценки по предме­там за последнюю сессию. Признак предмета вводится с клавиатуры.

Вариант 12

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

Вариант 13

Ввести два целых числа X и У. Составить программу-меню для опера­ций (MULT, DIVIDE, PLUS, MINUS) и выполнить в зависимости от этого со­ответствующую операцию над числами X и У, например: для значения X = 10, значения Y = 5 операции DIVIDE получим результат выполнения операции деления, равный 2.

Вариант 14

Радиус один и тот же, задается пользователем. В зависимости от введен­ного признака нужно вычислить:

  1. длину окружности при k = 1 ( );

  2. площадь при k = 2 ( );

  3. объем шара при k = 3 ( ).

Вариант 15

Составить программу-меню, которая напечатает ваше расписание заня­тий по предметам в определенный день недели. Признак дня недели вводится с клавиатуры.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]