Перейти к основному содержимому

Индивидуальные задания

Задание 1

Вариант 1:

Задание: Напишите программу на C#, которая моделирует систему управления инвентарем в интернет-магазине. Требуется объявить и инициализировать переменные для следующих данных:

  1. Уникальный идентификатор товара.
  2. Название товара (строка).
  3. Стоимость товара с точностью до 4 знаков после запятой (дробное число).
  4. Количество товара на складе (целое число).
  5. Дата добавления товара на склад (тип для работы с датой и временем).

Требования: Напишите программу, которая будет запрашивать эти данные у пользователя, правильно их хранить и выводить на экран. Объясните выбор каждого типа данных в комментариях к коду.

Вариант 2:

Задание: Разработайте систему учета сотрудников в крупной компании. Требуется создать программу, которая:

  1. Хранит информацию о зарплате каждого сотрудника (с точностью до двух знаков после запятой).
  2. Идентификатор сотрудника — уникальный шестизначный числовой код (целое число).
  3. Пол сотрудника (символ).
  4. Возраст сотрудника (целое число).
  5. Статус активности сотрудника (булевое значение).

Требования: Программа должна считывать данные с клавиатуры, корректно выбирать типы данных и выводить их на экран. Объясните выбор типов данных для каждой переменной.

Вариант 3:

Задание: Разработайте программу для системы контроля полетов, которая будет работать с большими данными и должна поддерживать высокую точность. Определите подходящие типы данных для следующих параметров:

  1. Текущие координаты самолета в виде трехмерного вектора (дробные числа с высокой точностью).
  2. Скорость самолета (дробное число с плавающей точкой).
  3. Уникальный код рейса (строка из букв и цифр).
  4. Время полета до пункта назначения (целое число).
  5. Флаг "в полете" (булевое значение).

Требования: Программа должна корректно сохранять и выводить данные. Обоснуйте выбор типов данных с точки зрения их производительности и потребляемой памяти.

Вариант 4:

Задание: Реализуйте систему учёта научных исследований, где требуется хранить следующие данные:

  1. Название исследования (строка).
  2. Число участников (целое число).
  3. Результаты эксперимента в виде набора чисел с высокой точностью (дробное число).
  4. Дата начала исследования (тип для работы с датами).
  5. Общий объем данных, сгенерированных исследованием (целое число, возможно большое).

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

Вариант 5:

Задание: Создайте программу на C#, моделирующую базу данных для банковской системы. Вам нужно выбрать типы данных для следующих полей:

  1. Номер банковского счета (число с высокой степенью точности).
  2. Имя владельца счета (строка).
  3. Баланс счета (дробное число).
  4. Лимит кредитования (целое или дробное число).
  5. Время последнего входа в систему (тип данных для даты и времени).

Требования: Напишите код, который будет корректно инициализировать эти данные, затем выведет их на экран. Обоснуйте выбор каждого типа данных с учетом необходимости точности расчетов и безопасности данных.

Задание 2

Вариант 1:

Задание: Разработайте программу на C#, которая моделирует процесс обработки данных с различных датчиков. Каждый датчик передает данные в разных форматах, и вам необходимо преобразовать их к нужным типам. Датчики передают следующие данные:

  1. Температура в виде строки (например, "23.5"), которую нужно преобразовать в тип double.
  2. Состояние устройства в виде целого числа (1 = включено, 0 = выключено), которое нужно преобразовать в bool.
  3. Уникальный код устройства в виде строки, содержащей шестизначное число (например, "123456"), которое нужно преобразовать в тип int.

Требования: Напишите программу, которая принимает эти значения, преобразует их в соответствующие типы, а затем выводит результат. Используйте методы Convert, Parse и явное приведение типов там, где это необходимо. Объясните, в каких случаях какое преобразование использовано и почему.

Вариант 2:

Задание: Напишите программу для системы управления авиабилетами, которая обрабатывает информацию о рейсах. Необходимо:

  1. Преобразовать стоимость билета из строки (например, "199.99") в decimal для точности при расчетах.
  2. Преобразовать строковое значение даты рейса (например, "2024-10-20") в тип DateTime.
  3. Преобразовать код аэропорта в формате строки (например, "123") в тип char, чтобы сохранить только первый символ.

Требования: Реализуйте программу, которая выполняет данные преобразования и выводит преобразованные данные на экран. Объясните использование каждого метода приведения типов и возможные исключения, которые могут возникнуть при неправильных входных данных.

