Главная / Программирование /
Основы программирования на C# / Тест 12
Основы программирования на C# - тест 12
Упражнение 1:
Номер 1
Пусть x – объект класса int[]
. В вызове x.M
роль M
может играть:
Ответ:
 (1) свойство Length
 
 (2) метод GetLength
 
 (3) метод CopyTo
 
Номер 2
Пусть массив x принадлежит классу double[][]
. В вызове x.M роль M может играть:
Ответ:
 (1) метод Sort
 
 (2) свойство Length
 
 (3) метод GetLength
 
 (4) метод Copy
 
 (5) метод CopyTo
 
Номер 3
К статическим свойствам и методам класса Array
относятся:
Ответ:
 (1) метод Reverse
 
 (2) метод BinarySearch
 
 (3) метод Copy
 
 (4) метод CopyTo
 
Упражнение 2:
Номер 1
Отметьте истинные высказывания:
Ответ:
 (1) все классы-массивы являются прямыми потомками только одного родительского класса 
 (2) все классы-массивы наследуют свойства и методы своих предков - двух классов и четырех интерфейсов 
 (3) метод Sort
позволяет сортировать любые массивы 
 (4) если S
и T
принадлежат разным классам – массивам, то присваивание S=T
недопустимо 
Номер 2
Отметьте истинные высказывания:
Ответ:
 (1) все классы-массивы являются прямыми потомками класса Array
 
 (2) в цикле For Each
допустимо только чтение элементов массива 
 (3) между классами-массивами и классом object[]
существуют взаимные неявные преобразования 
 (4) все статические методы класса Array
определены только над одномерными массивами 
Номер 3
Отметьте истинные высказывания:
Ответ:
 (1) использование цикла For Each при работе с массивом не допускается  
 (2) класс Array
является потомком класса Object
 
 (3) свойство Length
и метод GetLength
всегда возвращают один и тот же результат 
 (4) если S
и T
массивы ссылочного типа, то присваивание S=T
может быть допустимым  
 (5) в результате присваивания S=T
, где S
и T
массивы, создается копия массива T
 
Упражнение 3:
Номер 1
Пусть процедура ItWorks
имеет следующий заголовок:
public void ItWorks(object[] A)
.Какой массив может быть передан ей в качестве аргумента?
Ответ:
 (1) int[] x
 
 (2) string[] s
 
 (3) Person[] p; (Person
– класс, определенный пользователем 
 (4) Anketa[] a; (Anketa
– структура, определенная пользователем 
Номер 2
Пусть процедура ItWorks
имеет следующий заголовок:
public void ItWorks(Array A)
. Какой массив может быть передан ей в качестве аргумента?
Ответ:
 (1) int[] x
 
 (2) int [][] y
 
 (3) string[] s
 
 (4) Person[] p; (Person
– класс, определенный пользователем 
 (5) Anketa[] a; (Anketa
– структура, определенная пользователем 
Номер 3
Пусть процедура ItWorks
имеет следующий заголовок:
public void ItWorks(int[] A)
. Какой массив может быть передан ей в качестве аргумента?
Ответ:
 (1) int[] x
 
 (2) byte[] y
 
 (3) string[] s
 
 (4) Person[] p; (Person
– класс, определенный пользователем). 
Упражнение 4:
Номер 1
Три массива: <int[] ar1 = new int[5]; double[] ar2 ={5.5, 6.6, 7.7}; int[,] ar3 = new Int32[3,4]; >
принадлежат
Ответ:
 (1) одному и тому же классу 
 (2) разным классам, но у которых есть общий родительский класс Array
 
 (3) разным классам, общность которых определяется только родительским классом object
 
Номер 2
Статические методы класса Array
Ответ:
 (1) перегружены 
 (2) применимы ко всем массивам 
 (3) позволяют выполнять операции над матрицами – умножение, обращение, вычисление определителя 
Номер 3
Для того чтобы было возможным преобразование массива с элементами класса S
в массив с элементами класса T
, необходимо
Ответ:
 (1) размерности массивов должны совпадать 
 (2) массивы должны иметь одинаковое число элементов 
 (3) классы S
и T
должны быть ссылочного типа 
 (4) классы S
и T
должны быть значимого типа 
Упражнение 5:
Номер 1
Правда ли, что:
Ответ:
 (1) над массивами определены операции поиска элементов и сортировки 
 (2) класс Array
является абстрактным классом 
 (3) массив можно рассматривать как коллекцию и использовать для просмотра цикл foreach
 
Номер 2
Правда ли, что:
Ответ:
 (1) методы класса Array
позволяют закрыть его на время обработки, запрещая его модификацию другим потоком 
 (2) допустимо присваивание x=e;
(передача аргументов в процедуру), где x
и e
– это массивы разных классов 
 (3) если формальный аргумент метода принадлежит классу object
, то фактический аргумент не может быть массивом 
Номер 3
Правда ли, что:
Ответ:
 (1) класс Array
наследует интерфейс ICompare 
 (2) возникнет ошибка на этапе компиляции в следующем фрагменте: <foreach (object item in A) item = 1;>, где A имеет тип Array
 
 (3) статический метод BinarySearch
класса Array
применим только к бинарным массивам булевского типа