Алгоритмы линейной структуры и их



Программирование

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

Рассмотрим реализацию простейших линейных алгоритмов и приведем полный текст программы на языке Рascal. В линейных алгоритмах все блоки имеют последовательное соединение логической связью передачи информационных потоков. Линейные алгоритмы, как правило, являются составной частью любого алгоритмического процесса.

Пример 3. Вычислить значение функции:

.

Функцию Y целесообразно вычислять в такой последовательности: предварительно ввести с клавиатуры переменные a, b, c. Далее присвоить значение переменной х. Потом найти значение выражения, обозначенное переменной z, и далее определить выражение Y. Используя общепринятые символы блоков (рисунок 1), изобразим схему разрабатываемого алгоритма (рисунок 2) и составим программу: при значении аргумента x = 1,5 и произвольных (задаваемых самим пользователем) значениях переменных a,b,c.

. PROGRAM PRIMER2 ; VAR b,c : INTEGER ; a,x,Y,z : REAL ; BEGIN READLN(a,b,c) ; x := 1.5 ; z := (a*x*x + b) / c ; Y := ARCTAN(SQRT(z) + z) ; WRITELN(‘Y=’, Y:8:4) ; END.

 

Рисунок 2 – Схема алгоритма линейной структуры и его программная линеаризация (пример 3)

После запуска программы на выполнение вводим численные значения исходных данных a, b, c с клавиатуры, разделяя числа пробелами. После выполнения программы на экране появится результат вычислений.

Рассмотрим реализацию другого простого линейного алгоритма.

 

Пример 4. Вычислить значение функции Y по формуле

Y = sina2 + 4ax3 + |a – b| для заданных значений переменных a, x, b (a = 1,5, x = 2, b = 5).

 

PROGRAM PRIMER4; VAR x,b: INTEGER;  a,Y: REAL; BEGIN READLN (a,b,x); Y:=SIN(a*a)+4*a*x*x*x+ABS(a-b); WRITELN (‘Y=’, Y:8:4); END.  

Рисунок 3 – Схема алгоритма линейной структуры примера 4

После запуска программы на выполнение вводим численные значения исходных данных a, b, x с клавиатуры, разделяя числа пробелами: 1.5 2 5.

После выполнения программы на экране появится результат вычислений в виде: Y= 52.2781.

Программирование разветвляющихся

Алгоритмов

Оператор условного перехода IF

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

 

Условный оператор IF записывается в виде:

 

IF <(логическое) выражение выполняется>

                                 THEN <оператор 1>

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

 

Оператор условного перехода IF может быть представлен схемой (рисунок 4). Если логическое выражение истинно, то выполняется оператор 1, если нет – оператор 2. В качестве операторов 1, 2 могут использоваться другие операторы IF. В этом случае каждое ELSE относится к ближайшему слеваIF. Рекомендуется словоELSE писать под соответствующим ему словом THENдля удобства восприятия программы. Перед ELSE“;” никогда не ставится.

 

Рисунок 4 – Схема оператора условного перехода IF

 

В логических выражениях используются операции отношения (таблица 4). Результатом вычисления логического выражения могут быть только два значения: истина (TRUE) или ложь (FALSE).

 

Таблица 4 – Операции отношения Рascal

Операция Действие Выражение Результат
= Равно A=B True, если A=B
<> Не равно A<>B True, если A<>B
< Меньше A<B True, если A<B
> Больше A>B True, если A>B
<= Меньше или равно A<=B True, если A<=B или А=В
>= Больше или равно A>=B True, если A>=B или А=В

 

Пример 5. При заданных значениях переменных a и b вычислить Y по одной из формул:

 

    Рисунок 5 – Схема алгоритма решения примера 5 PROGRAM PRIMER5 ; VAR a,b,Y: REAL; BEGIN READLN (a,b); IF a>b THEN Y:=SIN(a) ELSE Y:=COS(b) ; WRITELN (‘Y=’,Y:10:4) ; END.

Пример 6.  При задаваемом значении x вычислить Y по одной из формул:

 

PROGRAM PRIMER6 ; VAR Y : INTEGER; x : REAL; BEGIN READLN (x); IF x<0 THEN Y:=1   ELSE IF x<10 THEN Y:=2   ELSE Y:=3; WRITELN (‘Y=’,Y:2); END.         
  Рисунок 6 – Схема алгоритма решения примера 6  

 

 

У оператора IF ветвь ELSE может отсутствовать, тогда оператор записывается в следующем виде:

IF <логическое выражение> THEN <оператор 1>;

 

и реализующая его схема имеет вид:

 

 

Рисунок 7 – Схема условного оператора IF при отсутствии ветви ELSE

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

 


Дата добавления: 2018-05-31; просмотров: 357; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!