Назад Вперед Зміст

Прості завдання на класи

Приклад

Створити клас Triangle, що описує трикутник по трьох його сторонах. Закриті поля класу – a, b, с - сторони трикутника. Реалізувати методи:

  1. Конструктор із трьома параметрами, що надає значення його полям;
  2. Логічний метод Correct, який перевіряє, чи може існувати такий об'єкт. Трикутник існує, якщо довжина кожної сторони додатна і менша від суми довжин двох інших сторін.
  3. Метод без параметрів Perimetr, який обчислює периметр трикутника.
  4. Метод без параметрів Sqr, який обчислює площу трикутника.
  5. Метод без параметрів Print, що виводить на екран значення полів.

Клас Triangle у C#

Цей приклад демонструє створення простого класу Triangle, що представляє трикутник із трьома сторонами. Клас містить:

Код програми


class Triangle
{
    double a, b, c;

    public Triangle(double a, double b, double c) // конструктор класу
    {
        this.a = a;
        this.b = b;
        this.c = c;
    }

    public double Perimeter() // метод обчислення периметра
    {
        return a + b + c;
    }

    public double Area() // метод обчислення площі за формулою Герона
    {
        double p = Perimeter() / 2;
        return Math.Sqrt(p * (p - a) * (p - b) * (p - c));
    }

    public void Print() // метод для виведення інформації
    {
        Console.WriteLine("Сторони трикутника: a={0}, b={1}, c={2}", a, b, c);
        Console.WriteLine("Периметр = " + Perimeter());
        Console.WriteLine("Площа = " + Area());
    }
}
  

У методі Main класу Program:


class Program
{
    static void Main(string[] args)
    {
        double sideA, sideB, sideC;
        
        try
        {
            // Введення сторін трикутника
            Console.Write("Сторона a = ");
            sideA = Convert.ToDouble(Console.ReadLine());
            
            Console.Write("Сторона b = ");
            sideB = Convert.ToDouble(Console.ReadLine());
            
            Console.Write("Сторона c = ");
            sideC = Convert.ToDouble(Console.ReadLine());

            // Створення об'єкта трикутника
            Triangle triangle = new Triangle(sideA, sideB, sideC);
            
            // Виведення інформації про трикутник
            triangle.Print();

            // Перевірка існування трикутника
            if (triangle.IsValid()) // Трикутник існує
            {
                // Обчислення параметрів
                double perimeter = triangle.CalculatePerimeter();
                double area = triangle.CalculateArea();
                
                // Виведення результатів
                Console.WriteLine("Периметр = {0}\nПлоща = {1:F3}", perimeter, area);
            }
            else // Трикутник не існує
            {
                Console.WriteLine("Трикутник з такими сторонами не існує");
            }
        }
        catch
        {
            // Обробка інших можливих помилок
            Console.WriteLine("Сталася помилка при введенні даних!");
        }
        
        Console.WriteLine("Натисніть будь-яку клавішу для виходу...");
        Console.ReadKey();
    }
}

Відпрацювання без винятків:

Тестування програми

Вхідні значення Очікуваний периметр Очікувана площа
a = 3, b = 4, c = 5 12 6
a = 6, b = 8, c = 10 24 24
a = 5, b = 5, c = 6 16 12

Висновки

Клас Triangle є прикладом інкапсуляції в об'єктно-орієнтованому програмуванні. Завдяки методам Perimeter та Area ми можемо легко отримати геометричні характеристики трикутника, а метод Print дозволяє виводити інформацію у зручному вигляді.

Варіанти завдань

Варіант 1

Створити клас Circle, що описує коло за його радіусом. Закрите поле класу – r радіус. Реалізувати методи:

  1. Конструктор з параметром, що надає значення його полю;
  2. Логічний метод Correct, який перевіряє, чи може існувати такий об'єкт. Коло існує, якщо його радіус додатний.
  3. Метод без параметрів Area, який обчислює площу кола.
  4. Метод без параметрів Length, який обчислює довжину кола.
  5. Метод без параметрів Print, що відображає значення поля.

У методі Main класу Program:

Варіант 2

Створити клас Square, що описує квадрат за його стороной. Закрите поле класу – сторона квадрата. Реалізувати методи:

  1. Конструктор з параметром, що надає значення його полю;
  2. Логічний метод Correct, який перевіряє, чи може існувати такий об'єкт. Квадрат існує, якщо його сторона є додатною.
  3. Метод без параметрів Area, який обчислює площу квадрата.
  4. Метод без параметрів Perimeter, який обчислює периметр квадрата.
  5. Метод без параметрів Print, що відображає значення поля.

