Составить блок схему как посадить дерево
Алгоритм ветвления. Отличие от алгоритмов линейной структуры
Статья рассказывает про алгоритмы с разветвлённой структурой. Читатель узнает, чем их решение отличается от решения линейных алгоритмов, как выглядит программный способ записи таких алгоритмов, а также какова будет блок-схема. В предыдущей статье шла речь об алгоритмах, их особенностях и свойствах. Особое внимание было уделено линейной структуре как самому простому способу реализации. Сегодня поговорим о более сложных алгоритмах, обладающих разветвлённой структурой. Но прежде чем продолжать, следует кое-что вспомнить. Алгоритм – это ясный перечень действий, который направлен на решение какой-либо задачи. Одно из свойств алгоритма — Дискретность. Дискретность связана с наличием в алгоритмической последовательности ряда операций (этапов, действий), выполняемых пошагово, то есть дискретно. Алгоритм обладает свойством дискретности, так как он представляет собой процесс решения задачи в виде последовательного выполнения простых шагов. И каждое действие исполняется лишь после окончания исполнения предыдущего. Также предполагается наличие определённых исходных данных и результата выполнения. Блок-схема — графический способ описания алгоритмов. Графическое представление обеспечивает наглядность и упрощает запись, делая последовательность более понятной. При использовании схемы каждому действию соответствует определённая геометрическая фигура (эти фигуры называют блоками). Вот наиболее часто употребляемые:
Ещё раз о линейности
Линейная последовательность — самая простая из возможных структур. При наличии линейности команды выполняются в чёткой последовательности и в порядке их записи, то есть друг за другом. Вот линейная алгоритмическая последовательность посадки дерева: 1) выкапывание ямки в земле; 2) размещение в ямке саженца; 3) закапывание ямки; 4) поливание места посадки водой. Такой линейный алгоритм имеет следующую блок-схему: А вот и общая схема линейного алгоритма:
Ветвление в алгоритмических последовательностях
На практике очень редко встречается, чтобы последовательность всех требуемых действий была известна заранее. Если на минуту покинуть мир алгоритмизации и программирования, можно спроецировать ветвление на многие жизненные ситуации. Если на улице дождь, человек берёт зонт, если очень жарко, будет выбрана одежда полегче и т. д. Всё зависит от условия выбора. Как тут не вспомнить рыцаря на распутье из русских народных сказок? «Направо пойдёшь — жену найдёшь, налево пойдешь — богатым будешь, прямо пойдёшь — смерть найдёшь». Подобная ситуация заставляет принимать решения с учётом определённого условия. Если нужна жена, то витязь идёт направо, если богатство, то налево, если жизнь не мила, то прямо. Условия, которые влияют на решение, располагаются между словами «если» и «то». От значения условий зависит дальнейшее поведение. Когда условие выполняется, оно принимает значение «истина», когда нет — «ложь». Иногда анализ ситуации и выбор не вызывают особых затруднений, а иногда принять решение очень трудно. А всё потому, что принимающий решение пытается продумать каждый из вариантов и предугадать последствия выбора. Нельзя не вспомнить гроссмейстера, который анализирует позицию на ходы вперёд, прежде чем передвинуть фигуру на шахматной доске. Компьютерные программы и игры тоже построены на выборе действий. А блок-схема при наличии ветвления приобретает иной вид:
Логика разветвляющих алгоритмов
Логику можно описать следующим образом: Ветвление — метод и форма организации действий, когда в зависимости от выполнения определённого условия совершается та либо иная последовательность шагов. В результате совсем несложно составить алгоритм покупки мороженого с учётом наличия необходимой суммы денег. Описать эту алгоритмическую последовательность с помощью схемы и блоков тоже не составит труда: Для закрепления можно решить задачу. Есть 3 монеты одинакового достоинства. Одна из монет фальшивая (известно, что она имеет меньший вес). Найдите фальшивую монету на чашечных весах без гирь с помощью только одного взвешивания. Решение легко описывается посредством схематических блоков: Следующий пример легко экстраполируется в жизнь. Речь идёт об алгоритме для перехода дороги при наличии светофора. Он имеет следующий вид: 1. Подходим к светофору. 2. Смотрим, какой горит свет. 3. Если зелёный, переходим дорогу. 4. Если красный, ждём, пока загорится зелёный, а потом переходим дорогу.
Программный способ записи
Чтобы алгоритм было понятен компьютеру, машине и любой другой цифровой системе, следует оформить его в таком виде, который эта система способна воспринимать. То есть надо написать программу, используя для этого команды из СКИ. СКИ — это список команд исполнителя — перечень команд, ему понятных. А любой исполнитель способен исполнить лишь те команды, которые включены в его СКИ, а если говорить человеческим языком — входят в набор его компетенций. Для примера можно реализовать алгоритм на языке программирования Pascal. Исходя из вышесказанного, следует использовать команды, входящие в терминологию Pascal. Простейший пример описания алгоритма с разветвляющейся структурой — Условный оператор IF. Полная конструкция этого условного оператора имеет следующий вид: Здесь if — это «если», then — это «то», else — «иначе». Условный оператор работает просто: — вычисляется значение логического выражения, которое расположено после служебного слова IF; — если результат — истина, выполняется оператор 1, который размещён после THEN, причём действие после ELSE пропускается; — если результат — ложь, пропускается уже действие после THEN, а действие после ELSE выполняется с помощью оператора 2. Теперь можно вспомнить пресловутого витязя на распутье и написать простую программу, реализующую этот алгоритм с помощью соответствующих условных операторов. Попробовать этот алгоритм в работе можно на любом онлайн-компиляторе, поддерживающим Pascal. Но не стоит на этом останавливаться — лучше всего написать собственную программу, что позволит получить максимальную пользу от урока.
Учитель информатики
Сайт учителя информатики. Технологические карты уроков, Подготовка к ОГЭ и ЕГЭ, полезный материал и многое другое.
Типы алгоритмов
§ 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.
Учитель информатики
Сайт учителя информатики. Технологические карты уроков, Подготовка к ОГЭ и ЕГЭ, полезный материал и многое другое.
Типы алгоритмов
§ 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.