игра брюс 2048
Главная / Программирование / Структуры и алгоритмы компьютерной обработки данных / Тест 3

Структуры и алгоритмы компьютерной обработки данных - тест 3

Упражнение 1:
Номер 1
Укажите допустимые присваивания для переменной ch символьного типа.

Ответ:

 (1) ch=55; 

 (2) ch=5.5; 

 (3) ch='&'; 

 (4) ch='&&&'; 


Номер 2
Укажите допустимые присваивания для переменной m вещественного типа.

Ответ:

 (1) m='f'; 

 (2) m=.5e-04; 

 (3) m=float(47)/4; 

 (4) m=5,5; 


Номер 3
Укажите допустимые присваивания для переменной b логического типа.

Ответ:

 (1) b='true'; 

 (2) b=true; 

 (3) b=1; 

 (4) b=5>6; 


Упражнение 2:
Номер 1
Укажите для целого знакового 4-байтного типа преобразования к целевому типу без потери информации:

Ответ:

 (1) к плавающему типу 

 (2) к целому беззнаковому 4-байтному типу 

 (3) к символьному типу 

 (4) к целому знаковому 2-байтному типу 


Номер 2
Укажите для плавающего 4-байтного типа преобразования к целевому типу без потери информации:

Ответ:

 (1) к плавающему 8-байтному типу 

 (2) к целому беззнаковому 8-байтному типу 

 (3) к целому знаковому 8-байтному типу 

 (4) к целому беззнаковому 4-байтному типу 


Номер 3
Укажите для целого беззнакового 4-байтного типа преобразования к целевому типу без потери информации:

Ответ:

 (1) к плавающему типу 

 (2) к целому знаковому 4-байтному типу 

 (3) к логическому типу 

 (4) к целому беззнаковому 8-байтному типу 


Упражнение 3:
Номер 1
Укажите ситуации, когда функция со спецификатором inline будет трактоваться как обычная не подставляемая функция.

Ответ:

 (1) всегда используется как подставляемая функция 

 (2) никогда не используется как подставляемая 

 (3) функция является рекурсивной 

 (4) вызывается более одного раза в выражении 


Номер 2
Укажите достоинства использования подставляемых функций в программе.

Ответ:

 (1) уменьшается время, затрачиваемое на вызов функции 

 (2) уменьшается объем памяти под программный код 

 (3) функция становится доступной в любом программном коде 

 (4) быстрее выполняются рекурсивные вызовы подставляемой функции 


Номер 3
Укажите возможные недостатки использования подставляемых функций в программе.

Ответ:

 (1) увеличивается время, затрачиваемое на вызов функции 

 (2) увеличивается объем памяти под программный код 

 (3) функция доступна для подстановки только один раз 

 (4) компилятор не всегда может выполнить подстановку из-за контекста 


Упражнение 4:
Номер 1
Укажите, какое значение возвращает функция f(a,b,c), если объявлены int a=3,b=5,c=18; и функция перегружена следующим образом:
		
float f(int a, int b, int c){
  return float((a+b+c)/3);
}
float f(float a, float b, float c){
  return a+b+c;
}
		
		

Ответ:

 (1) ошибка вызова функции 

 (2) 26 

 (3) 8.66667 

 (4)


Номер 2
Укажите, какое значение возвращает функция g(a,b,c), если объявлены int a=3,b=5,c=18; и функция перегружена следующим образом:
		
float g(int a, int b, int c,int d){
  return float(a+b+c)/4;
}
float g(float a, float b, float c){
  return a+b+c;
}
		
		

Ответ:

 (1) ошибка вызова функции 

 (2) 6.5 

 (3) 8.5 

 (4)


Номер 3
Укажите, какое значение возвращает функция h(a,b,c), если объявлены int a=3,b=6;float c=4.5; и функция перегружена следующим образом:
		
int h(int a, float b, int c){
  return int(a+b+c)/3;
}
float h(float a, int b, float c){
  return a+b+c;
}
		
		

Ответ:

 (1) ошибка вызова функции 

 (2) 13.5 

 (3) 4.5 

 (4)


Упражнение 5:
Номер 1
Каково назначение типа void?

