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

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

Упражнение 1:
Номер 1
В программе объявлен и проинициализирован массив int a[]={9,8,7,6,5,4,3,2,1,0}. Укажите значение a[a[a[9]]].

Ответ:

 (1)

 (2)

 (3)

 (4) элемент с таким индексом в данном массиве не определен 


Номер 2
В программе объявлен и проинициализирован массив int a[]={2,4,6,8,10,12,14,16}. Укажите значение *(a+a[2]).

Ответ:

 (1) элемент с таким индексом в данном массиве не определен 

 (2)

 (3) 10 

 (4) 14 


Номер 3
В программе объявлен и проинициализирован массив int a[]={1,3,8,5,0,4,9,2,13}. Укажите значение a(a[7]+a[1]).

Ответ:

 (1) элемент с таким индексом в данном массиве не определен 

 (2)

 (3)

 (4) 13 


Упражнение 2:
Номер 1
Укажите название алгоритма сортировки, фрагмент кода которой представлен ниже.
		
void Sort (int k,int x[max]) {
int i,j,min,temp;
  for (i=0;i<k-1;i++) {
    min=i; 
    for (j=i+1;j<k;j++){
      if (x[j]<x[min])
        min=j;
      }
      temp=x[i];
      x[i]=x[min];
      x[min]=temp;
  }
}
		
		

Ответ:

 (1) пузырьковая сортировка 

 (2) шейкерная сортировка 

 (3) сортировка методом простого выбора 

 (4) сортировка методом простого включения 


Номер 2
Укажите название алгоритма сортировки, фрагмент кода которой представлен ниже.
		
void Sort (int k,int x[max]) {
  int i,j, temp;
  for (i=0;i<k;i++) {
    temp=x[i]; 
    for (j=i-1; j>=0 && x[j]>temp; j--)
      x[j+1]=x[j];
      x[j+1]=temp;  
  }
}
		
		

Ответ:

 (1) пузырьковая сортировка 

 (2) шейкерная сортировка 

 (3) сортировка методом простого выбора 

 (4) сортировка методом простого включения 


Номер 3
Укажите название алгоритма сортировки, фрагмент кода которой представлен ниже.
		
void Sort (int k,int x[max]) {
  int i,j,buf;
  for (i=k-1;i>0;i--)
    for (j=0;j<i;j++)
    if (x[j]>x[j+1]) {
      buf=x[j];
      x[j]=x[j+1];
      x[j+1]=buf;
     }
}
		
		

Ответ:

 (1) пузырьковая сортировка 

 (2) шейкерная сортировка 

 (3) сортировка методом простого выбора 

 (4) сортировка методом простого включения 


Упражнение 3:
Номер 1
Укажите обращение, аналогичное обращению mas[i][j] к элементу двумерного массива размерности MN.

Ответ:

 (1) mas[i,j] 

 (2) *(*(mas+i)+j) 

 (3) mas[N*i+j] 

 (4) mas[0][0]+ N*i+j 


Номер 2
Укажите обращение, аналогичное обращению *(*(mas+i)+j) к элементу двумерного массива размерности MN.

Ответ:

 (1) *(mas+N*i+j) 

 (2) mas[i][j] 

 (3) mas[0][0]+ N*i+j 

 (4) mas[i,j] 


Номер 3
Укажите обращение, аналогичное обращению (*(arr+i))[j] к элементу двумерного массива размерности MN.

Ответ:

 (1) *(mas+N*i+j) 

 (2) mas[i][j] 

 (3) *(*(mas+i)+j) 

 (4) mas[i,j] 


Упражнение 4:
Номер 1
Укажите в байтах размер памяти, занимаемой массивом, который объявлен так:
		
int m[][5][3]={{{1,2,3},{1}},{{4},{7,8}}};
		
		

Ответ:

 (1) 28 

 (2) 32 

 (3) 120 

 (4) для безразмерного массива размер не определен 


Номер 2
Укажите в байтах размер памяти, занимаемой массивом, который объявлен так:
		
float m[][6]={{6.2},{14.3,0.3},{7.0,1.0,5.5,7.8}};
		
		

Ответ:

 (1) 28 

 (2) 48 

 (3) 72 

 (4) для безразмерного массива размер не определен 


Номер 3
Укажите в байтах размер памяти, занимаемой массивом, который объявлен так:
		
int m[][7]={{6,2,4,8},{13},{5,6,7}};
		
		

Ответ:

 (1) 84 

 (2) 32 

 (3) 48 

 (4) для безразмерного массива размер не определен 


Упражнение 5:
Номер 1
Укажите неверные варианты объявления и/или инициализации массива.

Ответ:

 (1) int mas[]; 

 (2) int mas[]={1,2,3,4,5}; 

 (3) int mas[][]={1,2,3,4,5}; 

 (4) int mas[2][3]={1,2,3,4,5}; 


