- •Раздел 3 Программирование
- •1 Структура программы на языке Pascal
- •2 Операторы языка Pascal
- •2.1 Оператор присваивания
- •2.2 Операторы ввода данных
- •2.3 Операторы вывода данных
- •3 Стандартные функции Pascal
- •3.1 Примеры составления линейной программы
- •4 Контрольные вопросы
- •5 Задание
- •Содержание отчета
- •1 Условный оператор if
- •2 Оператор варианта case
- •3 Контрольные вопросы
- •4 Задание
- •4.1 Задание по условному оператору
- •4.2 Задание по оператору варианта
- •5 Содержание отчета
- •1 Оператор цикла с постусловием
- •2 Оператор цикла с предусловием
- •3 Оператор цикла с параметром
- •4 Контрольные вопросы
- •5 Задание
- •6 Содержание отчета
- •1 Итерационные циклы
- •2 Программа итерационного цикла
- •3 Контрольные вопросы
- •4 Задание
- •5 Содержание отчета
- •1 Краткая теория
- •1 Программа "цикл в цикле"
- •2 Программа "цикл и ветвление"
- •3 Программа "цикл в цикле и ветвление"
- •4 Контрольные вопросы
- •5 Задания
- •6 Содержание отчета
- •1 Одномерные и многомерные массивы
- •2 Обработка массивов
- •3 Контрольные вопросы
- •4 Задания
- •5 Содержание отчета
- •1 Описание функций
- •2 Параметры функции
- •2.1 Параметры-значения
- •2.2 Параметры-переменные
- •3 Контрольные вопросы
- •4 Задание
- •5 Содержание отчета
- •1 Формат описания процедуры
- •2 Параметры процедуры
- •3 Контрольные вопросы
- •4 Задание
- •5 Содержание отчета
- •1 Средства и методы отладки программ
- •1.1 Понятие отладки
- •1.2 Разновидности ошибок
- •1.2.1 Ошибки этапа компиляции
- •1.2.2 Ошибки этапа выполнения
- •1.2.3 Логические ошибки
- •2 Выполнение программы по шагам и трассировка
- •2.1 Выполнение по шагам и трассировка
- •2.2 Остановка выполнения
- •2.3 Отслеживание и модификация
- •2.4 Понятие отладочного шага
- •2.5 Выполнение программы по шагам
- •2.6 Трассировка программы
- •2.7 Выполнение больших фрагментов
- •3 Отладочные выражения, точки останова
- •3.1 Понятие отладочного выражения
- •3.2 Просмотр выражений
- •3.2.1 Добавление просматриваемого выражения
- •3.2.2 Редактирование просматриваемых выражений
- •3.3 Вычисление и модификация
- •3.3.1 Вычисление выражений
- •3.3.2 Модификация переменных
- •3.4 Использование точек останова
- •3.5 Задание точек останова
- •3.6 Отмена точки останова
- •3.7 Модификация точек останова
- •3.8 Создание условной точки останова
- •5.2 Установка точек останова
- •6 Содержание отчета
-
Содержание отчета
-
Наименование, цель и содержание работы.
-
Задание на лабораторную работу согласно варианту.
-
Схема алгоритма, текст программы и результат её работы.
-
Письменные ответы на контрольные вопросы.
-
Выводы по работе
129
Лабораторная работа №2
Операторы ветвления: условный оператор, оператор варианта
Цель работы: изучить операторы, используемые для организации
ветвления в программе.
Содержание работы:
1 Условный оператор
2 Оператор варианта
1 Условный оператор if
С помощью условного оператора и оператора выбора варианта реализуется операция ветвления алгоритма. С помощью этих операторов проверяется условие ветвления и, в зависимости от его результатов выбирается одно из возможных направлений дальнейших вычислений.
Условный оператор IF позволяет выбрать одно из двух направления расчёта в зависимости от некоторого условия, при этом одна из ветвей может отсутствовать. В качестве условия выбора используется значение логического выражения. Оно может быть простым или сложным. Сложные условия организуются при помощи логических операций AND, OR, NOT.
Формат оператора IF имеет вид:
if <выражение> then
<оператор1>
[else <оператор2>]
Примечание. Выражения в квадратных скобках могут отсутствовать вычисления выражения получается логическое значение типа Boolean. Если результатом является значение TRUE (Истина), то выполняется оператор1, следующий за служебным словом Then (тогда). Если же в результате выполнения получается значение FALSE (Ложь), то выполняется оператор2, следующий Else (иначе). Если часть условного оператора в квадратных скобках (со словом Else) отсутствует, то управление автоматически передается следующему оператору программы.
Условные операторы IF могут быть вложены друг в друга, количество вложений неограниченно. Следует отметить, что использование в операторе IF после служебного слова then второго оператора IF приводит с синтаксически неоднозначной конструкции вида:
if <выражение1> then
if <выражение2> then
130
<оператор1>
else
<оператор2>
Компилятор Турбо Паскаль разрешает подобную неоднозначность, интерпретируя этот фрагмент следующим образом:
if <выражение1> then
begin
if <выражение2> then
<оператор1>
else
<оператор2>
end;
То есть, служебное слово else всегда ассоциируется с ближайшим по тексту служебным словом if, которое еще не связано со служебным словом else.
Пример 1:
if X>Y then Если X>Y, то переменной Max
Max:=X присваивается значение Х,
еlse если нет, то значение Т
Max:=T;
Пример 2:
if X>0 then Если Х>0, то Y вычисляется как
Y:=Sqrt(X); квадратный корень из Х
Пример 3:
if Ch=1 then Если переменная Ch=1,
begin
X:=Sin(X); то X вычисляется как sinX
WriteLn(‘Sin(x)= ’,X); и выводится на экран,
end
else если нет (Ch≠1), то
begin
X:=Cos(X); X вычисляется как cosX и
WriteLn(‘Cos(x)= ’,X); выводится на экран
end;
Пример 4 Найти y=max(a,b,c), a,b,c – даны.
if а>b then Если a>b, то переменной max
max:=a присваивается значение a,
131
еlse если нет, то значение b. Далее вместо
max:=b; а и b используется наибольшая из них -max
if max>c then Если max>c, то переменной
y:=max y присваивается значение max,
еlse если нет, то значение с
y:=c;
Write(‘y= ’,y);