Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Часть1. Структурное программирование.doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
1.94 Mб
Скачать

6. Содержание отчета

- титульный лист (номер лабораторной работы и ее название);

- формулировка задачи;

- таблица распределения идентификаторов;

- блок-схема программы;

- распечатка программы и протокола ее работы.

Пример оформления отчета представлен в приложении 4.

Лабораторная работа №2 Программирование разветвляющегося вычислительного процесса

Цель работы: изучение особенностей алгоритмизации и программирования разветвляющихся вычислительных процессов.

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

Разветвляющимся называется такой алгоритм, в котором выбирается один из нескольких возможных вариантов вычислительного процесса. Каждый подобный путь называется ветвью алгоритма.

Признаком разветвляющегося алгоритма является наличие операций проверки условия. Различают два вида условий – простые и составные.

Простым условием (отношением) называется выражение, составленное из двух арифметических выражений или двух текстовых величин (иначе их еще называют операндами), связанных одним из знаков:

< - меньше

> - больше

<= - меньше или равно

>= - больше или равно

<> - не равно

= - равно

Составным условием называется выражение, составленное из двух или более простых условий, связанных операцией: or (логическое «или»), and (логическое «и»).

Высказывания, при подстановке в которые некоторых значений переменных, можно сказать истинно (верно) оно или ложно (неверно), называются булевыми (логическими) выражениями (название «булевые» произошло от имени математика Джорджа Буля, разработавшего в XIX веке алгебру логики).

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

В языке программирования Pascal имеются два условных оператора: if-then-else и case-of.

Условный оператор if-then-else

Полная форма конструкции условного оператора имеет вид:

if <условие> then <оператор 1> else <оператор 2>;

Сокращенная форма условного оператора имеет вид:

if <условие> then <оператор 1>,

где <условие> – логическое выражение;

<оператор 1>, <оператор 2> – любой оператор языка Turbo Pascal.

Условный оператор реализует разветвляющуюся алгоритмическую структуру (рис. 4).

а)

б)

Рис. 4. Алгоритмические конструкции условного оператора

в полной (а) и сокращенной (б) форме

Условный оператор работает по следующему алгоритму: сначала проверяется значение логического выражения, расположенного за служебным словом IF. Если его результат истина, то выполняется <оператор1>, расположенный после слова THEN, а действия после ELSE пропускаются; если результат ложь, то, наоборот, действия после слова THEN пропускаются, а после ELSE выполняется <оператор 2>.

Если в качестве оператора должна выполниться серия операторов, то они заключаются в операторные скобки begin-end.

Например:

а) if <лог. выраж.> then

begin

оператор;

...

end

else

begin

оператор;

...

end;

б) if <лог. выраж.> then

begin

оператор;

...

end

else оператор;

в) if <лог. выраж.> then

оператор

else

begin

оператор;

...

end;

Оператор выбора сase-of

Если условный оператор if может обеспечить выбор из двух альтернатив, то оператор выбора сase позволяет сделать выбор из произвольного числа имеющихся вариантов. Данный оператор состоит из выражения-селектора (selection – выбор альтернативы) и списка параметров, каждому из которых предшествует список констант выбора.

Полная форма конструкции оператора выбора имеет вид:

case <выражение-селектор> of

<список1>: <оператор1>;

<списокN>: <операторN>

else < оператор>

end;

Значения <список1>, <список2> и т.д. могут быть заданы четырьмя способами: один элемент (2), перечисление (1, 5, 7, 9), диапазон (0..6), смешанный (22, 23, 24, 0..6).

Оператор выбора работает следующим образом: сначала вычисляется значение выражения-селектора, затем обеспечивается реализация того оператора, константа выбора которого равна текущему значению селектора. Если ни одна из констант не равна текущему значению селектора, выполняется оператор, стоящий за словом else. Если слово else отсутствует, активизируется оператор, находящийся за словом end, т.е. оператор, следующий за case.