если в алгоритме все команды выполняются последовательно то такой алгоритм называется
Если в алгоритме все команды выполняются последовательно то такой алгоритм называется
В информатике план действий называют алгоритмом.
Алгоритм состоит из отдельных шагов – команд. Ни одну из них нельзя пропустить, чаще всего никакие команды нельзя поменять местами.
Исполнитель – человек, животное или машина, способные понимать и выполнять некоторые команды.
Среда исполнителя – предметы, которые окружают исполнителя и с которыми он работает.
Список Команд Исполнителя (СКИ) – набор команд, понятных исполнителю. Исполнитель может выполнить только те команды, которые входят в его СКИ.
Для решения большинства задач недостаточно отдать одну команду исполнителю, надо составить для него алгоритм – план действий, состоящий из команд, которые ему понятны (входят в его СКИ).
Алгоритм – точно определенный план действий исполнителя, направленный на решение какой-то задачи. В алгоритм можно включать только те команды, которые есть в СКИ.
Какие бывают алгоритмы
Линейный алгоритм
В линейном алгоритме команды выполняются последовательно, одна за другой. Примером линейного алгоритма может служить алгоритм заварки чая.
Разветвляющийся алгоритм
В разветвляющемся алгоритме порядок следования команд может быть разный в зависимости от того, какова окружающая обстановка. Примером разветвляющегося алгоритма может служить алгоритм перехода улицы.
Способы записи алгоритмов
Выделяют три наиболее распространенные на практике способа записи алгоритмов:
Словесный способ записи алгоритмов
Словесный способ – способ записи алгоритма на естественном языке. Данный способ очень удобен, если нужно приближенно описать суть алгоритма. Однако при словесном описании не всегда удается ясно и точно выразить логику действий.
В качестве примера словесного способа записи алгоритма рассмотрим алгоритм нахождения площади прямоугольника
где S – площадь прямоугольника; а, b – длины его сторон.
Очевидно, что a, b должны быть заданы заранее, иначе задачу решить невозможно.
Словестный способ записи алгоритма выглядит так:
Графический способ описания алгоритмов
Для более наглядного представления алгоритма используется графический способ. Существует несколько способов графического описания алгоритмов. Наиболее широко используемым на практике графическим описанием алгоритмов является использование блок-схем. Несомненное достоинство блок схем – наглядность и простота записи алгоритма.
Каждому действию алгоритма соответствует геометрическая фигура (блочный символ). Перечень наиболее часто употребляемых символов приведен в таблице ниже.
Так как в линейном алгоритме команды выполняются последовательно, то блок-схема будет иметь вид:
Так как в разветвляющемся алгоритме порядок следования команд может быть разный в зависимости от того, какова окружающая обстановка, то блок-схема примет вид:
В циклическом алгоритме некоторые действия повторяются несколько раз и для него блок-схема примет вид:
Программный способ записи алгоритмов
Для того, чтобы алгоритм был понятен роботу, компьютеру или другой машине, недостаточно только написать команды, надо еще и оформить алгоритм в таком виде, в котором его понимает машина (написать программу), т.е. записать его с использованием команд из СКИ, соблюдая правила оформления.
Правила оформления программы:
Практические задания:
Использован материал из книг:
Учитель информатики
Сайт учителя информатики. Технологические карты уроков, Подготовка к ОГЭ и ЕГЭ, полезный материал и многое другое.
Типы алгоритмов
§ 17. Типы алгоритмов
ИНФОРМАТИКА. 6 КЛАССА. БОСОВА Л.Л. ОГЛАВЛЕНИЕ
Линейные алгоритмы
Ключевые слова:
• линейные алгоритмы
• алгоритмы с ветвлениями
• алгоритмы с повторениями
В алгоритмах команды записываются друг за другом в определённом порядке.
Алгоритм, в котором команды выполняются в порядке их записи, то есть последовательно друг за другом, называется линейным.
Например, линейным является следующий алгоритм посадки дерева (рис. 58):
1) выкопать в земле ямку;
2) опустить в ямку саженец;
3) засыпать ямку с саженцем землёй;
4) полить саженец водой.
С помощью блок-схемы данный алгоритм можно изобразить так (рис. 59).
Алгоритмы с повторениями
В алгоритмах команды записываются друг за другом в определённом порядке.
На практике часто встречаются задачи, в которых одно или несколько действий бывает необходимо повторить несколько раз, пока соблюдается некоторое заранее установленное условие.
Форма организации действий, при которой выполнение одной и той же последовательности действий повторяется, пока выполняется некоторое заранее установленное условие, называется циклом (повторением). Алгоритм, содержащий циклы, называется циклическим алгоритмом или алгоритмом с повторениями.
Ситуация, при которой выполнение цикла никогда не заканчивается, называется зацикливанием. Следует разрабатывать алгоритмы, не допускающие таких ситуаций.
Рассмотрим пример из жизни. Вот так может выглядеть блок-схема действий школьника, которому перед вечерней прогулкой следует выполнить домашнее задание по математике (рис. 62).
Это циклический алгоритм. При его исполнении действие «Решить задачу» будет выполнено столько раз, сколько задач содержит домашнее задание ученика.
Алгоритмы с ветвлениями
В алгоритмах команды записываются друг за другом в определённом порядке.
В жизни часто приходится принимать решение в зависимости от сложившейся обстановки. Если идёт дождь, мы берём зонт и надеваем плащ; если жарко, надеваем лёгкую одежду. Встречаются и более сложные условия выбора. В некоторых случаях от выбранного решения зависит дальнейшая судьба человека.
Логику принятия решения можно описать так:
ЕСЛИ ТО ИНАЧЕ
Пример:
ЕСЛИ хочешь быть здоров, ТО закаляйся, ИНАЧЕ валяйся весь день на диване.
В некоторых случаях могут отсутствовать:
ЕСЛИ назвался груздем, ТО полезай в кузов.
Форма организации действий, при которой в зависимости от выполнения или невыполнения некоторого условия совершается либо одна, либо другая последовательность действий, называется ветвлением.
Изобразим в виде блок-схемы последовательность действий ученика 6 класса Мухина Васи, которую он представляет себе так: «Если Павлик дома, будем решать задачи по математике. В противном случае следует позвонить Марине и вместе готовить доклад по биологии. Если же Марины нет дома, то надо сесть за сочинение» (рис. 60).
А вот так, с помощью блок-схемы можно очень наглядно представить рассуждения при решении следующей задачи (рис. 61).
Из трёх монет одинакового достоинства одна фальшивая (более лёгкая). Как её найти с помощью одного взвешивания на чашечных весах без гирь?
Вопросы и задания
1. Какие алгоритмы называют линейными? Приведите пример линейного алгоритма.
2. Исполнитель Вычислитель умеет выполнять только две команды: умножать на 2 и прибавлять 1. Придумайте для него наиболее короткий алгоритм получения из 0 числа 50.
3. Какая форма организации действий называется ветвлением? Приведите пример алгоритма, содержащего ветвление.
4. Вспомните сюжет русской народной сказки «Гуси-лебеди». Какие условия должна была выполнить её героиня? Вспомните другие сказки, герои которых должны были совершить выбор, определяющий их судьбу.
5. Прочитайте отрывок из стихотворения Дж. Родари «Чем пахнут ремёсла? »:
У каждого дела запах особый:
В булочной пахнет тестом и сдобой.
Мимо столярной идешь мастерской —
Стружкою пахнет и свежей доской.
Пахнет маляр скипидаром и краской.
Пахнет стекольщик оконной замазкой.
Куртка шофёра пахнет бензином,
Блуза рабочего — маслом машинным.
Перефразируйте информацию о профессиях с помощью слов «ЕСЛИ … ТО».
6. Из 9 монет одинакового достоинства одна фальшивая (более лёгкая). За какое минимальное число взвешиваний на чашечных весах без гирь вы можете её определить?
7. Какая форма организации действий называется повторением? Приведите пример алгоритма, содержащего повторение.
8. В каких известных вам литературных произведениях имеет место циклическая форма организации действий?
9. Где окажется исполнитель, выполнивший 16 раз подряд следующую группу команд?
пройти 10 метров вперёд
повернуть на 90° по часовой стрелке
10. Какую группу действий и сколько раз следует повторить при решении следующей задачи?
Сорок солдат подошли к реке, по которой на лодке катаются двое мальчиков. Как солдатам переправиться на другой берег, если лодка вмещает только одного солдата либо двух мальчиков, а солдата и мальчика уже не вмещает?
11. Вспомните задачу о Вычислителе, умеющем только умножать на 2 и прибавлять 1. Разрабатывать для него рациональные (короткие) программы будет значительно проще, если вы воспользуетесь следующей блок-схемой:
Используя эту блок-схему, составьте рациональные программы получения из числа 0 чисел 1024 и 500.
Линейный алгоритм. Понятие и особенности. Блок-схема
Каждый человек на протяжении своей жизни решает множество задач разной сложности. Но даже самые простые из задач выполняются последовательно, то есть за несколько шагов. Эту последовательность можно назвать алгоритмом. Последовательности бывают разные, но начинать их изучение лучше всего с линейных.
Прежде чем приступить к рассмотрению основной темы статьи, следует сделать краткое отступление и сказать несколько слов про алгоритмический язык.
Алгоритмический язык
Представьте, что человеку, работающему за компьютером, поставлена некая вычислительная задача. В языке программирования решение этой задачи выполняется с помощью алгоритмизации. Решение предполагает: — разбиение на этапы; — разработку алгоритма; — составление программы решения на алгоритмическом языке; — ввод данных; — отладку программы (возможны ошибки — их надо исправить); — выполнение на ПК; — анализ результатов.
Алгоритмический язык является средством описания алгоритмов, а уже алгоритм, в свою очередь, представляет собой чёткое описание определённой последовательности действий, направленных на решение необходимой задачи.
Свойства алгоритма
Их несколько: — конечность. Любой алгоритм должен быть завершённым, а окончание наступает после выполнения определённого числа шагов; — однозначность, понятность. Не допускается разных толкований, неопределённости и двусмысленности — всё должно быть чётко и ясно, а также понятно исполнителю — и правила выполнения действий линейного алгоритма, и сами действия; — результативность. Итог работы — результат, полученный за конечное число шагов; — универсальность, массовость. Качественный алгоритм способен решать не одну задачу, а целый класс задач, имеющих схожую постановку/структуру.
Линейная структура
Любой алгоритм составляется из ряда базовых структур. Простейшей базовой структурой является следование — структура с линейными характеристиками. Из этого можно сформулировать определение.
Линейный алгоритм — это алгоритм, образуемый командами, которые выполняются однократно и именно в той последовательности, в которой записаны. Линейная структура, по сути, проста. Записать её можно как в текстовой, так и в графической форме.
Представим, что у нас стоит задача пропылесосить ковёр в комнате. В текстовой форме алгоритм будет следующим: — принести пылесос к месту уборки; — включить; — пропылесосить; — выключить; — унести пылесос.
И каждый раз, когда нам надо будет пылесосить, мы будем выполнять один и тот же алгоритм.
Теперь поговорим про графическую форму представления.
Блок-схема
Для изображения алгоритма графически используют блок-схемы. Они представляют собой геометрические фигуры (блоки), соединённые стрелками. Стрелки показывают связь между этапами и последовательность их выполнения. Каждый блок сопровождается надписью.
Рассмотрим фигуры, которые используются при визуализации типичной линейной последовательности.
Блок ввода-вывода данных (отображает список вводимых и выводимых переменных):
Арифметический блок (отображает арифметическую операцию/группу операций):
Условный блок (позволяет описать условие). Алгоритмы с таким блоком используются при графической визуализации алгоритмов с ветвлением:
Условного блока нет в классическом линейном алгоритме, так как в нём, как уже было сказано ранее, все операции выполняются последовательно, то есть одна за другой. В линейном алгоритме размещение блоков выглядит следующим образом:
А вот, как решается задача по нахождению площади треугольника по формуле Герона. Здесь a, b, c – это длины сторон, S – площадь треугольника, P – периметр.
Следует обратить внимание, что запись «=» — это не математическое равенство, а операция присваивания. В результате этой операции переменная, стоящая слева от оператора, получает значение, которое указано справа. Значение не обязательно должно быть сразу определено (a = 3) — оно может вычисляться посредством выражения (a = b + z), где b = 1, a z = 2.
Примеры линейных алгоритмов
Если рассмотреть примеры решения на языке Pascal (именно этот язык до сих пор используется для изучения основ алгоритмизации и программирования), то можно увидеть следующую картину:
И, соответственно, блок-схема программы линейной структуры будет выглядеть следующим образом:
Как составить программу линейной структуры?
Порядок следующий: — определите, что именно относится к исходным данными, а также каков типы/класс этих данных, выберите имена переменных; — определите, каков тип данных будет у искомого результата, выберите название переменных (переменной); — определите, какие математические формулы связывают результат и исходные данные; — если требуется наличие промежуточных данных, определите класс/типы этих данных и выберите имена; — опишите все используемые переменные; — запишите окончательный алгоритм. Он должен включать в себя ввод данных, вычисления, вывод результатов.
На этом всё, в следующий раз рассмотрим на примерах программу разветвлённой структуры. Если же вас интересует тема алгоритмизации в контексте разработки программного обеспечения, ждём вас на профессиональном курсе OTUS!
Алгоритмизация | Лекция №3
Линейные и разветвляющиеся алгоритмы
Содержание:
Данные. Понятие типа данных
Алгоритм, реализующий решение некоторой конкретной задачи, всегда работает с данными. Данные – это любая информация, представленная в формализованном виде и пригодная для обработки алгоритмом.
Данные делятся на переменные и константы.
Переменные – это такие данные, значения которых могут изменяться в процессе выполнения алгоритма.
Константы – это данные, значения которых не меняются в процессе выполнения алгоритма.
вычислить площадь круга по формуле S=пR 2
В данном алгоритме необходимо объявить две переменные:
Константой является число п.
Любая константа, как и переменная, занимает ячейку памяти, а значение этих величин определяется двоичным кодом в этой ячейке.
Типы констант определяются по контексту, т.е. по форме записи в тексте. А типы переменных устанавливаются в описаниях переменных.
Операции
Внутр.представле ние
Целые положительные и отрицательные числа.
Формат с фиксированной точкой
Любые (целые и дробные) числа.
Формат с плавающей точкой
Логические операции: И(and), ИЛИ(or), НЕ(not).
Любые символы компьютерного алфавита.
Коды таблицы символьной кодировки. 1 символ – 1 байт.
ЭВМ – исполнитель алгоритмов
Независимо от того, на каком языке программирования будет написана программа, алгоритм решения любой задачи на ЭВМ может быть составлен из команд:
Линейные алгоритмы
Тип алгоритма определяется характером решаемой задачи в соответствии с его командами задачи. Различают три типа алгоритмов: линейные, разветвляющиеся, циклические.
Линейными называются алгоритмы, в которых все действия осуществляются последовательно друг за другом, при этом каждая команда выполняется только один раз строго после той команды, которая ей предшествует.
Таким, например, является алгоритм вычисления по простейшим безальтернативны м формулам, не имеющий ограничений на значения входящих в эти формулы переменных. Как правило, линейные процессы являются составной частью более сложного алгоритма.
Линейный алгоритм составляется из команд присваивания, ввода, вывода и обращения к вспомогательным алгоритмам.
Присваивание – это операция, которая значение выражения, стоящее справа от символа «=» запоминает в переменной или элементе массива, стоящем слева. При присваивании происходит преобразование типов данных, если они не совпадают.
Присваивание может осуществляться двумя способами:
Например : вычислить дробь
Формат команды присваивания следующий:
Переменная := выражение
Знак « :=» нужно читать как «присвоить».
Команда присваивания обозначает следующие действия, выполняемые компьютером:
1. вычисляется выражение ;
2. полученное значение присваивается переменной.
Поскольку присваивание является важнейшей операцией в вычислительных алгоритмах, обсудим ее более подробно.
В приведенной ниже таблице напротив каждой команды присваивания указываются значения переменных, которые устанавливаются после ее выполнения.
Примеры разветвляющихся алгоритмов
АЛГОРИТМЫ. СПОСОБЫ ОПИСАНИЯ АЛГОРИТМОВ
Способы записи алгоритмов
Словесно-формульный – запись алгоритма осуществляется словами естественного языка или с использованием математических формул.
— Измерить ширину комнаты a
— Измерить длину комнаты b
— Умножить длину на ширину a*b
— Результат есть площадь комнаты S
Схематический (графический) – запись алгоритма осуществляется в виде блок-схемы.
Пример
Обозначение блоков
|
|
— Ввод, вывод
— Командный блок (выполняются команды)
— Логический блок (проверяется условие)
Исполнители алгоритмов
словесно-формульный блок-схема
Программа
Компьютер работает под управлением программы, составленной человеком на основе алгоритма в соответствии с математической моделью задачи.
Программа – это алгоритм, записанный на каком-либо языке программирования.
ЛИНЕЙНЫЕ АЛГОРИТМЫ
Пример линейного алгоритма в словесной форме
Алгоритм приготовления теста
1. взять 200 г маргарина, пол стакана воды, 3 стакана муки
2. растопить маргарин
5. перемешать, чтобы не было комков
6. положить в холод на 30 минут
Исходные данные: 200 г маргарина, пол стакана воды, 3 стакана муки
Пример линейного алгоритма в форме блок-схемы
Зная длины трех сторон треугольника, вычислить площадь и периметр треугольника.
РАЗВЕТВЛЯЮЩИЕСЯ АЛГОРИТМЫ
Линейные алгоритмы встречаются в этой жизни очень редко. Часто возникает условие, которое надо либо выполнять, либо нет. Порядок выполнения действий будет зависеть от выполнения некоторого условия. Алгоритмы с такой структурой называются разветвляющимися.
Разветвляющиеся алгоритмы– это алгоритмы, в которых в зависимости от некоторого условия необходимо выполнить либо одно, либо другое действие. В блок-схемах разветвленные алгоритмы изображаются так, как показано на рис.
Примеры разветвляющихся алгоритмов
|
Алгоритм покупки билетов
Пример: Известны коэффициенты и с квадратного уравнения. Составить алгоритм вычисления корней квадратного уравнения.
Входные данные:a, b, c.
Алгоритм вычисления корней
ЦИКЛИЧЕСКИЕ АЛГОРИТМЫ
Если в алгоритме действие, команда или серия команд выполняется несколько раз, то такой алгоритм называется циклическим.
Для обозначения многократно повторяющихся действий используются специальные циклические структуры. Такая структура содержит условие, которое необходимо для определения количества повторений для некоторой последовательности действий.
Проверить условие выхода из цикла
Пример: Во время большой перемены проголодавшийся школьник зашёл в столовую с намерением поесть пирожков. Написать алгоритм его борьбы с чувством голода (имеется в виду, что денег хотя бы на один пирожок у него есть).
|
Пример: Ученику задали несколько задач по математике. Придя домой, он решил сначала выполнить домашнее задание, а потом пойти погулять.
|
Пример: Вычислить если x изменяется от 0 до 2 с шагом 0,1.
Решение:Схема алгоритма имеет вид:
Комбинированные алгоритмы могут состоять из простых команд, команд ветвления и цикла.
Пример: Составить блок-схему вычисления функции
Пример: Дана блок-схема алгоритма
Определить результат выполнения алгоритма при определённых значениях исходных данных
Например, при n=15 или n=0 или n=-7
Проверка условия n>0 Þ «Да» Þ Вывод «n-положительное»
Проверка условия n>0 Þ «Нет» Þ Проверка условия n 0 Þ «Нет» Þ Проверка условия n