Главная страница   
Экстренная связь
Сейчас на сайте

Админов: 2 из 7
Исполнителей: 6 из 139
Клиентов: 17 из 5756

Наша помощь
Оценить задание
• Программирование
Информатика
Базы данных
СУБД
• Разработка ПО
Бухгалтерский учёт
Экономика, Аудит
Финанс. менеджмент
Финансовый анализ
Эконом. теория
Эконом. предприятия
Финансы и кредит
Менеджмент
Маркетинг
• ТУСУРовцам
Юриспруденция
Право
Психология
Психологическая консультация
Математика
Исследование операций
Методы оптимизации
Физика
Радиотехника
Электроника
Схемотехника
Механика
Метрология
• Перефразирование
История
Английский
Другой предмет
Заготовки
• Каталог
Программирование
Экономика, Аудит
Бухгалтерский учёт
Финансы и кредит
Юриспруденция
Право
История
Психология
Механика
Информация
О сайте
Наши цены
Соглашение
Наши гарантии
Способы оплаты
Вопросы и ответы
Отзывы клиентов
Бонусы и скидки
Регистрация
Вакансии
Написать письмо
Мы работаем
ЕЖЕДНЕВНО
с 9:30 до 23:30 msk
Поиск по сайту
Разное
Архив заказов
Анекдоты
Облака тегов
Карточные игры
Преподы-монстры
Антиплагиат
Мысли вслух







Яндекс.Метрика











Лабораторная работа
Технологии программирования ЛР1, ЛР2. Вариант 38
в среде программирования Visual C# .NET 2017


Если Вы считаете, что данная страница каким-либо образом нарушает Ваши авторские права, то Вам следует обратиться в администрацию нашего сайта по адресу info@kursovik.com либо через форму обратной связи

Среда программирования: Visual C# .NET 2017

Название работы: Технологии программирования ЛР1, ЛР2. Вариант 38

Вид работы: Лабораторная работа

Описание: Технологии программирования
Лабораторная работа 1, Лабораторная работа 2.
Язык программирования - C#
Вариант 38
В рамках курса «Технологии программирования» необходимо выполнить две лабораторные работы. В процессе обучения по направлению «Специалист по информационным системам и технологиям» предполагается, что студенты постепенно реализуют проект в одной из выбранных предметных областей, добавляя к нему новые модули по мере изучения новых дисциплин. Поэтому в данном документе предложены типовые задания, однако если в выбранной предметной области есть задачи, требующие применения современных технологий программирования, студенты могут предлагать свои индивидуальные варианты заданий. В этом случае в рамках первой лабораторной работы необходимо реализовать основную структуру классов модуля, а во второй - добавить использование универсальных типов (если это требуется), атрибутов классов и их членов, а также использовать средства документирования кода для генерации документации разработанной структуры классов.
Язык программирования - C#. Задания предполагают разработку консольных приложений, однако использовать оконный интерфейс не запрещается.
Сначала необходимо сдать лабораторную работу №1. Затем, после устранения всех замечаний, на ее основе реализуется лабораторная работа №2. По результатам выполнения каждой лабораторной работы пишется отчет, включающий в себя:
1. Титульный лист.
2. Содержание.
3. Задание.
4. Краткую теорию по теме задания.
5. Результаты работы программы.
6. Выводы.
7. Список использованных литературных источников.
8. Приложение с листингом исходных файлов.

