Лабораторная работа № 3
УСЛОВНЫЕ ОПЕРАТОРЫ
Цель работы –ознакомление с задачами c разветвляющимся алгоритмом; изучение принципа действия условных операторов ifиcase; приобретение навыков использования условных операторов в программе.
Постановка задачи:
- выполнить три задачи с использованием операторов ifиcase (каждую задачу можно выполнить в разных программах или в одной);
- ввод исходных данных осуществить с клавиатуры; выполнить анализ аномальных ситуаций и условий для вычислений;
- вывести результаты на экран.
Теоретические сведения
Оператор условия if является одним из самых популярных средств, изменяющих естественный порядок выполнения операторов программы. Он может принимать одну из двух следующих форм:
1. if<условие> then <оператор-1> else <оператор-2>; |
Ключевые слова if, then, else означают соответственно «если», «то», «иначе». Условие – это выражение булевского (логического) типа. Оно может быть простым или сложным. Сложные условия образуются с помощью логических операций and, or, not. При записи условий могут быть использованы все допустимые в Delphi операции отношения.
Если значение логического выражения (условия) истинно (True), выполняется <оператор-1>, если ложно (False) – <оператор-2>.
Пример: …
A:=3; B:=7;
if A>B then writeln ('A больше B')
else writeln ('A меньше или равно B');
На экране появится сообщение 'A меньше или равно B'.
2. if<условие> then <оператор>; |
Если результат логического выражения (условия) истинно (True), то выполняется <оператор>, если ложно (False) – оператор, следующий сразу за оператором if.
Пример: A:=3; B:=7; C:=0;
if A>B then begin
C:=A+B;
A:=0
end;
C:=C+5;
writeln('C=', C:2);
В этом примере выражение A>B ложно, оператор C:=A+B не выполнится и на экране появится сообщение 'C=5'. Один оператор if может входить в состав другого оператора if (вложенность операторов):
if <условие-1> then
if <условие-2> then <оператор-1>
else <оператор-2>;
При вложенности операторов каждое else присоединяется к тому then, которое непосредственно ему предшествует.
Оператор выбора case является обобщением оператора if и позволяет сделать выбор из произвольного количества имеющихся вариантов вычислений.
Оператор case может иметь две формы.
1. Case <выражение-селектор> of <список-1> : <оператор-1>; <список-2> : <оператор-2>; ………………………………… <список-n> : <оператор-n> [else<оператор>] end; |
2. Вторая (короткая) форма отличается от первой отсутствием строки else <оператор>.
Оператор case работает следующим образом. Сначала вычисляется значение выражения-селектора, затем выполняется тот оператор, константа выбора которого в списке равна этому вычисленному значению селектора. Если ни одна из констант ни одного из списков не равна текущему значению селектора, то выполняется оператор, стоящий за словом else. Если слово else отсутствует, то управление передается оператору, находящемуся за словом end.
Выражение-селектор может иметь любой скалярный тип, кроме вещественного, т.е. целый, символьный, булевский, интервальный, перечисляемый. Использование стринга (строкового типа) в качестве селектора запрещено. Список констант выбора состоит из произвольного количества значений или диапазонов, отделенных друг от друга запятыми. Тип констант в любом случае должен совпадать с типом селектора.
Пример 1. Селектор интервального типа:
Case n of
1..10 : writeln ('число', n:3,'в диапазоне 1-10');
11..20 : writeln ('число', n:3,'в диапазоне 11-20');
21..30 : writeln ('число', n:3,'в диапазоне 21-30')
else writeln('число ',n:3,'вне контроля')
end; {case}
Пример 2. Селектор целочисленного типа:
Case n of
1, 5, 7 : x:=n+1;
10..20 : x:=n+10
else goto metka1
end; {case}
Пример 3. Селектор символьного типа:
Writeln('Y/y – продолжение работы');
Writeln('N/n – выход из программы');
Readln(selector);
Case selector of
'Y', 'y' : Work; {продолжение работы}
'N', 'n' : exit {выход из программы}
end; {case}
Пример 4.
Case day of
1..5 : writeln ('рабочий день');
6, 0 : writeln ('выходной день)
end;
Согласно формуле Зеллера соответствие между номером дня недели и его названием будет таким:
0 – воскресенье; 1 – понедельник; … ; 6 – суббота.
Пример
Задача 1.
Значения a и x ввести с клавиатуры.
Вычислить
Задача 2.
Значения a, x и номер варианта k ввести с клавиатуры.
Вычислить
Задача 3.
Координаты точки (x, y) ввести с клавиатуры. Определить, попадет ли эта точка в заштрихованную область (кольцо):
1. С помощью Проводника Windows на рабочем логическом диске создайте папку (например, Ivanov-3) для размещения файлов проекта.
2. Создать проект консольного приложения Delphi.
2.1. Командой меню «Пуск / Borland Delphi 7 / Delphi 7» (или аналогичной командой) запустите интегрированную среду программирования Delphi.
2.2. В появившемся основном окне Delphi выберите команду меню «File / New / Other…»
2.3. В окне «New Items» выберите пиктограмму мастера создания консольного приложения «Console Application» и нажмите кнопку «ОК». Появится окно редактора консольного приложения.
2.4. Сохраните файлы проекта в раннее созданную папку Ivanov-3 с помощью команды основного меню «File / Save Project As…».
2.5. В окне «Save Project As» с помощью списка «Папка» перейти в папку проекта Ivanov-3 нажать кнопку «Сохранить».
2.6. В результате файлы проекта Project2 будут сохранены в папку Ivanov
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.