игра брюс 2048
Главная / Программирование / Программирование / Тест 53

Программирование - тест 53

Упражнение 1:
Номер 1
Какая из приведенных ниже строк языка С/С++ описывает
массив указателей на тип char?

Ответ:

 (1) char (*a)[100];  

 (2) char *a[100];  

 (3) char (&a)[100];  

 (4) char &a[100];  


Номер 2
Какой объект описан в следующей строке программы
на C/C++?

    double (*a)[20];


Ответ:

 (1) Массив из 20 элементов типа указатель на double.  

 (2) Указатель на массив из 20 элемментов типа double.  

 (3) Указатель на первую переменную массива типа double.  


Номер 3
Какой объект описан в следующей строке программы
на C/C++?

    double a[20][30];


Ответ:

 (1) Массив из 20 элементов типа массив из 30 элементов типа double.  

 (2) Массив из 30 элементов типа массив из 20 элементов типа double.  

 (3) Указатель на первую переменную массива типа double.  

 (4) Указатель на массив из 20 элементов типа массив из 30 элементов типа double.  


Упражнение 2:
Номер 1
Чему будет равно значение переменной n
в результате выполнения следующего фрагмента программы?
Процессор имеет 32-разрядную архитектуру.

    double a[4][3]; int n, m;
    n = (int)(a+1); m = (int) a;
    n -= m;


Ответ:

 24 


Номер 2
Чему будет равно значение переменной n
в результате выполнения следующего фрагмента программы?
Процессор имеет 32-разрядную архитектуру.

    double (*a)[4]; int n, m;
    n = (int)(a+1); m = (int) a;
    n -= m;


Ответ:

 32 


Номер 3
Чему будет равно значение переменной n
в результате выполнения следующего фрагмента программы?
Процессор имеет 32-разрядную архитектуру.

    double a[10][2]; int n, m;
    n = (int)(a+1); m = (int) a;
    n -= m;


Ответ:

 16 


Упражнение 3:
Номер 1
Укажите, какие из приведенных ниже строк языка C/C++
корректно описывают объекты языка.

Ответ:

 (1) void *(*f(int x))[10];  

 (2) void (*f)(int x)[10];  

 (3) int (*f(int x))[10];  

 (4) char *(*f[10])(int x);  


Номер 2
Укажите, какие из приведенных ниже строк языка C/C++
корректно описывают объекты языка.

Ответ:

 (1) void (*f[10])(int x);  

 (2) void (*(*f)[10])(int x);  

 (3) void (*f)(int x)[10];  

 (4) char (*f(int x))[16];  


Номер 3
Укажите, какие из приведенных ниже строк языка C/C++
корректно описывают объекты языка.

Ответ:

 (1) void (*a[10][20])(int x);  

 (2) int (*(*a)(int x))[256];  

 (3) void (*a)(double x)[10];  

 (4) double (*a(int x))[3];  


Упражнение 4:
Номер 1
Эквивалентны ли в языке C/C++ типы PntAct
и VectAct,
заданные в приведенном ниже фрагменте программы?

typedef double R3Point[3];
typedef double R3Vector[3];
typedef void (*PntAct)(R3Point);
typedef void (*VectAct)(R3Vector);


Ответ:

 (1) Эквивалентны.  

 (2) Не эквивалентны.  


Номер 2
Эквивалентны ли в языке C/C++ типы 
Matrix и Transform,
заданные в приведенном ниже фрагменте программы?

typedef double Matrix[3][3];
typedef double Transform[3][3];


Ответ:

 (1) Эквивалентны.  

 (2) Не эквивалентны.  


Номер 3
Эквивалентны ли в языке C/C++ типы 
Callback и Action,
заданные в приведенном ниже фрагменте программы?

typedef void (*Callback)(char *);
typedef void (*Action)(void *);


Ответ:

 (1) Эквивалентны.  

 (2) Не эквивалентны.  


Упражнение 5:
Номер 1
Назовем функцию y = f(p) на последовательности p 
элементов некоторого типа индуктивной, если при добавлении в конец
последовательности p
еще одного элемента x новое значение функции
y1 = f(p&x) можно вычислить, зная только
старое значение y и добавленный элемент x.
Среди перечисленных ниже функций на последовательностях вещественных
чисел укажите индуктивные.

Ответ:

 (1) Сумма элементов последовательности.  

 (2) Произведение элементов последовательности.  

 (3) Значение максимального элемента последовательности.  

 (4) Значение многочлена в фиксированной точке t=2, коэффициенты многочлена заданы в последовательности p = {a0, a1, a2, ..., an} по возрастанию степеней: y = a0 + a1*t + a2*t2 + ... + an*tn  

 (5) Значение многочлена в фиксированной точке t=2, коэффициенты многочлена заданы в последовательности p = {a0, a1, a2, ..., an} по убыванию степеней: y = a0*tn + a1*tn-1 + ... + an  


