Главная / Программирование /
C# для школьников / Тест 4
C# для школьников - тест 4
Упражнение 1:
Номер 1
Отметьте верные утверждения:
Ответ:
 (1) метод может быть вызван несколько раз, а пишется программистом один раз 
 (2) метод позволяет решать однотипные задачи 
 (3) в комментариях можно писать код, который выполняется в случае возникновения ошибки 
 (4) методы могут принадлежать как классу, так и пространству имен 
 (5) пусть в классе Pupil
(Ученик) есть метод ShowInfo
(вывести информацию об ученике). Для того, чтобы вызвать этот метод, сначала нужно создать экземпляр класса Pupil
. 
Номер 2
Отметьте верные утверждения:
Ответ:
 (1) метод может быть написан программистом несколько раз, а вызывается один раз 
 (2) метод – это пошаговые инструкции, задающие порядок выполнения операций 
 (3) комментарии нужны для пояснения кода программы 
 (4) метод должен быть вызван только в том классе, в котором он описан 
 (5) пусть в классе Person
(Человек) есть метод ShowFullName
(вывести полное имя человека). Для того, чтобы вызвать этот метод, сначала нужно создать экземпляр класса Person
. 
Номер 3
Отметьте верные утверждения:
Ответ:
 (1) для того, чтобы метод отработал, его необходимо вызвать 
 (2) если в методе нет параметров, то скобки при его описании ставить необязательно 
 (3) символы //
используются для обозначения комментариев> 
 (4) метод обязательно должен выполнять какие-то действия 
 (5) слово void используется в случае, когда метод не должен возвращать значение 
Упражнение 2:
Номер 1
Для того, чтобы выводить на экран фамилию и возраст учеников (например, Иванов 13, Петров 16), эффективно использовать:
Ответ:
 (1) метод с двумя параметрами числового типа 
 (2) метод без параметров 
 (3) метод с двумя параметрами строкового и числового типов 
 (4) метод с двумя параметрами строкового типа 
Номер 2
Для того, чтобы выводить на экран тип животных и их клички (например, пес Барбос, кот Барсик), эффективно использовать:
Ответ:
 (1) метод с двумя параметрами числового типа 
 (2) метод без параметров 
 (3) метод с двумя параметрами строкового и числового типов 
 (4) метод с двумя параметрами строкового типа 
Номер 3
Для того, чтобы выводить на экран номера счетов и остатки на них (например, 41802810100001 5000), эффективно использовать:
Ответ:
 (1) метод с двумя параметрами числового типа 
 (2) метод без параметров 
 (3) метод двумя параметрами строкового и числового типов 
 (4) метод с двумя параметрами строкового типа 
Упражнение 3:
Номер 1
Какой тип возвращаемого значения должен иметь метод, подсчитывающий и возвращающий сумму чисел, введенных с клавиатуры?
Ответ:
 (1) строковый 
 (2) void 
 (3) числовой 
 (4) тип указывать не нужно 
Номер 2
Какой тип возвращаемого значения следует указать для метода, выводящего на экран "hello, world"?
Ответ:
 (1) строковый 
 (2) void 
 (3) числовой 
 (4) тип указывать не нужно 
Номер 3
Какой тип возвращаемого значения должен иметь метод, возвращающий адрес учебного заведения?
Ответ:
 (1) строковый 
 (2) void 
 (3) числовой 
 (4) тип указывать не нужно 
Упражнение 4:
Номер 1
Метод concat
, возвращающий сумму (результат присоединения, конкатенации) двух любых заданных строк, может иметь следующий вид:
Ответ:
 (1) void concat (string s1, string s2) {…}
 
 (2) void concat (string s1, int s2) {…}
 
 (3) string concat (string s1, string s2) {…}
 
 (4) string concat (string s1, int s2) {…}
 
Номер 2
Метод add
, возвращающий сумму двух любых заданных целых чисел, может иметь следующий вид:
Ответ:
 (1) int add (int s1, int s2) {…}
 
 (2) void add (bool s1, int s2) {…}
 
 (3) bool add (string s1, int s2) {…}
 
 (4) void add (int s1, int s2) {…}
 
Номер 3
Метод equal
, проверяющий равны ли два числа между собой и возвращающий результат истина или ложь, правильно описать таким образом:
Ответ:
 (1) equal bool (int s1, int s2) {…}
 
 (2) void equal (string s1, int s2) {…}
 
 (3) string equal (int s1, string s2) {…}
 
 (4) bool equal (int s1, int s2) {…}
 
Упражнение 5:
Номер 1
В классе Pupil
(Ученик) есть публичный метод Answer
(Отвечать) без параметров, возвращающий целое число от 2 до 5. Как можно вызвать этот метод?
Ответ:
 (1) int mark = Pupil.Answer();
 
 (2) Pupil Ivanov = new Pupil(); int mark = Ivanov.Answer();
 
 (3) int mark = Answer.Pupil();
 
