Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Аккредитация_Программирование_Ответы.doc
Скачиваний:
1
Добавлен:
22.11.2019
Размер:
401.41 Кб
Скачать

2. Запишите логическое выражение, определяющее принадлежность точки с координатами (X,y) области, изображенной на рисунке.

3. Переведите число в двоичную систему счисления: 23,458

4. Рассмотрите представленную ниже иерархию классов. Измените реализацию методов Show() так, чтобы в базовом классе этот метод определялся как виртуальный и переопределялся в классе наследнике.

class Employee

{

private string name;

private int salary;

public Employee(string name, int salary)

{

this.name = name; this.salary = salary;

}

public void Show()

{

Console.WriteLine("I am an Employee");

}

}

class Worker : Employee

{

private string department;

public Worker(string name, int salary, string department)

: base(name, salary)

{

this.department = department;

}

public void Show()

{

Console.WriteLine("I am a worker");

}

}

Вопрос 1.

Метод возвращает количество цифр в строке.

CountDigit(“+375293209900”); - возвращает значение 12

CountDigit(“ID: 0001”); - возвращает значение 4

CountDigit(String.Empty); - возвращает значение 0

Вопрос 2.

Точка с координатами (x,y) принадлежит области:

(y >= Math.Abs(x) && y <= 12)

Вопрос 3.

23,458

238 = 010 0118 = 100118

458 = 100 1012

23,458 = 10011,100 1012

Вопрос 4.

class Employee

{

private string name;

private int salary;

public Employee(string name, int salary)

{

this.name = name; this.salary = salary;

}

public virtual void Show()

{

Console.WriteLine("I am an Employee");

}

}

class Worker : Employee

{

private string department;

public Worker(string name, int salary, string department)

: base(name, salary)

{

this.department = department;

}

public override void Show()

{

Console.WriteLine("I am a worker");

}

}

Вопрос №10

1. Объясните результат работы приведенного ниже метода. Запишите фрагмент программного кода для вызова этого метода.

static double Search(double[,] array)

{

double Result = array[0, 0];

for (int i = 0; i < array.GetLength(0); i++)

for (int j = 0; j < array.GetLength(1); j++)

if (array[i, j] > Result) Result = array[i, j];

return Result;

}

2. Запишите логическое выражение, определяющее принадлежность точки с координатами (X,y) области, изображенной на рисунке.

3. Переведите число в двоичную систему счисления: 23,4516.

4. Рассмотрите представленный ниже фрагмент программного кода, который на этапе компиляции приведет к ошибке. Объясните почему. Измените реализацию класса Сircle так, чтобы код компилировался.

interface IFigure

{

void Draw();

}

class Circle : IFigure

{

private int radius;

public Circle(int radius)

{

this.radius = radius;

}

}

Вопрос 1.

Метод находит макисмальное значение среди элементов двумерного массива вещественных чисел.

double[,] mas = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };

double result = Search(mas);

Вопрос 2.

Точка с координатами (x,y) принадлежит области:

(y1 <= -Math.Abs(x1) && y1 >= -100)

Вопрос 3.

23,4516

2316 = 0010 00112 = 1000112

4516= 0100 01012 = 100 01012

23,4516 = 100011, 100 01012

Вопрос 4.

Ошибка компиляции вызвана тем, что класс Circle реализует интерфейс IFigure, но не содержит реализации метода интерфейса void Draw(). В классе Circle должна быть представлена реализация метода Draw().

interface IFigure

{

void Draw();

}

class Circle : IFigure

{

private int radius;

public Circle(int radius)

{

this.radius = radius;

}

public void Draw()

{

Console.WriteLine("I am a circle");

}

}

Вопрос №11

  1. Определите значение переменных i и j после выполнения следующего фрагмента кода:

int i; int j;

double[,] a = { { 1, 2, 3 }, { 4, 5, 6 }, { 6, 2, 3 } };

Search(a, out i, out j);

Код метода Search представлен ниже:

static void Search(double[,] array, out int pos1, out int pos2)

{

pos1=0; pos2=0;

for (int i = 0; i < array.GetLength(0); i++)

for (int j = 0; j < array.GetLength(1); j++)

if (array[i, j] > array[pos1, pos2])

{

pos1 = i;

pos2 = j;

}

}