У методі Main класу Program:

Варіант 3

Створити клас Rectangle, що описує прямокутник за довжинами двох його сторін. Закриті поля класу – a та b сторони прямокутника. Реалізувати методи:

  1. Конструктор з параметрами, що надає значення його полям;
  2. Логічний метод Correct, який перевіряє, чи може існувати такий об'єкт. Прямокутник існує, якщо його сторони є додатними.
  3. Метод без параметрів Area, який обчислює площу прямокутника.
  4. Метод без параметрів Perimeter, який обчислює периметр прямокутника.
  5. Метод без параметрів Print, що виводить на екран значення полів.

У методі Main класу Program:

Варіант 4

Створити клас Cube, що описує куб по його ребру. Закрите поле класу – ребро куба. Реалізувати методи:

  1. Конструктор з параметром, що надає значення його полю;
  2. Логічний метод Correct, який перевіряє, чи може існувати такий об'єкт. Куб існує, якщо його ребро додатне.
  3. Метод без параметрів Area, який обчислює площу повної поверхні куба.
  4. Метод без параметрів Volume, який обчислює об'єм куба.
  5. Метод без параметрів Print, що відображає значення поля.

У методі Main класу Program:

Варіант 5

Створити клас Shar, що описує кулю за її радіусом. Закрите поле класу – r радіус. Реалізувати методи:

  1. Конструктор з параметром, що надає значення його полю;
  2. Логічний метод Correct, який перевіряє, чи може існувати такий об'єкт. Куля існує, якщо її радіус додатний.
  3. Метод без параметрів Area, який обчислює площу поверхні кулі.
  4. Метод без параметрів Volume, який обчислює об'єм кулі.
  5. Метод без параметрів Print, що відображає значення поля.

У методі Main класу Program:

Варіант 6

Створити клас Parallelepiped який описує паралелепіпеди по трьох ребрах. Закриті поля класу – a, b, c -- ребра. Реалізувати методи:

  1. Конструктор з параметрами, що надає значення його полям;
  2. Логічний метод Correct, який перевіряє, чи може існувати такий об'єкт. Паралелепіпед існує, якщо його ребра додатні.
  3. Метод без параметрів Area, який обчислює площу поверхні паралелепіпеда.
  4. Метод без параметрів Volume, який обчислює об'єм паралелепіпеда.
  5. Метод без параметрів Print, що виводить на екран значення полів.

У методі Main класу Program:

Варіант 7

Створити клас Cylinder, що описує циліндри. Закриті поля класу: r – радіус, h – висота. Реалізувати методи:

  1. Конструктор з параметрами, що надає значення його полям;
  2. Логічний метод Correct, який перевіряє, чи може існувати такий об'єкт. Циліндр існує, якщо його радіус та висота додатні.
  3. Метод без параметрів Area, який обчислює площу повної поверхні циліндра.
  4. Метод без параметрів Volume, який обчислює об'єм циліндра.
  5. Метод без параметрів Print, що виводить на екран значення полів.

У методі Main класу Program:

Варіант 8

Створити клас Triangle, що описує трикутник по трьох його сторонах. Закриті поля класу – a, b та c сторони трикутника. Реалізувати методи:

  1. Конструктор з параметрами, що надає значення його полям;
  2. Логічний метод Correct, який перевіряє, чи може існувати такий об'єкт. Трикутник існує, якщо довжина кожної сторони додатна і менша від суми довжин двох інших сторін.
  3. Метод без параметрів Corners, який обчислює кути трикутника за його сторонами. Метод повинен повертати три значення: кути трикутника у градусах.
    Зауваження: Спочатку визначити косинуси кутів, по них отримати кути в радіанах, потім радіани перевести в градуси.
  4. Метод без параметрів Perimeter, який обчислює периметр трикутника.
  5. Метод без параметрів Print, що виводить на екран значення полів.

У методі Main класу Program:

Варіант 9

Створити клас Rombus, що описує ромб за двома його діагоналями. Закриті поля класу – a та b діагоналі ромба. Реалізувати методи:

  1. Конструктор з параметрами, що надає значення його полям;
  2. Логічний метод Correct, який перевіряє, чи може існувати такий об'єкт. Ромб існує, якщо його довжини діагоналей додатні.
  3. Метод без параметрів Area, який обчислює площу ромба.
  4. Метод без параметрів Side, який обчислює сторону ромба.
  5. Метод без параметрів Print, що виводить на екран значення полів.

