Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные работы_ИС 1 курс 2014.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
577 Кб
Скачать
☆

Лабораторная работа № 2. Вычислительные процессы разветвляющей структуры

Цель работы: Получение практических навыков разработки алгоритмов и программ с использованием базовой алгоритмической структуры «развилка».

Условный оператор. Оператор многозначного ветвления

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

При описании разветвляющихся процессов обычно используют понятие условного и безусловного перехода. Если в программе требуется нарушить порядок выполнения операторов без предварительных проверок каких-либо условий, переход называется безусловным. Для реализации такого перехода служит оператор goto n (n – метка). В Паскале метка должна быть описана в разделе label, например:

label m, metka, 123

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

Условный оператор IF предназначен для изменения порядок выполнения операторов в зави­симости от истинности или ложности некоторого условия. Он предписывает выполнять некоторое действие только в том случае, когда выполняется заданное условие. Это условие записывается в виде логического выражения, а действие, которое нужно выполнить, задается в виде последовательности операторов. Существует две конструкции оператора ветвления – простая и расширенная:

Простая конструкция Расширенная конструкция

Полная развилка:

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

else < оператор2 >;

Укороченная развилка

If < условие> then < оператор 1 > .

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

В случае необходимости разветвить вычислительный процесс в зависимос­ти от выполнения или невыполнения того или иного условия на более чем две ветви используется оператор выбора (случая, селектора, переключателя). Его использование оказывается более удобным по сравнению с использованием оператора if.

Case S of

C1: <Оператор1>

С2: <Оператор2>

. . . . . . . . . . . . . . . .

CN: <ОператорN>

Else <Оператор>

End;

S - выражение порядкового типа значение которого вычисляется;

C1, C2,…,CN – константы, с которыми сравнивается значение выражения S;

<Оператор1>, <Оператор2>, <Оператор N> - операторы, из которых выполняется тот, с константой которого совпадает значение выражения S. Ветвь оператора else является необязательной. Если она отсутствует и значение выражения S не совпадает ни с одной константой, весь оператор рассматривается как пустой.

Если для нескольких констант нужно выполнить один и тот же оператор, их можно перечислить через запятую, сопроводив их одним оператором.

Схематически такую конструкцию можно изобразить следующим образом:

Задание 3.

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

Турист за день прошел А км. До обеда он шел t часов и прошел 20 км. Еще t2 часа он шел после обеда. Когда скорость туриста была выше: до обеда или после обеда?

В начале программы объявляются действительные переменные  A, t, t2, v1, v2.

Ввод переменных A, t и t2 будет осуществляться с клавиатуры. Проверка условия, какая скорость больше, выполняется с помощью оператора ветвления IF.