|
Программирование >> Структурное программирование
глава Функции Цели Понять, как можно конструировать программы по модульному принципу из небольших фрагментов, называемых функциями. Познакомиться с типовыми математическими функциями стандартной библиотеки С. Научиться создавать новые функции. Понять механизм обмена информацией между функциями. Познакомиться с техникой проведения расчетов с использованием генерации случайных чисел. Понять, как ограничивается область действия идентификаторов определенными частями программы. Понять, как можно писать и использовать функции, которые вызывают сами себя. Резюме Терминология Типичные ошибки программирования Хороший стиль программирования Советы по повышению эффективности Замечания по мобильности Замечания по технике программирования Упражнения для самопроверки Ответы на упражнения для самопроверки Упражнения 3.1. Введение Большинство компьютерных программ, решающих реальные практические задачи, намного превышают те программы, которые были представлены в первых главах. Экспериментально показано, что наилучшим способом создания и поддержки больших программ является их конструирование из малень- План 3.1. Введение 3.2. Программные модули в С++ 3.3. Математические библиотечные функции 3.4. Функции 3.5. Определение функций 3.6. Прототипы функций 3.7. Заголовочные файлы 3.8. Генерация случайных чисел 3.9. Пример: азартная игра 3.10. Классы памяти 3.11. Правила, определяющие область действия 3.12. Рекурсия 3.13. Пример использования рекурсии: последовательность чисел Фибоначчи 3.14. Рекурсии или итерации 3.15. функции с пустыми списками параметров 3.16. Встраиваемые функции 3.17. Ссылки и ссылочные параметры 3.18. Аргументы по умолчанию 3.19. Унарная операция разрешения области действия 3.20.Перегрузка функций 3.21. Шаблоны функции 3.22.Размышления об объектах: идентификация атрибутов ких фрагментов, или модулей, каждый из которых более управляем, чем сложная программа. Эта техника называется разделяй и властвуй. В этой главе описываются многие ключевые свойства языка C-f-+, которые облегчают проектирование, реализацию, работу и сопровождение больших программ. 3.2. Программные модули в С++ Модули в C-f-4- называются функциями и классами. Обычно программы на С++ пишутся путем объединения новых функций, которые пишет сам программист, с функциями, уже имеющимися в стандартной библиотеке С, и путем объединения новых классов, которые пишет сам программист, с классами, уже имеющимися в различных библиотеках классов. В этой главе мы сосредоточим внимание на функциях; классы мы будем детально обсуждать, начиная с главы 6. Стандартная библиотека С обеспечивает широкий набор функций для выполнения типовых математических расчетов, операций со строками, с символами, ввода-вывода, проверки ошибок и многих других полезных операций. Это облегчает работу программиста, поскольку эти функции обладают многими из необходимых программисту свойств. Функции стандартной библиотеки С являются частью среды программирования С++. Хороший стиль программирования 3.1 Внимательно изучайте широкий набор функций в стандартной библиотеке ANSI С и классов в различных библиотеках классов. Замечание по технике программирования 3.1 Избегайте повторного изобретения колеса. Если возможно, используйте стандартную библиотеку ANSI С вместо того, чтобы писать новые функции. Это сокращает затраты времени на создание программы. Замечание по мобильности 3.1 Использование стандартной библиотеки ANSI С увеличивает мобильность программы. Программист может написать функции, чтобы определить какие-то специфические задачи, которые можно использовать в разных местах программы. Эти функции иногда называют функциями, определенными пользователем. Операторы, реализующие данную функцию, пишутся только один раз и скрыты от других функций. Функция активизируется (т. е. начинает выполнять запроектированную для нее задачу) путем вызова функции. В вызове функции указывается ее имя и дается информация (в виде аргументов), необходимая вызываемой функции для ее работы. Это аналогично иерархической форме управления. Начальник (вызывающая функция или вызывающий оператор) просит подчиненного (вызываемую функцию) выполнить задание и возвратить (т.е. сообщить) результаты после того, как задание выполнено. Функция-начальник не знает, как функция-подчиненный выполняет порученное ей задание. Подчиненный может вызвать другие подчиненные функции, причем началь-
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0.001
При копировании материалов приветствуются ссылки. |