Лабораторная работа №1
Вариант 38) Добиться того, чтобы оператор «&&» объединял матрицы. Причем операция «x && y» должна объединять матрицы, имеющие одинаковое количество столбцов таким образом, чтобы в результирующей матрице строки матрицы y располагались ниже строк матрицы x.
Приложение 1. Класс «Вектор»
Составить описание класса для объектов-векторов, задаваемых одномерным массивом вещественных чисел типа double. Компоненты вектора (x1, x2, ..., xn) должны быть
инкапсулированы в классе.
I. Предусмотреть применение конструкторов:
а) по умолчанию (создающий пустой вектор);
б) для инициализации вектора заданного размера;
в) для инициализации вектора с заданными в виде одномерного массива компонентами.
г) для копирования одного вектора в другой.
Организовать в конструкторах и деструкторе вывод на экран информационных сообщений, например «Конструктор вектора ХХХ», «Деструктор вектора ХХХ» и т.д. Вместо «ХХХ» указывать некоторый уникальный идентификатор вектора.
II. С помощью методов класса обеспечить:
1) вычисление модуля (длины, или нормы) вектора ||A||;
2) нормировку вектора (получение вектора единичной длины - A/||A||);
3) поиск максимального элемента вектора;
4) поиск минимального элемента вектора.
III. С помощью перегруженных операторов класса обеспечить операции сложения, вычитания и скалярного умножения векторов (A + B, A - B и (A, B)), а также умножения и деления вектора на скаляр (A*k, k*A и A/k). Выполнению операций сложения, вычитания и скалярного умножения векторов должна предшествовать проверка возможности их выполнения над данными объектами.
IV. С помощью статических методов обеспечить:
1) вычисление синуса угла между двумя векторами;
2) вычисление косинуса угла между двумя векторами;
3) вычисление величины угла в радианах между двумя векторами.
Для определения синуса и косинуса угла между векторами можно использовать соотношение (A, B) = ||A||x||B||*cos(a), для вычисления величины угла - функцию Atan2 (tg(a) = sin(a)/cos(a), поэтому a = Atan2(sin(a), cos(a))).
V. С помощью индексатора обеспечить доступ к элементам вектора по индексу (чтение/запись). С помощью свойства - доступ к количеству элементов (только чтение).
VI. Перегрузить метод ToString для представления вектора, заключенного в скобки (любой формы), в виде строки.
При невозможности выполнения над вектором тех или иных операций генерировать исключение (типа ArgumentException или других типов, в зависимости от операции).
Приложение 2. Класс «Матрица»
Составить описание класса для объектов прямоугольных матриц, задаваемых прямоугольным массивом вещественных чисел типа double. Компоненты матрицы должны быть инкапсулированы в классе.
I. Предусмотреть применение конструкторов:
а) по умолчанию (создающий пустую матрицу);
б) для инициализации квадратной матрицы заданного размера;
в) для инициализации прямоугольной матрицы заданных размеров;
г) для инициализации матрицы с заданными в виде прямоугольного двумерного массива компонентами.
д) для копирования одной матрицы в другую.
Организовать в конструкторах и деструкторе вывод на экран информационных сообщений, например «Конструктор матрицы ХХХ», «Деструктор матрицы ХХХ» и т.д. Вместо «ХХХ» указывать некоторый уникальный идентификатор матрицы.
II. С помощью методов класса обеспечить:
1. проверку возможности умножения двух матриц;
2. проверку возможности сложения двух матриц;
3. поиск максимального элемента матрицы;
4. поиск минимального элемента матрицы.
III. С помощью перегруженных операторов класса обеспечить операции сложения, вычитания и умножения матриц, а также умножения матрицы на скаляр. Выполнению операций сложения, вычитания и умножения матриц должна предшествовать проверка возможности их выполнения над данными объектами.
IV. С помощью индексатора обеспечить доступ к элементам матрицы по индексу строки и столбца (чтение/запись). С помощью свойств - доступ к количеству строк и столбцов (только чтение).
V. Перегрузить метод ToString для представления матрицы в построчной форме в виде строки. Использовать форматирование, чтобы элементы одного столбца матрицы располагались друг под другом.
При невозможности выполнения над матрицей тех или иных операций генерировать исключение (типа ArgumentException или других типов, в зависимости от операции).
Приложение 3. Класс «Полином»
Составить описание класса для объектов-полиномов, задаваемых одномерным массивом коэффициентов - вещественных чисел типа double. Коэффициенты полинома степени n (aQ, a1, a2, ..., an) должны быть инкапсулированы в классе. Полином всегда
содержит, как минимум, один коэффициент - aQ.
I. Предусмотреть применение конструкторов:
а) по умолчанию (создающий полином нулевой степени с единственным коэффициентом, равным 0);
б) для инициализации полинома заданной степени;
в) для инициализации полинома с заданными в виде одномерного массива коэффициентами.
г) для копирования одного полинома в другой.
Организовать в конструкторах и деструкторе вывод на экран информационных сообщений, например «Конструктор полинома ХХХ», «Деструктор полинома ХХХ» и т.д. Вместо «ХХХ» указывать некоторый уникальный идентификатор полинома.
II. Предусмотреть свойство типа bool, определяющее, будут ли автоматически при совершении любых операций с полиномом отбрасываться старшие члены с нулевыми коэффициентами. Отбрасывание коэффициентов реализовать в отдельном открытом (public) методе.
III. С помощью перегруженных операторов класса обеспечить операции сложения, вычитания, умножения, деления и остатка от деления полиномов. Деление полиномов выполняется по алгоритму Евклида.
IV. С помощью индексатора обеспечить доступ к коэффициентам полинома по индексу (чтение/запись). С помощью свойства - доступ к степени полинома (только чтение).

Лабораторная работа №2
Задание состоит из следующих этапов:
• Описать в классе «Матрица» события, сигнализирующие об изменении размеров или компонентов матрицы.
• Реализовать структуру «Рациональная дробь» (см. приложение 4). Создать универсальную версию класса «Матрица». Добиться того, чтобы элементами матрицы могли быть целые числа, числа с плавающей точкой или рациональные дроби.
• Добавить в проект класс атрибута (или несколько классов атрибутов). Функциональность классов атрибутов предлагается выбрать самостоятельно - это могут быть какие-либо данные о классе или его членах.
• Обеспечить документирование кода проекта. Все классы и члены классов должны быть снабжены специальными комментариями для генерации XML-файла документации. По данному XML-коду сформировать документацию в любом удобном для просмотра формате.

Год: 2019

<<< Назад к списку

Данный заказ (лабораторная работа) выполнялся нашим сайтом в 2019-м году, в рамках этого заказа была разработана программа в среде программирования Visual C# .NET 2017. Если у Вас похожее задание на программу, которую нужно написать на Visual C# .NET 2017, либо на другом языке программирования, пожалуйста заполните форму, приведённую ниже, после чего Ваше задание в первую очередь рассмотрит наш программист, выполнявший в 2019-м году этот заказ, если он откажется, то Ваше задание оценят другие наши программисты в течение 48-и часов, если оценка нужна срочно, просим Вас оставить пометку об этом - напишите в тексте задания фразу "СРОЧНЫЙ ЗАКАЗ".

Купить эту работу

Тел.: +7(937)424-22-35
Viber: +7(937)424-22-35
Telegram: +7(937)424-22-35
ВКонтакте: vk.com/kursovikcom
E-mail: info@kursovik.com
Skype: kursovik.com





ВНИМАНИЕ ! Сотрудники сайта KURSOVIK.COM в своей работе осуществляют сбор, обработку и обобщение информации по предложенным клиентам темам. Результатом данной работы является информационная подборка, которая НЕ ЯВЛЯЕТСЯ готовой НАУЧНОЙ РАБОТОЙ, она лишь служит основой для её написания самим клиентом.
Данный сайт НЕ ЯВЛЯЕТСЯ средством массовой информации.
Данный сайт НЕ ЯВЛЯЕТСЯ рекламой каких-либо товаров или услуг.
© 2001-2020 kursovik.com
➥ Оценить задание
➥ Контакты