Линейный алгоритм. Понятие и особенности. Блок-схема Каждый человек на протяжении своей жизни решает множество задач разной сложности. Но даже самые простые из задач выполняются последовательно, то есть за несколько шагов. Эту последовательность можно назвать алгоритмом. Последовательности бывают разные, но начинать их изучение лучше всего с линейных. Прежде чем приступить к рассмотрению основной темы статьи, следует сделать краткое отступление и сказать несколько слов про алгоритмический язык. Алгоритмический язык Представьте, что человеку, работающему за компьютером, поставлена некая вычислительная задача. В языке программирования решение этой задачи выполняется с помощью алгоритмизации. Решение предполагает: — разбиение на этапы; — разработку алгоритма; — составление программы решения на алгоритмическом языке; — ввод данных; — отладку программы (возможны ошибки — их надо исправить); — выполнение на ПК; — анализ результатов. Алгоритмический язык является средством описания алгоритмов, а уже алгоритм, в свою очередь, представляет собой чёткое описание определённой последовательности действий, направленных на решение необходимой задачи. Свойства алгоритма Их несколько: — конечность. Любой алгоритм должен быть завершённым, а окончание наступает после выполнения определённого числа шагов; — однозначность, понятность. Не допускается разных толкований, неопределённости и двусмысленности — всё должно быть чётко и ясно, а также понятно исполнителю — и правила выполнения действий линейного алгоритма, и сами действия; — результативность. Итог работы — результат, полученный за конечное число шагов; — универсальность, массовость. Качественный алгоритм способен решать не одну задачу, а целый класс задач, имеющих схожую постановку/структуру. Линейная структура Любой алгоритм составляется из ряда базовых структур. Простейшей базовой структурой является следование — структура с линейными характеристиками. Из этого можно сформулировать определение. Линейный алгоритм — это алгоритм, образуемый командами, которые выполняются однократно и именно в той последовательности, в которой записаны. Линейная структура, по сути, проста. Записать её можно как в текстовой, так и в графической форме. Представим, что у нас стоит задача пропылесосить ковёр в комнате. В текстовой форме алгоритм будет следующим: — принести пылесос к месту уборки; — включить; — пропылесосить; — выключить; — унести пылесос. И каждый раз, когда нам надо будет пылесосить, мы будем выполнять один и тот же алгоритм. Теперь поговорим про графическую форму представления. Блок-схема Для изображения алгоритма графически используют блок-схемы. Они представляют собой геометрические фигуры (блоки), соединённые стрелками. Стрелки показывают связь между этапами и последовательность их выполнения. Каждый блок сопровождается надписью. Рассмотрим фигуры, которые используются при визуализации типичной линейной последовательности. Блок начала-конца: Блок ввода-вывода данных (отображает список вводимых и выводимых переменных): Арифметический блок (отображает арифметическую операцию/группу операций): Условный блок (позволяет описать условие). Алгоритмы с таким блоком используются при графической визуализации алгоритмов с ветвлением: Условного блока нет в классическом линейном алгоритме, так как в нём, как уже было сказано ранее, все операции выполняются последовательно, то есть одна за другой. В линейном алгоритме размещение блоков выглядит следующим образом: А вот, как решается задача по нахождению площади треугольника по формуле Герона. Здесь a, b, c – это длины сторон, S – площадь треугольника, P – периметр. Следует обратить внимание, что запись «=» — это не математическое равенство, а операция присваивания. В результате этой операции переменная, стоящая слева от оператора, получает значение, которое указано справа. Значение не обязательно должно быть сразу определено (a = 3) — оно может вычисляться посредством выражения (a = b + z), где b = 1, a z = 2. Примеры линейных алгоритмов Если рассмотреть примеры решения на языке Pascal (именно этот язык до сих пор используется для изучения основ алгоритмизации и программирования), то можно увидеть следующую картину: И, соответственно, блок-схема программы линейной структуры будет выглядеть следующим образом: Задачи на линейные алгоритмы 1. Даны длины ребер a, b, c прямоугольного параллелепипеда. Найти его объем V = abc и площадь поверхности S = 2(ab + bc + ac). 2. Найти значение переменных m и n по формуле, и получить общий ответ отношения m и n. 3. Даны два числа a, b, с. Найти их среднее арифметическое. 4. Найти произведение значений двух переменных и вывести результат на экран. 5. Найти длину окружности p заданного радиуса r. 6. Дана длина ребра куба. Найти площадь площадь полной поверхности и объем куба (V=a3). 7. Даны числа a, b, c. Найти 8. Мальчик купил в магазине n порций мороженного по цене 1200 руб. и k плиток шоколада по цене 3800 руб. Сколько всего потратил мальчик. 9. Составьте программу нахождения площади равнобедренной трапеции через стороны a, b, c 10.Найти радиусы внутренней и внешней окружности кольца.