Линейные алгоритмы.
Линейный алгоритм является аналогом обычного последовательного решения
какой-либо задачи, когда все действия записываются поочередно. В программировании реализация линейного алгоритма является наиболее простой конструкцией, так как подразумевает выполнение всего трех этапов:
- ввод данных;
- вычисления с помощью операторов присваивания;
- вывод данных.
Примеры программ имеющих линейную структуру.
Действия с переменными вещественного типа.
Задача 1. Даны два ненулевых числа. Найти сумму, разность, произведение и частное их модулей.
Решение:
uses crt;
var a,b,s,r,p,d:real;
begin
write('Введите два числа ');
read(a,b);
s:=abs(a)+abs(b);
r:=abs(a)-abs(b);
p:=abs(a)*abs(b);
d:=abs(a)/abs(b);
write('Сумма= ',s,'Разность= ',r,'Произведение= ',p,'Частное= ',d);
end.
Действия с целыми числами.
Задача 2. Дано целое число, большее 999. Используя одну операцию деления нацело и одну операцию взятия остатка от деления, найти цифру, соответствующую разряду сотен в записи этого числа.
Решение:
uses crt;
var a,b,s,r,p,d:integer;
begin
write('Введите число ');
read(a);
b:=a div 100;
r:=b mod 10;
write('Результат= ',r);
end.
Действия с логическими переменными.
Для хранения результата проверки введен логический тип данных. Переменные такого типа называются булевскими переменными
Задача 3. Даны два целых числа: A, B. Проверить истинность высказывания: «Числа A и B имеют одинаковую четность».
Решение:
uses crt;
var a,b:integer;
x:boolean;
begin
write('Введите два числа ');
read(a,b);
x:=odd(a) and odd(b);
write('Результат= ',x);
end.
При выполнении программы на экране получим следующее: TRUE (истина) или FALSE (ложь).
Операции отношения.
В логических условиях используют операции отношения.
Ниже в таблице показана запись операция отношений.
Операция отношения | Запись в Pascal' е |
Меньше | < |
Меньше или равно | <= |
Больше | > |
Больше или равно | >= |
Равно | = |
Не равно | <> |
Булевские переменные можно выводить на экран, но нельзя вводить с клавиатуры. Для этого приходиться вводить переменную другого типа, сравнивать ее с образцом и по результатм сравнения устанавливать значение логической переменной.
...
x:=odd(a) and odd(b);
...
Логические операции и приоритет их выполнения.
мы рассматривали в предыдущей главе.
При объединении сравнений, при помощи логических операций, каждое сравнение необходимо взять в скобки. Например, утверждение 2<x<4 должно быть записано как (2<x) and (4<x).
<<