ГлавнаяПрограммирование → 1Лабораторная, программирование C#

1Лабораторная, программирование C#

Задание

Лабораторная работа 2. Работа с числами, датами и текстом

Цель работы: ознакомиться с базовыми возможностями стандартных числовых, логического, символьного и строкового типов, а также типов DateTime, StringBuilder, Math, Random, Biglntegcr.

Постановка задачи. Необходимо выполнить три задания из предложенных на выбор.

Варианты:

  • Получить текущее время и дату в двух разных форматах и вывести на экран количество нулей, единиц,..., девяток в их записи.
  • В заданной строке поменять порядок слов на обратный (слова разделены пробелами).
  • Дана строка, слова которой разделены пробелами. Распознать в ней слова, являющиеся числами в шестнадцатеричной системе счисления, и вывести их десятичный эквивалент.
  • Рассчитать максимальную степень двойки, на которую делится произведение подряд идущих чисел от а до Ь (числа целые 64-битные без знака).
  • Дана строка. Найти в ней все заглавные буквы, не входящие в английский алфавит
  • Реализовать эффективное перемешивание символов строки.
    • Дана строка. Записать номера символов, входящих в нее, в виде шестнадцатеричных чисел через пробелы. Числа должны быть ровно из четырех цифр (возможно, с нулями в начале).
    • С помощью класса DatcTimc вывести на консоль названия месяцев на французском языке. По желанию обобщить на случай, когда язык задается с клавиатуры.
    • Сгенерировать равновероятно случайную строку длиной не более четырех строчных английских букв.
    • Дана строка, содержащая число с десятичной точкой. Преобразовать эту строку в число действительного типа (не пользуясь стандартным Parse.TryParse).
    • Дана строка, слова в которой разделены пробелами. Есть знаки препинания, которые записаны сразу после слова. Добавить перед каждым словом тот знак препинания, который стоит после него.
    • Дана строка, слова в которой разделены пробелами. Вывести все слова, содержащие буквы, не входящие в английский алфавит. Вывод должен быть выровнен по правому краю и иметь ширину самого длинного слова.
    • Дана строка из 256 английских букв. Записать через пробел 30 символов этой строки, стоящих на случайных местах. Желательно сделать только одно обращение к классу Random.
    • Реализовать вычисление параметров треугольника (стороны, углы, периметр, площадь, радиусы вписанной и описанной окружностей, ...) по трем заданным параметрам.
    • Дана строка, состоящая из строчных английских букв. Заменить в ней все буквы, стоящие после гласных, на следующие по алфавиту (z заменяется на а).
    • Лабораторная работа 3. Создание класса на языке C#

      Цель работы: изучить на практике средства реализации инкапсуляции, предоставляемые языком С#, а также общепринятые практики проектирования интерфейса базового класса с учетом возможности наследования.

      Постановка задачи. Необходимо реализовать первый из классов предметной области согласно выбранному варианту. Предусмотреть необходимый набор методов, полей, свойств, конструкторов и индексаторов в реализуемом классе. Реализовать статические элементы класса (например, создание уникального Id), перегрузку методов. Продемонстрировать работу с созданным классом.

      Варианты:

      • Человек - Спортсмен - Специалисты по отдельным видам спорта.
      • Человек - Студент - Студенты отдельных специальностей.
      • Предмет мебели - Шкаф - Виды шкафов (для посуды, для обуви и т. д.).
      • АЛУ - Процессор - Процессоры разных производителей.
      • Транспортное средство - Автомобиль - Автомобили разных марок.
      • Помещение - Жилая комната - Виды комнат (гостиная, спальня, детская и т. д.).
      • Свой вариант.
      • Лабораторная работа 4. Взаимодействие с неуправляемым
        кодом

        Цель работы: научиться реализовывать в коде .NET взаимодействие с неуправляемым кодом; ознакомиться с понятием конвенций вызова.

        Постановка задачи. Необходимо выполнить два задания.

        1)     Написать программу на языке С#, использующую возможности стандартных неуправляемых библиотек Windows. Желательно при этом не писать неуправляемый код самому.

        Варианты:

        • Простое рисование на рабочем столе с помощью GDI
        • Аналог утилизы WinSight (просмотр информации об окнах)
        • Утилита для просмотра информации о компьютере (CPU, RAM, ...)
        • Проигрывание музыкальных файлов с помощью MCI
        • Утилита для записи всех нажатий клавиш (Key logger)
        • Просмотр информации о процессах (упрощенный аналог менеджера задач)
        • Свой вариант

        2)     Написать динамическую библиотеку на неуправляемом коде и программу на С#, использующую ее. Библиотека должна предоставлять функции с различными конвенциями вызова.

      • Лабораторная работа 5. Наследование, полиморфизм,
        структуры, перечисления

        Цель работы: изучить на практике средства реализации наследования и полиморфизма, предоставляемые языком С#, а также общепринятые практики проектирования классов-наследников. Освоить принципы работы с типами-значениями платформы .NET.

        Постановка задачи. Необходимо создать классы, производные от класса, созданного в работе 3 (на нижнем уровне иерархии достаточно трех классов). Выделить и реализовать полиморфные и (по возможности) абстрактные элементы классов. Создать структуры и перечисления, подходящие для описания предметной области, и воспользоваться ими в написанных классах.

      • Лабораторная работа 6. Интерфейсы и универсальные
        шаблоны

        Цель работы: изучить принципы обобщенного программирования в .NET; ознакомиться со стандартными шаблонными интерфейсами для преобразования и сравнения объектов.

        Постановка задачи. Необходимо создать интерфейсы, подходящие для описания исследуемой предметной области, и реализовать их в созданных классах. Реализовать в классах какие-нибудь стандартные интерфейсы для преобразования и сравнения объектов.

      • Лабораторная работа 7. Преобразование и сравнение объектов,
        перегрузка операций

        Цель работы ознакомиться со стандартными средствами платформы .NET для сравнения объектов на равенство и порядок, а также с общепринятыми практиками реализации таких средств.

        Постановка задачи. Необходимо разработать и протестировать класс для представления рационального числа, т.е. числа вида п/т, где п - целое, т — натуральное число. Реализовать в этом классе перекрытие математических операций и операций сравнения. Реализовать метод для представления объекта класса в виде строки в различных форматах. Реализовать метод для получения объекта класса по строковому представлению из разных форматов (по желанию использовать для этого ретулярные выражения). Реализовать в классе стандартные интерфейсы для проверки двух объектов на равенство и порядкового сравнения. Перекрыть явные или неявные операторы преобразования к типам целых и действительных чисел. Рекомендуется обратить внимание на правильные шаблоны реализации этих методов и операций.

      • Лабораторная работа 8. Делегаты, события, исключительные
        ситуации

        Цель работы: освоить на практике работ}' с более сложными элементами языка С#: делегатами, анонимными методами и лямбда-выражениями, событиями, исключительными ситуациями.

        Постановка задачи. Необходимо дополнить классы, созданные в ходе лабораторных работ 3, и 6, событиями. Тестирование событий выполнить при помощи назначения обработчиков, записанных в форме анонимных методов и лямбда-выражений. Реализовать в методах классов генерацию исключительных ситуаций (в тех случаях, когда что-либо мешает нормальному выполнению операции) и предусмотреть обработку этих исключений в коде, использующем эти классы. По возможности, заменить некоторые из ранее разработанных методов методами, принимающими в качестве параметра делегат.

Детали товара
  • 500 руб.
  • Лабораторная работа
  • C#
  • Нет
  • Visual Studio
  • Нет
Изображения товара
Обратите внимание

На нашем сайте есть работы, которые включают в себя несколько задач. Если Вам необходима только одна или несколько задач из всей работы, то вам нет необходимости покупать работу целиком. Мы можем продать задачи по отдельности. Для этого обратитесь к нам удобным для Вас способом.

Также если вдруг какая-то работа будет не соответствовать описанию или вы найдете ошибку, то мы всегда готовы исправить проблему в обговорённые с Вами сроки.