Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика 1 курс / метод указания / Информатика. Основы программирования на С++. Учебное пособие.doc
Скачиваний:
149
Добавлен:
08.06.2015
Размер:
2.15 Mб
Скачать

Контрольные вопросы

  1. Дайте определение массива.

  2. Поясните формат описания массива. Приведите примеры.

  3. Каким образом осуществляется доступ к элементам массива? Приведите примеры.

  4. Какие способы инициализации массива Вы знаете?

  5. Как связаны максимальный индекс и размерность массива?

  6. Как описываются двумерные массивы?

  7. Как можно инициализировать двумерный массив? Приведите примеры.

  8. В чем заключается сущность задачи сортировки массива?

  9. Для чего в программах используются манипуляторы?

  10. Приведите примеры использования манипуляторов вывода чисел.

  11. Какой заголовочный файл необходимо подключить к программе для использования манипуляторов с аргументом?

  12. Какие манипуляторы наиболее часто используются для формирования таблиц?

6. Составление программ с использованием функций

Функция– это именованная последовательность описаний и операторов, выполняющая какое-либо законченное действие. Функции в языке С++ имеют практически тот же смысл, что и функции в математике. Программа вызывает функцию с определенными аргументами; последняя выполняет необходимые действия и возвращает результат.

6.1. Описание, объявление и вызов функций

Любая программа на С++ состоит из функций, по крайней мере, одной функции main, называемойглавной функцией. С нее всегда начинается выполнение программы.

Каждая функция должна быть определена или объявлена до ее использования в программе. Определение(описание) функции состоит из заголовка и тела функции и имеет следующую форму:

тип_результата имя_функции (список_параметров) //заголовок функции

{тело_функции}

Тип возвращаемого значения (результата) может быть любым, кроме массива и функции. Если функция не должна возвращать значение, то указывается типvoid, например:

void main ( )

Имя функции желательно подбирать, исходя из содержания решаемой задачи. Это удобно для пользователя, так как имя функции будет давать представление о ее назначении.

Например: stepen, summa, sort, koren.

Список параметров (аргументов) определяет величины, которые требуется передать в функцию при ее вызове. Их часто называютформальными параметрами. Элементы списка разделяются запятыми. Для каждого параметра указывается его тип и имя. При отсутствии аргументов список может быть пустым ( ) или иметь спецификаторvoid.

Тело функции представляет собой блок объявлений и операторов, описывающих определенный алгоритм. Особое место среди них занимает операторreturn.Он обеспечивает немедленный возврат в вызывающую функцию и может использоваться для передачи вычисленного значения функции.

Пример. Определение функции вычисления:

double koren (double x, int n) //заголовок функции

{ double y=pow(x,1.0/n);//1.0 исключает целочисленное деление

return y; //возвращение значения у

}

Если описание функции следует за использованием функции, то в начале исходного файла (программы) необходимо поместить ее объявление (прототип).

Прототипфункции по форме такой же, как заголовок. Однако имеются два существенных отличия: во-первых, прототип всегда заканчивается символом ';', во-вторых, в списке параметров имена аргументов функции можно не указывать, так как компилятор их игнорирует. То есть объявление функции указывает тип возвращаемого значения, количество и типы параметров. Например, для выше рассмотренной функции прототип имеет вид

double koren (double, int);

После того как функция объявлена, ее можно использовать в программе. Если функция описана раньше ее использования, то прототип не требуется.

Для вызовафункции нужно указать ее имя, за которым в круглых скобках через запятую перечисляются именафактическихпараметров. Число и типы фактических аргументов должны совпадать с числом и типом формальных параметров функции. Соответствие между формальными и фактическими параметрами устанавливается по порядку их расположения в списках.

Вызов функции может находиться в любом месте программы, но только после объявления функции. Если тип возвращаемого значения не void, вызов функции может осуществляться извыражений.