Номер 2
Что будет выведено на экран?
class Pupil: Person{
public void SayHello(string surname){
Console.WriteLine("Hello, " + name);
}
}
class School{
static void Main(string[] args){
Pupil Petrov = new Pupil();
Petrov.SayHello("Ivanov");
}
}
Ответ:
 (1) Hello, Petrov 
 (2) Hello, Ivanov 
 (3) ничего, т.к. возникнет ошибка компиляции 
Номер 3
Что будет выведено на экран?
class Pupil:Person{
public void PrintAge(int age){
age = 14;
Console.WriteLine("age: " + age);
}
}
class School{
static void Main(string[] args){
Pupil Petrov = new Pupil();
Petrov.PrintAge(Console.ReadLine());
}
}
Ответ:
 (1) age: 14 
 (2) age: число_введенное_с_клавиатуры 
 (3) ничего, т.к. возникнет ошибка компиляции 
Упражнение 6:
Номер 1
Есть метод public void SayHello(string name, int age){}
. Как можно вызвать этот метод?
Ответ:
 (1) SayHello();
 
 (2) SayHello;
 
 (3) SayHello("Иван", "13");
 
 (4) SayHello("Иван", 13);
 
 (5) SayHello(Иван, "13");
 
 (6) SayHello(Иван, 13);
 
Номер 2
Есть метод public void Exam(string name, bool medal){}
. Как можно вызвать этот метод?
Ответ:
 (1) Exam();
 
 (2) Exam;
 
 (3) Exam("Иван", "true");
 
 (4) Exam("Иван", true);
 
 (5) Exam(Иван, true);
 
Номер 3
Есть метод public void Exam(bool medal, int mark){}
. Как можно вызвать этот метод?
Ответ:
 (1) Exam();
 
 (2) Exam;
 
 (3) Exam("true", "13");
 
 (4) Exam("true", 13);
 
 (5) Exam(true, "13");
 
 (6) Exam(true, 13);
 
Упражнение 7:
Номер 1
Отметьте вызовы функций, которые не вызовут ошибки компиляции:
class Person {
public string name; public int age;
public Person(string n, int a) { name = n; age = a; }
public void PrintName() { Console.WriteLine("Name: "+name); }
protected void PrintAge() { Console.WriteLine("Age: " + age); }
}
class School {
static void Main(string[] args) {
Person Ivanov = new Person("Ivan Ivanov",15);
// вызов метода
Console.ReadLine();
}
}
Ответ:
 (1) Ivanov.PrintAge();
 
 (2) Ivanov.PrintAge;
 
 (3) Ivanov.PrintName();
 
 (4) Ivanov.PrintName;
 
Номер 2
Отметьте вызовы функций, которые не вызовут ошибки компиляции:
class Person {
public string name; public int age;
public Person(string n, int a) { name = n; age = a; }
public void PrintName() { Console.WriteLine("Name: "+name); }
void PrintInfo() { Console.WriteLine("Name: " + name + " Age: " + age); }
}
class School {
static void Main(string[] args) {
Person Ivanov = new Person("Ivan Ivanov",15);
// вызов метода
Console.ReadLine();
}
}
Ответ:
 (1) Ivanov.PrintInfo;
 
 (2) Ivanov.PrintName;
 
 (3) Ivanov.PrintName();
 
 (4) Ivanov.PrintInfo();
 
Номер 3
Отметьте вызовы функций, которые не вызовут ошибки компиляции:
class Person {
public string name; public int age;
public Person(string n, int a) { name = n; age = a; }
public void PrintName() { Console.WriteLine("Name: "+name); }
private void PrintTwoLines() { Console.WriteLine("Name: "+name+"\nAge: "+age); }
}
class School {
static void Main(string[] args) {
Person Ivanov = new Person("Ivan Ivanov",15);
// вызов метода
Console.ReadLine();
}
}
Ответ:
 (1) Ivanov.PrintTwoLines();
 
 (2) Ivanov.PrintName();
 
 (3) Ivanov.PrintName;
 
 (4) Ivanov.PrintTwoLines;
 
Упражнение 8:
Номер 1
Отметьте верные утверждения:
Ответ:
 (1) каждый класс должен иметь только один конструктор 
 (2) класс может иметь несколько конструкторов 
 (3) класс может иметь несколько конструкторов с параметрами 
 (4) класс может иметь несколько конструкторов с параметрами, только если наборы типов параметров в этих конструкторах попарно отличаются (в т.ч. порядком) 
Номер 2
В классе Pupil
(Ученик) могут одновременно существовать следующие пары конструкторов:
Ответ:
 (1) Pupil (string name, int age){…}
и Pupil (int age, string name){…}
 
 (2) Pupil (string name, string surname){…}
и
Pupil (string name, string address){…}
 
 (3) Pupil (string name, int age){…}
и Pupil (string name, int age, bool medal){…}
 
Номер 3
Отметьте верные утверждения:
Ответ:
 (1) конструктор используется для создания объекта 
 (2) конструктор является методом 
 (3) конструктор можно вызвать так же, как и любой другой метод 
 (4) конструктор вызывается с помощью ключевого слова new 
 (5) конструктор вызывается только с помощью ключевого слова new 
