Как разрабатывать программу, которая решает поставленную задачу? Достаточно часто возникают ситуации, когда мы не знаем, с чего начать, чтобы что-то сделать. Точно так же может случиться и при написании компьютерных программ. Одним из наиболее эффективных подходов к разработке программ и программного обеспечения является так называемая нисходящая разработка или нисходящее программирование. При работе над большими проектами используется нисходящее проектирование (хотя перед написанием программы любого размера следует провести проектирование, пусть даже мысленно).
Нисходящая разработка заключается в том, что процесс решения поставленной задачи разбивается на несколько больших частей. Затем каждая из этих частей рассматривается как отдельная задача и также разбивается на несколько подзадач. Данный процесс детализации продолжается до тех пор, пока крайние подзадачи не станут простыми и понятными для программиста. Таким образом, получается дерево, корнем которого является решаемая задача, вершинами – промежуточные задачи, а листьями – элементарные шаги. Начиная с темы, посвященной функциям, мы будем рассматривать примеры, которые демонстрируют такую разработку.
КОНТРОЛЬНЫЕ ВОПРОСЫ
Что такое интегрированная среда разработки? Что такое компилятор?
Чем отличаются алгоритмические ошибки от синтаксических? Какие из них труднее исправлять? Почему? Что такое отладка программы?
Что такое автоматизация рабочих процессов? Приведите примеры.
Что такое алгоритм, псевдокод и блок-схема?
Какие обозначения используются в блок-схемах?
Как выглядит блок-схема для проверки условия?
Как выглядит блок-схема для циклической конструкции?
Чем отличается высокоуровневое программирование от низкоуровневого программирования?
Зачем нужно форматирование кода?
Что такое нисходящее программирование?
ТРЕНИРОВОЧНЫЕ ЗАДАНИЯ
Напишите алгоритм строительства дома (~10 шагов).
Напишите алгоритм приготовления кофе (~10 шагов).
Опишите алгоритм выбора максимального из трех чисел.
Напишите псевдокод вычисления суммарного балла ЕГЭ по трем предметам.
Напишите псевдокод определения максимального из трех чисел.
Напишите псевдокод программы, выводящей на экран 10 элементов арифметической прогрессии с заданными параметрами.
Напишите псевдокод вычисления площади круга.
Изобразите блок-схему проверки числа на четность.
Изобразите блок-схему вывода на экран 10 чисел.
Изобразите блок-схему программы, которая принимает номер месяца от 1 до 12 и выводит число дней в нем.