У методі Main класу Program:

Варіант 10

Створити клас Number. Закрите поле класу – це натуральне число. Реалізувати методи:

  1. Конструктор з параметром, що надає значення його полю;
  2. Логічний метод Correct, який перевіряє, чи є число натуральним. Якщо число є додатним, то об'єкт існує.
  3. Метод без параметрів Prime, який визначає чи є число простим.
  4. Метод без параметрів Palindrome, який визначає чи є число паліндромом.
  5. Метод без параметрів Print, що відображає значення поля.

У методі Main класу Program:

Варіант 11

Створити клас Numbers. Закриті поля класу – a, b два натуральні числа. Реалізувати методи:

  1. Конструктор з параметрами, що надає значення його полям;
  2. Логічний метод Correct, який перевіряє, чи є числа натуральними. Якщо числа додатні, об'єкт існує.
  3. Метод без параметрів Nod, який обчислює найбільший спільний дільник цих чисел.
  4. Метод без параметрів Nok, який обчислює найменше спільне кратне цих чисел.
  5. Метод без параметрів Print, що виводить на екран значення полів.

У методі Main класу Program:

Варіант 12

Створити клас Vector. Закриті поля класу – координати кінців вектора (x1, y1, x2, y2). Реалізувати методи:

  1. Конструктор з параметрами, що надає значення його полям;
  2. Логічний метод Correct, який перевіряє, чи вектор не виродився в крапку. Тобто, якщо x1=x2 та y1=y2, то об'єкт не існує.
  3. Метод Length без параметрів, що обчислює довжину вектора.
  4. Метод Koord - отримання координат вектора за координатами його кінців. У методі має бути два значення, що повертаються. Координати вектора рівні різниці відповідних координат точок його кінця та початку.
  5. Метод без параметрів Print, що виводить на екран значення полів.

У методі Main класу Program:

Варіант 13

Створити клас Angle для роботи з кутами на площині. Закриті поля класу – величина кута у градусах (grad) та хвилинах (min). Реалізувати методи:

  1. Конструктор з параметрами, що надає значення його полям;
  2. Логічний метод Correct, який перевіряє, чи може існувати такий об'єкт. Будемо вважати, що кут існує, якщо 0<grad<360 і 0<min<60
  3. Метод Rad-переводить значення кута в градусах і хвилинах в радіани;
  4. Метод Psin обчислює значення синуса цього кута.
  5. Метод без параметрів Print, що виводить на екран значення полів.

У методі Main класу Program:

Варіант 14

Створити клас Point для роботи з точками на площині. Закриті поля класу координати точки (x, y). Реалізувати методи:

  1. Конструктор з параметрами, що надає значення його полям;
  2. Метод Dist без параметрів, що знаходить відстань від точки до початку координат;
  3. Метод Fourth без параметрів і повертає рядок з номером чверті координатної площини (або осі), в якій знаходиться точка.
  4. Метод без параметрів Print, що виводить на екран значення полів.

У методі Main класу Program:

Варіант 15

Створити клас Equal з двома числовими полями A та B. Реалізувати методи:

  1. Конструктор з параметрами, що надає значення його полям;
  2. Func з одним параметром, що обчислює та повертає y=Ax+B для x заданого в параметрі;
  3. Root, що вирішує лінійне рівняння Ax=B. Метод повинен повертати рядок, який містить значення кореня або повідомлення, що коріння немає або їх нескінченно багато.
  4. Метод без параметрів Print, що виводить на екран значення полів.

У методі Main класу Program:

Варіант 16

Створити клас Time, що описує час. Закриті поля класу – hour, min, sec – години, хвилини та секунди. Реалізувати методи:

  1. Конструктор з параметрами, що надає значення його полям;
  2. Метод без параметрів IsValid, який перевіряє, чи можливий такий час. Метод повертає значення логічного типу.
  3. Метод без параметрів Plus1, який збільшує час на 1 секунду.
  4. Метод без параметрів Print, що виводить на екран значення полів.

У методі Main класу Program:

Варіант 17

Створити клас Date, який описує дату. Закриті поля класу – year, month, day–рік, місяць та число. Реалізувати методи:

  1. Конструктор з параметрами, що надає значення його полям;
  2. Метод без параметрів IsValid, який перевіряє, чи можлива така дата. Метод повертає значення логічного типу.
  3. Метод без параметрів Plus1, який збільшує дату на 1 день.
  4. Метод без параметрів Print, що виводить на екран значення полів.

У методі Main класу Program:

Назад Вперед Зміст