База ответов ИНТУИТ

C#: ООП и классы

<<- Назад к вопросам

Проанализируйте приведенную ниже программу и укажите результат после попытки запустить программу на компиляцию и выполнение:
public delegate void Выдать(ref int a);class Начисление{    int s = 100;    public event Выдать Зарплата;    public void Начислить() { Зарплата(ref s);  }    public void Получите()  { System.Console.Write(s); }}class БумТрест {  public static void OnЗарплата(ref int s) { s = s + 10; } }class БумСтрой {  public static void OnЗарплата(ref int s) { s = s - 30; } }class Совместитель{    static void Main(string[] args)  {    Начисление нач = new Начисление();    нач.Зарплата += new Выдать(БумТрест.OnЗарплата);    нач.Зарплата += new Выдать(БумСтрой.OnЗарплата);    нач.Зарплата += new Выдать(БумТрест.OnЗарплата);    нач.Зарплата -= new Выдать(БумСтрой.OnЗарплата);    нач.Получите(); нач.Начислить();} }  

(Отметьте один правильный вариант ответа.)

Варианты ответа
220
возникает исключение при попытке обращения по null-ссылке
200
110
100(Верный ответ)
Похожие вопросы
Проанализируйте приведенную ниже программу и укажите результат после попытки запустить программу на компиляцию и выполнение:
public delegate void Выдать(ref int a);class Начисление{    int s = 100;    public event Выдать Зарплата;    public void Начислить() { Зарплата(ref s);  }    public void Получите()  { System.Console.Write(s); }}class БумТрест {  public static void OnЗарплата(ref int s) { s = s + 10; } }class БумСтрой {  public static void OnЗарплата(ref int s) { s = s - 30; } }class Совместитель{    static void Main(string[] args)  {    Начисление нач = new Начисление();    нач.Зарплата += new Выдать(БумТрест.OnЗарплата);    нач.Зарплата += new Выдать(БумСтрой.OnЗарплата);    нач.Зарплата -= new Выдать(БумТрест.OnЗарплата);    нач.Зарплата -= new Выдать(БумСтрой.OnЗарплата);    нач.Начислить();   нач.Получите(); } }  
Проанализируйте приведенную ниже программу и укажите результат после попытки запустить программу на компиляцию и выполнение:
public delegate void Выдать(ref int a);class Начисление{    int s = 100;    public event Выдать Зарплата;    public void Начислить() { Зарплата(ref s);  }    public void Получите()  { System.Console.Write(s); }}class БумТрест {  public static void OnЗарплата(ref int s) { s = s + 10; } }class БумСтрой {  public static void OnЗарплата(ref int s) { s = s - 30; } }class Совместитель{  static void Main(string[] args)  {    Начисление нач = new Начисление();    нач.Зарплата += new Выдать(БумТрест.OnЗарплата);    нач.Зарплата += new Выдать(БумСтрой.OnЗарплата);    нач.Начислить();   нач.Получите(); } }  
Исходный модуль содержит код:
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));}  }  
Укажите результат вывода на консоль после попытки запустить программу на компиляцию и выполнение:
Проанализируйте приведенную ниже программу и укажите результат после попытки запустить программу на компиляцию и выполнение:
using System;class Program{    static int[] a = new int[] { 10, 30, 20 };    public delegate void F();    public static void R() { Array.Reverse(a); }    public static void S() { Array.Sort(a); }    public static void M() { int buf = a[0]; a[0] = a[a.Length - 1]; a[a.Length - 1] = buf; }    static void Main()    {      F f = new F(S); f += R; f += M; f -= S;  f();      for (int i = 0; i < a.Length; i++) Console.Write(a[i]+" ");    }}  
Проанализируйте приведенную ниже программу и укажите результат после попытки запустить программу на компиляцию и выполнение:
using System;class Program{    static int[] a = new int[] { 10, 30, 20 };    public delegate void F();    public static void R() { Array.Reverse(a); }    public static void S() { Array.Sort(a); }    public static void M() { int buf = a[0]; a[0] = a[a.Length - 1]; a[a.Length - 1] = buf; }    static void Main()    {      F f = new F(R); f += S; f -= R; f -= S;  f();      for (int i = 0; i < a.Length; i++) Console.Write(a[i]+" ");    }}  
Проанализируйте приведенный код.
delegate void MyEventHandler(ref int a); class MyEvent 	{  public event MyEventHandler SomeEvent;    public void OnSomeEvent(ref int d)    {  if (SomeEvent != null) SomeEvent(ref d);  } }class EventTest{  static void Handler1(ref int b) { b = 2 * b;  }    static void Handler2(ref int c) {  c = c + 12; }    public static void Main()    {  MyEvent evt = new MyEvent();        int a = int.Parse(System.Console.ReadLine());        if (a > 0) evt.SomeEvent += new MyEventHandler(EventTest.Handler1);        else if (a < 0) evt.SomeEvent += new MyEventHandler(EventTest.Handler2);        evt.OnSomeEvent(ref a);   System.Console.WriteLine(a);   } }  
Пользователь собирается после запуска программы ввести цифру 5. Укажите результат вывода на консоль после попытки запустить программу на компиляцию и выполнение:
Проанализируйте приведенный код.
struct Структура{  public string имя = "Без имени";    static public int курс=1;    public Структура(string и) { имя=и; }    public string Метод()    { return string.Format("Студент {0} учится на курсе {1}", имя, курс); }}class Test{   public static void Main()    {  Структура c2 = new Структура();        Структура c1 = new Структура("Зайцев");   c2 = c1;        System.Console.WriteLine(c2.Метод());}  }  
Укажите результат вывода на консоль после попытки запустить программу на компиляцию и выполнение:
Проанализируйте приведенный код.
public enum Языки { СSarp, CPP, VB, Java }struct Структура{  public string Имя;    public Языки я;    public override string ToString()    {  return string.Format("Программист {0} программирует на {1}", Имя, я);  }}class Test{   public static void Main()    {        Структура c1;        Структура c2 = new Структура();        c1 = c2;        c1.Имя = "Иванов"; c1.я = Языки.VB;        System.Console.WriteLine(c2); }   }  
Укажите результат вывода на консоль после попытки запустить программу на компиляцию и выполнение:
В классе Test определен приведенный ниже код:
    public delegate int CallBackMethod(int a1, int a2);    public static void Main()    {  int s = 0;        s = CallMethod(new CallBackMethod(CBMethod));        System.Console.WriteLine(s);    }    public static int CallMethod(CallBackMethod cbMethod)    {   return cbMethod(11, 22);  }    public static int CBMethod(int a1, int a2)    {   return a1 + a2;  }  
Укажите результат вывода на консоль после попытки запустить программу на компиляцию и выполнение:
Проанализируйте приведенный код.
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 Rectangle (6, 8, 10);        парал.Zoom = -5;   System.Console.Write(парал.Zoom);    }}  
Укажите результат вывода на консоль после попытки запустить программу на компиляцию и выполнение: