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

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

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

Пример программы линейной структуры

Блок-схема

Программа на языке Pascal

program line;

var a, b, c: integer;

begin

readln(a, b);

c := 2 * a + b;

writeln('c=', c);

end.

Элементы программы

1. Заголовок

2. Объявление переменных

3. Начало блока операторов

4. Ввод исходных данных

5. Вычисление по формуле

6. Вывод результата

7. Конец блока операторов

Чтобы составить программу линейной структуры

  1. Определить, что является исходными данными, какие будут у них типы. Выбрать имена переменных.
  2. Определить, что является искомыми результатами, какие будут у них типы. Выбрать имена переменных.
  3. Определить, какие формулы связывают исходные данные с результатами.
  4. Если нужны промежуточные данные, определить их типы и выбрать имена вспомогательных переменных.
  5. Описать все используемые переменные.
  6. Записать алгоритм, который должен включать:
      1. ввод всех исходных данных;
      2. вычисления;
      3. вывод результатов.
    • Будьте внимательны: вспомогательная переменная должна получить значение до того, как она будет использована в вычислениях.
  7. Подобрать данные для тестирования программы (проверки правильности ее работы).

Любая программа на языке программирования Pascal имеет три составляющие: 1) заголовок; 2) раздел описаний; 3) тело программы.

✎ 1) Заголовок – это слово Program , после которого идет название программы латиницей и точка с запятой в конце. Название не может начинаться с цифры, не должно совпадать с зарезервированными словами (begin, end, integer и т.п.) или с названиями переменных из раздела описаний (см. ниже), а также недопустимо использование каких бы то ни было символов (‘@’, ‘%’, ‘&’ и т.п.), кроме подчеркивания. Название желательно давать со смыслом, которое отображало бы суть самой программы. Но заголовок писать не обязательно.

✎ 2) Раздел описаний – Поскольку сначала мы будем рассматривать простейшие задачи, то у нас во втором разделе будет находиться или описание констант, или переменных .

✎ 3) Тело программы – блок операторов, в котором записываются команды для выполнения. Начинается этот блок словом begin («начало»), а заканчивается словом end. («конец») с точкой в конце.

Program <название программы>;

  <раздел описаний>

begin
  <оператор 1>;
  <оператор 2>;
  . . . . . . .
  <оператор N>;
end.
Program Summa; { программа называется Summa }

Const
  A = 23;
  B = 76;

var
  S: integer;

begin
  S := A + B; { сумма чисел A и B }
  writeln('Сумма чисел 23 и 76 равна: S = ', S);
  readln { <-- Ожидание нажатия Enter, после 
   которого программа завершится }
end.

Ввод и вывод данных

Для ввода данных в языке Pascal используются процедуры

read(переменные); например, read(a, b, c);

readln(переменные); например, readln(a, b, c);

Для вывода данных в языке Pascal используются процедуры

write(выражения); например, write('a =', a, 'b + c =', b + c);

writeln(выражения); например, writeln('a =', a, 'b + c =', b + c);

Процедуры readln и writeln отличаются от read и write тем, что после ввода/вывода производят перевод строки.

write – по-английски означает «писать». Этот оператор выводит на экран текст, помещенный в него, поэтому так и называется – оператор вывода. Текст, помещенный в него, выделяется синим и записывается так:

write('этот текст выведен на экране');

Сообщение, находящееся в скобках и кавычках, будет показано в окне консоли (просто в скобках без кавычек нельзя). После выполнения этого оператора мы увидим на экране:

этот текст выведен на экране

В таком виде оператор write используется в том случае, когда надо показать подсказку, пояснение, комментарий и т. п. А от если необходимо вывести ещё и числовое значение, скажем, S = 50 кв. м, то используется формат:

write('Величина площади равна: S = ', S);

В результате получим на экране результат:

Величина площади равна: S = 50

А при необходимости вывести единицы измерения, надо после S снова вставить текст в кавычках:

write('Величина площади равна: S = ', S, ' кв.м');

После выполнения последнего оператора вывода получим вывод на экран:

Величина площади равна: S = 50 кв.м

writeln – то же, что и write, но после выполнения курсор будет переведен на следующую строку.

read – в переводе с английского означает «читать», поэтому read называется оператором считывания, или ввода данных. Записывается как read(N), что означает необходимость ввода величины N, где N – любое число, или текст, или другой тип переменной.

readln – то же, что и read, только с переводом на новую строку.

Например, если надо ввести возраст человека, которому 32 года, мы можем записать так:

Var
  Year: integer;

begin
  writeln('Каков Ваш возраст?');
  write(' Year = ');
  readln(Year); { Вводим целое число лет }
  write('Мой возраст ', Year, ' года'); { Здесь выводим результат }
end.

Математические операции и функции

8-2-4-1_следование