Немаловажно, что небольшие подпрограммы значительно проще отлаживать, что существенно повышает общую надежность всей программы.
Очень важная характеристика подпрограмм – это возможность их повторного использования. С интегрированными системами программирования поставляются большие библиотеки стандартных подпрограмм, которые позволяют значительно повысить производительность труда за счет использования чужой работы по созданию часто применяемых подпрограмм.
Подпрограммы бывают двух видов – процедуры и функции. Отличаются они тем, что процедура просто выполняет группу операторов, а функция вдобавок вычисляет некоторое значение и передает его обратно в главную программу (возвращает значение). Это значение имеет определенный тип (говорят, что функция имеет такой-то тип).
Подпрограммы решают три важные задачи:
• избавляют от необходимости многократно повторять в тексте программы аналогичные фрагменты;
• улучшают структуру программы, облегчая ее понимание;
• повышают устойчивость к ошибкам программирования и непредвидимым последствиям при модификациях программы.
Объектно-ориентированное программирование
В середине 80-х годов в программировании возникло новое направление, основанное на понятии объекта. До того времени основные ограничения на возможность создания больших систем накладывала разобщенность в программе данных и методов их обработки.
Реальные объекты окружающего мира обладают тремя базовыми характеристиками: они имеют набор свойств, способны разными методами изменять эти свойства и реагировать на события, возникающие как в окружающем мире, так и внутри самого объекта. Именно в таком виде в языках программирования и реализовано понятие объекта как совокупности свойств (структур данных, характерных для этого объекта), методов их обработки (подпрограмм изменения свойств) и событий, на которые данный объект может реагировать и которые приводят, как правило, к изменению свойств объекта.
Появление возможности создания объектов в программах качественно повлияло на производительность труда программистов. Максимальный объем приложений, которые стали доступны для создания группой программистов из 10 человек, за несколько лет увеличился до миллионов строк кода, при этом одновременно удалось добиться высокой надежности программ и, что немаловажно, повторно использовать ранее созданные объекты в других задачах.
Объекты могут иметь идентичную структуру и отличаться только значениями свойств. В таких случаях в программе создается новый тип, основанный на единой структуре объекта. Он называется классом, а каждый конкретный объект, имеющий структуру этого класса, называется экземпляром класса.
Объектно-ориентированный язык программирования характеризуется тремя основными свойствами:
1. Инкапсуляция – объединение данных с методами в одном классе;
2. Наследование – возможность создания на основе имеющегося класса новые классы с наследованием всех его свойств и методов и добавлением собственных;
3. Полиморфизм – присвоение действию одного имени, которое затем совместно используется вниз и вверх по иерархии объектов, причем Каждый объект иерархии выполняет это действие способом, подходящим именно ему.
1. Что такое алгоритм? Приведите пример.
2. Какими свойствами обладает алгоритм?
3. Какие способы используются для описания алгоритма?
4. Какие алгоритмы различают? Приведите примеры.
5. Что такое язык программирования?
6. В чем отличие языков программирования от естественных?
7. По какому принципу различаются языки программирования?
8. Охарактеризуйте машиннозависимые языки программирования.
9. Дайте характеристику машиннонезависимым языкам программирования.
10. Для чего используются трансляторы?
11. В чем отличие компилятора от интерпретатора?
12. Какие виды программирования выделяют?
13. Дайте характеристику алгоритмическому программированию.
14. В чем заключается особенность структурного программирования?
15. Для чего используются подпрограммы и какие они бывают?
16. Охарактеризуйте объектно-модульное программирование.
17. Какие основные свойства присущи объектно-ориентированному языку программирования?
Глава 9
Моделирование и формализация
Каждый объект имеет большое количество различных свойств. В процессе построения модели выделяются главные, наиболее существенные из них. Так, модель самолета должна иметь геометрическое подобие оригиналу, модель атома – правильно отражать физические взаимодействия, архитектурный макет города – ландшафт и т. д.
Читать дальше