Ответ:

 (1) используется для определения функций, которые не возвращают значения 

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

 (3) указание об ошибке вызова функции 

 (4) используется в операции приведения типов 


Номер 2
Какой тип имеет переменная перечисляемого типа, который объявлен так: enum year {winter, spring, summer, autumn};?

Ответ:

 (1) строковый 

 (2) целочисленный 

 (3) символьный 

 (4) тип void 


Номер 3
Укажите случаи допустимого неявного преобразования типов в выражениях, если выполнено объявление int s;:

Ответ:

 (1) s=20/6; 

 (2) s=4.5%8; 

 (3) s=int(48.6/4); 

 (4) s=48.6/4; 


Упражнение 6:
Номер 1
Что возвращает функция, фрагмент кода которой приведен ниже?
		
int Rec(int n) {
  if (n<10) return n;
  return Rec(n/10)+n%10;
}
		
		

Ответ:

 (1) количество цифр числа n 

 (2) количество всех делителей числа n 

 (3) сумму цифр числа n 

 (4) сумму всех делителей числа n 


Номер 2
Что возвращает функция, фрагмент кода которой приведен ниже?
		
long int Rec(int n) {
  if (n<2) return 1;
  return Rec(n-1)*n;
}
		
		

Ответ:

 (1) произведение цифр числа n 

 (2) количество цифр числа n 

 (3) количество делителей числа

 (4) факториал числа


Номер 3
Что возвращает функция, фрагмент кода которой приведен ниже?
		
int Rec(int n, int p) {
  if (n%p!=0) return 0;
  return Rec(n/p,p)+1;
}
		
		

Ответ:

 (1) количество цифр числа n, кратных p 

 (2) p-ичный порядок числа n 

 (3) сумму цифр числа n, кратных p 

 (4) сумму всех делителей числа n, не превосходящих p 


Упражнение 7:
Номер 1
Формирование какой последовательности описывает рекурсивная функция Rec, код которой приведен ниже?
		
int Rec(int n) {
  if (n<3) return n;
  return Rec(n-1)*Rec(n-2);
}
		
		

Ответ:

 (1) 1, 1, 2, 2, 3, 3, ... 

 (2) 1, 2, 3, 4, 5, 6, ... 

 (3) 1, 2, 2, 4, 8, 32, ... 

 (4) 1, 2, 2, 4, 4, 8, 8, ... 


Номер 2
Формирование какой последовательности описывает рекурсивная функция Rec, код которой приведен ниже?
		
int Rec(int n) {
  if (n<5) return n;
  return Rec(n-1)+Rec(n%4);
}
		
		

Ответ:

 (1) 1, 2, 3, 4, 1, 2, 3, 4, ... 

 (2) 1, 2, 3, 4, 6, 8, 10, 12, ... 

 (3) 1, 2, 3, 4, 5, 6, 7, 8, ... 

 (4) 1, 2, 3, 4, 5, 7, 10, 10, ... 


Номер 3
Формирование какой последовательности описывает рекурсивная функция Rec, код которой приведен ниже?
		
int Rec(int n) {
  if (n<4) return n;
  return Rec(Rec(n-3));
}
		
		

Ответ:

 (1) 1, 2, 3, 1, 2, 3, 1, 2, 3, ... 

 (2) 1, 2, 3, 4, 5, 6, 7, 8, 9, ... 

 (3) 1, 2, 3, 3, 2, 1, 1, 2, 3, ... 

 (4) 1, 2, 3, 3, 3, 3, 3, 3, 3, ... 


Упражнение 8:
Номер 1
Какое значение возвращает рекурсивная функция Rec(8), код которой приведен ниже?
		
int Rec(int n) {
  if (n<1) return 0;
  if (n%3==0) return n/3;
  return Rec(n-1)+Rec(n-2);
}
		
		

Ответ:

 (1)

 (2)

 (3) 13 

 (4) 45 


Номер 3
Какое значение возвращает рекурсивная функция Rec(108,72), код которой приведен ниже?
		
int Rec(int n,int k) {
  if (n%k==0) return k;
  return Rec(k,n%k);
}
		
		

Ответ:

 (1)

 (2) 12 

 (3) 36 

 (4) 72