Главная / Программирование /
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) для инициализации класса