Номер 2

                                
Ответ:

 (1) int mas[3]={2.3,4.5,5}; 

 (2) int mas[3]={{1},{2},{3}}; 

 (3) int mas[][3]={{1,2,3},{4,5}}; 

 (4) int mas[5][3]={{1,2,3},{4,5}}; 


Номер 3
Укажите неверные варианты объявления и/или инициализации массива.

Ответ:

 (1) int mas[3]={2+5,7,8}; 

 (2) int mas[9]={1,2,3,4}; 

 (3) int mas[2][]={{1,2,3},{4,5}}; 

 (4) int mas[2][3]={1,2,3,4,5,6,7,8,9}; 


Упражнение 6:
Номер 1
Укажите верные аналогичные обращения к элементу одномерного массива в присваивании mas[i]=3.

Ответ:

 (1) mas+i=3; 

 (2) &mas+i=3; 

 (3) *mas+i=3; 

 (4) *(mas+i)=3; 


Номер 2
Укажите верные аналогичные обращения к указателю на одномерный массив в присваивании int *p; p=mas;

Ответ:

 (1) int *p; p=mas[0]; 

 (2) int *p; p=&mas[0]; 

 (3) int *p; p=*mas[0]; 

 (4) int *p; p=*mas; 


Номер 3
Укажите верные аналогичные обращения к элементу одномерного массива в присваивании *(mas+i)=8;

Ответ:

 (1) *mas+i=8; 

 (2) mas+i=8; 

 (3) mas[i]=8; 

 (4) &mas+i=8; 


Упражнение 7:
Номер 1
Укажите, что возвращает функция, фрагмент кода которой представлен ниже:
		
int f (int k,int x[max]) {
  int i,m=x[0];
  for (i=1;i<k;i++)
    if (m>x[i])  m=x[i];
  return m;
}
		
		

Ответ:

 (1) максимальный элемент двумерного массива 

 (2) максимальный элемент одномерного массива 

 (3) минимальный элемент одномерного массива 

 (4) минимальный элемент двумерного массива 


Номер 2
Укажите, что возвращает функция, фрагмент кода которой представлен ниже:
		
float a (int k, float x[max]) {
  int i;
  float s=0.0;
  for (i=0;i<k;i++)
    s+=x[i];
  return s/k;
}
		
		

Ответ:

 (1) сумму элементов одномерного массива 

 (2) среднее арифметическое элементов одномерного массива 

 (3) результат деления каждого элемента одномерного массива на k 

 (4) сумму элементов одномерного массива, равных заданному 


Номер 3
Укажите, какие действия с массивом выполняет функция, фрагмент кода которой представлен ниже:
		
void z (int k,int x[max]){
  int i;
  for (i=0;i<k;i++) 
    if (x[i]<0) x[i]=-x[i];
}
		
		

Ответ:

 (1) переставляет отрицательные элементы по убыванию 

 (2) находит разность всех отрицательных элементов 

 (3) находит минимальный отрицательный элемент в массиве 

 (4) заменяет значения отрицательных элементов их модулями 


Упражнение 8:
Номер 1
Укажите, какие действия с массивом выполняет функция, фрагмент кода которой представлен ниже:
		
void t(int str,int slb, int m[max][max],int min[max]){
  int i,j; 
  for (j=0;j<slb;j++){
    min[j]=0;
    for (i=1;i<str;i++)
      if (m[i][j]<m[min[j]][j])  min[j]=i;  
  }
}
		
		

Ответ:

 (1) поиск номеров минимальных элементов в каждом столбце двумерного массива 

 (2) поиск минимальных элементов в каждом столбце двумерного массива 

 (3) поиск суммы элементов в каждом столбце двумерного массива 

 (4) поиск номера минимального элемента двумерного массива 


Номер 2
Укажите, какие действия с массивом выполняет функция, фрагмент кода которой представлен ниже:
		
void p(int strslb, int m[max][max]) {  
  int i,buf,t; 
  for (i=0;i<strslb;i++){       
    buf= m[i][i];
    t= abs(strslb-i-1);
    m[i][i]= m[i][t];
    m[i][t]=buf; 
  }
}
		
		

Ответ:

 (1) поиск номеров минимальных элементов в каждом столбце двумерного массива 

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

 (3) обмен значениями элементов диагоналей квадратной матрицы, расположенных в одной строке 

 (4) замена значений всех элементов главной диагонали на модуль максимального элемента 


Номер 3
Укажите, что возвращает функция, фрагмент кода которой представлен ниже:
		
int d(int str,int slb, int m[max_x][max_y]){
  int i,j,mm=m[0][0];
  for(i=0;i<str;i++)
    for(j=0;j<slb;j++)
      if((i==j)&&(m[i][j]>mm))
        mm=m[i][j];
  return mm;
}
		
		

Ответ:

 (1) максимальный элемент двумерного массива 

 (2) максимальный элемент главной диагонали двумерного массива 

 (3) количество элементов главной диагонали 

 (4) количество элементов главной диагонали, превосходящих заданное число 




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