Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ответы по информатике1.docx
Скачиваний:
1
Добавлен:
15.04.2019
Размер:
99.25 Кб
Скачать

30 Билет. Передача параметров в подпрограмму. Параметры входные и выходные, параметры передаваемые по значению и по адресу.

Передача параметров в подпрограмму.

Передача параметра есть замена формального параметра фактическим. Передать параметры можно двумя способами.

1) По значению.

2) По адресу.

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

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

Формальные параметры делятся на входные и выходные.

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

Входные параметры могут передаваться как по адресу так и по значению, а выходные параметры должны передаваться только по адресу.

31 Вопрос. Использование подпрограмм. Параметры формальные, локальные, глобальные, обращение к подпрограммам, фактические параметры.

Использование подпрограммы.

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

Типы параметров

Параметры указанные в описании называются формальными.

Указанные в обращении называются фактическими.

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

глобальные

Обращение к подпрограмме.

Чтобы использовать подпрограмму необходим уметь описать подпрограмму и уметь обратиться к ней в нужном месте с конкретными значениями параметров.

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

Обратиться к подпрограмме - значит указать её имя с конкретными значениями параметров в данной точке вызывающей(основной) программы.

32 Билет. Передача параметров-массивов в подпрограмму. Примеры.

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

Если нужно запретить изменение значения элементов массива или любой другой величины, то в описании параметра добавим ключевое слово const

Программа. Сумма элементов одномерного массива.

#include <iostream.h>

const int n =5 // размерность массива

// прототип функции

int sum (const.int n*mas, const int n); // (int mas[], int n)

int main () {

int marks[n]={1,2,3,4,5};

cout << "сумма элементов массива:"sum(marks,n)<<'\n';

return 0;

}

// определение функции.

int sum (const int *mas, const int n) // (int mas[], int n);

int s=0;

for (int i=0;i<n;i++) s=s+mas[i];

return s;

}

размерность известна и постоянна.

дальше идёт задача с многомерным массивом я хз надо её или нет.

после неё идёт :

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

дальше идёт пример описывающий этот процесс ^ хз нужен он или нет. завтра разберемся)