
- •Введение
- •Разработка функций рекурсивных и без рекурсии, использующих параметр – функцию и оператор return
- •Return (выражение);
- •Функция возвращает значение любого простого типа
- •Функция возвращает указатель на скаляр, массив, структуру, файл или функцию
- •А) Функция возвращает указатель на скаляр
- •Б) Функция возвращает указатель на первый элемент одномерного массива
- •3) Ссылка - возвращаемый результат функции
- •Return имя переменной;
- •2.2.2 Рекурсивные функции
- •2.2.3 Указатели на функции
- •( * Имя указателя) (список фактических параметров);
- •2.2.4 Массивы указателей на функции
- •2.2.5 Определение типа указателя на функцию
- •2.2.6 Указатель на функцию - параметр функции
- •2.3 Задание на выполнение лабораторной работы
- •Порядок выполнения работы
- •Пример выполнения лабораторной работы
- •2.6 Контрольные вопросы
- •2.7 Варианты заданий лабораторной работы
- •Лабораторная работа № 6 Разработка программ с использованием структурированных данных
- •3.1 Цель лабораторной работы
- •Теоретические сведения
- •3.2.1 Структурные типы и структуры
- •Для обращения к элементам, входящим в состав конкретной структуры используются уточненные имена:
- •(*Имя указателя). Имя элемента структуры
- •3.2.2 Инициализация структур
- •3.2.3 Динамическое выделение памяти под структуру и массив структур
- •Элементы структур
- •Элементы структуры могут иметь одинаковый тип, тогда при описании таких элементов можно указывать их общий тип, а имена перечислить через запятую:
- •Struct def { def a , int b; } ; // - ошибка!
- •Strspy ( a.Fio, “ Петров”) ;
- •3.2.5 Структуры и функции
- •3.2.6 Использование массива указателей, инициированного строками
- •3.3 Задание на выполнение лабораторной работы
- •3.4 Порядок выполнения работы
- •3.5. Пример выполнения лабораторной работы
- •3.6 Контрольные вопросы
- •3.7 Варианты заданий лабораторной работы
- •4. Список литературы
2.3 Задание на выполнение лабораторной работы
Дома:
1) Повторить материал лекций: 9 – Указатели, массивы, ссылки; 10 – Функции; 11- Функции и массивы;
Проработать материал лекции: 12 – Указатели на функции.
Материал лекций рассмотрен в [ 1: c.109-227 ; 2: c.62- 169, с.256-270].
Дано:
некоторая аналитическая функция, зависящая от одного аргумента x;
формула для вычисления значения функции в некоторой точке x дана в виде суммы бесконечного степенного ряда, представляющего убывающую последовательность членов, значения которых стремятся к нулю с ростом их номеров;
точность вычисления значения функции, определяющая пределы суммирования;
начальное, конечное значения и шаг изменения аргумента функции.
Надо разработать:
структуру программы;
схемы алгоритмов функций;
программу для вычисления значений функции с заданной точностью для заданных значений аргумента и вывода значений аргумента и функции в табличной форме;
Вычисление значений заданной функции, а именно суммы ряда
произвести следующими шестью способами:
1) с помощью встроенной функции (1 способ);
2) для вычисления очередного члена ряда использовать рекуррентную
формулу;
для суммирования очередных членов ряда использовать:
2.1 - оператор while (2 способ) ;
2.2 - оператор do-while (3 способ);
3) для вычисления значения очередного члена ряда определить функцию, возвращающую значение члена ряда, в зависимости от его номера в точке x; передать данную функцию посредством параметра в функцию, производящую суммирование членов ряда;
для суммирования очередных членов ряда использовать:
3.1 - оператор while (4 способ);
3.2 - оператор do-while (5 способ);
3.3 - рекурсивное суммирование (6 способ);
Каждый способ вычисления значений исходной функции должен быть оформлен в виде функции, возвращающей результат с помощью оператора return.
В классе:
Отладить программу обработки данных с использованием функций, реализующую алгоритмы.
Порядок выполнения работы
1) Вывести рекуррентную формулу для вычисления значения очередного члена ряда через предыдущий :
2) Определить функцию next(), возвращающую значение очередного члена ряда. Для этого разработать при необходимости алгоритмы и определить вспомогательные функции для вычисления, например, значений факториала целого числа, целой степени вещественного числа, значения –1 в степени n .
3) Определить тип указателя на функцию, такую как next(). Тип указателя использовать при определении параметра функции вычисляющей сумму ряда, предназначенного для передачи функции next(), определяющей значение очередного члена ряда.
4) Разработать алгоритмы и определить пять функций, вычисляющих различными способами (см. задание п.2.3) значение суммы ряда с заданной точностью; суммирование проводить, пока значение очередного члена ряда не станет меньше значения точности.
5) Определить главную функцию, в которой задать значение точности вычисления значений функции, а также диапазон и шаг изменения аргумента функции. Вывести в форме таблицы значение аргумента и значения функции, полученные шестью способами (первый способ – вызов встроенной функции, пять остальных – это вызовы функций, определенных в пункте 4;
6) Вывести на печать текст файла с результатами выполнения программы, а также текст файла программы.