Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Задание 21



Линейный алгоритм - это алгоритм, в котором блоки выполняются последовательно сверху вниз от начала до конца

Пример Блок схемы Линейный алгоритм

Разветвляющий алгоритм

Назначение разветвляющего алгоритма обеспечить ветвление алго­ритма в зависимости от выполнения некоторого условия. Например, некоторой переменной X необходимо присвоить значение Y, если X. > О, и значение Z, если X < 0. В этом случае необходимо сначала определить знак переменной X, а затем выполнить один из двух операторов при­сваивания.

В языке Pascal существует две формы разветвляющего алгоритма: услов­ный оператор If и условный оператор Case.

Разветвляющий алгоритм в неполной форме (if «логическое выражение> then < оператор >) выполняется следующим образом: сначала вычисляется логическое выражение, затем — если значение логического выражения true (истина) выполняется оператор, стоящий за then. Если значение логиче­ского выражения false (ложь), разветвляющий алгоритм действует как пустой. В случае использования разветвляющего алгоритма в полной форме (if «логическое выражение> then < оператор true> else <оператор _false>) оператор then выполняется, если значение логического выражения истинно, а опера- Top_false — если значение логического выражения ложно.

Пример:

Написать последовательность действий для решения следующей задачи: присвоить переменной у значение sin (x) если х > 0, и значение cos (x), если y больше или равно 0.

В этом случае необходимо использовать разветвляющий алгоритм в пол­ной форме:If х>0 then у:=sin(х) else y:=cos(x);

Изменим условие задачи следующим образом. Присвоить перемен­ной y значение sin х, если х > 1, и значение cos x если х > 2.

Второй оператор приведенной записи решения может быть исполь­зован в качестве оператора else в Разветвляющем алгоритме в полной форме. Тогда решение можно записать следующим образом:

If х<1 then у: = sin(x) else if х>=2 then у: = cos(x)

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

Оператор предназначен для организации выбора одной из любого

количества ветвей алгоритма в зависимости от значения некоторого выражения.

Структура оператора, принятая в языке:

Case S of

С_V1оператор_V1;

C_V2: operator_V2;

C_Vh': оператор_VN;

Else operator_Else

End;

Здесь S — выражение, значение которого вычисляется; C_V1, C_V2, C_VN — константы, которые определяют разветвление алго­ритма и последовательно сравниваются со значением выражения S; operator 1, operator_Vl,..., operator_VN — операторы ветвей; operator_Else — оператор, выполняющийся в том случае, если значение выражения не совпадает ни с одной из констант.

При использовании оператора Case необходимо помнить о том, что значение выражения и константы должны быть одного типа.

Пример:

Присвоить строке S значение дня недели для заданного числа D при условии, что в месяце 31 день и 1 -ос число — понедельник.

Для построения алгоритма воспользуемся операцией mod, позволяю­щей вычислить остаток от деления двух чисел, и условием, что 1-ое число — понедельник. Тогда можно записать следующий оператор Case:

Case D mod 7 of

1: S: =Понедельник

2: S: =Вторник

3: S:= Среда

4 S: =Четверг

5 S: = Пятница





Дата публикования: 2015-01-26; Прочитано: 201 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.005 с)...