Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
тест_10_л_9_11.doc
Скачиваний:
4
Добавлен:
24.08.2019
Размер:
260.1 Кб
Скачать
  1. Результат выполнения программы:

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*

  1. Результат выполнения программы:

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

  1. Результат выполнения программы:

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

  1. Результат выполнения программы:

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________________________________________________________________________________________________________________________

  1. ЕСЛИ функция maxmin (x, y) ПРИСВАИВАЕТ ПАРАМЕТРУ х БОЛЬШЕЕ ИЗ вещественных ЧИСЕЛ х, y, А ПАРАМЕТРУ  y – МЕНЬШЕЕ ИЗ НИХ, ТО ПАРАМЕТРАМИ, передаваемыми по значению, СЛЕДУЕТ ОБЪЯВИТЬ:

1. х

2. y

3. Никакие

  1. ЕСЛИ функция maxmin (x, y) ПРИСВАИВАЕТ ПАРАМЕТРУ х БОЛЬШЕЕ ИЗ вещественных ЧИСЕЛ х, y, А ПАРАМЕТРУ  y – МЕНЬШЕЕ ИЗ НИХ, ТО ПАРАМЕТРАМИ, передаваемыми по ссылке, СЛЕДУЕТ ОБЪЯВИТЬ:

1. х

2. y

3. Никакие

  1. ЕСЛИ функция maxmin (x, y) ПРИСВАИВАЕТ ПАРАМЕТРУ х БОЛЬШЕЕ ИЗ вещественных ЧИСЕЛ х, y, А ПАРАМЕТРУ  y – МЕНЬШЕЕ ИЗ НИХ, ТО ПАРАМЕТРАМИ, передаваемыми по указателю, СЛЕДУЕТ ОБЪЯВИТЬ:

1. х

2. y

3. Никакие

  1. РЕЗУЛЬТАТ ВЫПОЛНЕНИЯ ПРОГРАММЫ:

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

  1. ЕСЛИ функция 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

  1. РЕЗУЛЬТАТ ВЫПОЛНЕНИЯ ПРОГРАММЫ:

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

  1. РЕЗУЛЬТАТ ВЫПОЛНЕНИЯ ПРОГРАММЫ:

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

  1. РЕЗУЛЬТАТ ВЫПОЛНЕНИЯ ПРОГРАММЫ:

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. РЕКУРСИВНОЕ ОПРЕДЕЛЕНИЕ ВОЗМОЖНО, ЕСЛИ:

1. множество определяемых элементов частично упорядочено

2. каждая убывающая по этому упорядочению последовательность элементов заканчивается некоторым минимальным элементом

3. минимальные элементы определяются нерекурсивно

4. неминимальные элементы определяются с помощью элементов, которые меньше их по этому упорядочению

  1. УСЛОВИЯ РАБОТОСПОСОБНОСТИ РЕКУРСИВНЫХ функций:

1. наличие условия окончания рекурсивного вызова

2. отсутствие в функции глобальных переменных

3. использование в качестве параметра рекурсивной функции локальных переменных

  1. ГЛУБИНА РЕКУРСИИ – ЭТО:

1. максимальное количество незаконченных вызовов

2. число рекурсивных вызовов на данный момент времени

3. общее количество вызовов, порожденных вызовом рекурсивной функции

  1. ТЕКУЩИЙ УРОВЕНЬ РЕКУРСИИ – ЭТО:

1. максимальное количество незаконченных вызовов

2. число рекурсивных вызовов на данный момент времени

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

4. общее число рекурсивных вызовов на данный момент времени во всех функциях;

5. общее количество вызовов, порожденных вызовом всех рекурсивных функций;

  1. ОБЩЕЕ КОЛИЧЕСТВО ВЫЗОВОВ В РЕКУРСИВНОЙ функции – ЭТО:

1. максимальное количество незаконченных вызовов;

2. число рекурсивных вызовов на данный момент времени;

3. общее количество вызовов, порожденных вызовом рекурсивной функции;

4. общее число рекурсивных вызовов на данный момент времени во всех функциях;

5. общее количество вызовов, порожденных вызовом всех рекурсивных функций;

  1. ЕСЛИ ПОДПРОГРАММА СОДЕРЖИТ ВЫЗОВЫ САМОЙ СЕБЯ, ТО ЭТО РЕКУРСИЯ:

1. прямая

2. обратная

3. косвенная

  1. ЕСЛИ функция ОБРАЩАЕТСЯ К СЕБЕ ЧЕРЕЗ ВЫЗОВ В ДРУГОЙ функции, ТО ЭТО РЕКУРСИЯ:

1. прямая

2. обратная

3. косвенная

  1. ФОРМА РЕКУРСИВНОЙ функции ОПРЕДЕЛЯЕТСЯ В ЗАВИСИМОСТИ ОТ ВЫПОЛНЕНИЯ ЕЮ ДЕЙСТВИЙ:

1. на рекурсивном спуске (до рекурсивного вызова)

2. на рекурсивном возврате (после рекурсивного вызова)

3. как на рекурсивном спуске, так и на рекурсивном возврате

  1. ИСТИННЫЕ ВЫСКАЗЫВАНИЯ:

1. в рекурсивной функции должна содержаться проверка значений аргументов для принятия решения о ее завершении

2. при вызове рекурсивной функции с некоторым значением аргумента ее выполнение не завершается до конца, а порождает новый вызов с другим значением аргумента

3. каждый рекурсивный вызов сопровождается выделением стековой памяти под параметры-значения и локальные переменные

4. выполнение рекурсивных вычислений с большой глубиной рекурсии  нередко приводит к переполнению стека

5. рекурсивное описание алгоритма обработки и его программная реализация, как правило, не экономичны – требуют много памяти и времени

Гр.17_______________________________________________________________________________________________________________________

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]