Прежде всего забудь про блок-схемы. «В свое время предложенные Голдстайном и Нейманом маленькие квадратики на блок-схемах вместе со своим содержанием выступали в качестве языков высокого уровня, объединяя абсолютно непонятные операторы машинного языка в группы, имеющие определенный смысл. Как давно уже указал Айверсон, в систематическом языке высокого уровня такая группировка уже осуществлена. Я никогда не видел, чтобы опытный программист чертил блок-схемы, прежде чем написать программу. Когда стандарты организации требуют блок-схем, то почти неизменно они рисуются после. Многие программистские организации с гордостью пользуются специальными программами для построения "этого незаменимого инструмента программиста" по готовой машинной программе. Апостол Петр так говорил о новообращенных язычниках и иудейских законах: "Что же вы желаете возложить на выи (их) иго, которого не могли понести ни отцы наши, ни мы?" (Деяние 15, 10). Я хотел бы сказать то же самое о начинающих программистах и устаревшей практике использования блок-схем.» Фредерик П. Брукс, "Мифический человеко-месяц". 1975 г. ( !) «flowchart (блок-схема) - древний способ представления структуры программы. Блок-схемы затемняют особенности поведения программ, созданных по правилам структурного программирования, и, что более важно, совсем не раскрывают структуру данных.» Э. С. Рэймонд, "Новый словарь хакера"