Блок-схема - это схематически изображённая будущая программа. Её рисует программист, перед тем, как создать программу.
В школах учат, что сначала нужно составить блок-схему, а затем уже по ней составлять программу. Мне же, когда я составляю программу, составлять блок схему не требуется, мне только сложнее от этого становится. Лично я делаю по-другому: разбиваю программу на отдельные маленькие части: подпрограммы, функции и т.д. А затем из них собираю программу, как из конструктора.
Наличие блок-схемы думаю нужно для фирм, занимающихся разработкой.
Это нужно для того, чтобы через несколько лет другой программист мог посмотреть на твою блок-схему и создать по ней программу уже на другом языке программирования, для какой-то другой платформы. Потому, что в блок-схеме при желании любой разберётся, а вот в языке программировании, которого не изучал вряд ли, да даже если и изучал, в чужом коде, если он достаточно большой, разобраться нереально.
Вот пример блок-схемы, высчитывающей сумму чисел от 1 до 10: