0
(0)
  1. Главная
  2. /
  3. Веб разработка
  4. /
  5. Что такое блок-схемы

Сегодня поговорим о блок-схемы\ах. Программист должен научиться думать, как компьютер. Все задачи нужно разбивать на небольшие подзадачи, которым легко следовать и которые невозможно понять неправильно. Представьте себе кафе с официантом роботом. Поскольку у робота бесхитростный компьютерный мозг, ему нужно объяснить, как доставлять блюда с кухни посетителям, ожидающим в обеденном зале. Сперва эту задачу нужно разбить на простые, понятные компьютеру подзадачи. Вот программа для робота официанта.

Как вы думаете, сможет робот выполнить эту программу?

Следуя этой программе, Робот берёт еду с тарелки, вламывается из кухни в обеденный зал прямо сквозь стену и кладет еду на пол. Беда в том, что этот алгоритм составлен недостаточно подробно. Инструкции слишком неоднозначны: мы забыли объяснить роботу, что нужно идти через дверь. Нам с вами это показалось бы очевидным, но компьютеры не умеют думать сами.

Составим новую программу:

Как Вы думаете, эту программу робот сможет выполнить?

Мы сказали роботу, чтобы он шёл через кухонную дверь. Так он и делает, но затем натыкается на местного кота, падает и разбивает тарелку. Программа составлена всё ещё не идеально. Робот не знает, как быть с препятствиями (вроде кошек). Чтобы он мог безопасно перемещаться, программа должна содержать ещё более подробные инструкции.

Составляем программу ещё раз:

Неужели получилось? Наконец-то робот смог благополучно доставить еду. Но и в этом алгоритме что-то не так. Как Вы думаете, что?

Следуя этому варианту программы, робот благополучно доставляет блюдо посетителю, огибая препятствия. Однако, поставив тарелку на стол, робот застывает на месте, а на кухне тем временем скапливается приготовленная еда. Мы забыли сказать роботу, что потом нужно вернуться на кухню за новой тарелкой.

Как видите, если бы мы сразу взялись программировать на каком-нибудь языке, мы могли бы совершить много ошибок. И робот не смог бы выполнить поставленную задачу, или выполнил бы её с ошибками. Как вы думаете, что помогло нам избежать ошибок при программировании? (30 секунд на опрос мнений учащихся.) Правильно, наглядное представление решения задачи.

Конечно, наш робот официант выдуманный. Но алгоритмы такого типа встречаются повсюду. Например, управляемый компьютером лифт имеет дело со схожими проблемами. Верх или вниз ему следует двигаться? На какой следующий этаж ехать?

Программа для лифта то может выглядеть так:

Чтобы лифт работал правильно и безопасно, каждый шаг программы должен быть точным, понятным и учитывать все возможные случаи. Программисты должны убедиться, что они составили подходящий алгоритм.

Как вы думаете, нужно ли перед программированием составлять наглядную схему решения задачи? Если нужно, то для чего?

Правильно, это нужно для того, чтобы избежать логических ошибок, которые потом будет трудно отыскать в коде программы.

Имея перед глазами наглядную схему решения задачи, Вы можете увидеть свои ошибки, придумать более оптимальный вариант решения, а быть может, и отказаться от неудачного алгоритма в пользу другого алгоритма. Вы можете посоветоваться с более опытным программистом, который не владеет языком программирования, на котором пишете Вы.

Задача наглядного представления алгоритмов как раз и решается с помощью блок-схемы. В следующем посте мы и рассмотрим этот вопрос.

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 0 / 5. Количество оценок: 0

Оценок пока нет. Поставьте оценку первым.