Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Лабораторная работа. Функции. Рекурсия↑ ⇐ ПредыдущаяСтр 5 из 5 Содержание книги Поиск на нашем сайте
Цель: получить практические навыки использования функций в С++.
Общие сведения Кроме стандартных функций, размещенных в заголовочных файлах, язык C++ позволяет формировать пользовательские функции. Эти функции целесообразно создавать, если при решении задач возникает необходимость проводить вычисления многократно по одним и тем же алгоритмам. Применение функций позволяет разделить программу на простые, легко контролируемые части. При использовании функций необходимо различать описание функции и оператор вызова функции. Структура функции похожа на структуру программы main. Описание функции содержит заголовок функции, объявления переменных и операторы: тип_функции имя_функции (список формальных_параметров) { объявления переменных; оператор1; …; операторы; } Здесь: тип_функции — тип возвращаемого в основную программу результата; имя_функции — уникальное имя, соответствующее по смыслу операции, которую выполняет функция (например, max — определение максимального из двух чисел); список_формальных_параметров — перечень формальных параметров и их типов. Формальные параметры— это наименования переменных, через которые передается информация из основной программы в функцию. Для вызова функции достаточно указать ее имя со списком фактических параметров в любом выражении вызывающей программы: имя_функции (список_фактических_параметров); Фактические параметры— это наименования переменных, значения которых при обращении к функции, присваиваются соответствующим формальным параметрам. Для возвращения вычисленного значения в основную программу в функциях используется оператор return(результат); Если описание функции размещается в программе после обращения к ней, в начало программы нужно поместить прототип функции. Прототип функции содержит информацию об имени функции, типе возвращаемого значения, количестве и типе формальных параметров, например: float max(float, float); Кроме переменных, в качестве формальных параметров в функциях могут выступать и массивы. Рекурсия - вычислительный процесс, направленный на решение определенной задачи таким образом, что само решение использует этот же процесс, решающий аналогичную подзадачу. В программировании под рекурсией понимают такую реализацию, в которой подпрограмма использует в своем теле вызов самой себя. Такие вызовы называют рекурсивными. Когда функция A в своем теле вызывает только одну рекурсивную функцию (саму себя), то говорят о простой рекурсии. Под косвенной рекурсией понимают явление, когда рекурсивные функции вызывают друг друга (например, функция А вызывает B, а функция B вызывает A). Рекурсивные алгоритмы сложнее отлаживать, но порой они позволяют очень гибко и красиво решить задачу. Известно, что любой рекурсивный алгоритм можно заменить нерекурсивным, но это будет стоить больше времени на реализацию. Главное, чтобы рекурсивная функция не вызывала себя бесконечно, иначе программа не будет работать. Поэтому при реализации рекурсивных алгоритмов необходимо уделять внимание тому, чтобы алгоритм был конечным, т.е. выполнение рекурсивной функции должно когда-нибудь завершиться.
Задание к лабораторной работе Решить задачу с использованием рекурсивной функции (таблица 8.1). Построить блок-схему программы. Организовать ввод и вывод данных.
Таблица 8.1 – Варианты заданий
8.3 Контрольные вопросы 8.3.1 Что представляет собой функция? 8.3.2 Опишите структуру функции? 8.3.3 По каким правилам оформляются заголовки функций? 8.3.4 В чем разница между формальными и фактическими параметрами? 8.3.5 Как осуществляется объявление локальных и глобальных переменных? 8.3.6 С какой целью в программах используются прототипы функций? 8.3.7 Что такое перегрузка функций? 8.3.8 Что такое рекурсия? В чем отличие между простой и косвенной рекурсией? 8.3.9 Назовите достоинства и недостатки рекурсивных функций. 8.3.10 Приведите примеры использования рекурсивных функций. Список литературы 1 Страуструп Б. Язык программирования С++. – М., 2012. 2 Павловская Т.А. С/С++. Структурное программирование. – СПб., 2010. 3 Немцова Т.И. Программирование на языке высокого уровня. Программирование на языке С++. М.: «Форум», 2012. 4 Ашарина И.В. Основы программирования на языках С и С++. - М., Горячая линия-Телеком, 2012. 5 Аляев Ю.А., Козлов О.А. Алгоритмизация и языки программирования Pascal, C++, VisualBasic: Учебно - справочное пособие. – М.: Финансы и статистика, 2004. 6 Культин Н. С/С++ в задачах и примерах. – СПб.: Питер, 2011.
Содержание
1 Лабораторная работа. Использование базовых и дополнительных структур С++ при решении вычислительных задач........................................................... 3 2 Лабораторная работа. Характерные приемы программирования....... 7 3 Лабораторная работа. Массивы и их обработка................................... 9 4 Лабораторная работа. Методы сортировки массивов......................... 13 5 Лабораторная работа. Обработка символьных данных..................... 16 6 Лабораторная работа. Работа со структурами и объединениями...... 18 7 Лабораторная работа. Файлы и работа с ними................................... 21 8 Лабораторная работа. Функции. Рекурсия.......................................... 23 9 Список литературы................................................................................ 27
Cводный план 2014 г., поз. 117
Наталья Валерьевна Сябина Лариса Николаевна Рудакова
ТЕХНОЛОГИИ ПРОГРАММИРОВАНИЯ
Методические указания по выполнению лабораторных работ для студентов специальности 5B070200
Редактор Л.Т. Сластихина Специалист по стандартизации Н.К. Молдабекова
Копировально-множительное бюро некоммерческого акционерного общества «Алматинский университет энергетики и связи» 050013, Алматы, ул. Байтурсынова, 126
|
|||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2016-09-20; просмотров: 718; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.118.149.55 (0.009 с.) |