Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Часть If. Становимся программистами




accumulatedValue =

 

// вывод общей суммы на экран

<<     сумма равна "

<<

«

 

// ...пок а возвращаемая сумма не равна

} whil e (accumulatedValue ! = 0) ; cout << "Программа завершена\п"; retur n

 

 

Вызов функции sumSequence ()

Главная часть программы сконцентрирована в фигурных скобках, следующих после объявления функции main() . Эта часть кода очень напоминает программу

 

Различие состоит в том, что внутри функции main(> содержится выражение accumulatedValue sumSequence (). В правой части ЭТОГО выражения вызывается функция  sumSequence ().  Возвращаемое  функцией     сохраняется в переменной accumulatedValue, а затем выводится на экран. Главная программа выполняет цикл до тех пор, пока значение суммы, возвращаемой внутренней функцией, остается отличным от 0. Нулевое значение говорит о том, что пользователь закончил вычисление сумм последовательностей.

Вызвать функцию — это значит начать выполнение кода, который содержится в ней. После завершения этого процесса программа передаст управление инструкции, следующей непосредственно за вызовом функции.

Определение функции                       ()

Определение этой функции начинается с инструкции in t sumSequence (void). Заключенный в фигурные скобки блок кода называется телом функции. Как видите, тело функции sumSequence () идентично внутреннему циклу программы NestDemo.

Работа программы осуществляется следующим образом: функция main выполняет цикл, внутри которого (там, где в программе NestDemo находился внутренний цикл) про- исходит вызов функции sumSequence (). Она вычисляет сумму, а результат возвращает в функцию main программы, после чего продолжается выполнение внешнего цикла.

 

анализ функций

Функции являются первоосновой программ C++. Поэтому каждый программист должен отчетливо понимать все нюансы их определения, написания и отладки.

Функцией называют логически обособленный блок кода C++, имеющий сле- дующий вид:

возЕращаемого  значения>                                            функцию)

{

 

}

Аргументами функции называются значения, которые можно передать ей при вызо-

ве. В возвращаемом значении указывается результат, который функция возвращает по окончании работы. Например, в вызове функции возведения в квадрат square (10) 10 является аргументом, а возвращаемое значение равно 100.

Глава 6. Создание функций                                                                      69


И аргументы, и возвращаемое значение функции необязательны. Если что-то отсут- ствует, вместо него используется ключевое слово void. Значит, если вместо списка ар- гументов используется void, то при вызове функция не получает никаких аргументов (как и в рассмотренной программе FunctionDemo). Если же возвращаемый тип функ- ции — void, то вызывающая программа не получает от функции никакого значения.

В программе FunctionDemo используется функция с именем sumSequence () , ко- торая не имеет аргументов и возвращает значение целочисленного типа.

Тип аргументов функции по умолчанию — void,  поэтому функцию in t (void) можно записать как in t ().

 

 

Использование функции позволяет работать с каждой из двух частей программы FunctionDemo в отдельности. При написании функции sumSequence () я концентри- рую внимание на вычислении суммы чисел и не думаю об остальном коде, вызываю- щем эту функцию.

При написании функции main () я работаю с возвращаемой функцией sumSequence () — суммой последовательности (на этом уровне абстракции я знаю только, что выполняет функция, а не как именно она это делает).

 



Простыефункции

Функция sumSequence () возвращает целое значение. Функции могут возвращать значение любого стандартного типа, например double или char (типы переменных рассматриваются в главе 5, "Операторы управления программой").

Если функция ничего не возвращает, то возвращаемый тип помечается как void.

Функции различаются по типу возвращаемого значения. Так, целочислен- ной называют ту, которая возвращает целое значение. Функция, которая ничего не возвращает, известна как void-функция. Далее приведен пример функции, выполняющей некоторые действия, но не возвращаю- щей никаких значений.

void echoSquare(>

{

cout << "Введите значение:"; cin >> value;

cout << "\n"«value*value « "\n";

return;

)

Сначала управление передается первой инструкции после открывающей скобки, затем

поочередно выполняются все команды до инструкции retur n (которая в данном случае не требует аргумента). Эта инструкция передает управление вызывающей функции.

Инструкция retur n в void-функциях является необязательной. Если она отсутствует, то выполнение функции прекращается при достижении за- крывающей фигурной скобки.

 

С аргументами

без аргументов используются редко, так как связь с такими функциями односторонняя, т.е. осуществляется только посредством возвращаемых значений. Ар- гументы функций позволяют установить двустороннюю связь — через передаваемые параметры и возвращаемые значения.

 

 


Поделиться:



Последнее изменение этой страницы: 2019-04-19; Просмотров: 235; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.012 с.)
Главная | Случайная страница | Обратная связь