Любой алгоритм можно составить из нескольких базовых структур. Простейшей из них является линейная (следование).
Линейный алгоритм (следование) образуется командами, выполняемыми однократно в той последовательности, в которой они записаны.
Программа на языке Pascal
var a, b, c: integer;
2. Объявление переменных
3. Начало блока операторов
4. Ввод исходных данных
5. Вычисление по формуле
6. Вывод результата
7. Конец блока операторов
- Определить, что является исходными данными, какие будут у них типы. Выбрать имена переменных.
- Определить, что является искомыми результатами, какие будут у них типы. Выбрать имена переменных.
- Определить, какие формулы связывают исходные данные с результатами.
- Если нужны промежуточные данные, определить их типы и выбрать имена вспомогательных переменных.
- Описать все используемые переменные.
- Записать алгоритм, который должен включать:
- ввод всех исходных данных;
- вычисления;
- вывод результатов.
Для ввода данных в языке 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 тем, что после ввода/вывода производят перевод строки.
В языке программирования Pascal имеется 6 арифметических операции и несколько встроенных функций. Обратите внимание, что существуют довольно строгие ограничения на использование арифметических операций с разными типами данных.
Линейный алгоритм (следование) — это алгоритм, который описывает последовательно выполняющиеся действия.
- Начало.
- Достань ключ из кармана.
- Вставь ключ в замочную скважину.
- Поверни ключ два раза.
- Вытащи ключ.
- Конец.
Алгоритм с ветвлением (разветвляющийся) — это алгоритм, в котором в зависимости от результатов проверки условия выполняется либо одно действие, либо другое.
Редко в нашей жизни встречаются ситуации, когда известна чёткая последовательность действий. Часто мы стоим перед выбором и принимает решение в зависимости от ситуации. Если на улице светит солнце, то зонт и дождевик оставим дома, иначе всё это возьмем с собой. Но выбор не всегда бывает таким простым.
Каждый человек на протяжении своей жизни решает множество задач разной сложности. Но даже самые простые из задач выполняются последовательно, то есть за несколько шагов. Эту последовательность можно назвать алгоритмом. Последовательности бывают разные, но начинать их изучение лучше всего с линейных.
Программирование на Pascal. Переменные, типы данных, линейные алгоритмы. Видеокурс.
Прежде чем приступить к рассмотрению основной темы статьи, следует сделать краткое отступление и сказать несколько слов про алгоритмический язык.
Алгоритмический язык
Алгоритмический язык является средством описания алгоритмов, а уже алгоритм, в свою очередь, представляет собой чёткое описание определённой последовательности действий, направленных на решение необходимой задачи.
Свойства алгоритма
Их несколько: — конечность. Любой алгоритм должен быть завершённым, а окончание наступает после выполнения определённого числа шагов; — однозначность, понятность. Не допускается разных толкований, неопределённости и двусмысленности — всё должно быть чётко и ясно, а также понятно исполнителю — и правила выполнения действий линейного алгоритма, и сами действия; — результативность. Итог работы — результат, полученный за конечное число шагов; — универсальность, массовость. Качественный алгоритм способен решать не одну задачу, а целый класс задач, имеющих схожую постановку/структуру.
Линейная структура
Любой алгоритм составляется из ряда базовых структур. Простейшей базовой структурой является следование — структура с линейными характеристиками. Из этого можно сформулировать определение.
Линейный алгоритм — это алгоритм, образуемый командами, которые выполняются однократно и именно в той последовательности, в которой записаны. Линейная структура, по сути, проста. Записать её можно как в текстовой, так и в графической форме.
Представим, что у нас стоит задача пропылесосить ковёр в комнате. В текстовой форме алгоритм будет следующим: — принести пылесос к месту уборки; — включить; — пропылесосить; — выключить; — унести пылесос.
И каждый раз, когда нам надо будет пылесосить, мы будем выполнять один и тот же алгоритм.
Теперь поговорим про графическую форму представления.
Блок-схема
Для изображения алгоритма графически используют блок-схемы. Они представляют собой геометрические фигуры (блоки), соединённые стрелками. Стрелки показывают связь между этапами и последовательность их выполнения. Каждый блок сопровождается надписью.
Рассмотрим фигуры, которые используются при визуализации типичной линейной последовательности.
Блок ввода-вывода данных (отображает список вводимых и выводимых переменных):
Арифметический блок (отображает арифметическую операцию/группу операций):
Условный блок (позволяет описать условие). Алгоритмы с таким блоком используются при графической визуализации алгоритмов с ветвлением:
Условного блока нет в классическом линейном алгоритме, так как в нём, как уже было сказано ранее, все операции выполняются последовательно, то есть одна за другой. В линейном алгоритме размещение блоков выглядит следующим образом:
А вот, как решается задача по нахождению площади треугольника по формуле Герона. Здесь a, b, c – это длины сторон, S – площадь треугольника, P – периметр.
Примеры линейных алгоритмов
Если рассмотреть примеры решения на языке Pascal (именно этот язык до сих пор используется для изучения основ алгоритмизации и программирования), то можно увидеть следующую картину:
И, соответственно, блок-схема программы линейной структуры будет выглядеть следующим образом:
Как составить программу линейной структуры?
Порядок следующий: — определите, что именно относится к исходным данными, а также каков типы/класс этих данных, выберите имена переменных; — определите, каков тип данных будет у искомого результата, выберите название переменных (переменной); — определите, какие математические формулы связывают результат и исходные данные; — если требуется наличие промежуточных данных, определите класс/типы этих данных и выберите имена; — опишите все используемые переменные; — запишите окончательный алгоритм. Он должен включать в себя ввод данных, вычисления, вывод результатов.
На этом всё, в следующий раз рассмотрим на примерах программу разветвлённой структуры. Если же вас интересует тема алгоритмизации в контексте разработки программного обеспечения, ждём вас на профессиональном курсе OTUS!
Повседневная жизнь каждого человека заключается в решении огромного количества задач различной сложности на работе или во время учебы. Некоторые задачи являются настолько простыми, что при их выполнении мы делаем определенные действия автоматически, даже не задумываясь. Решение любой задачи, даже самой простой, как правило, осуществляется последовательно за несколько шагов. Такого рода последовательность при решении задач называется алгоритмом. Сегодня мы рассмотрим, что такое линейные алгоритмы, как изображается их структура, как осуществляется их решение и программирование.
Алгоритмический язык
Это понятие представляет собой точное предписание для исполнителя совершить определенную последовательность действий, которая направляется на решение поставленной задачи.
Линейные алгоритмы — схема, структура и вычисление
Повседневная жизнь каждого человека состоит из решения огромного количества задач разной сложности на работе или во время учебы. Некоторые задачи настолько просты, что, выполняя их, мы выполняем определенные действия автоматически, даже не задумываясь об этом. Решение любой задачи, даже самой простой, обычно осуществляется последовательно в несколько этапов. Этот тип последовательности при поиске и устранении неисправностей называется алгоритмом. Сегодня мы увидим, что такое линейные алгоритмы, как представлена их структура, как они решаются и программируются.
Алгоритмический язык
Это понятие является точным предписанием исполнителю выполнить определенную последовательность действий, которая направлена на решение проблемы.
Этот язык является средством описания алгоритмов, которые обычно ориентированы на пользователя.
Если говорить на компьютерном языке, это точный рецепт, определяющий вычислительный процесс. Это, в свою очередь, ведет от исходных данных, которые меняются, к исходному результату.
Разработка алгоритма — довольно сложный и трудоемкий процесс. Это методика составления (разработки) последовательности действий, предназначенных для решения проблем с помощью компьютера.
Свойства алгоритма
- определенность (однозначность) — представляет собой уникальность трактовки правил выполнения действий, а также порядка их выполнения;
- массовость — алгоритмы должны уметь решать целый класс конкретных задач с общей постановкой задачи.
- конечность — заключается в выполнении работы всего алгоритма за определенное конечное число фаз (шагов);
- понятность — инструкции должны быть понятны исполнителю;
- оперативность: получение требуемого результата за конечное количество шагов;