- •Вопрос 1.
- •Вопрос 2.
- •Вопрос 3.
- •Вопрос 4.
- •1. Найдите две ошибки в реализации представленного метода и объясните их происхождение. Запишите верную реализацию метода.
- •2. Запишите логическое выражение, определяющее принадлежность точки с координатами (X,y) области, изображенной на рисунке.
- •Вопрос 1.
- •2. Запишите логическое выражение, определяющее принадлежность точки с координатами (X,y) области, изображенной на рисунке.
- •3. Переведите число в двоичную систему счисления: 23,458
- •2. Запишите логическое выражение, определяющее принадлежность точки с координатами (X,y) области, изображенной на рисунке.
- •3. Переведите число в двоичную систему счисления: 23,4516.
- •2. Запишите логическое выражение, определяющее принадлежность точки с координатами (X,y) области, изображенной на рисунке.
- •Запишите логическое выражение, определяющее принадлежность точки с координатами (X,y) области, изображенной на рисунке.
- •2. Запишите логическое выражение, определяющее принадлежность точки с координатами (X,y) области, изображенной на рисунке.
- •3. Переведите число в двоичную систему счисления: 2668;
- •2. Запишите логическое выражение, определяющее принадлежность точки с координатами (X,y) области, изображенной на рисунке.
- •3. Переведите число в двоичную систему счисления: 23,458
- •2. Запишите логическое выражение, определяющее принадлежность точки с координатами (X,y) области, изображенной на рисунке.
- •3. Переведите число в двоичную систему счисления: 23,4516.
- •Запишите логическое выражение, определяющее принадлежность точки с координатами (X,y) области, изображенной на рисунке.
- •2. Запишите логическое выражение, определяющее принадлежность точки с координатами (X,y) области, изображенной на рисунке.
- •Вопрос 1.
- •3. Исправленная реализация метода:
- •Вопрос 2.
- •Вопрос 3.
- •Вопрос 4.
- •3. Переведите число в двоичную систему счисления: 2668
- •3. Переведите число в двоичную систему счисления: 26616.
- •4. Рассмотрите реализацию представленного ниже класса. Запишите все возможные варианты создания экземпляра класса Person.
- •Вопрос 1.
- •Вопрос 2.
- •Вопрос 3.
- •Вопрос 4.
- •1. Найдите две ошибки в реализации представленного метода и объясните их происхождение. Запишите верную реализацию метода.
- •2. Запишите логическое выражение, определяющее принадлежность точки с координатами (X,y) области, изображенной на рисунке.
- •2. Запишите логическое выражение, определяющее принадлежность точки с координатами (X,y) области, изображенной на рисунке.
- •2. Запишите логическое выражение, определяющее принадлежность точки с координатами (X,y) области, изображенной на рисунке.
- •4. Рассмотрите реализацию представленного ниже класса. Добавьте в класс реализацию свойств для доступа к закрытым полям name и id (значение поля id не может быть отрицательным).
- •4. Рассмотрите реализацию представленного ниже класса. Запишите все возможные варианты создания экземпляра класса Person.
3. Переведите число в двоичную систему счисления: 2668
4. Объясните результат работы приведенного ниже метода. Определите значение, возвращаемое мотодом в следующих трех вариантах его вызова: 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;
}
Вопрос 1.
static int IndexOf(int[] array)
{
int index = -1;
for (int i = array.Length-1; i >=0; i--)
{
if (array[i] < 0) return i;
}
return index;
}
Вопрос 2.
(n>9 && n<100 && n%2==0)
Вопрос 3.
2668 = 010 110 1102 = 101101102
Вопрос 4.
Метод возвращает количество цифр в строке.
CountDigit(“+375293209900”); - возвращает значение 12
CountDigit(“ID: 0001”); - возвращает значение 4
CountDigit(String.Empty); - возвращает значение 0
Вопрос №15
1. Объясните результат работы представленного ниже метода. Поясните, в каком случае метод будет возвращать неверный результат. Исправьте реализацию метода.
static int IndexOf(int[] array)
{
int index = 0;
for (int i = 0; i < array.Length; i++)
{
if (array[i] < 0) return i;
}
return index;
}
2. Запишите логическое выражение, принимающее значение true, если указанное высказывание является истинным, и false – в противном случае: заданное целое число является трехзначным нечетным числом.
3. Переведите число в двоичную систему счисления: 26616.
4. Рассмотрите реализацию представленного ниже класса. Запишите все возможные варианты создания экземпляра класса Person.
class Person
{
private string name;
private int id=0;
private bool flag=true;
public Person(string name, int id)
{
this.name = name; this.id = id;
}
public Person(string name)
{
this.name = name;
}
public Person(string name = "No name", int id = -1, bool f = false)
{
this.name = name; this.id = id; this.flag = f;
}
}
Вопрос 1.
Метод находит позицию первого отрицательного элемента в одномерном целочисленном массиве. В случае если в массиве нет отрицательных элементов, метод будет возвращать неверное значение (0).
Исправленная реализация метода:
static int IndexOf(int[] array)
{
int index = -1;
for (int i = 0; i < array.Length; i++)
{
if (array[i] < 0) return i;
}
return index;
}
В случае такой реализации метод вернет значение -1 (это можно интерпретировать как то, что массиве нет отрицательных элементов).
Вопрос 2.
(Math.Abs(n) > 99 && Math.Abs(n) < 1000 && n % 2 != 0)
Вопрос 3.
26616 = 0010 0110 01102 = 10011001102
Вопрос 4.
Person p1 = new Person("Ivanov", 101); - первый конструктор (поля name и id примут значения “Ivanov” и 101)
Person p2 = new Person("Ivanov"); - второй конструктор (поля name и id примут значения “Ivanov” и 0)
Person p3 = new Person(); - конструктор с параметрами по умолчанию (поля name, id, flag примут значения “No name”, -1, false)
Person p4 = new Person("Petrov",102,true); - конструктор с параметрами по умолчанию (поля name, id, flag примут значения “Petrov”, 102, true)
Вопрос №16
1. Запишите реализацию метода, который в одномерном целочисленном массиве находит значение минимального элемента. Продемонстрируйте вызов метода.
2. Запишите логическое выражение, принимающее значение true, если указанное высказывание является истинным, и false – в противном случае: сумма цифр данного трехзначного числа N является четным числом.
3. Переведите число из восьмеричной системы счисления в шестнадцатеричную: 74038.
4. Рассмотрите реализацию представленного ниже класса. Добавьте в реализацию класса перегрузку операции «унарный минус», которая изменяет значения всех элементов массива на противоположные по знаку.
class DemoArray
{
int[] MyArray;
public DemoArray(int size)
{
MyArray = new int[size];
}
}
Вопрос 1.
1. Реализация метода
static int Max(int[] a)
{
int max = a[0];
for (int i = 1; i < a.Length; i++)
if (a[i] > max) max = a[i];;
return max;
}
2. Пример вызова метода
int[] a={2,3,15,6,4,8,9};
int max=Max(a);
Вопрос 2.
( (n%10 + (n/10)%10 + n/100) % 2 == 0 )
Вопрос 3.
74038 = 111 100 000 0112 = 1111 0000 00112 = F0316
Вопрос 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;
}
}
Вопрос №17
1. Запишите реализацию метода, который в одномерном целочисленном массиве находит количество нечетных элементов. Продемонстрируйте вызов метода.
2. Запишите логическое выражение, принимающее значение true, если указанное высказывание является истинным, и false – в противном случае: треугольник со сторонами а, b, с является равносторонним.
3. Переведите число из шестнадцатеричной системы счисления в восьмеричную: 1C1C16
Определите значение переменных i и 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;
}
}
Вопрос №18
1. Запишите реализацию метода, который в одномерном целочисленном массиве находит количество элементов, попадающих в заданный отрезок [a,b] (значения a и b передаются в метод в качестве параметров)
2. Запишите логическое выражение, принимающее значение true, если указанное высказывание является истинным, и false – в противном случае: треугольник со сторонами a, b, с является равнобедренным.
3. Записать прямой код числа, интерпретируя его как восьмибитовое целое без знака: 236(10)
4. Рассмотрите представленный ниже фрагмент программного кода, который на этапе компиляции приведет к ошибке. Объясните почему. Измените реализацию класса Сircle так, чтобы код компилировался.
interface IFigure
{
void Draw();
}
class Circle : IFigure
{
private int radius;
public Circle(int radius)
{
this.radius = radius;
}
}
Вопрос №19
1. Объясните результат работы приведенного ниже метода. Запишите пример вызова метода.
static int IndexOf(int[] array, int a)
{
for (int i = 0; i < array.Length; i++)
{
if (array[i] == a) return i;
}
return -1;
}
2. Запишите логическое выражение, принимающее значение true, если указанное высказывание является истинным, и false – в противном случае: среди чисел а, b, с есть хотя бы одна пара взаимно противоположных.
3. Записать прямой код числа, интерпретируя его как восьмибитовое целое без знака: 195(10)
4. Рассмотрите реализацию приведенного ниже класса. Запишите реализацию класса Student, как наследника класса Person, добавив дополнительное поле department (факультет). При реализации конструктора класса наследника используйте вызов конструктора базового класса.
class Person
{
private string name;
private int id=0;
public Person(string name, int id)
{
this.name = name; this.id = id;
}
}
Вопрос №20
Представленный ниже метод находит позицию первого элемента со значением a в одномерном целочисленном массиве. Измените реализацию метода так, чтобы он выводил на экран позиции всех элементов массива со значением a.
static int IndexOf(int[] array, int a)
{
for (int i = 0; i < array.Length; i++)
{
if (array[i] == a) return i;
}
return -1;
}
2. Запишите логическое выражение, принимающее значение true, если указанное высказывание является истинным, и false – в противном случае: данная тройка натуральных чисел а, b, с является тройкой Пифагора, т.е. c2 = a2 + b2.
3. Записать прямой код числа, интерпретируя его как восьмибитовое целое без знака: 161(10).
4. Рассмотрите фрагмент программного кода. Запишите, что будет выведено на экран в результате его выполнения, объясните почему. Перепишите реализацию этого фрагмента программы так, чобы элементы массива a выводились в прямом порядке (используйте коллекцию Queue).
Stack s = new Stack();
int[] a = { 1, 2, 3, 4, 5, 6 };
foreach (int x in a) s.Push(x);
while (s.Count != 0)
Console.WriteLine(s.Pop());
Вопрос №21
1. Запишите фрагмент программного кода, который с использованием операторов цикла выведет на экран числа следующим образом:
5 |
|
|
|
|
5 |
5 |
|
|
|
5 |
5 |
5 |
|
|
5 |
5 |
5 |
5 |
|
5 |
5 |
5 |
5 |
5 |
2. Запишите логическое выражение, принимающее значение true, если указанное высказывание является истинным, и false – в противном случае: все цифры данного четырехзначного числа N различны.
3. Записать прямой код числа, интерпретируя его как шестнадцатибитовое целое без знака: 24411(10)
4. Представленный ниже фрагмент программного кода может генерировать исключение. Перепишите представленный фрагмент, добавив обработку возможных типов исключений.
static void Main(string[] args)
{
double x = double.Parse(Console.ReadLine());
double y = double.Parse(Console.ReadLine());
double z = x / y;
}
Вопрос №22
1. Запишите фрагмент программного кода, который с использованием операторов цикла выведет на экран числа следующим образом:
4 |
3 |
2 |
1 |
0 |
3 |
2 |
1 |
0 |
|
2 |
1 |
0 |
|
|
1 |
0 |
|
|
|
0 |
|
|
|
|
2. Запишите логическое выражение, принимающее значение true, если указанное высказывание является истинным, и false – в противном случае: данные числа х, у являются координатами точки, лежащей в первой координатной четверти.
3. Записать прямой код числа, интерпретируя его как шестнадцатибитовое целое без знака: 18612(10)
4. Представленный ниже фрагмент программного кода при компиляции приведет к ошибке. Объясните почему. Исправьте реализацию класса так, чтобы код компилировался.
class Employee: IComparable
{
private string name;
private int salary;
public Employee(string name, int salary)
{
this.name = name; this.salary = salary;
}
}
Вопрос №23
1. Запишите фрагмент программного кода, который с использованием операторов цикла выведет на экран числа следующим образом:
1 |
|
|
|
|
2 |
2 |
|
|
|
3 |
3 |
3 |
|
|
4 |
4 |
4 |
4 |
|
5 |
5 |
5 |
5 |
5 |
2. Запишите логическое выражение, принимающее значение true, если указанное высказывание является истинным, и false – в противном случае: (x1, y1) и (х2, y2) — координаты левой верхней и правой нижней вершин прямоугольника. Точка А(х, у) принадлежит прямоугольнику.
3. Записать прямой код числа, интерпретируя его как восьмибитовое целое без знака: 246(10).
4. Рассмотрите представленный ниже фрагмент программного кода, который на этапе компиляции приведет к ошибке. Объясните почему. Измените реализацию класса Сircle так, чтобы код компилировался.
interface IFigure
{
void Draw();
}
class Circle : IFigure
{
private int radius;
public Circle(int radius)
{
this.radius = radius;
}
}
Вопрос №24
1. Запишите фрагмент программного кода, который с использованием операторов цикла выведет на экран числа следующим образом:
8 |
8 |
8 |
8 |
8 |
7 |
7 |
7 |
7 |
|
6 |
6 |
6 |
|
|
5 |
5 |
|
|
|
4 |
|
|
|
|
2. Запишите логическое выражение, принимающее значение true, если указанное высказывание является истинным, и false – в противном случае: данное четырехзначное число читается одинаково слева направо и справа налево.
3. Записать прямой код числа, интерпретируя его как восьмибитовое целое без знака: 172(10).
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");
}
}
Вопрос №25