Повседневная жизнь каждого человека заключается в решении огромного количества задач различной сложности на работе или во время учебы. Некоторые задачи являются настолько простыми, что при их выполнении мы делаем определенные действия автоматически, даже не задумываясь. Решение любой задачи, даже самой простой, как правило, осуществляется последовательно за несколько шагов. Такого рода последовательность при решении задач называется алгоритмом. Сегодня мы рассмотрим, что такое линейные алгоритмы, как изображается их структура, как осуществляется их решение и программирование.
Алгоритмический язык
Это понятие представляет собой точное предписание для исполнителя совершить определенную последовательность действий, которая направляется на решение поставленной задачи.
Данный язык является средством описания алгоритмов, которые ориентированы обычно на пользователя.
Если говорить на компьютерном языке, так обозначается точное предписание, определяющее вычислительный процесс. Он, в свою очередь, ведет от начальных данных, которые варьируются, к исходному результату.
Разработка алгоритма - довольно сложный и трудоемкий процесс. Он представляет собой технику составления (разработки) последовательности действий, предназначающихся для решения задач с помощью ЭВМ.
Свойства алгоритма
Среди свойств выделяют:
- конечность – заключается в завершении работы всего алгоритма за определенно конечное число этапов (шагов);
- определенность (однозначность) – представляет собой единственность толкования правил для выполнения действий, а также порядка их выполнения;
- результативность – получение необходимого результата за любое конечное число шагов;
- понятность – указания должны быть понятны исполнителю;
- массовость – алгоритмы должны иметь возможность решать целый класс конкретных задач с общей постановкой задачи.
Линейные алгоритмы. Информатика 9 класса
Мы уже рассмотрели определения и свойства данного понятия. Теперь поговорим о его видах:
- линейный;
- разветвляющий;
- с циклом.
Нас интересуют линейные алгоритмы. Что они собой представляют? Они содержат команды, которые должны выполняться одна за другой в четкой последовательности.
Линейная структура алгоритма может быть записана в словесной и графической форме.
Приведем такой пример, записанный в словесной форме. Итак, задача: соберись в школу. Решение:
- Начало.
- Встань.
- Сделай зарядку.
- Умойся.
- Оденься.
- Позавтракай.
- Собери портфель.
- Конец.
Графическая форма вышеописанного процесса будет предсатвлять собой следующее:
Линейный алгоритм в виде блок-схемы
Блок-схема представляет собой иллюстративное изображение алгоритма, при котором каждый отдельный этап изображается с помощью блоков, представленных в виде разнообразных геометрических фигур. К тому же связь между этапами (иными словами, последовательность поэтапного выполнения) обозначается с помощью стрелок, которые соединяют фигуры (блоки). Каждый блок сопровождается надписью. Для типичных действий в линейном алгоритме используются следующие геометрические фигуры:
- Блок начала-конца алгоритма. На блоке располагается надпись «начало» или «конец».
- Блок «ввод-вывод данных». Изображается этот блок в виде параллелограмма. На нем размещаются следующие надписи: «ввод», «вывод», «печать». Также к ним прилагается список вводимых или, соответственно, выводимых переменных.
- Арифметический блок, или блок решения. Ему соответствует прямоугольник. На блоке должна быть надпись: "операция", "группа операций".
Вот с помощью таких блок-схем изображается решение линейных алгоритмов. Далее поговорим об особенностях присваивания значений.
Линейные вычислительные алгоритмы
Основное элементарное действие в вычислительном алгоритме – это присваивание переменной величине определенного значения. В случае, когда значение константы определяется видом ее записи, переменная величина получит конкретное значение исключительно в результате присваивания. Это может быть выполнено с помощью двух способов: при помощи команды присваивания; при помощи команды ввода.
Пример решения линейного алгоритма
Приведем пример описания правил деления обыкновенных дробей с помощью линейного алгоритма, которые в школьных учебниках имеют такое содержание:
- числитель дроби 1 нужно умножить на знаменатель дроби 2;
- знаменатель дроби 1 необходимо умножить на числитель дроби 2;
- требуется записать дробь, у которой числитель является результатом выполнения 1 пункта, а знаменатель – результатом выполнения 2 пункта. Алгебраическая форма этого правила имеет следующий вид:
а/b : с/d=(а*d)/(b*d)=m/n.
Итак, построим для ЭВМ алгоритм деления дробей. Чтобы не запутаться, будем использовать для переменных те самые обозначения, что и в формуле, которая была указана выше. а, b, с, d– исходные данные в виде целочисленных переменных. Результатом также будут целые величины. Решение на алгоритмическом языке будет следующим:
алг Деление дробей
нач
цел а, b, с, d, m, n
ввод а, b, с, d
m:= а * d
n:= b * с
вывод m, n
кон
Графическая форма решения
Схема линейного алгоритма, описанного выше, выглядит так:
Команда присваивания значения имеет следующий формат:
Переменная:=выражение.
Знак «:=» читается как присвоить.
Присваивание – это команда, которая необходима для выполнения компьютером следующих действий:
- вычисления выражения;
- присвоения переменной полученного значения.
Приведенный выше алгоритм содержит две команды в качестве присваивания. В блок-схеме команду присваивания нужно записывать в прямоугольнике, который называется вычислительным блоком.
Когда описываются линейные алгоритмы, нет особой необходимости в обязательном соблюдении строгих правил при записи выражений. Можно их записывать с помощью обычной математической формы. Ведь это не строгий синтаксис языка программирования.
В приведенном примере алгоритма есть также команда ввода:
Ввод а, b, с, d.
Команда ввода в блок-схеме записывается в параллелограмме, то есть в блоке ввода-вывода. Выполняя эту команду, процессор прерывает работу, пока пользователь не осуществит определенные действия. А именно: пользователю нужно на устройстве ввода (клавиатуре) набрать вводимые переменные (их значения) и нажать Enter, которая выступает клавишей ввода. Важно, чтобы значения вводились в таком же порядке, что и расположенные в списке ввода соответствующие переменные.
Линейный алгоритм. Его программирование
Как уже говорилось в начале статьи, линейные программы могут включать такие операторы:
- присваивание;
- ввод;
- вывод.
То есть с помощью перечисленных операторов осуществляется программирование линейных алгоритмов.
Итак, оператор присваивания на программном языке записывается так:
LET А = В, где А – переменная, В – выражение. Например, А = У + 20.
Оператор ввода имеет следующий вид:
INPUT, к примеру: INPUT С
Оператор вывода данных, значений, записывается в таком виде:
PRINT. К примеру PRINT С.
Приведем простой пример. Нам нужно написать программу, которая будет находить сумму вводимых с клавиатуры чисел А и В.
На языке программирования мы получим программу, текст которой изображен ниже.
Операторы ввода, вывода в языке программирования Паскаль
Паскаль не выделяет специальных операторов, обозначающих операции ввода или вывода, которые используют линейные алгоритмы. В программах обмен информацией осуществляется с помощью встроенных процедур. Поскольку нет нужды в предварительном описании стандартной процедуры, она доступна каждой программе, содержащей обращение к ней. Также названием упомянутой процедуры не выступает какое-либо зарезервированное слово.
При вводе данных используют такие операторы для обращения к стандартной процедуре ввода данных, которая уже встроена в программу.
Read (А, В, С), где А, В, С – переменные, которые нужно ввести в оперативную память для запоминания.
Readlnn (х1, у, х2) – закончив ввод, курсор переходит на начало новой строки.
Readlnn; - свидетельствует об ожидании нажатия «Enter». Как правило этот оператор вставляют в текст перед последним «End», чтобы сохранить результаты выполнения программы на экране содержимого.
Вывод на экран монитора данных осуществляется с помощью таких операторов:
Write (А, В, С) – указав значения А, В, С в одной строке, курсор не покидает текущей строки.
Writeln (z, у, z2) – закончив вывод значений, курсор в данной позиции перейдет на новую строку.
Writeln; - свидетельствует о пропуске одной строки и переходе на начало новой.
Вот с помощью таких простых операторов и осуществляется ввод и вывод данных в языке Паскаль.