Опубликован: 19.02.2009 | Доступ: свободный | Студентов: 3056 / 787 | Оценка: 4.35 / 4.11 | Длительность: 16:28:00
ISBN: 978-5-94774-401-9
Лекция 13:

Классы

13.2. Практикум

  1. Создать класс Point, разработав следующие элементы класса:
    • Поля:
      • int x, y;
    • Конструкторы, позволяющие создать экземпляр класса:
      • с нулевыми координатами;
      • с заданными координатами.
    • Методы, позволяющие:
      • вывести координаты точки на экран;
      • рассчитать расстояние от начала координат до точки;
      • переместить точку на плоскости на вектор (a, b).
    • Свойства:
      • получить-установить координаты точки (доступное для чтений и записи);
      • позволяющие умножить координаты точки на скаляр (доступное только для записи).
  2. Создать класс Triangle, разработав следующие элементы класса:
    • Поля:
      • int a, b, c;
    • Конструктор, позволяющий создать экземпляр класса с заданными длинами сторон.
    • Методы, позволяющие:
      • вывести длины сторон треугольника на экран;
      • расчитать периметр треугольника;
      • расчитать площадь треугольника.
    • Свойства:
      • позволяющее получить-установить длины сторон треугольника (доступное для чтения и записи);
      • позволяющее установить, существует ли треугольник с данными длинами сторон (доступное только для чтения).
  3. Создать класс Rectangle, разработав следующие элементы класса:
    • Поля:
      • int a, b;
    • Конструктор, позволяющий создать экземпляр класса с заданными длинами сторон.
    • Методы, позволяющие:
      • вывести длины сторон прямоугольника на экран;
      • расчитать периметр прямоугольника;
      • расчитать площадь прямоугольника.
    • Свойства:
      • получить-установить длины сторон прямоугольника (доступное для чтения и записи);
      • позволяющее установить, является ли данный прямоугольник квадратом (доступное только для чтения).
  4. Создать класс Money, разработав следующие элементы класса:
    • Поля:
      • int first;//номинал купюры
      • int second; //количество купюр
    • Конструктор, позволяющий создать экземпляр класса с заданными значениям полей.
    • Методы, позволяющие:
      • вывести номинал и количество купюр;
      • определить, хватит ли денежных средств на покупку товара на сумму N рублей.
      • определить, сколько шт товара стоимости n рублей можно купить на имеющиеся денежные средства.
    • Свойства:
      • позволяющее получить-установить значение полей (доступное для чтения и записи);
      • позволяющее расчитатать сумму денег (доступное только для чтения).
  5. Создать класс для работы с одномерным массивом целых чисел. Разработать следующие элементы класса:
    • Поля:
      • int [] IntArray;
      • int n.
    • Конструктор, позволяющий создать массив размерности n.
    • Методы, позволяющие:
      • ввести элементы массива с клавиатуры;
      • вывести элементы массива на экран;
      • отсортировать элементы массива в порядке возрастания.
    • Свойства:
      • возвращающее размерность массива (доступное только для чтения);
      • позволяющее домножить все элементы массива на скаляр (доступное только для записи).
  6. Создать класс для работы с двумерным массивом целых чисел. Разработать следующие элементы класса:
    • Поля:
      • int [,] IntArray;
      • int n.
    • Конструктор, позволяющий создать массив размерности nxn.
    • Методы, позволяющие:
      • ввести элементы массива с клавиатуры;
      • вывести элементы массива на экран;
      • вычислить сумму элеметов i -того столбца.
    • Свойства:
      • позволяющее вычислить количество нулевых элементов в массиве (доступное только для чтения);
      • позволяющее установить значение всех элементы главной диагонали массива равное скаляру (доступное только для записи).
  7. Создать класс для работы с двумерным массивом вещественных чисел. Разработать следующие элементы класса:
    • Поля:
      • double [][] DoubelArray;
      • int n, m.
    • Конструктор, позволяющий создать массив размерности nxm.
    • Методы, позволяющие:
      • ввести элементы массива с клавиатуры;
      • вывести элементы массива на экран;
      • отсортировать элементы каждой строки массива в порядке убывания.
    • Свойства:
      • возвращающее общее количество элементов в массиве (доступное только для чтения);
      • позволяющее увеличить значение всех элементов массива на скаляр (доступное только для записи).
  8. Создать класс для работы сo строками. Разработать следующие элементы класса:
    • Поля:
      • StringBuilder Line ;
      • int n.
    • Конструктор, позволяющий создать строку из n символов.
    • Методы, позволяющие:
      • подсчитать количество пробелов в строке;
      • заменить в строке все прописные символы на строчные;
      • удалить из строки все знаки препинания.
    • Свойства:
      • возвращающее общее количество элементов в строке (доступное только для чтения);
      • позволяющее установить значение поля, в соответствии с введенным значением строки с клавиатуры, а также получить значение данного поля (доступно для чтения и записи)
  9. Создать класс для работы с регулярными выражениями. Разработать следующие элементы класса:
    • Поля:
      • Regex r ;
      • string text ;
    • Методы, позволяющие:
      • определить, содержит ли текст фрагменты, соответствующие шаблону поля;
      • вывести на экран все фрагменты текста, соответствующие шаблону поля;
      • удалить из текста все фрагменты, соответствующие шаблону поля;
    • Свойства:
      • позволяющее установить или получить строковое поле класса (доступно для чтения и записи)
      • позволяющее установить или получить регулярное выражение, хранящееся в соответствующем поле класса (доступно для чтения и записи)
  10. Создать класс для работы с датой. Разработать следующие элементы класса:
    • Поле DataTime data.
    • Конструкторы, позволяющие установить:
      • заданную дату
      • дату 1.01.2009
    • Методы, позволяющие:
      • вычислить дату предыдущего дня;
      • вычислить дату следующего дня;
      • определить сколько дней осталось до конца месяца.
    • Свойства:
      • позволяющее установить или получить значение поле класса (доступно для чтения и записи)
      • позволяющее определить год высокосным (доступно только для чтения)

13.3. Самостоятельная работа

Используя дополнительную литературу и Интернет, рассмотрите следующие темы:

  1. Пространства имен: объявление, вложение одного пространства имен в другое, пространства имен, действующие по умолчанию.
  2. Директивы препроцессора из назначение и использование.