
- •Часть 1
- •Содержание
- •Введение
- •1. Структура и принцип действия компьютера
- •2. Алгоритм и программа
- •2.1. Понятия об алгоритме и программе
- •2.2. Типовые алгоритмы
- •2.2.1. Вычисление суммы чисел произвольного ряда
- •Вычисление произведения чисел произвольного ряда
- •2.2.3. Определение наибольшего (наименьшего) числа заданного ряда чисел
- •2.2.4 Определение наибольшего (наименьшего) значения вычисляемой функции
- •2.2.5. Вычисление функции с одновременно изменяющимися несколькими аргументами
- •2.2.6. Итерационные циклы
- •2.2.7. Сортировка ряда чисел
- •Метод смежных пар
- •Метод поиска наименьшего (наибольшего)
- •2.2.8. Алгоритмы решения задач с использованием матриц
- •Общие методические указания по выполнению лабораторных работ
- •4.1. Порядок проведения лабораторных работ
- •4.2. Требования к оформлению отчета по выполненной лабораторной работе
- •5. Цели и содержание лабораторных работ
- •5.1 Лабораторная работа № 1 Вычисление выражений с использованием библиотечных
- •5.1.1. Задание
- •5.1.2. Общие сведения и рекомендации по выполнению работы
- •5.1.3. Контрольные вопросы и задания
- •5.2. Лабораторная работа № 2 Программирование разветвляющихся вычислительных процессов.
- •5.2.1. Задание
- •5.2.2. Общие сведения и рекомендации по выполнению работы
- •5.2.3. Контрольные вопросы и задания.
- •5.3. Лабораторная работа № 3 Программирование разветвляющихся вычислительных процессов с использованием оператора множественного выбора.
- •5.3.1. Задание
- •5.3.2. Общие сведения и рекомендации по выполнению работы
- •5.3.3. Контрольные вопросы и задания
- •5.4. Лабораторная работа № 4 Программирование с использованием простых циклов.
- •5.4.1. Задание
- •5.4.2. Общие сведения и рекомендации по программированию
- •5.4.3. Контрольные вопросы и задания
- •5.5. Лабораторная работа № 5 Программирование с использованием итерационных циклов.
- •5.5.1. Задание
- •Проверочный результат
- •Относительная погрешность, %
- •5.5.2. Общие сведения и рекомендации по программированию
- •5.5.3. Контрольные вопросы и задания
- •5.6. Лабораторная работа № 6 Расчет функций с несколькими одновременно изменяющимися аргументами.
- •5.6.1. Задание
- •5.6.2. Общие сведения и рекомендации по выполнению работы
- •5.6.3. Контрольные вопросы и задания
- •5.7. Лабораторная работа № 7 Программирование с использованием массивов и внешних файлов.
- •5.7.1. Задание
- •5.7.2. Общие сведения и рекомендации по программированию
- •5.7.3. Контрольные вопросы и задания
- •5.8 Лабораторная работа № 8 Программирование с использованием функций.
- •5.8.1. Задание
- •5.8.2. Общие сведения и рекомендации по выполнению работы
- •5.8.3. Контрольные вопросы и задания
- •5.9. Лабораторная работа № 9 Программирование с использованием операций над комплексными числами.
- •5.9.1. Задание
- •5.9.2. Общие сведения и рекомендации по выполнению работы
- •5.9.3. Контрольные вопросы и задания
- •Приложения Приложение 1.
- •Приложение 2.
- •Список литературы
5.8.2. Общие сведения и рекомендации по выполнению работы
В языке С++ существуют инструменты, позволяющие разделять программу вычислительного процесса на отдельные, логически обоснованные фрагменты. Это удобно делать в тех случаях, когда программа громоздка, имеет большое количество операторов. Такую программу сложно читать и воспринимать. Каждый из фрагментов в этом случае получает свое определенное назначение. Такие фрагменты в С++ называют функциями, они имеют определенную форму записи (синтаксис).
Таким образом, вторая часть программы (первая часть – директивы для препроцессора) может быть представлена в общем виде как совокупность функций различного назначения, среди которых обязательно должна присутствовать главная функция main( ). Главная функция выполняет координирующую роль при реализации вычислительного процесса. В нужный момент выполнения программы она "привлекает к работе" ту или иную функцию для реализации конкретных действий, которые "умеет" делать только вызываемая функция. Такая структурная организация программы делает ее более понятной и читабельной.
В общем случае тексты созданных функций могут размещаться как перед главной функцией main( ), так и после нее. Эти функции могут вызываться главной функцией для выполнения фрагмента вычислений, по которым они специализируются, но также и вызывать друг друга.
Если решено располагать тексты созданных функций перед главной, то в тех случаях, когда предполагается вызов одной функции другой, следует текст вызываемой функции располагать раньше текста вызывающей функции. Если таких взаимных вызовов функций нет, то и взаимное расположение их текстов может быть любое. Эта форма размещения функций удобна тогда, когда созданные функции вызываются только главной функцией main( ) и не вызывают друг друга. В противном случае следует напрягать внимание на их правильное размещение, что создает дополнительные трудности. При таких обстоятельствах удобно пользоваться другим способом.
Суть его состоит в том, что перед главной функцией main( ) записываются только заголовки созданных функций, завершаемых точкой с запятой (;). Такие заголовки называются прототипы, а полные тексты функций (вместе с заголовками), называемые определения, записываются после главной функции в любой последовательности. В этом случае не надо думать, как располагать тексты функций.
Следует помнить, что все переменные типа массив в функциях обрабатываются по ссылке, то есть функции используют не копии переменных, а их оригиналы, изменяя при этом начальное значение элементов массивов.
Необходимо обращать особое внимание на запись операторов вызова функций в части представления списка аргументов, который должен точно соответствовать списку параметров.
Массивы, используемые в качестве аргументов функций, перед ее вызовом должны быть предварительно описаны в вызывающей функции.
Для удобства размеры матрицы можно представить с помощью директивы define, а саму матрицу описать как глобальную переменную, поместив оператор ее описания перед текстами функций, сразу после директив.
При разработке программы особое внимание следует обратить на сущность операций, излагаемых в варианте задания. От этого зависит вид функции (функция, возвращающая результат по ссылке или по значению), особенности ее записи и вызова.