- •Параметры, указываемые в заголовке функции – это:
- •В операторе вызова функции указываются:
- •Истинные высказывания:
- •Истинные высказывания:
- •Истинные высказывания:
- •Если параметр функции представляет собой и результат ее выполнения, то он определяется как:
- •Истинные высказывания:
- •Локальная память процесса выполнения вызова функции включает память для хранения:
- •Прототипы функций:
- •Возможные вызовы функций:
- •Для функции
- •Истинные высказывания:
- •Взаимодействие функций будет корректным, если:
- •Способы повышения устойчивости функции:
- •Имя переменной, используемое в функции, отвечает:
- •Имя переменной, используемое Во вложенном блоке функции, отвечает:
- •Результат выполнения программы:
- •Результат выполнения программы:
- •Результат выполнения программы:
- •Значение переменной I после выполнения функции g():
- •Значение переменной j после выполнения функции g():
- •Результат выполнения программы:
- •Результат выполнения программы:
- •Результат выполнения программы:
- •Результат выполнения программы:
- •Результат выполнения программы:
- •Результат выполнения программы:
- •Результат выполнения программы:
- •Результат выполнения программы:
- •Результат выполнения программы:
- •Результат выполнения программы:
- •3. Никакие
- •3. Никакие
- •3. Никакие
- •Истинные высказывания:
- •Истинные высказывания:
- •Истинные высказывания:
- •Истинные высказывания:
- •Истинные высказывания:
- •Механизм разрешения перегрузки включает:
- •Неоднозначность при перегрузке может появиться:
- •Истинные высказывания:
- •Истинные высказывания:
- •Истинные высказывания:
- •Свойства параметров шаблона функции:
- •Свойства параметров шаблона функции:
- •Свойства параметров шаблона функции:
Результат выполнения программы:
void f(const int* p)
{ int i = 29;
p = i;
}
int main() {
int i = 17;
f (&i);
return 0;
}
1. все верно, т.к. изменяется неконстантное значение, хотя на него указывает константный указатель
2. все верно, т.к. изменяется значение неконстантного указателя, хотя он и указывает на константу
3. ошибка, т.к. изменяется значение константного указателя
4. ошибка, т.к. изменяется константное значение, на которое указывает неконстантный указатель
5. ошибка, т.к. невозможно при присваивании преобразовать тип int к типу const int*
Результат выполнения программы:
void f(int* );
int main() {
int i = 17;
const int* p = &i;
const int j = 29;
f (&i);
return 0;
}
1. все верно
2. ошибка, т.к. невозможно при присваивании преобразовать тип int к типу const int*
3. ошибка, т.к. невозможно при передаче параметров преобразовать тип const int* к типу int*
4. ошибка, т.к. невозможно при передаче параметров преобразовать тип int* к типу const int*
5. ошибка, т.к. невозможно при присваивании преобразовать тип const int* к типу int
Результат выполнения программы:
void f(int* );
int main() {
int i = 17;
const int* p = &i;
const int j = 29;
f (p);
return 0;
}
1. все верно
2. ошибка, т.к. невозможно при присваивании преобразовать тип int к типу const int*
3. ошибка, т.к. невозможно при передаче параметров преобразовать тип const int* к типу int*
4. ошибка, т.к. невозможно при передаче параметров преобразовать тип int* к типу const int*
5. ошибка, т.к. невозможно при присваивании преобразовать тип const int* к типу int
Результат выполнения программы:
void f(int* );
int main() {
int i = 17;
const int* p = &i;
const int j = 29;
f (&j);
return 0;
}
1. все верно
2. ошибка, т.к. невозможно при присваивании преобразовать тип int к типу const int*
3. ошибка, т.к. невозможно при передаче параметров преобразовать тип const int* к типу int*
4. ошибка, т.к. невозможно при передаче параметров преобразовать тип int* к типу const int*
5. ошибка, т.к. невозможно при присваивании преобразовать тип const int* к типу int
Гр.15________________________________________________________________________________________________________________________
ЕСЛИ функция maxmin (x, y) ПРИСВАИВАЕТ ПАРАМЕТРУ х БОЛЬШЕЕ ИЗ вещественных ЧИСЕЛ х, y, А ПАРАМЕТРУ y – МЕНЬШЕЕ ИЗ НИХ, ТО ПАРАМЕТРАМИ, передаваемыми по значению, СЛЕДУЕТ ОБЪЯВИТЬ:
1. х
2. y
3. Никакие
ЕСЛИ функция maxmin (x, y) ПРИСВАИВАЕТ ПАРАМЕТРУ х БОЛЬШЕЕ ИЗ вещественных ЧИСЕЛ х, y, А ПАРАМЕТРУ y – МЕНЬШЕЕ ИЗ НИХ, ТО ПАРАМЕТРАМИ, передаваемыми по ссылке, СЛЕДУЕТ ОБЪЯВИТЬ:
1. х
2. y
3. Никакие
ЕСЛИ функция maxmin (x, y) ПРИСВАИВАЕТ ПАРАМЕТРУ х БОЛЬШЕЕ ИЗ вещественных ЧИСЕЛ х, y, А ПАРАМЕТРУ y – МЕНЬШЕЕ ИЗ НИХ, ТО ПАРАМЕТРАМИ, передаваемыми по указателю, СЛЕДУЕТ ОБЪЯВИТЬ:
1. х
2. y
3. Никакие
РЕЗУЛЬТАТ ВЫПОЛНЕНИЯ ПРОГРАММЫ:
int fun(char x, char & y) {
y= x+1;
return 0;
}
int main() {
char c='A';
fun('B', c);
cout << c << endl;
_getch();
return 0;
}
1. A
2. B
3. ошибка
4. C
ЕСЛИ функция maxmin (x, y) ПРИСВАИВАЕТ ПАРАМЕТРУ х БОЛЬШЕЕ ИЗ вещественных ЧИСЕЛ х, y, А ПАРАМЕТРУ y – МЕНЬШЕЕ ИЗ НИХ, ТО ДОПУСТИМЫ ВЫЗОВЫ:
1. maxmin (5.2, sin(z)); где z – типа double
2. maxmin (&a, &b); где a, b – типа double
3. maxmin (&z, &k); где z – типа double, k – типа char
4. maxmin (3, 10);
5. maxmin (z, sin(k)); где z – типа double, k – типа char
6. maxmin (sin(k), z); где z – типа double, k – типа char
7. maxmin (k, k); где k – типа char
8. maxmin (a, b); где a, b – типа double
РЕЗУЛЬТАТ ВЫПОЛНЕНИЯ ПРОГРАММЫ:
int fun(char x, char y) {
y= x+1;
return 0;
}
int main() {
char c='A';
fun('B', c);
cout << c << endl;
_getch();
return 0;
}
1. A
2. B
3. ошибка
4. C
РЕЗУЛЬТАТ ВЫПОЛНЕНИЯ ПРОГРАММЫ:
int fun (int x, int & y){
x=x+1; y=y+1;
return 0;
}
int main() {
int a=5, b=5;
fun(a, b);
cout << a << b <<endl;
_getch();
return 0;
}
56
РЕЗУЛЬТАТ ВЫПОЛНЕНИЯ ПРОГРАММЫ:
int i;
int fun( int i)
{ i=i*2; return i;
}
int main() {
int i=2;
fun(i);
cout << i << endl;
_getch();
return 0;
}
2
Гр.16_______________________________________________________________________________________________________________________
РЕКУРСИВНОЕ ОПРЕДЕЛЕНИЕ ВОЗМОЖНО, ЕСЛИ:
1. множество определяемых элементов частично упорядочено
2. каждая убывающая по этому упорядочению последовательность элементов заканчивается некоторым минимальным элементом
3. минимальные элементы определяются нерекурсивно
4. неминимальные элементы определяются с помощью элементов, которые меньше их по этому упорядочению
УСЛОВИЯ РАБОТОСПОСОБНОСТИ РЕКУРСИВНЫХ функций:
1. наличие условия окончания рекурсивного вызова
2. отсутствие в функции глобальных переменных
3. использование в качестве параметра рекурсивной функции локальных переменных
ГЛУБИНА РЕКУРСИИ – ЭТО:
1. максимальное количество незаконченных вызовов
2. число рекурсивных вызовов на данный момент времени
3. общее количество вызовов, порожденных вызовом рекурсивной функции
ТЕКУЩИЙ УРОВЕНЬ РЕКУРСИИ – ЭТО:
1. максимальное количество незаконченных вызовов
2. число рекурсивных вызовов на данный момент времени
3. общее количество вызовов, порожденных вызовом рекурсивной подпрограммы
4. общее число рекурсивных вызовов на данный момент времени во всех функциях;
5. общее количество вызовов, порожденных вызовом всех рекурсивных функций;
ОБЩЕЕ КОЛИЧЕСТВО ВЫЗОВОВ В РЕКУРСИВНОЙ функции – ЭТО:
1. максимальное количество незаконченных вызовов;
2. число рекурсивных вызовов на данный момент времени;
3. общее количество вызовов, порожденных вызовом рекурсивной функции;
4. общее число рекурсивных вызовов на данный момент времени во всех функциях;
5. общее количество вызовов, порожденных вызовом всех рекурсивных функций;
ЕСЛИ ПОДПРОГРАММА СОДЕРЖИТ ВЫЗОВЫ САМОЙ СЕБЯ, ТО ЭТО РЕКУРСИЯ:
1. прямая
2. обратная
3. косвенная
ЕСЛИ функция ОБРАЩАЕТСЯ К СЕБЕ ЧЕРЕЗ ВЫЗОВ В ДРУГОЙ функции, ТО ЭТО РЕКУРСИЯ:
1. прямая
2. обратная
3. косвенная
ФОРМА РЕКУРСИВНОЙ функции ОПРЕДЕЛЯЕТСЯ В ЗАВИСИМОСТИ ОТ ВЫПОЛНЕНИЯ ЕЮ ДЕЙСТВИЙ:
1. на рекурсивном спуске (до рекурсивного вызова)
2. на рекурсивном возврате (после рекурсивного вызова)
3. как на рекурсивном спуске, так и на рекурсивном возврате
ИСТИННЫЕ ВЫСКАЗЫВАНИЯ:
1. в рекурсивной функции должна содержаться проверка значений аргументов для принятия решения о ее завершении
2. при вызове рекурсивной функции с некоторым значением аргумента ее выполнение не завершается до конца, а порождает новый вызов с другим значением аргумента
3. каждый рекурсивный вызов сопровождается выделением стековой памяти под параметры-значения и локальные переменные
4. выполнение рекурсивных вычислений с большой глубиной рекурсии нередко приводит к переполнению стека
5. рекурсивное описание алгоритма обработки и его программная реализация, как правило, не экономичны – требуют много памяти и времени
Гр.17_______________________________________________________________________________________________________________________