Упражнение 9:
Номер 1
Из кода класса с помощью ключевого слова this
можно обратиться к:
Ответ:
 (1) полю создаваемого объекта 
 (2) методу создаваемого объекта 
 (3) конструктору создаваемого объекта 
 (4) любому члену класса 
Номер 2
Какое значение будет у поля number
объекта s43
в результате выполнения такой программы:
class School{
int number = 0;
public School(){
number = 33;
}
public School(int n){
number = n;
}
static void Main(string[] args){
School s43 = new School(43);
}
}
Ответ:
 (1) 0 
 (2) 33 
 (3) 43 
Номер 3
Какое значение будет у поля number
объекта s43
в результате выполнения такой программы:
class School{
int number = 0;
public School(){
number = 33;
}
public School(int n){
number = n;
}
static void Main(string[] args){
School s43 = new School();
}
}
Ответ:
 (1) 0 
 (2) 33 
 (3) 43 
Упражнение 10:
Номер 1
Для того, чтобы обработать событие объекта, нужно:
Ответ:
 (1) создать класс объекта, с которым может произойти событие 
 (2) создать метод – обработчик события 
 (3) вызвать обработчик события 
 (4) связать событие объекта с его обработчиком 
Номер 2
Для того, чтобы обработать событие перемещения указателя мыши по кнопке myButton
, необходимо написать соответствующий обработчик и подключить его к событию так:
Ответ:
 (1) myButton.MouseLeave += new System.EventHandler(myButtonMouseLeave);
 
 (2) myButton.Click += new MouseEventHandler (myButtonMouseMove);
 
 (3) myButton.MouseMove += new MouseEventHandler(myButtonMouseMove);
 
 (4) myButton.MouseMove += new System.EventHandler (myButtonMouseMove);
 
Номер 3
Для того, чтобы обработать событие клика (щелчка) по кнопке формы, нужно:
Ответ:
 (1) создать форму и кнопку 
 (2) написать обработчик события Click
кнопки 
 (3) связать событие Click
кнопки с его обработчиком 
 (4) добавить кнопку в коллекцию элементов управления формы 
Упражнение 11:
Номер 1
Отметьте верные утверждения:
Ответ:
 (1) класс может содержать пространство имен 
 (2) пространство имен используется для доступа к классу 
 (3) пространство имен и содержащийся в нем класс должны иметь разные имена 
 (4) чтобы использовать класс Pupil
, содержащийся в пространстве имен School
, можно использовать директиву using School;
 
Номер 2
Отметьте верные утверждения:
Ответ:
 (1) пространство имен может содержать класс 
 (2) пространство имен используется для логического объединения классов 
 (3) пространство имен и содержащийся в нем класс могут иметь одинаковое имя 
 (4) чтобы использовать класс Pupil
, содержащийся в пространстве имен School
, можно использовать директиву using Pupil;
 
Номер 3
Отметьте верные утверждения:
Ответ:
 (1) пространство имен может содержать пространство имен 
 (2) пространство имен не может содержать несколько классов 
 (3) в разных пространствах имен могут быть классы с одинаковыми именами 
 (4) чтобы использовать класс Random
, содержащийся в пространстве имен Math
, можно каждый раз прописывать путь к классу Math.Random
, не используя директиву using
 
Упражнение 12:
Номер 2
Отметьте верные утверждения:
Ответ:
 (1) класс Car
(Машина) может наследовать от класса Tree
(Дерево) 
 (2) поля класса могут наследоваться 
 (3) член класса доступен наследнику, только если он помечен модификатором доступа public
 
Номер 3
Отметьте верные утверждения:
Ответ:
 (1) класс Oak
(Дуб) может наследовать от класса Tree
(Дерево) 
 (2) свойства класса могут наследоваться 
 (3) член класса без модификатора доступа доступен наследнику 
Упражнение 13:
Номер 1
Что выведет метод при использовании внутри программы:
class School
{
void Main(string[] args)
{
ViewPerson("Ivan", "Ivanov");
}
void ViewPerson(string Name, string Family)
{
Console.WriteLine("Премию получит: " + Name + " " + Family);
}
}
Ответ:
 (1) ошибку 
 (2) строку "Премию получит: " 
 (3) строку "Премию получит: Name Family" 
 (4) строку "Премию получит: Ivan Ivanov" 
Номер 2
Что выведет метод:
void ViewPerson(string Name, string Family)
{
Console.WriteLine("Премию получит: " + Ivan + " " + Ivanov);
}
ViewPerson();
Ответ:
 (1) ошибку 
 (2) строку "Премию получит: " 
 (3) строку "Премию получит: Name Family" 
 (4) строку "Премию получит: Ivan Ivanov" 
Номер 3
Для чего предназначен конструктор?
Ответ:
 (1) для расширения метода 
 (2) для инициализации объекта 
 (3) для инициализации класса