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, 5 и 6, событиями. Тестирование событий выполнить при помощи назначения обработчиков, записанных в форме анонимных методов и лямбда-выражений. Реализовать в методах классов генерацию исключительных ситуаций (в тех случаях, когда что-либо мешает нормальному выполнению операции) и предусмотреть обработку этих исключений в коде, использующем эти классы. По возможности, заменить некоторые из ранее разработанных методов методами, принимающими в качестве параметра делегат.
- 500 руб.
- Лабораторная работа
- C#
- Нет
- Visual Studio
- Нет
На нашем сайте есть работы, которые включают в себя несколько задач. Если Вам необходима только одна или несколько задач из всей работы, то вам нет необходимости покупать работу целиком. Мы можем продать задачи по отдельности. Для этого обратитесь к нам удобным для Вас способом.
Также если вдруг какая-то работа будет не соответствовать описанию или вы найдете ошибку, то мы всегда готовы исправить проблему в обговорённые с Вами сроки.