Вариант 3:

Задание: Реализуйте программу для финансовой системы, которая обрабатывает следующие данные:

  1. Преобразование строкового представления суммы денежных средств (например, "12000") в int, при этом выводя форматированное значение с разделителями тысяч (например, 12,000).
  2. Преобразование значения доли акций из строки (например, "0.254") в float.
  3. Преобразование числа, хранящегося как double, в int с округлением.

Требования: Программа должна принимать на вход эти данные, корректно преобразовывать их с помощью явного и неявного приведения, а также методов Convert и Parse. Объясните, почему в каждом случае выбраны те или иные методы.

Вариант 4:

Задание: Создайте программу для обработки пользовательских данных в системе голосования. Вам необходимо:

  1. Преобразовать идентификатор пользователя из строки (например, "7890") в тип long.
  2. Преобразовать оценку пользователя, введенную как float, в тип int, используя явное приведение.
  3. Преобразовать результат голосования из строки "true" или "false" в тип bool.

Требования: Программа должна выполнять необходимые преобразования и выводить результат на экран. Используйте методы приведения типов, объясняя необходимость явного и неявного преобразования в каждом случае. Укажите, какие возможны ошибки при выполнении программы, и как их можно обработать с помощью исключений.

Вариант 5:

Задание: Напишите программу для обработки данных о студентах. Требуется:

  1. Преобразовать строку с возрастом студента (например, "21") в тип byte для оптимизации памяти.
  2. Преобразовать строку с баллом студента (например, "87.6") в тип double, а затем округлить и преобразовать в int для хранения как целого числа.
  3. Преобразовать строковое значение среднего балла (например, "4.75") в float, чтобы использовать его в дальнейших расчетах.

Требования: Программа должна корректно обрабатывать эти преобразования и выводить результат. Убедитесь, что программа обрабатывает исключения, возникающие при некорректных данных, таких как форматирование строки или превышение допустимого диапазона значений.

Задание 3

Вариант 1:

Задание: Напишите программу, которая реализует обработку массива целых чисел, используя вспомогательные методы. Вам необходимо:

  1. Создать метод для нахождения минимального и максимального значения в массиве.
  2. Создать метод для сортировки массива по возрастанию.
  3. Создать метод для вычисления среднего значения элементов массива.

Требования: Программа должна генерировать массив случайных чисел, выводить исходный массив, результат сортировки, минимальное, максимальное и среднее значение. Все операции должны быть реализованы через отдельные вспомогательные методы. Объясните, почему каждый метод был выделен отдельно.

Вариант 2:

Задание: Реализуйте программу для работы с массивом строк, которая включает следующие вспомогательные методы:

  1. Метод для поиска самой длинной строки в массиве.
  2. Метод для сортировки строк по длине.
  3. Метод для подсчета количества строк, которые содержат определенный символ, заданный пользователем.

Требования: Программа должна принимать на вход массив строк, выводить результаты работы каждого метода и отображать исходные данные. Реализуйте обработку исключений для случая, если массив пуст или содержит null-значения.

Вариант 3:

Задание: Разработайте программу, которая работает с двумерным массивом чисел, используя вспомогательные методы. Задачи:

  1. Метод для нахождения суммы всех элементов массива.
  2. Метод для поиска наибольшего элемента в каждой строке массива и вывода этих значений в виде отдельного массива.
  3. Метод для транспонирования матрицы (поменять строки и столбцы местами).

Требования: Программа должна создавать двумерный массив случайных чисел, выводить его на экран, а затем выполнять указанные операции через отдельные вспомогательные методы. Обоснуйте использование методов и объясните процесс транспонирования.

Вариант 4:

Задание: Напишите программу, которая выполняет операции над массивом объектов. Создайте класс Student с полями: имя, возраст, средний балл. Вам нужно:

  1. Метод для сортировки массива студентов по среднему баллу.
  2. Метод для нахождения студента с самым высоким средним баллом.
  3. Метод для фильтрации студентов по возрасту (например, старше 20 лет).

Требования: Программа должна создавать массив объектов Student, выводить его на экран, а затем обрабатывать через указанные методы. Объясните выбор структуры класса и необходимость разделения логики по методам.

Вариант 5:

Задание: Реализуйте программу, которая работает с массивом чисел и включает следующие операции:

  1. Метод для объединения двух массивов в один без повторяющихся элементов.
  2. Метод для нахождения пересечения двух массивов (элементы, которые есть в обоих массивах).
  3. Метод для вычисления разности между двумя массивами (элементы, которые есть в первом массиве, но отсутствуют во втором).

