Програма за провеждане на държавен изпит за придобиване на втора степен на професионална квалификация за специалност


Критерии за оценяване на изпитна тема № 3



Pdf просмотр
страница7/38
Дата27.09.2022
Размер2.08 Mb.
#115149
ТипПрограма
1   2   3   4   5   6   7   8   9   10   ...   38
Изпитни теми
Критерии за оценяване на изпитна тема № 3
Максимален
брой точки
1.
Дефинира: клас, конструктор, полета, свойства, създаване на обекти от клас.
16 2.
Дефинира функции/методи в клас.
12 3.
Познава ключовата дума
this. Енкапсулира данни в класовете. Познава методите за достъп и промяна на полета.
18 4.
Работи със статични членове в клас.
18 5.
Идентифицира правилно и поправя грешките в написания програмен код, така че да реши поставената задача. Допълва кода, ако и когато това е необходимо.
36
Общ брой точки:
100

Изпитна тема № 4: Обектно-ориентирано програмиране
Шаблонни класове и методи. Наследяване, абстракция и интерфейси. Полиморфизъм. Привеждане на
непълен/неработещ/некоректен програмен фрагмент в работещ вид.


Пример
: По време на теоретичния изпит се предоставя непълен/неработещ/некоректен програмен фрагмент. Предоставеният фрагмент да се приведе в работещ вид.
Условие
:
Създайте абстрактен клас ColoredFigure, който притежава:
• Поле color за отбелязване на цвета (като низ)
• Поле size за отбелязване на размер на фигурата
Конструктор, който приема за параметри цвят и размер
• Метод Show(), който отпечатва цвета и размера на обекта.
• Абстрактен метод GetName(), който връща името на фигурата
• Абстрактен метод GetArea(), който връща лицето на фигурата
Създайте клас Triangle, който наследява ColoredFigure, като този клас има:
• Конструктор, който извиква конструктора на суперкласа
• Дефиниция за абстрактния метод GetName(), като този метод връща низа "Triangle".
• Дефиниция за абстрактния метод GetArea(), като този метод връща лицето на триъгълника, като триъгълникът се приема за равностранен, със страна size. Използвайте формулата:
Създайте клас Square, който наследява ColoredFigure, като този клас има:
• Конструктор, който извиква конструктора на суперкласа
• Дефиниция за абстрактния метод GetName(), като този метод връща низа "Square".
• Дефиниция за абстрактния метод GetArea(), като този метод връща лицето на квадрата със страна size.
Създайте клас Circle, който наследява ColoredFigure, като този клас има:
• Конструктор, който извиква конструктора на суперкласа
• Дефиниция за абстрактния метод GetName(), като този метод връща низа "Circle".


• Дефиниция за абстрактния метод GetArea(), като този метод връща лицето на кръга, с радиус size.
Вход:
На първия ред на входа има единствено цяло число N – брой заявки. От следващите N реда се подава заявка в един от следните формати:
• Triangle <цвят> <размер>
• Circle <цвят> <размер>
• Square <цвят> <размер>
Изход:
За всяка заявка трябва да създаде обект от съответния клас, след което трябва да изпечатате 4 реда:
<име на фигурата>:
Color: <цвят>
Size: <размер>
Area: <лице>
Отпечатайте лицето с точно два знака след запетаята.
Пример:
Вход
Изход
3
Circle blue 1
Square red 2
Triangle green 3
Circle:
Color: blue
Size: 1
Area: 3.14
Square:
Color: red
Size: 2
Area: 4.00
Triangle:
Color: green
Size: 3
Area: 7.79
Фрагмент:
ColoredFigure.cs

public abstract class ColoredFigure { protected string color; protected double size; public ColoredFigure(string color, double size) { this.color = color; this.size = size;
} public void Show() {
Console.WriteLine(string.Format("Color: {0}", this.color));
Console.WriteLine(string.Format("Size: {0}", this.size));
} public abstract string GetName(); public abstract double GetArea();
}
Circle.cs public class Circle: ColoredFigure { public Circle(string color, double size): base(color, size) { } public override double GetArea() { return Math.PI * Math.Pow(base.size, 2.0);
} public override string GetName() { return "Circle";
}
}
Triangle.cs

public class Triangle: ColoredFigure { public Triangle(string color, double size): base(color, size) {} public override double GetArea() { return (Math.Pow(base.size, 2.0) * Math.Sqrt(3)) / 4.0;
} public override string GetName() { return "Triangle";
}
}
Square.cs public class Square: ColoredFigure { public Square(string color, double size): base(color, size) {} public override double GetArea() { return Math.Pow(base.size, 2.0);
} public override string GetName() { return "Square";
}
}
Program.cs class Program { static void Main(string[] args) { int n = int.Parse(Console.ReadLine()); for (int i = 0; i < n; i++) { var cmd = Console.ReadLine().Split(); switch (cmd[0]) { case "Circle": {
Circle circle = new Circle(cmd[1], double.Parse(cmd[2]));
Console.WriteLine(string.Format("Name: {0}", circle.GetName())); circle.Show();
Console.WriteLine(string.Format("Area: {0:f2}", circle.GetArea())); break;
} case "Square": {
Square square = new Square(cmd[1], double.Parse(cmd[2]));


Console.WriteLine(string.Format("Name: {0}", square.GetName())); square.Show();
Console.WriteLine(string.Format("Area: {0:f2}", square.GetArea())); break;
} case "Triangle": {
Triangle triangle = new Triangle(cmd[1], double.Parse(cmd[2]));
Console.WriteLine(string.Format("Name: {0}", triangle.GetName())); triangle.Show();
Console.WriteLine(string.Format("Area: {0:f2}", triangle.GetArea())); break;
}
}
}
}
}




Сподели с приятели:
1   2   3   4   5   6   7   8   9   10   ...   38




©obuch.info 2024
отнасят до администрацията

    Начална страница