Номер 2
Назовем функцию y = f(p) на последовательности p 
элементов некоторого типа индуктивной, если при добавлении в конец
последовательности p
еще одного элемента x новое значение функции
y1 = f(p&x) можно вычислить, зная только
старое значение y и добавленный элемент x.
Среди перечисленных ниже функций на последовательностях вещественных
чисел укажите индуктивные.

Ответ:

 (1) Сумма элементов последовательности.  

 (2) Среднее арифметическое значение элементов последовательности.  

 (3) Значение минимального элемента последовательности.  

 (4) Разность между максимальным и минимальным элементами последовательности.  

 (5) Значение многочлена в фиксированной точке t=2, коэффициенты многочлена заданы в последовательности p = {a0, a1, a2, ..., an} по убыванию степеней: y = a0*tn + a1*tn-1 + ... + an  


Номер 3
Назовем функцию y = f(p) на последовательности p 
элементов некоторого типа индуктивной, если при добавлении в конец
последовательности p
еще одного элемента x новое значение функции
y1 = f(p&x) можно вычислить, зная только
старое значение y и добавленный элемент x.
Среди перечисленных ниже функций на последовательностях вещественных
чисел укажите индуктивные.

Ответ:

 (1) Произведение элементов последовательности.  

 (2) Среднее геометрическое значение элементов последовательности.  

 (3) Значение максимального элемента последовательности.  

 (4) Разность между максимальным и минимальным элементами последовательности.  

 (5) Значение многочлена в фиксированной точке t=2, коэффициенты многочлена заданы в последовательности p = {a0, a1, a2, ..., an} по убыванию степеней: y = a0*tn + a1*tn-1 + ... + an  


Упражнение 6:
Номер 1
Следующий фрагмент программы вычисляет разность d
между максимальным и минимальным элементами 
непустой числовой последовательности.

xmin = ...
xmax = ...

цикл пока в последовательности есть непрочитанные элементы
|выполнять
|  прочесть очередной элемент посл-ти в <вых: x>
|  если x < xmin
|  | то xmin = x
|  конец если
|
|  если x > xmax
|  | то xmax = x
|  конец если
конец цикла

d = xmax - xmin

Какими значениями надо инициализировать переменные
xmin и xmax, чтобы программа
работала правильно?

Ответ:

 (1) xmin = минус бесконечность, xmax = плюс бесконечность  

 (2) xmin = плюс бесконечность, xmax = минус бесконечность  

 (3) xmin = 0, xmax = 0  

 (4) xmin = 0, xmax = плюс бесконечность  

 (5) xmin = минус бесконечность, xmax = 0  


Номер 2
Следующий фрагмент программы для последовательности
вещественных чисел вычисляет количество n элементов,
строго больших предыдущего, причем самый первый элемент не
учитывается (не считается больше предыдущего).
Например, для последовательности
{2, 1, 3, 5} ответ n=2
(элементы 3 и 5).

n = 0
x0 = ...

цикл пока в последовательности есть непрочитанные элементы
|выполнять
|  прочесть очередной элемент посл-ти в <вых: x>
|  если x > x0
|  | то n = n + 1
|  конец если
|  x0 = x
конец цикла

Каким значением надо инициализировать переменную
x0, чтобы программа работала правильно?

Ответ:

 (1) x0 = минус бесконечность  

 (2) x0 = плюс бесконечность  

 (3) x0 = 0  

 (4) x0 = 1  


Номер 3
Следующий фрагмент программы для последовательности
вещественных чисел вычисляет количество n элементов,
строго меньших предыдущего, причем самый первый элемент также
учитывается (считается меньше предыдущего).
Например, для последовательности
{2, 1, 3, 5, 4} ответ n=3
(элементы 2, 1 и 4).

n = 0
x0 = ...

цикл пока в последовательности есть непрочитанные элементы
|выполнять
|  прочесть очередной элемент посл-ти в <вых: x>
|  если x < x0
|  | то n = n + 1
|  конец если
|  x0 = x
конец цикла

Каким значением надо инициализировать переменную
x0, чтобы программа работала правильно?

Ответ:

 (1) x0 = минус бесконечность  

 (2) x0 = плюс бесконечность  

 (3) x0 = 0  

 (4) x0 = 1  




Главная / Программирование / Программирование / Тест 53