Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
kamchatgtu246.pdf
Скачиваний:
50
Добавлен:
23.02.2016
Размер:
1.2 Mб
Скачать

2.Написать программу, которая проверяет знание даты основания Москвы. В случае неверного ответа программа должна выводить правильный ответ: «Вы ошиблись, Москва была основана в 1147 году».

3.Заданы площади круга R и квадрата S. Определить, поместится ли круг в квадрате. Задачу решить при следующих значениях: 1) R = 3,2, S = 3,5;

2)R = 3,2, S = 4; 3) R = 6, S = 9.

Вариант 14

1.Проверить, делится ли введенное число на 3, 7, 33. Во всех трех случаях при анализе использовать полную конструкцию оператора IF.

2.Меньшее из двух значений переменных вещественного типа X, Y заменить на X2 + Y2. В случае их равенства заменить оба нулями.

3.Составить программу для определения наибольшей площади фигур. Одна фигура является квадратом (площадь S1), а другая – кругом (площадь S2). Квадрат задан длиной стороны, а круг – радиусом. Результат вывести в виде ПЛОЩАДЬ КРУГА = … или ПЛОЩАДЬ КВАДРАТА = ...

Вариант 15

1.Проверить, делится ли введенное число на 6, 7, 17. Во всех трех случаях при анализе использовать полную конструкцию оператора IF.

2.Две точки задаются своими координатами. Определить, какая из них находится дальше от начала координат.

3.Ввести действительное число Х, значение которого лежит в двух интервалах, и вычислить значение Y:

sin(x 20, если2 < x < 4

Y = 3x2 +6x +2, если x 4

Вариант 16

1.Проверить, делится ли введенное число на 2, 3, 29. Во всех трех случаях при анализе использовать полную конструкцию оператора IF.

2.Ввести два целых числа: X и Y. Вычислить выражение Y = sin x2 +

+cos x2, если число X меньше либо равно 3, иначе вычислить остаток от деления X на 3.

3.Определить, имеется ли среди чисел A, B, C хотя бы одна пара равных между собой чисел.

50

ЛАБОРАТОРНАЯ РАБОТА № 4

ОПЕРАТОР МНОЖЕСТВЕННОГО ВЫБОРА CASE ... OF

Цели работы

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

2.Получение навыков в организации программ, содержащей оператор множественного выбора Case.

Теоретический материал

1. Общие положения

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

В качестве переключателя используется выражение, которое располагается между ключевыми словами CASE и OF. Результатом этого выражения может быть только значение порядкового типа, общее значение которого не превышает 65 535.

Оператор выбора Case имеет следующую структуру: CASE < Переключатель > OF

Константа выбора 1 : ОПЕРАТОР 1; Константа выбора 2 : ОПЕРАТОР 2;

……………………………………….

Константа-выбора n : ОПЕРАТОР n ELSE ОПЕРАТОР n + 1;

End.

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

Переключатель может быть любым стандартным типом: Integer, Char, Boolean (за исключением типа Real).

Логику работы оператора выбора можно описать одной фразой: вычисленное значение < Переключателя > определяет, какой из ОПЕРАТОРов должен быть выполнен.

Если переключатель принимает одно из значений константы выбора 1, то выполняется ОПЕРАТОР 1, а остальные операторы пропускаются.

51

Если переключатель принимает одно из значений константы выбора 2, то выполняется ОПЕРАТОР 2.

Аналогично будут выполняться операторы от ОПЕРАТОРа 3 до ОПЕРАТОРа n.

ОПЕРАТОР не будет выполняться в том случае, если значение переключателя не совпало ни с одним из значений константы выбора 1 до константы выбора n-го. Тогда осуществляется переход на альтернативную ветку с Else

ибудет выполняться ОПЕРАТОР n + 1.

Внеполной форме оператора CASE альтернативная всем предыдущим вариантам выбора ветвь ELSE отсутствует. В этом случае, если значение переключателя не совпадает ни с одним из значений констант-выбора, то не выполняется ни один из операторов, описанных в CASE, и управление передается оператору, стоящему непосредственно после ключевого слова end, замыкающего оператор CASE.

На рис. 19 приведена блок-

схема алгоритма, соответствующего

Рис. 19. Блок-схема алгоритма CASE

инструкции CASE.

 

Ниже приведены примеры, демонстрирующие наиболее характерные

приемы составления программ с использованием оператора СASE.

Задача 1

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

Program Lab4_1; 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: = 'Отлично'

52

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

end;

WriteLn;

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

End.

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

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

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

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

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

Задача 2

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

Uses Crt;

Var Symbol: Char;

Begin

WriteLn ('Введите любую буквенную или цифровую клавишу'); Symbol: = ReadKey;

Write('Нажатая клавиша –'); Case Symbol of

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

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

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

End.

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

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

53

При использовании СASE указывается диапазон допустимых значений

('0'.. '9'), ('a'..'z'), (‘A'..'Z), (‘A'..'Я'), ('а'..'я') и делается соответствующее сооб-

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

Задачa 3

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

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

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

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

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

end;

2) case day of

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

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

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

end;

3)case day of

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

7:write ('Воскресенье!') else write ('Рабочий день.');

end;

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

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

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

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

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

Вариант 1

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

грамма выведет: «Такого номера месяца нет».

54

Вариант 2

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

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

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

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

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

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

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

Вариант 3

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

Вариант 4

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

20.1–18.2 (Водолей)

23.7–22.8 (Лев)

19.2–20.3 (Рыба)

23.8–22.9 (Дева)

21.3–19.4 (Овен)

23.9–22.10 (Весы)

20.4–20.5 (Телец)

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

21.5–21.6 (Близнецы)

23.11–21.12 (Стрелец)

22.6–22.7 (Рак)

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

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

Вариант 5

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

πR2

S = πD2 / 4

L 2 / 4 π

Вариант 6

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

а) дует встречный ветер (К = 1); б) ветра нет (К = 2); в) дует попутный ветер (К = 3).

55

Вариант 7

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

 

 

Таблица 10

 

 

 

 

Город

Код

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

Владивосток

423

2,2

 

Москва

095

1,5

 

Мурманск

815

1,9

 

Самара

846

1,3

 

Вариант 8

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

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

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

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

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

Вариант 9

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

Вариант 10

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

Вариант 11

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

Вариант 12

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

Вариант 13

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

56

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