Линейные алгоритмы

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

Таким образом, в таких алгоритмах все этапы решения задачи выполняются строго последовательно, т.е. линейные алгоритмы выполняются в естественном порядке его написания и не содержит разветвлений и повторений.

На практике линейные алгоритмы в чистом виде встречаются редко: при расчете арифметических и алгебраических выражений, при расчете по формулам, при решении ряда бытовых задач.
ПРИМЕР 1.

READLN(A,B);

C:=SQRT(A*A+B*B);

P:=A+B+C;

WRITELN(P);

ПРИМЕР 2.

A=1;

WRITELN(A);

B:=A*3;

D:=A/3;

ПРИМЕР 3. Пешеход шел по пересеченной местности. Его скорость движения по равнине v1 км/ч, в гору — v2 км/ч и под гору — v3 км/ч. Время движения соответственно t1, t2 и t3 ч. Какой путь прошел пешеход?

Решение:

1. Ввести v1, v2, v3, t1, t2, t3.
2. S1 := v1 * t1.
3. S2 := v2 * t2.
4. S3 := v3 * t3.
5. S := S1 + S2 + S3.
6. Вывести значение S.
7. Конец.

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

ПРИМЕР 4. Дано натуральное трехзначное число n, в записи которого нет нулей. Составить алгоритм, который возвращает значение ИСТИНА, если верно утверждение: «число n кратно каждой своей цифре», и ЛОЖЬ — в противном случае.

Решение:

1. Ввести число n
2. A := n mod 10 {разряд единиц}
3. B := n div 100 {разряд сотен}
4. C := n div 10 mod 10 {десятки}
5. L := (n mod A=0) and (n mod B=0) and (n mod C=0)
6. Вывод L
7. Конец
На приведенной выше схеме DIV и MOD соответственно операции деления нацело и получения остатка от целочисленного деления. В фигурных скобках записаны пояснения (комментарии) к операторам

ПРИМЕР 5.

program vvod_vyvod;
const n=1.5;
var y1,y2:real;
      x:byte;
begin
writeln(‘Введите натуральное число <= 255’);
readln(x);
y1:=cos(n);
y2:=cos(x);
write(‘Зачем-то посчитали: ‘);
writeln(‘n=’,n,’ y1=’,y1:7:4, cos(Pi/2):8:4);
{напечатается
Зачем-то посчитали: n= 1.50000000000000E+0000
y1= 0.0707 1.0000}
writeln(‘x=’,x:3,’ y2=’,y2:7:4);
end.

ПРИМЕР 6. Дневной заработок продавца арбузов (DZ) составляет 104 руб., один продавец торгует в палатке (N) 7 дней, определим недельный заработок продавца (NZ). Создадим алгоритм в словесно-формульном виде:

DZ:=104 руб.;
N:=7 дней;
NZ:= DZ* N руб.
ПРИМЕР 7. Величинам А и В соответствуют значения а и b; необходимо величине А присвоить значение b и величине В значение а.
Пояснение: для решения этой задачи необходимо ввести третью величину С.
Решение:
С:=a;
А:=b;
В:=a.
Добавить комментарий