Задание 3. Ответьте на следующие вопросы

Лабораторная работа 20

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

 

1. Цель работы: овладеть практическими навыками разработки программ с использованием оператора выбора в среде программирования Pascal ABC.

 

2. Теоретическое обоснование

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

Эта структура существует в четырех основных вариантах:

Выбор

Выбор — иначе

Оператор выбора

case переключатель of

список_значений1: оператор1;

список_значений2: оператор2;

- - - - -- - - - - - - - -- - - - - - - - -;

cписок_значенийN: операторN;

else оператор N+1;                              {не обязательная часть}

end;

 

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

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

Пример 1. Дан номер месяца. Определить количество дней в этом месяце для невисокосного года.

Подсказка. Как зависит число дней от номера месяца? (2 – 28 дней, 4,6,9,11 – 30 дней, 1,3,5,7,8,12 – 31 день).

Листинг программы.

Program Days;

Var m: integer;

Begin

write('Введите номер месяца: ');

readln (m);

case m of

2: writeln(‘В этом месяце 28 дней’);

4,6,9,11: writeln(‘В этом месяце 30 дней’);

1,3,5,7,8,10,12: writeln(‘В этом месяце 31 день’);

else

writeln(‘Месяца с таким номером нет’);

end;

End.

Пример 2. Ввести номер дня недели и вывести соответствующий ему день недели.

Листинг программы.

program prim1;

var z: integer;

begin

writeln('введи номер дня недели');

readln(z);

if z=1 then writeln('Понедельник')

else if z=2 then writeln('вторник')

else if z=3 then writeln('среда')

else if z=4 then writeln('четверг')

else if z=5 then writeln('пятница')

else if z=6 then writeln('суббота')

else if z=7 then writeln('воскресенье')

else writeln('нет такого дня недели');

readln;

end.

 

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

Ознакомиться с теорией вопроса

Выполнить представленные задания

 

Задание 1. Составить блок-схему алгоритма и программу на языке Паскаль для решения следующей задачи. Результаты работы программы отобразить в отчете.

В некотором учебном заведении действуют следующие правила приема. Абитуриенты сдают три экзамена. Если они набирают не менее 13 баллов, то это дает право поступить на дневное отделение, от 10 до 12 — вечернее, от 8 до 9 — заочное и ниже 8 баллов — отказ в приеме на учебу. Записать программу, которая в зависимости от суммы набранных баллов сообщает абитуриенту его права на поступление.

 

Задание 2. Составить блок-схему алгоритма и программу на языке Паскаль для решения следующей задачи. Результаты работы программы отобразить в отчете.

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

 

Задание 3.  Ответьте на следующие вопросы

1. Какой алгоритм называют разветвляющимся?  
2. Каково назначение оператора выбора Case?  
3. Укажите тип данных, в которых нет возможности ввода данных с помощью оператора READ.  
4. Какое минимальное количество разделов может быть в программе в Pascal?  
5. С помощью каких операторов можно организовать многовариантное ветвление?  
6. Может ли отсутствовать ELSE в операторе выбора?  
7. Могут ли быть операторы в конструкции Выбор пустыми?  
8. Какой тип может иметь переменная, выступающая в роли параметра в операторе выбора CASE?  

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: