Задание 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-02; просмотров: 773;