Внимание ! Вопросы к тесту выложены исключительно в ознакомительных целях: количество вопросов может не совпадать с действительным, актуальность не поддерживается,- за решением теста Welcome to the cashier! Из приведенных ниже высказываний укажите все истинные высказывания:
модификатор (спецификатор) protected определяет доступность вложенного класса коду производных классов модификатор (спецификатор) protected определяет, где доступен не вложенный класс или любой другой не вложенный тип модификатор (спецификатор) protected определяет доступность любого члена класса в производных классах в любом коде модификатор (спецификатор) protected определяет доступность любого члена класса в производных классах только в пределах включающей его сборки модификатор (спецификатор) protected нельзя применять к событиям
Из приведенных ниже высказываний укажите все истинные высказывания:
модификатор (спецификатор) internal определяет доступность класса в пределах включающей его сборки для определения доступности члена класса в других сборках необходимо указать модификатор (спецификатор) extern модификатор (спецификатор) internal определяет доступность любого члена класса во внешних сборках модификатор (спецификатор) internal определяет доступность любого члена класса в пределах включающей его сборки модификатор (спецификатор) internal нельзя применять к событиям
Из приведенных ниже высказываний укажите все истинные высказывания:
модификатор (спецификатор) protected internal определяет доступность вложенного класса любому коду включающей его сборки или коду производных классов в любых сборках модификатор (спецификатор) protected internal определяет, где доступен не вложенный тип модификатор (спецификатор) protected internal определяет доступность любого члена класса в производных классах любой сборки или в коде включающей его сборки модификатор (спецификатор) protected internal определяет доступность любого члена класса любому коду включающей его сборки или коду производных классов в любых сборках модификатор (спецификатор) protected internal определяет доступность любого члена класса только коду производных классов внешних сборок
Определяемый программистом тип может быть
классом одномерным массивом делегатом строкой символов событием
Из приведенных ниже высказываний укажите истинное высказывание:
если метод описывается вне класса, то в классе должен быть указан его прототип если метод не возвращает значение, то он должен иметь модификатор (спецификатор) virtual для вызова метода можно не создавать экземпляр (объект) класса только в том случае, если метод вызывается внутри класса метод может иметь пустое тело метод должен возвращать какое-либо значение
Из приведенных ниже высказываний укажите все истинные высказывания:
если переменная описывается вне класса, то она является глобальной если метод не возвращает значение, то он должен иметь модификатор (спецификатор) abstract для вызова метода необходимо создавать экземпляр (объект) класса, если метод не является статическим или не вызывается внутри своего класса метод не обязан возвращать управление оператору, следующему после оператора вызова из тела метода можно выйти с помощью оператора goto
Из приведенных ниже высказываний укажите все истинные высказывания:
если метод описывается вне класса, то этот метод становится доступным из любого кода сборки члены класса с модификатором (спецификатором) private недоступны методам этого же класса для вызова метода можно не создавать экземпляр (объект) класса только в том случае, если метод является статическим или метод вызывается внутри класса метод, не возвращающий значение, должен вызываться отдельным оператором (не входящим в состав выражения) метод, возвращающий значение, должен входить в состав выражения
В заголовке определяемого не вложенного типа программист может указать доступность типа с помощью модификатора:
internal protected private static abstract
В заголовке определяемого не вложенного типа программист может указать доступность типа
с помощью модификатора override с помощью модификатора protected с помощью модификатора private с помощью модификатора new по умолчанию
Программист определил тип как class MyOut {} Тип MyOut будет доступен
из любого класса любого компоновочного блока из любого класса внутри компоновочного блока, в котором MyOut определен только из классов с модификатором public только из классов с модификатором internal только из классов, у которых доступность указана по умолчанию
Сборка Assembly2.cs, приведенная ниже: class Test3 { static void Main() { ClassUser user = new ClassUser(); int count = user.count; System.Console.Write("count=" + count); } } ссылается на подключенную сборку Assembly1.cs, которая имеет следующий код: internal class ClassUser { public int count = 10; }
Укажите результат вывода на консоль после попытки запустить программу на компиляцию и выполнение:
программа не выполнится, так как сборка Assembly2.cs создает объект user, в то время как класс ClassUser не принадлежит сборке Assembly2.cs count=0 count=10 будет выдано сообщение об ошибке компиляции, так как класс ClassUser недоступен в соответствии с его модификатором доступа
Исходный модуль содержит код: protected internal class A { public int x = 123; }
class B : A { static void Main() { A a = new A(); int i = a.x = 10; B b = new B(); int j = b.x = 20; System.Console.Write("a.x={0} b.x={1}", i, j); } } Укажите результат вывода на консоль после попытки запустить программу на компиляцию и выполнение: a.x=20 b.x=10 a.x=20 b.x=20 a.x=10 b.x=20 a.x=10 b.x=10 программа не выполнится, так как класс A не может иметь модификатор protected internal
Исходный модуль содержит код: protected class A { int x = 123; }
class B : A { static void Main() { A a = new A(); int i = a.x = 10; B b = new B(); int j = b.x = 20; System.Console.Write("a.x={0} b.x={1}", i, j); } } Укажите результат вывода на консоль после попытки запустить программу на компиляцию и выполнение:
программа завершится аварийно a.x=20 b.x=20 a.x=10 b.x=20 a.x=10 b.x=10 программа не выполнится, так как класс A не может иметь модификатор protected
Исходный модуль содержит код: internal class Point { public double x,y; //координаты точки public Point(double x, double y) { this.x = x; this.y = y; } public void Move(double d){ x+=d; y+=d;} } class Program { static void Main() { Point p = new Point(); p.Move(2); System.Console.Write("{0} {1}",p.x, p.y); } } Метод Main разрабатывался для перемещения точки по обеим координатам на 2.
Трансляция программы завершена неудачно. Из приведенных высказываний укажите высказывание, которое раскрывает причину некорректности программы: значение полей x и y не определено статический метод Main не может обращаться к полям объекта тип Point не доступен из класса Program поля x и y не доступны из класса Program в классе Point не определен конструктор без параметров
Исходный модуль содержит код: internal class Point { public double x,y; public Point(double x, double y) { this.x = x; this.y = y; } public static void Move(double d){ x+=d; y+=d;} } class Program { static void Main() { Point p = new Point(1,1); Point.Move(2); } } Метод Main разрабатывался для перемещения точки по обеим координатам на 2.
Трансляция программы завершена неудачно. Из приведенных высказываний укажите высказывание, которое раскрывает причину некорректности программы: значение полей x и y не определено метод Move не может обращаться к полям объекта тип Point не доступен из класса Program метод Move должен вызываться как метод объекта, а не метод класса в классе Point не определен конструктор без параметров
Исходный модуль содержит код: internal class Point { public double x,y; public Point(double x, double y) { this.x = x; y = y; } public void Move(double d){ x+=d; y+=d;} } class Program { static void Main() { Point p = new Point(1,1); p.Move(1); System.Console.Write("{0} {1}", p.x, p.y); } } Метод Main разрабатывался для перемещения точки по обеим координатам на 1. При запуске программы выведены значения 2 1 вместо ожидаемых значений 2 2. Из приведенных высказываний укажите высказывание, которое раскрывает причину некорректности программы:
значение полей x и y не определено значение поля y может быть изменено только конструктором локальная переменная y скрывает поле y метод Move должен вызываться как метод объекта, а не метод класса в классе Point не определен конструктор без параметров
Исходный модуль содержит код: internal class Rectangle { public double width, hight; public void Zoom(double d) { width += d; hight += d; } public void Rectangle(double width, double hight) { this.width = width; this.hight = hight; } } class Program { static void Main() { Rectangle p = new Rectangle(10, 20); p.Zoom(-5); System.Console.Write("{0} {1}", p.width, p.hight); } } Метод Main разрабатывался для изменения размера прямоугольника. Трансляция программы завершена неудачно. Из приведенных высказываний укажите высказывание, которое раскрывает причину некорректности программы:
значение полей width и hight не определено статический метод Main не может обращаться к полям объекта тип Rectangle не доступен из класса Program в конструкторе не должно быть ключевого слова void в классе Rectangle не определен конструктор без параметров
Исходный модуль содержит код: internal class Rectangle { public double width, hight; public void Zoom(double d) { width += d; hight += d; } public int Rectangle(double width, double hight) { this.width = width; this.hight = hight; return width * hight;} } class Program { static void Main() { Rectangle p = new Rectangle(10, 20); p.Zoom(-5); System.Console.Write("{0} {1}", p.width, p.hight); } } Метод Main разрабатывался для изменения размера прямоугольника. Трансляция программы завершена неудачно. Из приведенных высказываний укажите высказывание, которое раскрывает причину некорректности программы:
метод Zoom должен вызываться как метод класса, а не метод объекта статический метод Main не может обращаться к полям объекта конструктор не может возвращать значение тип значения, возвращаемого методом Rectangle, должен быть double конструктор не может следовать за методами класса
Исходный модуль содержит код: class Rectangle { public double width, hight; public Rectangle() { width = 40; hight = 80; } static Rectangle() { width = 100; hight = 200; } public void Zoom(double d) { width += d; hight += d; } } class Program { static void Main() { Rectangle p; p = new Rectangle(); p = new Rectangle(); p.Zoom(15); System.Console.Write("{0} {1}", p.width, p.hight); } } Метод Main разрабатывался для изменения размера прямоугольника. Трансляция программы завершена неудачно. Из приведенных высказываний укажите высказывание, которое раскрывает причину некорректности программы:
статический конструктор в классе Rectangle не может использовать нестатические поля в классе Rectangle не могут быть одновременно определены статический и нестатический конструкторы с одинаковой сигнатурой у нестатического конструктора в классе Rectangle отсутствует модификатор (спецификатор) доступа public тип значения, возвращаемого конструктором Rectangle, должен быть void в методе Main предпринята попытка создать объект дважды
Исходный модуль содержит код классов MyMessage и Program. class MyMessage { private static string msg = "Назад!"; public MyMessage(string s) { msg = s; } public MyMessage() { } public string Msg() { return msg; } } В классе Program определен метод Main, в теле которого находится код: MyMessage m1 = new MyMessage("Ура!"); MyMessage m2 = new MyMessage("Вперед!"); MyMessage m3 = new MyMessage(); System.Console.Write(m1.Msg() + m2.Msg() + m3.Msg()); Укажите результат вывода на консоль после выполнения метода Main():
Исходный модуль содержит код классов MyMessage и Program. class MyMessage { public string msg = "Назад!"; public MyMessage(string s) { msg = s; } public MyMessage() { } public string Msg() { return msg; } } В классе Program определен метод Main, в теле которого находится код: MyMessage m1 = new MyMessage("Вперед!"); MyMessage m2 = new MyMessage("Ура!"); MyMessage m3 = m1; m1.msg = "Ура!"; System.Console.Write(m1.Msg() + m2.Msg() + m3.Msg()); Укажите результат вывода на консоль после выполнения метода Main():
Исходный модуль содержит код классов MyMessage и Program. class MyMessage { private readonly string msg = "Ура!"; public MyMessage(string s) { msg = s; } public MyMessage() { msg = "Вперед"; } public string Msg() { return msg; } } В классе Program определен метод Main, в теле которого находится код: MyMessage m1 = new MyMessage("Назад!"); MyMessage m2 = new MyMessage(); MyMessage m3 = new MyMessage("Назад!"); System.Console.Write(m1.Msg() + m2.Msg() + m3.Msg()); Укажите результат вывода на консоль после выполнения метода Main():
программа не корректна: попытка изменить переменную, доступную только по чтению Назад! Ура!Вперед! Назад!Вперед!Назад! Назад!Ура!Назад!
Исходный модуль содержит код: class Rectangle { double width=15, hight=10, s; string t = "прямоугольник"; public Rectangle(double w, double h) { width = w; hight = h; s = w * h; } public Rectangle(int w, int h) { width *= w; hight*=h; s = width * hight; } public string RectForm() { return string.Format("{0}: площадь={1}. ", t, s); } } class Program { static void Main() { Rectangle k = new Rectangle(2, 3); Rectangle t = new Rectangle(3, 4.0); System.Console.Write(k.RectForm() + t.RectForm()); } } Укажите результат вывода на консоль после попытки запустить программу на компиляцию и выполнение:
прямоугольник: площадь=900. прямоугольник: площадь=12 прямоугольник: площадь=900. прямоугольник: площадь=1800 прямоугольник: площадь=6. прямоугольник: площадь=1800 прямоугольник: площадь=6. прямоугольник: площадь=12 программа завершится аварийно, так как конструкторы имеют одинаковое количество параметров
Исходный модуль содержит код: class Rectangle { double width=15, hight=10, s; string t = "прямоугольник"; public Rectangle(double w, double h) { width = w; hight = h; s = w * h; } public Rectangle(int k) { width *= k; hight *= k; s = width * hight; } public Rectangle(double side) : this(side, side) { t = "квадрат"; } public string RectForm() { return string.Format("{0}: площадь={1}. ", t, s); } } class Program { static void Main() { Rectangle k = new Rectangle(2); Rectangle t = new Rectangle(20.0); System.Console.Write(k.RectForm() + t.RectForm()); } } Укажите результат вывода на консоль после попытки запустить программу на компиляцию и выполнение:
прямоугольник: площадь=4. квадрат: площадь=400 прямоугольник: площадь=600. прямоугольник: площадь=6000 прямоугольник: площадь=600. квадрат: площадь=400 программа завершится аварийно, так как третий конструктор не вычисляет площадь
Исходный модуль содержит код: class Rectangle { double width=0.0, hight=0.0, s=0.0; string t = "Прямоугольник"; public Rectangle(double w, double h) { width = w; hight = h; s = w * h; } public Rectangle(double side) : this(side, side) { t = "Квадрат"; } public Rectangle() : this(1.0, 1.0) { t = "Точка"; } public string RectForm() { return string.Format("{0}: площадь={1} ", t, s); } } class Program { static void Main() { Rectangle k = new Rectangle(10); Rectangle t = new Rectangle(); System.Console.Write(k.RectForm() + t.RectForm()); } } Укажите результат вывода на консоль после попытки запустить программу на компиляцию и выполнение:
квадрат: площадь=0; точка: площадь=1 квадрат: площадь=0; точка: площадь=0 квадрат: площадь=100; точка: площадь=1 программа завершится аварийно, так как вызываемые конструкторы не вычисляют площадь
Программа предназначена для вывода на консоль строки СИДОРОВ: namespace Message { class MyPrint{ public static string View(){return "КОЗЛОВ";}} } namespace OutPut { class MyPrint { public static string View(){return "СИДОРОВ";}} } class Program { static void Main(string[] args) { System.Console.Write( _____________ ); } } Среди приведенных ниже кодов укажите код, которым необходимо заменить знаки подчеркивания для получения корректной программы, решающей поставленную задачу:
При выполнении метода Main необходимо создать объект класса Car со следующими атрибутами: заводской номер - 143155, марка - ГАЗ-3102. class Car { int nom; //Заводской номер string mark; //Марка public Car(int nom) { this.nom = nom; } public Car(int nom,string mark):_________ { this.mark = mark; } } class Program { static void Main() { Car car = new Car(143155,"ГАЗ-3102"); } } Среди приведенных ниже кодов укажите код, которым необходимо заменить знаки подчеркивания для получения корректной программы, решающей поставленную задачу:
base(nom) base() Car(nom) this(nom) nom
При выполнении метода Main необходимо создать объект класса Clock со следующими атрибутами: заводской номер - 3355, марка - ПОЛЕТ. class Clock { int nom; //Заводской номер static string mark; //Марка public Clock(int nom) { this.nom = nom; } public Clock() { nom = 3355; } static Clock() { mark = "ПОЛЕТ"; } } class Program { static void Main() { Clock c = ________________; } } Среди приведенных ниже кодов укажите все коды, подстановка каждого из которых вместо знаков подчеркивания позволяет получить корректную программу, решающую поставленную задачу:
new Clock(3355) Clock(3355) Clock(3355,"ПОЛЕТ") new Clock(3355,"ПОЛЕТ") new Clock();
Укажите модификатор метода, который позволяет для его вызова из других классов не создавать объект:
virtual protected public partial static
Из приведенных ниже высказываний укажите все истинные высказывания:
инкапсуляция предполагает сокрытие полей класса свойство - это одна или две специальные функции, доступные для чтения и/или записи свойство - это набор параметров, характеризующих состав класса свойство не может иметь модификатор private, так как оно не будет доступно извне свойство может быть статическим
Из приведенных ниже высказываний укажите все истинные высказывания:
индексатор не может быть статическим индекс, используемый в качестве параметра индексатора, должен быть числом индексатор может быть создан только в случае наличия у класса скрытого массива индексатор не может иметь модификатор private, так как оно не будет доступно извне индексатор - это одна или две специальные функции, доступные для чтения и/или записи и получающие в качестве параметров один или несколько индексов
Доступность метода из других классов может быть указана с помощью модификатора:
sealed protected private partial abstract
Доступность метода из других классов может быть указана:
по умолчанию с помощью модификатора public с помощью модификатора static с помощью модификатора protected с помощью модификатора override
Доступность поля из других классов может быть указана:
по умолчанию с помощью модификатора new с помощью модификатора out с помощью модификатора protected с помощью модификатора private
Исходный модуль содержит код: class A { private int b; public static int B { get { return b*b; } set { b = value; } } } public class Test { public static void Main() { A.B = 5; System.Console.Write(A.B); } } Метод Main разрабатывался для вывода квадрата числа 5. Трансляция программы завершена неудачно. Из приведенных высказываний укажите высказывание, которое раскрывает причину некорректности программы:
свойство B не может быть статическим статическое свойство B использует нестатическое поле для использования свойства В должен быть создан объект класса А значение поля b не определено поле b недоступно для использования в свойстве
Исходный модуль содержит код: class A { private static double a; public static double this[double i] { get { return System.Math.Pow(2.0, i); } set { a = value; } } } public class Test { public static void Main() { A[3] = 4; double c = A[3]; System.Console.Write(c); } } Метод Main разрабатывался для вывода степени числа 2. Трансляция программы завершена неудачно. Из приведенных высказываний укажите высказывание, которое раскрывает причину некорректности программы:
класс А не может состоять только из статических членов для использования индексатора должен быть создан объект класса А индексатор не может быть статическим в индексаторе не используется массив класс А должен содержать массив для его использования в индексаторе
Исходный модуль содержит код: class A { private static int b; public static int B { get { return b * b; } set { b = value; } } } public class Test { public static void Main() { A a = new A(); a.B = 5; System.Console.Write(a.B); } } Метод Main разрабатывался для вывода квадрата числа 5. Трансляция программы завершена неудачно. Из приведенных высказываний укажите высказывание, которое раскрывает причину некорректности программы:
свойство B не может быть статическим класс А не может состоять только из статических членов значение поля b не определено для создания объекта класс А должен содержать конструктор свойство B не может быть доступно через ссылку на объект класса
Исходный модуль содержит код: class MyOut { public int A = 555; int B; public int View() { return A + B; } } class Program { static void Main() { MyOut mout = new MyOut(); System.Console.Write(mout.A + mout.B); } } Метод Main разрабатывался для получения суммы полей A и B объекта класса MyOut. Трансляция программы завершена неудачно. Из приведенных высказываний укажите высказывание, которое раскрывает причину некорректности программы:
значение поля B не определено статический метод Main не может обращаться к полям объекта поле B закрыто для доступа из других классов тип MyOut не доступен из класса Program в классе MyOut не определен конструктор без параметров
Исходный модуль содержит код: class MyOut { int A,B=777; int View() { return A + B; } } class Program { static void Main() { MyOut mout = new MyOut(); System.Console.Write(mout.View()); } } Метод Main разрабатывался для получения суммы полей A и B объекта класса MyOut. Трансляция программы завершена неудачно. Из приведенных высказываний укажите высказывание, которое раскрывает причину некорректности программы:
поля A и B закрыты для доступа из других классов значение поля A не определено вызов метода View() должен содержать не имя объекта, а имя класса MyOut в классе MyOut не определен конструктор без параметров метод View() закрыт для доступа из других классов
Исходный модуль содержит код: class MyOut { protected static int A = 999; protected int B; public static int View() { return A; } } class Program { static void Main() { MyOut mout = new MyOut(); System.Console.Write(mout.View() + mout.B); } } Метод Main разрабатывался для получения суммы полей A и B объекта класса MyOut. Трансляция программы завершена неудачно. Из приведенных высказываний укажите высказывание, которое раскрывает причину некорректности программы:
поле A недоступно из класса Program в классе MyOut не определен конструктор без параметров тип MyOut не доступен из класса Program поле B недоступно из класса Program значение поля B не определено
Исходный модуль содержит код: class Сотрудник { private int id; private float зарплата; public Сотрудник(int i, float z) { id = i; зарплата = z; } public float Зарплата(int номер) { return номер < id ? зарплата : -1; } public void Зарплата(int номер, ref float зарпл) { if (номер < id) { float зрпл = зарплата; зарплата = зарпл; зарпл = зрпл; } } } class Program { static void Main() { Сотрудник Иванов = new Сотрудник(12, 40000.0f); float z = 45000.0f; Иванов.Зарплата(10, ref z); System.Console.Write("Зарплата Иванова = " + z); } } Укажите результат вывода на консоль после попытки запустить программу на компиляцию и выполнение:
40000 45000 20000 -1 программа не выполняется, так как обнаружена одна или несколько синтаксических ошибок
Исходный модуль содержит код: class Сотрудник { private int id; private float зарплата = 20000; public Сотрудник(int i, float z) { id = i; зарплата = z; } public float Зарплата(int номер) { return номер < id ? зарплата : -1; } public void Зарплата(int номер, ref float зарпл) { if (номер < id) { float зрпл = зарплата; зарплата = зарпл; зарпл = зрпл; } } } class Program { static void Main() { Сотрудник Иванов = new Сотрудник(12, 40000.0f); float z = 45000.0f; Иванов.Зарплата(10, ref z); System.Console.Write("Зарплата Иванова = " + Иванов.Зарплата(8)); } } Укажите результат вывода на консоль после попытки запустить программу на компиляцию и выполнение:
40000 20000 45000 -1 программа не выполняется, так как обнаружена одна или несколько синтаксических ошибок
Сборка Assembly2.cs, приведенная ниже: public class Test3 { static void Main() { ClassUser user = new ClassUser (); int count = ClassUser. count = 112; System.Console.Write ("count=" + count); } } ссылается на подключенную сборку Assembly1.cs, которая имеет следующий код: public class ClassUser { internal static int count = 10; } Укажите результат вывода на консоль после попытки запустить программу на компиляцию и выполнение:
count=10 программа не выполнится, так как сборка Assembly2.cs создает объект user, в то время как класс ClassUser не принадлежит сборке Assembly2.cs будет выдано сообщение об ошибке компиляции, так как нельзя работать с недоступным в соответствии с модификатором полем count count=112 будет выдано сообщение об ошибке компиляции, так как нельзя создать объект класса ClassUser, содержащего недоступное в соответствии с модификатором поле count
Исходный модуль содержит код: class Сотрудник { private int id; private float зарплата; public Сотрудник(int i, float z) { id = i; зарплата = z; } public float Зарплата(int номер) { return номер < id ? зарплата : -1; } public void Зарплата(int номер, ref float зарпл) { if (номер < id) { float зрпл = зарплата; зарплата = зарпл; зарпл = зрпл; } } } class Program { static void Main() { Сотрудник Иванов = new Сотрудник(12, 40000.0f); float z = 45000.0f; Иванов.Зарплата(10, ref z); System.Console.Write("Зарплата Иванова = " + Иванов.Зарплата(12)); } } Укажите результат вывода на консоль после попытки запустить программу на компиляцию и выполнение:
40000 45000 20000 -1 программа не выполняется, так как обнаружена одна или несколько синтаксических ошибок
Внимание ! Вопросы к тесту выложены исключительно в ознакомительных целях: количество вопросов может не совпадать с действительным, актуальность не поддерживается,- за решением теста Welcome to the cashier! Исходный модуль содержит код: class Room { private int nom1; public int nom2; public Room(int a, int b){ nom1 = a; nom2 = b; } public int Nom { get { return nom1 * 100 + nom2; } set { if (value<5555) {nom1 = value/100; nom2 = value%100; }} } } class Program { static void Main() { Room r = new Room(65,98); r.Nom = 6712; System.Console.Write("{0} ", r.Nom); } } Укажите результат вывода на консоль после выполнения метода Main():
6598 6712 6512 6798
Исходный модуль содержит код: class Room { private int nom1; public int nom2; public Room(int a, int b){ nom1 = a; nom2 = b; } public int Nom { get { return nom1 * 100 + nom2; } set { if (value<5555) {nom1 = value/100; nom2 = value%100; }} } } class Program { static void Main() { Room r = new Room(12,45); r.Nom = 4431; System.Console.Write("{0} ", r.Nom); } } Укажите результат вывода на консоль после выполнения метода Main():
1231 1245 4431 4445
Исходный модуль содержит код: class Room { public int nom1; int nom2; public Room(int a, int b){ nom1 = a; nom2 = b; } public int Nom { get { return nom1 * 100 + nom2; } set { if (value<5555) {nom1 = value/100; nom2 = value%100; }} } } class Program { static void Main() { Room r = new Room(21,56); r.nom1 = 77; System.Console.Write("{0} ", r.Nom); } } Укажите результат вывода на консоль после выполнения метода Main():
2156 2177 7721 7756
Программа предназначена для присвоения переменной r класса B значения 4 : class A { public B b = null; public A() { B b = new B(); } public class B { static public int r; public int t; } } class Test { public static void Main() { A a = new A(); ___________ } } Среди приведенных ниже кодов укажите код, которым необходимо заменить знаки подчеркивания для получения корректной программы, решающей поставленную задачу: a.B.r = 4; A.B.r = 4; a.b.r = 4; A.b.r = 4; B.r = 4;
Программа предназначена для присвоения переменной t класса B значения 8 : class A { public B b = null; public A() { B b = new B(); } public class B { static public int r; public int t; } } class Test { public static void Main() { A a = new A(); ___________ } } Среди приведенных ниже кодов укажите код, которым необходимо заменить знаки подчеркивания для получения корректной программы, решающей поставленную задачу:
Программа предназначена для присвоения переменной t класса B значения 8 : class A { static public B b = null; public A() { B b = new B(); } public class B { static public int r; public int t; } } class Test { public static void Main() { A a = new A(); ___________ } } Среди приведенных ниже кодов укажите код, которым необходимо заменить знаки подчеркивания для получения корректной программы, решающей поставленную задачу:
Исходный модуль содержит код: class ЧЕЛОВЕК { class ПАСПОРТ {} class ДОЛЖНОСТЬ {} } class Program { static void Main() { ______ P; } } В методе Main требуется объявить ссылку P на тип ДОЛЖНОСТЬ. Среди приведенных ниже вариантов ответов укажите истинный вариант:
вместо знаков подчеркивания укажите ЧЕЛОВЕК вместо знаков подчеркивания укажите ЧЕЛОВЕК.ДОЛЖНОСТЬ вместо знаков подчеркивания укажите ДОЛЖНОСТЬ вместо знаков подчеркивания укажите ЧЕЛОВЕК.ПАСПОРТ.ДОЛЖНОСТЬ объявить требуемую ссылку в методе Main невозможно
Исходный модуль содержит код: class ЧЕЛОВЕК { class ПАСПОРТ {} public class ДОЛЖНОСТЬ {} } class Program { static void Main() { ______ P; } } В методе Main требуется объявить ссылку P на тип ДОЛЖНОСТЬ. Среди приведенных ниже вариантов ответов укажите истинный вариант:
вместо знаков подчеркивания укажите ЧЕЛОВЕК вместо знаков подчеркивания укажите ЧЕЛОВЕК.ДОЛЖНОСТЬ вместо знаков подчеркивания укажите ДОЛЖНОСТЬ вместо знаков подчеркивания укажите ПАСПОРТ.ДОЛЖНОСТЬ объявить требуемую ссылку в методе Main невозможно
Исходный модуль содержит код: class ЧЕЛОВЕК { public class ПАСПОРТ {} public class ДОЛЖНОСТЬ {} } class Program { static void Main() { ______ P; } } В методе Main требуется объявить ссылку P на тип ПАСПОРТ. Среди приведенных ниже вариантов ответов укажите истинный вариант:
вместо знаков подчеркивания укажите ЧЕЛОВЕК вместо знаков подчеркивания укажите ПАСПОРТ вместо знаков подчеркивания укажите ЧЕЛОВЕК.ПАСПОРТ вместо знаков подчеркивания укажите ЧЕЛОВЕК.ДОЛЖНОСТЬ.ПАСПОРТ объявить требуемую ссылку в методе Main невозможно
Язык С# допускает
наследование классом нескольких классов наследование классом нескольких интерфейсов наследование классом делегата наследование классом структуры наследование структурой класса
Класс, в заголовке которого указан модификатор sealed:
допускает наследование другого класса не может быть унаследован другим классом может быть унаследован другим классом в текущей сборке может быть унаследован структурой может быть унаследован другим классом во внешней сборке
Из приведенных ниже высказываний укажите все истинные высказывания:
System.Object - это статический объект класса System System.Object - это класс, являющийся базовым для всех остальных классов базовый класс должен иметь конструктор без параметров, если в производном классе определен конструктор с параметрами и без ключевого слова base производный класс не накладывает каких-либо требований на состав конструкторов базового класса если в производном классе нет явно определенных конструкторов, то в базовом классе должен быть конструктор без параметров
Класс, в заголовке которого указан модификатор public:
может быть предком для нескольких классов - прямых потомков может иметь только один класс в качестве прямого предка определяет все поля класса как общедоступные определяет все методы класса как общедоступные может иметь несколько классов в качестве прямых предков
Класс, в заголовке которого указан модификатор sealed:
может быть предком только для одного класса - прямого потомка является базовым классом и не может иметь предков определяет все поля и методы класса как защищенные может иметь не более одного класса в качестве прямого предка является изолированным классом и не может иметь потомков
Класс, в заголовке которого указан модификатор internal:
может иметь несколько классов в качестве прямых предков является базовым классом и не может иметь предков определяет все поля и методы класса как закрытые может быть предком для нескольких классов - прямых потомков является изолированным классом и не может иметь потомков
Исходный модуль содержит код: class A { protected internal int x = 123; }
class B : A { static void Main() { A a = new A(); int i = a.x = 10; B b = new B(); int j = b.x = 20; System.Console.Write("a.x={0} b.x={1}", i, j); } } Укажите результат вывода на консоль после попытки запустить программу на компиляцию и выполнение:
программа завершится аварийно a.x=20 b.x=20 a.x=10 b.x=20 a.x=10 b.x=10 программа не выполнится, так как поле x класса А недоступно в классе В
Исходный модуль содержит код: class A { protected int x = 123; } class B : A { static void Main() { A a = new A(); int i = a.x = 10; B b = new B(); int j = b.x = 20; System.Console.Write("a.x={0} b.x={1}", i, j); } } Укажите результат вывода на консоль после попытки запустить программу на компиляцию и выполнение:
программа завершится аварийно a.x=10 b.x=10 a.x=10 b.x=20 a.x=20 b.x=20 программа не выполнится, так как обнаружена одна или несколько синтаксических ошибок
Исходный модуль содержит код: sealed class A { public int x = 123; }
class B : A { static void Main() { A a = new A(); int i = a.x = 10; B b = new B(); int j = b.x = 20; System.Console.Write("a.x={0} b.x={1}", i, j); } } Укажите результат вывода на консоль после попытки запустить программу на компиляцию и выполнение:
программа завершится аварийно a.x=10 b.x=10 a.x=10 b.x=20 a.x=20 b.x=20 программа не выполнится, так как обнаружена одна или несколько синтаксических ошибок
Исходный модуль содержит код: class ПРИБОР { public ПРИБОР() { System.Console.Write("ПРИБОР "); } } class ПРИЕМНИК : ПРИБОР { public ПРИЕМНИК() { System.Console.Write("ПРИЕМНИК "); } } class ТЕЛЕВИЗОР : ПРИЕМНИК { public ТЕЛЕВИЗОР() { System.Console.Write("ТЕЛЕВИЗОР "); } } class Program { static void Main() { ПРИБОР P = new ТЕЛЕВИЗОР(); } } Укажите результат вывода на консоль после выполнения метода Main():
Исходный модуль содержит код: class ПРИБОР { public ПРИБОР() { System.Console.Write("ПРИБОР "); } } class ПРИЕМНИК : ПРИБОР { public ПРИЕМНИК() { System.Console.Write("ПРИЕМНИК "); } } class ТЕЛЕВИЗОР : ПРИЕМНИК { public ТЕЛЕВИЗОР() { System.Console.Write("ТЕЛЕВИЗОР "); } } class Program { static void Main() { ПРИБОР P = new ПРИЕМНИК(); } } Укажите результат вывода на консоль после выполнения метода Main():
Исходный модуль содержит код: class ПРИБОР { public ПРИБОР() { System.Console.Write("ПРИБОР "); } } class ПРИЕМНИК : ПРИБОР { public ПРИЕМНИК() { System.Console.Write("ПРИЕМНИК "); } } class ТЕЛЕВИЗОР : ПРИБОР { public ТЕЛЕВИЗОР() { System.Console.Write("ТЕЛЕВИЗОР "); } } class Program { static void Main() { ПРИБОР P = new ТЕЛЕВИЗОР(); } } Укажите результат вывода на консоль после выполнения метода Main(): ПРИБОР ПРИБОР ТЕЛЕВИЗОР ПРИЕМНИК ПРИБОР ПРИЕМНИК ТЕЛЕВИЗОР ПРИБОР ТЕЛЕВИЗОР
Исходный модуль содержит код: class Студент { string фамилия; public string Фамилия { get { return фамилия; } } public Студент(string ф) { фамилия = ф; } } class Магистр : Студент { int курс; public int Курс { get { return курс; } } public Магистр(string фам, int к) : base(фам) { this.курс = к; } } class Test { static void Main() { Студент Иванов = new Магистр("Петров",4); System.Console.Write("{0} {1}", _______________ ); } } Требуется вывести фамилию и номер курса студента в виде: Петров 4. Среди перечисленных ниже кодов укажите код, подстановка которого вместо знаков подчеркивания позволяет получить программу, решающую поставленную задачу:
Исходный модуль содержит код: class Студент { string фамилия="Иванов"; public string Фамилия { get { return фамилия; } } public Студент(string ф) { фамилия = ф; } public Студент() { } } class Магистр : Студент { int курс=4; public int Курс { get { return курс; } } public Магистр(string фам, int к) { this.курс = к; } } class Test { static void Main() { Студент Петров = new Магистр("Петров", 5); System.Console.Write("{0} {1}", Петров.Фамилия, ((Магистр)Петров).Курс); } } Укажите результат вывода на консоль после попытки запустить программу на компиляцию и выполнение:
программа завершится аварийно Иванов 4 Иванов 5 Петров 5 программа не выполнится, так как обнаружена одна или несколько синтаксических ошибок
Исходный модуль содержит код: сlass Студент { string фамилия = "Петров"; public string Фамилия { get { return фамилия; } } public Студент(string ф) { фамилия = ф; } public Студент() { фамилия = "Иванов"; } } class Магистр : Студент { static int курс; public static int Курс { get { return курс; } } static Магистр() { курс = 4; } } class Test { static void Main() { Студент стд = new Студент("Сидоров"); Магистр маг = new Магистр(); System.Console.Write("{0} {1}", маг.Фамилия, Магистр.Курс); } } Укажите результат вывода на консоль после попытки запустить программу на компиляцию и выполнение:
программа завершится аварийно Петров 4 Сидоров 4 Иванов 4 программа не выполнится, так как обнаружена одна или несколько синтаксических ошибок
Исходный модуль содержит классы ЧЕЛОВЕК,СОТРУДНИК и Program: class ЧЕЛОВЕК { string фамилия; public ЧЕЛОВЕК(string фамилия) {this.фамилия = фамилия;} public string ФАМ() { return фамилия; } } class СОТРУДНИК:ЧЕЛОВЕК { string должность; public СОТРУДНИК(string фамилия, string должность):base(фамилия) { this.должность = должность; } public string ДОЛ { get {return должность;} } } В классе Program определен метод Main, в теле которого находится код: ЧЕЛОВЕК P = new СОТРУДНИК("Петров","Кассир"); System.Console.Write("{0} {1}", ______________ ); Требуется вывести фамилию и должность сотрудника. Среди перечисленных ниже кодов укажите код, подстановка которого вместо знаков подчеркивания позволяет получить программу, решающую поставленную задачу:
Исходный модуль содержит код классов ЧЕЛОВЕК,СОТРУДНИК и Program: class ЧЕЛОВЕК { string фамилия; public ЧЕЛОВЕК(string фамилия) {this.фамилия = фамилия;} public string ФАМ() { return фамилия; } } class СОТРУДНИК:ЧЕЛОВЕК { string должность; public СОТРУДНИК(string фамилия, string должность):base(фамилия) { this.должность = должность; } public string ДОЛ { get {return должность;} } } В классе Program определен метод Main, в теле которого находится код: СОТРУДНИК P = new СОТРУДНИК("Петров","Кассир"); System.Console.Write("{0} {1}", ______________ ); Требуется вывести фамилию и должность сотрудника. Среди перечисленных ниже кодов укажите код, подстановка которого вместо знаков подчеркивания позволяет получить программу, решающую поставленную задачу:
Исходный модуль содержит код классов ЧЕЛОВЕК,СОТРУДНИК и Program: class ЧЕЛОВЕК { string фамилия; public ЧЕЛОВЕК(string фамилия) {this.фамилия = фамилия;} public string ФАМ { get {return фамилия; } } } class СОТРУДНИК:ЧЕЛОВЕК { string должность; public СОТРУДНИК(string фамилия, string должность):base(фамилия) { this.должность = должность; } public string ДОЛ() { return должность; } } В классе Program определен метод Main, в теле которого находится код: СОТРУДНИК P = new СОТРУДНИК("Петров","Кассир"); System.Console.Write("{0} {1}", ______________ ); Требуется вывести фамилию и должность сотрудника. Среди перечисленных ниже кодов укажите код, подстановка которого вместо знаков подчеркивания позволяет получить программу, решающую поставленную задачу:
Исходный модуль содержит код: using System; class Дерево { public Дерево() { Console.Write("Дерево "); } }
class Плодовое : Дерево { public Плодовое (string s) { Console.Write(s); } }
class Яблоня : Плодовое { public Яблоня(string s) { Console.Write("Яблоня "); } } class Program { static void Main() { object P = new Яблоня("Антоновка "); } } Укажите результат вывода на консоль после попытки запустить программу на компиляцию и выполнение:
Антоновка Плодовое Дерево Дерево Антоновка Яблоня Яблоня Антоновка Дерево Дерево Плодовое Антоновка программа не выполнится, так как обнаружена синтаксическая ошибка: у класса Плодовое отсутствует конструктор без параметров
Исходный модуль содержит код: using System; class Дерево { public Дерево() { Console.Write("Дерево "); } }
class Плодовое : Дерево { public Плодовое() { Console.Write("Плодовое "); } public Плодовое(string s) : this() { Console.Write(s); } }
class Яблоня : Плодовое { public Яблоня(string s) : base ("Лиственное ") { Console.Write("Яблоня "); } }
class Program { static void Main() { object P = new Яблоня("Антоновка "); } } Укажите результат вывода на консоль после попытки запустить программу на компиляцию и выполнение:
Дерево Плодовое Лиственное Яблоня Антоновка Дерево Плодовое Лиственное Яблоня Яблоня Лиственное Плодовое Дерево Антоновка Яблоня Лиственное Плодовое Дерево программа не выполнится, так как обнаружена одна или несколько синтаксических ошибок
Исходный модуль содержит код: using System; class Дерево { public Дерево() { Console.Write("Дерево "); } }
class Плодовое : Дерево { public Плодовое() { Console.Write("Плодовое "); } }
class Яблоня : Плодовое { public Яблоня() { Console.Write("Яблоня "); } public Яблоня(string s) : this() { Console.Write(s); } } class Program { static void Main() { object P = new Яблоня("Антоновка "); } } Укажите результат вывода на консоль после попытки запустить программу на компиляцию и выполнение:
Антоновка Плодовое Дерево Дерево Плодовое Яблоня Антоновка Антоновка Яблоня Плодовое Дерево Дерево Плодовое Антоновка программа не выполнится, так как обнаружена одна или несколько синтаксических ошибок
Исходный модуль содержит классы ClassA, ClassB, ClassC и Program: class ClassA { int a; public int VA { get{return a; } set{a=value; } } } class ClassB : ClassA { int b; public int VB { get{return b; } set{b=value; VA=b-3; } } } class ClassC : ClassB { int c; public int VC { get{return c; } set{c=value; VB=c-2; } } } В классе Program определен метод Main, в теле которого находится код: ClassC P = new ClassC(); P.VC = 10; System.Console.Write("{0} {1}", P.VC, P.VA); Укажите результат вывода на консоль после выполнения метода Main():
10 0 10 7 10 5 8 5
Исходный модуль содержит классы ClassA, ClassB, ClassC и Program: class ClassA { int a; public int VA { get{return a;} set{a=value;} } } class ClassB : ClassA { int b; public int VB { get{return b;} set{b=value; VA=b+3;} } } class ClassC : ClassB { int c=3; public int VC { get{return c;} set{VB=c+2; c=value; } } } В классе Program определен метод Main, в теле которого находится код: ClassC P = new ClassC(); P.VC = 10; System.Console.Write("{0} {1}", P.VC, P.VA); Укажите результат вывода на консоль после выполнения метода Main():
10 8 10 15 3 8 10 13
Исходный модуль содержит классы ClassA, ClassB, ClassC и Program: class ClassA { int a; public int VA { get{return a;} set{a=value;} } } class ClassB : ClassA { int b; public int VB { get{return b;} set{b=value; VA=b+3;} } } class ClassC : ClassA { int c=20; public int VC { get { return c; } set {c=value; VA=c+2;} } } В классе Program определен метод Main, в теле которого находится код: ClassC P = new ClassC(); P.VC = 10; System.Console.Write("{0} {1}", P.VC, P.VA); Укажите результат вывода на консоль после выполнения метода Main(): 20 22 10 15 20 25 10 12
Из приведенных ниже высказываний укажите все истинные высказывания:
в производном классе модификатор new у метода означает переопределение базового метода с тем же именем и не содержащего модификатор virtual в производном классе модификатор new у метода означает переопределение базового метода с тем же именем, у которого может быть модификатор virtual в производном классе модификатор new у метода означает переопределение базового метода с тем же именем, у которого должен быть модификатор virtual при переопределении базового метода с модификатором virtual должен использоваться только модификатор override базовый метод с модификатором virtual можно не переопределять в производном классе
Из приведенных ниже высказываний укажите все истинные высказывания:
в производном классе должны быть переопределены все виртуальные методы базового класса если в классе есть виртуальные методы, то класс должен быть объявлен с модификатором virtual для переопределения в производном классе виртуального метода может использоваться модификатор override для переопределения в производном классе виртуального метода может использоваться модификатор new объявление метода виртуальным означает, что все ссылки на этот метод будут разрешаться во время выполнения программы
Из приведенных ниже высказываний укажите все истинные высказывания:
переопределенный виртуальный метод должен обладать таким же набором параметров, как и одноименный метод базового класса виртуальный метод может быть статическим виртуальный метод может иметь модификатор abstract какая версия виртуального метода будет вызвана, определяется по типу объекта, на который указывает ссылка, имеющая тип базового класса свойства и индексаторы могут быть виртуальными
Программист разработал следующее определение класса: class Class { private int x, y; public Class(int x, int y) { this.x = x; this.y = y; } public static bool operator >(Class a, Class b) { return a.x > b.x; } } Среди приведенных ниже высказываний укажите истинное высказывание:
Определение класса необходимо дополнить методом с именем operator " operator >= operator < operator <= operator ==
Программист разработал следующее определение класса: class Class { private int x, y; public Class(int x, int y) { this.x = x; this.y = y; } public static bool operator<=(Class a, Class b) { return a.x <= b.x; } } Среди приведенных ниже высказываний укажите истинное высказывание:
Определение класса необходимо дополнить методом с именем operator < operator > operator == operator != operator >=
Программист разработал следующее определение класса: class Class { private int x, y; public Class(int x, int y) { this.x = x; this.y = y; } public static bool operator !=(Class a, Class b) { return a.x != b.x; } } Среди приведенных ниже высказываний укажите истинное высказывание: Определение класса необходимо дополнить методом с именем operator == operator >= operator <= operator > operator <
Из приведенных ниже высказываний укажите все истинные высказывания:
можно создать объект абстрактного класса нельзя создать объект абстрактного класса абстрактный класс не должен содержать конструкторов абстрактный класс может содержать конструкторы абстрактный класс может содержать только конструктор без параметров
Из приведенных ниже высказываний укажите все истинные высказывания:
абстрактный класс может быть производным классом абстрактный класс не может быть базовым классом при наследовании абстрактного класса в производном классе должны быть реализованы все абстрактные методы абстрактного класса при наследовании абстрактного класса в производном классе может быть реализована часть абстрактных методов абстрактного класса если в классе есть хотя бы один абстрактный метод, то класс должен быть объявлен абстрактным
Из приведенных ниже высказываний укажите все истинные высказывания:
абстрактный класс может содержать открытые поля абстрактный класс не должен содержать открытые поля абстрактный класс должен содержать хотя бы один абстрактный метод если производный класс, являющийся наследником абстрактного класса, не переопределяет все абстрактные методы, то он должен быть помечен модификатором abstract абстрактный метод может иметь пустое тело
Исходный модуль содержит классы Class и Program: class Class { private int x, y; public Class(int x, int y) { this.x = x; this.y = y; } public static Class operator ++(Class a) { return new Class(a.x, a.y + 1);} public void View(){System.Console.Write("{0} {1} ",x,y);} } В классе Program определен метод Main, в теле которого находится код: Class a = new Class(2,3),b; b = ++a; b.View(); a.View(); Укажите результат вывода на консоль после выполнения метода Main():
2 3 2 4 3 4 3 4 2 3 3 4 2 4 2 4
Исходный модуль содержит классы Class и Program: class Class { private int x, y; public Class(int x, int y) { this.x = x; this.y = y; } public static Class operator ++(Class a) { return new Class(a.x+1, a.y);} public void View(){System.Console.Write("{0} {1} ",x,y);} } В классе Program определен метод Main, в теле которого находится код: Class a = new Class(4,3),b; b = a++; b.View(); a.View(); Укажите результат вывода на консоль после выполнения метода Main():
4 3 5 3 4 3 5 4 5 3 5 3 5 4 5 4
Исходный модуль содержит классы Class и Program: class Class { private int x, y; public Class(int x, int y) { this.x = x; this.y = y; } public static Class operator ++(Class a) { return new Class(a.x+1, a.y+2);} public void View(){System.Console.Write("{0} {1} ",x,y);} } В классе Program определен метод Main, в теле которого находится код: Class a = new Class(2,5),b; b = a++; b.View(); a.View(); Укажите результат вывода на консоль после выполнения метода Main():
3 6 3 6 2 5 3 6 2 5 3 7 3 7 3 7
Проанализируйте приведенный код. class Rectangle { public int x = 10, y = 20; public Rectangle(int x, int y) { this.x = x; this.y = y; } public virtual int Zoom { get { return x * y; } set { x += value; y += value; } } } class Параллепипед : Rectangle { public int z; public Параллепипед(int x, int y, int z) : base(x, y) { this.z = z; } public override int Zoom { get { return x*y*z; } set { x+=value; y+=value; z+=value; } } } class Program { static void Main() { Параллепипед парал = new Параллепипед(6, 8, 10); парал.Zoom = -5; System.Console.Write(парал.Zoom); } } Укажите результат вывода на консоль после попытки запустить программу на компиляцию и выполнение:
программа завершится аварийно 375 3 15 программа не выполняется, так как обнаружена одна или несколько синтаксических ошибок
Проанализируйте приведенный код. class Rectangle { public int x = 10, y = 20; public Rectangle(int x, int y) { this.x = x; this.y = y; } public virtual int Zoom { get { return x * y; } set { x += value; y += value; } } } class Параллепипед : Rectangle { public int z; public Параллепипед(int x, int y, int z) : base(x, y) { this.z = z; } public override int Zoom { get { return x*y*z; } set { x+=value; y+=value; z+=value; } } } class Program { static void Main() { Rectangle парал = new Параллепипед(6, 8, 10); парал.Zoom = -5; System.Console.Write(парал.Zoom); } } Укажите результат вывода на консоль после попытки запустить программу на компиляцию и выполнение:
программа завершится аварийно
3 15 375 будет обнаружена синтаксическая ошибка, связанная с попыткой присвоить ссылке типа Rectangle адрес объекта типа Параллепипед
Вы можете обратится к нам напрямую, через:
По Skype: molodoyberkut По Telegram: @MolodoyBerkut По ICQ: 657089516