Требования: Программа должна принимать на вход два массива целых чисел, а затем выводить результаты работы каждого метода. Реализуйте проверки, чтобы корректно обрабатывать пустые массивы и массивы с повторяющимися элементами.

Задание 4

Вариант 1:

Задание: Реализуйте программу для работы с финансовыми данными компании. Вам необходимо:

  1. Преобразовать строку с номером счета (например, "12345678") в формат "XXXX-XXXX-5678", используя спецификатор вывода для маскирования первых цифр.
  2. Преобразовать сумму дохода компании (например, 1250000.75) в формат с разделителями тысяч и двумя знаками после запятой (например, "1,250,000.75"), используя спецификатор вывода для чисел.
  3. Преобразовать строковое значение даты отчета (например, "2024-10-13") в формат "October 13, 2024" с помощью спецификатора вывода для дат.

Требования: Программа должна принимать на вход данные, корректно форматировать их с помощью спецификаторов (D, N, C, F и т.д.) и выводить результат на экран. Объясните выбор каждого спецификатора и форматирования.

Вариант 2:

Задание: Напишите программу для форматирования данных о заказах в интернет-магазине. Нужно:

  1. Преобразовать строку с номером заказа (например, "00001234") в формат "Order #00001234", используя спецификатор для вывода чисел с фиксированным количеством символов.
  2. Преобразовать цену товара (например, 1234.56) в строку с символом валюты и двумя знаками после запятой (например, "$1,234.56"), используя спецификатор валюты C.
  3. Преобразовать количество товаров на складе (например, "100") в строку с фиксированной шириной поля, выровненную по правому краю.

Требования: Программа должна корректно форматировать числа и строки с использованием спецификаторов и выводить их на экран. Обоснуйте использование каждого спецификатора и опишите, как они влияют на вывод данных.

Вариант 3:

Задание: Реализуйте программу для учета сотрудников компании. Необходимо:

  1. Преобразовать идентификатор сотрудника (например, "0123") в строку с фиксированной длиной, дополнив нулями слева (например, "Employee ID: 0000123"), используя спецификатор для форматирования целых чисел D.
  2. Преобразовать заработную плату сотрудника (например, 75600.89) в строку с разделителями тысяч и двумя знаками после запятой (например, "$75,600.89"), используя спецификатор C.
  3. Преобразовать строку с датой приема на работу (например, "2022-03-15") в формат "15th March, 2022", используя спецификатор для дат D и формат пользовательской строки.

Требования: Программа должна использовать спецификаторы для форматирования чисел, дат и строк, выводя результат в требуемом виде. Объясните выбор спецификаторов и формат вывода.

Вариант 4:

Задание: Напишите программу для форматирования результатов спортивных соревнований. Нужно:

  1. Преобразовать время, показанное участником (например, 123.456 секунд), в формат с тремя знаками после запятой (например, "123.456"), используя спецификатор для чисел F3.
  2. Преобразовать рейтинг спортсмена, введенный как дробное число (например, 4.789), в процент с точностью до двух знаков после запятой (например, "478.90%"), используя спецификатор P2.
  3. Преобразовать порядковый номер участника (например, "42") в строку с дополняющими нулями слева до четырех знаков (например, "0042"), используя спецификатор для целых чисел.

Требования: Программа должна принимать данные, форматировать их с помощью соответствующих спецификаторов и выводить результат. Убедитесь, что программа корректно обрабатывает ввод и объясните выбор каждого спецификатора.

Вариант 5:

Задание: Реализуйте программу для учета продаж товаров. Требуется:

  1. Преобразовать идентификатор товара (например, "345") в строку, дополненную нулями до пяти знаков (например, "00345"), используя спецификатор D.
  2. Преобразовать стоимость товара (например, 499.95) в формат с символом валюты, разделителями тысяч и двумя знаками после запятой (например, "$499.95"), используя спецификатор C2.
  3. Преобразовать процент скидки, введенный как дробное число (например, 0.15), в процент с точностью до одного знака после запятой (например, "15.0%"), используя спецификатор P1.

Требования: Программа должна принимать данные, корректно их форматировать с помощью различных спецификаторов и выводить результат. Опишите, как каждый спецификатор влияет на вывод данных и почему был выбран именно он.

