
- •Отчет по лабораторной работе №2
- •Содержание
- •Цель работы
- •1.Теоретическая часть
- •1.1.Основные понятия о функциях
- •1.1.1.Определение функций
- •1.1.2.Описание функции
- •1.1.3.Вызов функции
- •1.1.4.Передача параметров
- •1.2.Inline функция
- •1.3.Рекурсивные функции
- •2.Практическая часть
- •2.1.Описание программы 2lb1.Cpp
- •2.2.Описание программы 2lb2.Cpp
- •2.3.Описание программы laba1_3.Cpp
- •Заключение
- •Список литературы
- •Приложение а
Федеральное агентство по образованию Российской Федерации
Государственное образовательное учреждение высшего профессионального образования
«Уфимский Государственный Авиационный Технический Университет»
Кафедра ВВТиС
Отчет по лабораторной работе №2
Функции в С++
Выполнил: студент гр. ПМ-125
Марьин Д.Ф.
Проверил: ст. преподаватель каф. ВВТиС
Насибуллаева Э.Ш.
Уфа 2005
Содержание
Цель работы 3
1.ТЕОРЕТИЧЕСКАЯ ЧАСТЬ 4
1.1.Основные понятия о функциях 4
1.1.1.Определение функций 4
1.1.2.Описание функции 4
1.1.3.Вызов функции 5
1.1.4.Передача параметров 5
1.2.Inline функция 5
1.3.Рекурсивные функции 6
2.ПРАКТИЧЕСКАЯ ЧАСТЬ 6
2.1.Описание программы 2LB1.cpp 6
2.2.Описание программы 2LB2.cpp 6
2.3.Описание программы LABA1_3.cpp 6
ЗАКЛЮЧЕНИЕ 7
Список литературы 8
ПРИЛОЖЕНИЕ А 9
Цель работы
Ознакомиться со способами объявления функции
Рассмотреть большинство типов используемых функций и разобраться в преимуществах использования каждого вида
Разобраться, в каких ситуациях лучше использовать inlineфункцию
Понять разницу в использовании рекурсивной функции и функции с итерационным циклом
Научиться рационально создавать функции с целью облегчения в написании алгоритма и повышения быстродействия вычислений
Задание к лабораторной работе №2:
1. Написать программу, которая выводит число a, принадлежащееN, в степениb, принадлежащейR. Программа должна создать две функции:1-я функция, которая находит произведение 2-х чисел, располагается после функции main; 2-я функция, которая выводит результат на экран, располагается до функции main.
2. Написать программу, вычисляющую периметр параллелограмма с помощью inline функции.
3. Написать программу, вычисляющую
частичную сумму ряда
.
Расчет должен производиться 2-мя способами:
1) с помощью рекурсивной функции ;
2) с помощью функции, содержащей итерационный цикл.
Во всех программах должна быть предусмотрена защита ввода неправильных данных.
1.Теоретическая часть
1.1.Основные понятия о функциях
1.1.1.Определение функций
В соответствии с синтаксисом в языке С определены три производных типа: массив, указатель и функция.
В языке С функцию следует рассматривать с двух точек зрения. Во-первых, функция - это один из производных типов данных, а во-вторых - это минимальный исполняемый модуль программы на языке С. Все функции в языке С имеют следующий формат определения:
<тип> <имя_функции> (<спецификация параметров>)
<тело функции>
Здесь <тип> либо void (для функций, не возвращающих значения), либо обозначение типа возвращаемого функцией значения.
<имя_функции>- либо main для основной (главной) функции программы, либо произвольно выбираемое программистом имя (идентификатор).
<спецификация параметров> - это либо пусто, либо список формальных параметров, каждый элемент которого имеет вид:
<обозначение_типа> <имя_параметра>
<тело функции> - это часть определения функции, представляющая программный блок, т.е. ограниченный фигурными скобками фрагмент текста на языке С, размещенный непосредственно вслед за заголовком функции. Особенность языка С состоит в невозможности внутри тела функции определить другую функцию: определения функций не могут быть вложенными.
Для завершения (прерывания) работы функции служит оператор return. Существует две формы этого оператора:
return; // Возврат без передачи результата
return <выражение>; // Возврат значения
Первая форма используется для функций, перед именем которой в определении указан тип void. Для функций этого типа оператор return можно в тексте программы не писать вовсе - компилятор встроит его автоматически перед закрывающей фигурной скобкой тела функции.
<выражение> во второй форме оператора должно иметь тип, совпадающий с типом функции или допускающий автоматическое преобразование к типу возвращаемого функцией значения.