- •1 Общие положения
- •2 Выражения
- •2.1 Арифметические выражения
- •2.2 Логические выражения
- •3 Операторы передачи управления
- •3.1 Программа разветвляющейся структуры
- •3.2 Оператор безусловного перехода
- •3.3 Оператор условного перехода if
- •3.4 Оператор выбора case
- •4 Примеры выполнения заданий алгоритмов разветвляющей структуры
- •Контрольные вопросы
- •Задания для самостоятельной подготовки
- •Отчет по лабораторной работе
- •Список рекомендуемой литературы
- •Задание к лабораторной работе
Разветвляющиеся структуры
Цель работы – овладение практическими навыками разработки, программирования вычислительного процесса разветвляющейся структуры, получение дальнейших навыков по отладке и тестированию программы.
1 Общие положения
В процессе решения большинства задач возникает необходимость в зависимости от выполнения некоторого условия, производить те или иные действия, например, вести вычисление либо по одним, либо по другим формулам.
Вычислительный процесс, который в зависимости от выполнения определенных условий реализуется по одному из нескольких заранее предусмотренных (возможных) направлений, называется разветвляющимся. Алгоритм такого вычислительного процесса называется алгоритмом разветвляющейся структуры (разветвляющимся алгоритмом). Каждое отдельное направление вычислений называется ветвью. Выбор той или иной ветви осуществляется уже при выполнении программы в результате проверки некоторых условий и определяется свойствами исходных данных и промежуточных результатов. При составлении программы должны быть учтены все возможные ветви вычислений. Для программной реализации таких вычислений в языке имеются специальные операторы передачи управления, которые дают возможность перейти от одного места программы в другое (передать управление) и изменить последовательный порядок выполнения операторов. Если такой переход осуществляется только при выполнении какого-либо условия, то он называется условным, а соответствующий ему оператор -условным оператором. Если переход осуществляется в любом случае, то он называется безусловным, а соответствующий оператор - оператор перехода. В конструкциях указанных операторов приходится использовать арифметические, логические выражения.
2 Выражения
2.1 Арифметические выражения
Арифметические выражения строятся из числовых констант, переменных, стандартных функций и операций над ними. Для обозначения операций используются символы, представленные в табл. 1.
Таблица 1 - Арифметические операции Турбо-Паскаля
Операция |
Действие |
Пример |
+ |
Сохранение знака |
+А |
- |
Изменение знака |
-А |
+ |
Сложение |
А+В |
- |
Вычитание |
А-В |
* |
Умножение |
А*В |
/ |
Деление |
А/В |
div |
Целочисленное деление |
A div B |
mod |
Остаток от целочисленного деления |
A mod B 5 mod 3=2 |
В любом выражении,
если один или более операндов имеют
вещественный тип, то результат будет
также вещественного типа. В операциях
div и mod оба операнда должны быть целого
типа. В Турбо-Паскале нет операции
возведения в степень. При необходимости
ее использования применяют стандартные
функции
Однако таким образом нельзя возвести в целую степень отрицательное число (это можно сделать с использованием операторов цикла). В арифметическом выражении принят следующий приоритет операций:
1) вычисление значений стандартных функций;
2) умножение и деление;
3) сложение и вычитание.
Порядок выполнения операций регулируется с помощью скобок. Составим программу для вычисления арифметического выражения.
Пример 1. Вычислить
при х = 3.981Е-2; y=-1.625Е+3; Z=0.512
program lin1;
const
X=3.981E-2;
Y=-1.625E+3
Z=0.512;
var
A : real;
begin
A:=Exp(-X*Ln(2));
A:=A*Sqrt(X+Exp(1/4*Ln(Abs(4))));
A:=A*Exp(1/3*(X-1/Sin(Z)));
Write('A=', A)
end.