Эти задания требуют использования встроенных спецификаторов форматирования в C#, таких как D, N, C, P, F, и работы с различными типами данных: числами, строками, датами. Это позволит студентам овладеть техниками форматирования и улучшить представление данных в своих программах.

Задание 5

Вариант 1:

Задание: Напишите программу, которая обрабатывает текстовые данные пользователей для дальнейшей аналитики. Вам необходимо:

  1. Преобразовать строку, введенную пользователем, к нижнему регистру, а затем к верхнему, используя методы ToLower() и ToUpper().
  2. Удалить все пробелы в начале и в конце строки, используя метод Trim().
  3. Разбить строку на массив слов, используя метод Split(), и вывести каждое слово на отдельной строке.

Требования: Программа должна принимать текст от пользователя, выполнять над ним необходимые преобразования и выводить результат. Объясните выбор методов и покажите, как каждый метод влияет на измененное содержимое строки.

Вариант 2:

Задание: Разработайте программу для обработки данных в системе учёта книг. Требуется:

  1. Найти и заменить все вхождения подстроки "книга" на "издание" в строке, используя метод Replace().
  2. Проверить, начинается ли строка с подстроки "ISBN", используя метод StartsWith(), и сообщить об этом пользователю.
  3. Проверить, содержит ли строка подстроку "автор", используя метод Contains(), и выдать сообщение в зависимости от результата.

Требования: Программа должна принимать на вход строку, выполнять указанные операции с использованием встроенных методов, и выводить результат на экран. Объясните использование каждого метода и его влияние на измененное содержимое строки.

Вариант 3:

Задание: Напишите программу для работы с e-mail адресами пользователей. Задачи:

  1. Проверить, содержит ли строка символ '@', и вывести сообщение о корректности e-mail, используя метод Contains().
  2. Разбить строку на две части: локальную и доменную (до и после символа '@'), используя метод Split().
  3. Преобразовать доменную часть строки в нижний регистр и вернуть обновленную строку e-mail.

Требования: Программа должна принимать e-mail от пользователя, выполнять необходимые проверки и преобразования, выводить результат и давать обратную связь пользователю. Объясните использование методов Contains(), Split(), ToLower() и их роль в задаче.

Вариант 4:

Задание: Реализуйте программу для форматирования данных о датах в текстовой строке. Вам необходимо:

  1. Извлечь год, месяц и день из строки в формате "yyyy-MM-dd", используя метод Substring() и преобразование в числовые значения.
  2. Преобразовать дату из формата "yyyy-MM-dd" в формат "dd/MM/yyyy" с использованием методов строковой манипуляции.
  3. Проверить, правильно ли дата введена пользователем, с помощью метода Contains() и корректного количества символов в строке.

Требования: Программа должна принимать строковое значение даты, выполнять преобразования и проверки, и выводить отформатированную дату. Объясните использование методов Substring() и форматирование даты через строковые операции.

Вариант 5:

Задание: Создайте программу для обработки и валидации данных о номерах банковских карт. Необходимо:

  1. Убедиться, что строка содержит только цифры и пробелы, используя метод All() и проверку символов.
  2. Удалить все пробелы из строки с номером карты, используя метод Replace(), и разбить строку на группы по 4 цифры для удобного отображения.
  3. Добавить разделитель "-" между каждыми четырьмя цифрами, используя метод Insert().

Требования: Программа должна принимать номер карты, проверять его корректность, удалять лишние пробелы и форматировать строку для удобного отображения. Объясните использование каждого метода и необходимость выполнения этих операций.

Эти задания требуют понимания встроенных методов работы со строками в C#, таких как Replace(), Split(), Substring(), Contains(), Insert() и других. Задания фокусируются на практическом применении этих методов для обработки текстовых данных и изменения их содержимого.


Требования к выполнению лабораторной работы:

  • Обработка ошибок: Обязательно должна быть реализована обработка возможных исключений (например, форматирование чисел, ввод строк).
  • Форматирование: Все данные должны быть отформатированы в соответствии с заданиями (например, использование методов String.Format, интерполяции строк).
  • Преобразование типов: Использовать как явное, так и неявное преобразование типов.
  • Структуры и массивы: Программа должна демонстрировать работу с массивами, объектами и ссылочными типами.
  • Комментарии: Каждый блок программы должен быть прокомментирован для понимания работы кода.
  • Тестирование: Программа должна быть протестирована на нескольких наборах данных, чтобы гарантировать её корректную работу.