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

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

3. Переведите число в двоичную систему счисления: 2668;

4. Рассмотрите реализацию представленного ниже класса. Измените реализацию свойств класса так, чтобы поля x и y могли принимать только положительные значения.

class PointXY

{

private int x;

private int y;

public PointXY(int x, int y)

{

this.x = x; this.y = y;

}

public int X

{

get { return x; }

set { x = value; }

}

public int Y

{

get { return y; }

set { y = value; }

}

}

Вопрос 1.

  1. Для того, чтобы метод изменил значения переменных a и b, необходимо чтобы эти параметры передавались в метод по ссылке с указанием ключевого слова ref. Иначе метод работает с копиями объектов, а не с их реальными значениями.

  2. Допущена ошибка в реализации алгоритма перестановки местами значений двух переменных. Вместо b=a; следует написать b=temp;

  3. Исправленная реализация метода

static void Swap(ref int a, ref int b)

{

int temp = a;

a = b;

b = temp;

}

Вопрос 2.

Уравнение окружности: x*x + y*y = 10*10

Уравнение прямой: y= -x

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

( Math.Pow(x,2) + Math.Pow(y,2) <= 100 && y> = -x )

или

( x*x + y*y <= 100 && y > = -x )

Вопрос 3.

1AE216

1AE216 = 0001 1010 1110 00102 = 0 001 101 011 100 0102 = 153428

Вопрос 4.

class PointXY

{

private int x;

private int y;

public PointXY(int x, int y)

{

this.X = x; this.Y = y;

}

public int X

{

get { return x; }

set { if (value>=0) x = value; }

}

public int Y

{

get { return y; }

set { if (value>=0) y = value; }

}

}

Вопрос №8

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

string poems = "тучки небесные,вечные странники";

char[] div = {' ', ','};

string[] parts = poems.Split(div);

for (int i = 0; i < parts.Length; i++)

Console.WriteLine(parts[i]);

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

3. Переведите число в двоичную систему счисления: 26616;

4. Рассмотрите реализацию представленного ниже класса. Добавьте в реализацию класса перегрузку операции «унарный минус», которая изменяет значения всех элементов массива на противоположные по знаку.

class DemoArray

{

int[] MyArray;

public DemoArray(int size)

{

MyArray = new int[size];

}

}

Вопрос 1.

  1. В результате выполнения этого фрагмента кода в массив parts будут записаны подстроки строки poems. Признаком окончания части подстроки являются символы пробел и запятая.

  2. На экран будут выведены элементы массива parts в следующем виде:

тучки

небесные

вечные

странники

Вопрос 2.

Уравнение окружности: x*x + y*y = 12*12

Уравнение прямой: y= x

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

( Math.Pow(x,2) + Math.Pow(y,2) <= 144 && y> = x )

или

( x*x + y*y <= 144 && y > = x )

Вопрос 3.

26616 = 0010 0110 01102 = 10011001102

Вопрос 4.

class DemoArray

{

public int[] MyArray;

public DemoArray(int size)

{

MyArray = new int[size];

}

static public DemoArray operator - (DemoArray a)

{

DemoArray temp = new DemoArray(a.MyArray.Length);

for (int i = 0; i < temp.MyArray.Length; i++)

temp.MyArray[i] = -a.MyArray[i];

return temp;

}

}

Вопрос №9

1. Объясните результат работы приведенного ниже метода. Определите значение, возвращаемое мотодом в следующих трех вариантах его вызова: CountDigit(“+375293209900”); CountDigit(“ID: 0001”); CountDigit(String.Empty).

static int CountDigit(string s)

{

int count=0;

for (int i = 0; i < s.Length; i++)

{

if (char.IsDigit(s[i])) count++;

}

return count;

}