Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Otvety_na_ekz_po_OP.docx
Скачиваний:
22
Добавлен:
23.09.2022
Размер:
260.63 Кб
Скачать
  1. Функции в языках программирования. Функция как подпрограмма. “Черный ящик”.

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

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

Черный ящик (черный в смысле -- не прозрачный) -- это система (в т.ч. ПО), внутреннее устройство которой в рассматриваемой ситуации не важно, т.е. мы знаем что и из чего делает эта система, но не знаем/не хотим знать как она эта делает (не знаем "механизм" работы).

  1. Концептуализация кода с помощью функций. Интерфейс функции. Процедура. Прототип функции.

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

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

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

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

  1. Функции в C++. Аргументы и параметры. Аргументы по-умолчанию. 

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

Параметр функции — переменная в функции, которая будет содержать передаваемое снаружи входное значение.

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

Аргумент по-умолчанию является аргументом функции, который при вызове необязательно указывать. В большинстве языков программирования, функции могут принимать один или несколько аргументов. Как правило, все аргументы должны быть указаны в полном объеме. Позже некоторые языки (например, C++) позволяли программисту в объявлении функции указывать значения некоторых аргументов. Таким образом функцию можно было вызывать, передавая лишь обязательные аргументы.

  1. Перегрузка функций. Правила вызова перегруженной функции. Сигнатура функции.

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

Например, print функция, которая принимает std::string аргумент, может выполнять задачи, отличные от тех, которые принимают аргумент типа double . Перегрузка позволяет избежать использования таких имен, как print_string или print_double . Во время компиляции компилятор выбирает, какую перегрузку следует использовать в зависимости от типа аргументов, передаваемых вызывающим объектом. При вызове print(42.0)void print(double d) функции будет вызвана функция. При вызове print("hello world")void print(std::string) метода будет вызвана перегрузка.

Сигнатура функции - это описание её заголовка, в которое обычно входят:

  • имя функции

  • число и тип и порядок следоваения передаваемых в неё параметров (в т.ч. и то как именно они передаются, напр. по ссылке или по значению)

  • тип возвращаемого значения