Лабораторные работы 1-2 по дисциплине: Системное программное обеспечение ТУСУР лабораторные работы. Вариант №
Состав работы
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Работа представляет собой rar архив с файлами (распаковать онлайн), которые открываются в программах:
- Microsoft Word
Описание
Лабораторная работа № 1. Бизнес-логика
Целью данной работы является реализация простого проекта в IDE Visual Studio 2013 на языке C#.
Задание на лабораторную работу
1. Создайте проект на языке C# в среде Microsoft Visual Studio. Назовите его в соответствии с вашим вариантом задания, в качестве исходного проекта выберите проект динамической библиотеки (*.dll). Назовите его либо согласно вашему варианту, либо просто Model. Данный проект будет содержать в себе бизнес-логику приложения, т. е. ключевые структуры данных и способы их взаимодействия.
2. Создайте сущность-интерфейс согласно вашему варианту. Опишите ключевые свойства и методы интерфейса. Не забудьте о правильном именовании типов данных согласно RSDN. Подумайте, какие свойства и методы будут являться общими (будут в интерфейсе), а какие должны быть реализованы в конкретных классах.
3. Создайте 2 или более класса, реализующих данный интерфейс. Классы обязательно должны иметь различные реализации методов интерфейса. При этом дочерние классы не должны иметь никаких ссылок друг на друга, так-же как и интерфейс не должен ничего знать о дочерних классах.
4. Реализуйте проверку правильности передаваемых свойствам данных (валидацию свойств) с помощью механизма обработки исключений — если на вход приходят некорректные данные, выходящие за допустимые пределы, свойство должно сгенерировать исключение соответствующего типа с описанием ошибки. Например, если свойству Возраст пытаются присвоить отрицательное значение, необходимо сгенерировать экземпляр исключения IncorrectArgumentException. Внимательно продумайте все возможные некорректные варианты входных данных, в том числе ссылки на null. В случае если механизмы валидации у всех свойств одинаковы, измените архитектуру: вместо реализации интерфейса используйте наследование от абстрактного класса, в котором будут реализованы механизмы валидации.
5. Добавьте в решение еще один проект, на этот раз консольное приложение, и назовите его «ConsoleLoader». В этом проекте будет проводиться первичное тестирование бизнес-логики приложения. ПРИМЕЧАНИЕ: данный проект является временным и впоследствии будет заменён на проект графического интерфейса Windows (WinForms Application). Однако если вы уже можете продемонстрировать работу бизнес-логики на оконном пользовательском интерфейсе, можете сразу создать необходимый проект.
6. Продемонстрируйте корректную работу бизнес-логики. Создайте переменную-ссылку на интерфейс и присваивайте в нее экземпляры реализуемых классов. Продемонстрируйте разную реализацию интерфейсных свойств и методов. Для этого необходимо реализовать ввод с клавиатуры значений, которыми будут инициализированы поля классов-наследников.
!!!!!!!Варианты заданий!!!!!!!!
7. Различные пассивные элементы электрических схем: резистор, конденсатор, индуктивность. Перегружаемый метод — расчет комплексного сопротивления элемента.
=============================================
Лабораторная работа № 2. Пользовательский интерфейс
Целью данной работы является знакомство с разработкой оконных приложений в среде Microsoft Visual Studio.
Задание на лабораторную работу
1. Создайте в решении новый проект WinForms (WinForms Application Project) и задайте ему соответствующее имя. Если проект бизнес-логики назван как Model, для проекта пользовательского интерфейса логично дать название View. Данный подход в проектировании архитектуры приложения называется Model-View: когда бизнес-логика и пользовательский интерфейс разделены на разные сборки. В дальнейшем такой подход облегчает ориентирование в рамках проекта. Обратите внимание, что теперь данный проект должен быть стартовым, для этого установите его запускаемым проектом по умолчанию. ПРИМЕЧАНИЕ: ранее созданный проект ConsoleLoader теперь можно удалить. Удаление проекта из решения не приводит к его физическому удалению с носителя, в отличие от классов проекта. Помните об этом при удалении каких-либо компонентов проекта.
2. Добавьте в проект View новую форму. Название формы должно отражать назначение формы и оканчиваться словом Form. Как и имена других классов, имя формы оформляется в стиле Pascal.
3. Добавьте на форму элемент GridControl из панели инструментов. Для повышения удобства пользовательского интерфейса лучше сначала разместить на форме элемент GroupBox, в который поместить GridControl. Это позволит поместить в заголовок GroupBox фразу, поясняющую назначение GridControl. Под GridControl разместите две кнопки Button. Назовите кнопки Add Object и Remove Object, где вместо Object подставьте название того объекта, который реализован в вашей бизнес-логике.
4. Создайте внутри формы поле, хранящее список (List) сущностей, соответствующих вашему варианту. Список должен иметь возможность хранения в себе всех дочерних классов вашей сущности (все виды геометрических фигур, все типы работников, все виды скидок и т. д.).
5. Необходимо реализовать следующую логику формы: GridControl должен отображать (без возможности редактирования) все объекты созданного списка. Кнопка Add Object должна добавлять новый объект в GridControl и в список объектов. Кнопка Remove Object должна удалять выбранный в GridControl объект и удалять его из списка объектов.
6. Для добавления новых объектов в программу нужно разработать специальную форму, которая вызывалась бы по нажатию клавиши Add Object. В форме должна присутствовать возможность заполнения полей, общих для всех дочерних классов, выбор в виде ComboBox или RadioButton типа объекта и, в зависимости от типа объекта, должна появляться возможность заполнения полей данного типа объекта. Например, если создается новый работник, то в форме обязательно есть поля ФИО и даты принятия на работу, но в зависимости от RadioButton с типом оплаты должны появляться поля либо почасовой оплаты, либо оплаты по ставке.
7. На форме создания нового объекта должны присутствовать кнопки Ok и Cancel. Если пользователь нажмет кнопку Ok — в главной форме должен быть добавлен созданный объект. Если пользователь нажмет Cancel — должна быть выполнена отмена добавления.
8. Форма создания нового объекта должна учитывать ограничения на значения полей объекта (например, неотрицательный размер стороны геометрической фигуры). Фактически, здесь должна производиться обработка исключений при попытке ввода неправильных значений.
9. Особое внимание обратите на визуальную аккуратность создаваемых вами пользовательских интерфейсов. Старайтесь выравнивать элементы по левому краю относительно друг друга, делать одинаковые отступы между элементами, правильно подписывать элементы, кнопки и заголовки. Грамотно рассчитывайте размеры элементов — если в TextBox должно вводиться целое число со значением до 100, не имеет смысла делать его длиннее 50 пикселей. Также поля для фамилии должны быть подходящего размера, чтобы корректно отображать обычную фамилию, — не слишком длинные, но и не слишком короткие. Аккуратность и удобство пользовательского интерфейса может стать решающим фактором в выборе именно вашей программы конечным пользователем.
10. При тестировании и отладке программы не очень удобно вручную добавлять новые объекты — необходимость каждый раз вводить данные для 10 объектов может сильно пошатнуть психическое состояние разработчика (или вашего преподавателя). Чтобы облегчить тестирование программы, а значит, и собственную разработку, добавьте на форму создания нового объекта кнопку Create Random Data. По нажатию данной кнопки все поля будут заполняться случайными правильными данными для объекта. Пользователю останется только нажать кнопку Ok для добавления нового объекта на главную форму.
11. Кнопка Create Random Data является отладочной, и в версии, которая будет поставляться конечному пользователю, этой кнопки быть не должно — не будет же бухгалтерия создавать «случайных» работников со «случайными» зарплатами! Удалять же и заново создавать эту кнопку при необходимости нового установщика опять же не очень удобно — вы можете просто забыть это сделать. Используйте механизм условной компиляции.
12. Добавьте форму, на которой можно будет провести поиск объекта по каждому из полей общих для всех дочерних классов. Помните, что результатом поиска может быть не один объект. Добавьте на главную форму кнопку для вызова формы поиска.
13. Добавьте возможность сохранения и загрузки введенных пользователем данных, используя любой механизм сериализации, на ваше усмотрение. Сохранять данные необходимо в файл с расширением, которое будет характерно только для вашей программы (не надо использовать известные форматы, например *.doc, *.txt или *.xml).
!!!!!!!!!!!!!Варианты заданий!!!!!!!!!!!!!
7. Различные пассивные элементы электрических схем: резистор, конденсатор, индуктивность. Перегружаемый метод — расчет комплексного сопротивления элемента.
=============================================
Целью данной работы является реализация простого проекта в IDE Visual Studio 2013 на языке C#.
Задание на лабораторную работу
1. Создайте проект на языке C# в среде Microsoft Visual Studio. Назовите его в соответствии с вашим вариантом задания, в качестве исходного проекта выберите проект динамической библиотеки (*.dll). Назовите его либо согласно вашему варианту, либо просто Model. Данный проект будет содержать в себе бизнес-логику приложения, т. е. ключевые структуры данных и способы их взаимодействия.
2. Создайте сущность-интерфейс согласно вашему варианту. Опишите ключевые свойства и методы интерфейса. Не забудьте о правильном именовании типов данных согласно RSDN. Подумайте, какие свойства и методы будут являться общими (будут в интерфейсе), а какие должны быть реализованы в конкретных классах.
3. Создайте 2 или более класса, реализующих данный интерфейс. Классы обязательно должны иметь различные реализации методов интерфейса. При этом дочерние классы не должны иметь никаких ссылок друг на друга, так-же как и интерфейс не должен ничего знать о дочерних классах.
4. Реализуйте проверку правильности передаваемых свойствам данных (валидацию свойств) с помощью механизма обработки исключений — если на вход приходят некорректные данные, выходящие за допустимые пределы, свойство должно сгенерировать исключение соответствующего типа с описанием ошибки. Например, если свойству Возраст пытаются присвоить отрицательное значение, необходимо сгенерировать экземпляр исключения IncorrectArgumentException. Внимательно продумайте все возможные некорректные варианты входных данных, в том числе ссылки на null. В случае если механизмы валидации у всех свойств одинаковы, измените архитектуру: вместо реализации интерфейса используйте наследование от абстрактного класса, в котором будут реализованы механизмы валидации.
5. Добавьте в решение еще один проект, на этот раз консольное приложение, и назовите его «ConsoleLoader». В этом проекте будет проводиться первичное тестирование бизнес-логики приложения. ПРИМЕЧАНИЕ: данный проект является временным и впоследствии будет заменён на проект графического интерфейса Windows (WinForms Application). Однако если вы уже можете продемонстрировать работу бизнес-логики на оконном пользовательском интерфейсе, можете сразу создать необходимый проект.
6. Продемонстрируйте корректную работу бизнес-логики. Создайте переменную-ссылку на интерфейс и присваивайте в нее экземпляры реализуемых классов. Продемонстрируйте разную реализацию интерфейсных свойств и методов. Для этого необходимо реализовать ввод с клавиатуры значений, которыми будут инициализированы поля классов-наследников.
!!!!!!!Варианты заданий!!!!!!!!
7. Различные пассивные элементы электрических схем: резистор, конденсатор, индуктивность. Перегружаемый метод — расчет комплексного сопротивления элемента.
=============================================
Лабораторная работа № 2. Пользовательский интерфейс
Целью данной работы является знакомство с разработкой оконных приложений в среде Microsoft Visual Studio.
Задание на лабораторную работу
1. Создайте в решении новый проект WinForms (WinForms Application Project) и задайте ему соответствующее имя. Если проект бизнес-логики назван как Model, для проекта пользовательского интерфейса логично дать название View. Данный подход в проектировании архитектуры приложения называется Model-View: когда бизнес-логика и пользовательский интерфейс разделены на разные сборки. В дальнейшем такой подход облегчает ориентирование в рамках проекта. Обратите внимание, что теперь данный проект должен быть стартовым, для этого установите его запускаемым проектом по умолчанию. ПРИМЕЧАНИЕ: ранее созданный проект ConsoleLoader теперь можно удалить. Удаление проекта из решения не приводит к его физическому удалению с носителя, в отличие от классов проекта. Помните об этом при удалении каких-либо компонентов проекта.
2. Добавьте в проект View новую форму. Название формы должно отражать назначение формы и оканчиваться словом Form. Как и имена других классов, имя формы оформляется в стиле Pascal.
3. Добавьте на форму элемент GridControl из панели инструментов. Для повышения удобства пользовательского интерфейса лучше сначала разместить на форме элемент GroupBox, в который поместить GridControl. Это позволит поместить в заголовок GroupBox фразу, поясняющую назначение GridControl. Под GridControl разместите две кнопки Button. Назовите кнопки Add Object и Remove Object, где вместо Object подставьте название того объекта, который реализован в вашей бизнес-логике.
4. Создайте внутри формы поле, хранящее список (List) сущностей, соответствующих вашему варианту. Список должен иметь возможность хранения в себе всех дочерних классов вашей сущности (все виды геометрических фигур, все типы работников, все виды скидок и т. д.).
5. Необходимо реализовать следующую логику формы: GridControl должен отображать (без возможности редактирования) все объекты созданного списка. Кнопка Add Object должна добавлять новый объект в GridControl и в список объектов. Кнопка Remove Object должна удалять выбранный в GridControl объект и удалять его из списка объектов.
6. Для добавления новых объектов в программу нужно разработать специальную форму, которая вызывалась бы по нажатию клавиши Add Object. В форме должна присутствовать возможность заполнения полей, общих для всех дочерних классов, выбор в виде ComboBox или RadioButton типа объекта и, в зависимости от типа объекта, должна появляться возможность заполнения полей данного типа объекта. Например, если создается новый работник, то в форме обязательно есть поля ФИО и даты принятия на работу, но в зависимости от RadioButton с типом оплаты должны появляться поля либо почасовой оплаты, либо оплаты по ставке.
7. На форме создания нового объекта должны присутствовать кнопки Ok и Cancel. Если пользователь нажмет кнопку Ok — в главной форме должен быть добавлен созданный объект. Если пользователь нажмет Cancel — должна быть выполнена отмена добавления.
8. Форма создания нового объекта должна учитывать ограничения на значения полей объекта (например, неотрицательный размер стороны геометрической фигуры). Фактически, здесь должна производиться обработка исключений при попытке ввода неправильных значений.
9. Особое внимание обратите на визуальную аккуратность создаваемых вами пользовательских интерфейсов. Старайтесь выравнивать элементы по левому краю относительно друг друга, делать одинаковые отступы между элементами, правильно подписывать элементы, кнопки и заголовки. Грамотно рассчитывайте размеры элементов — если в TextBox должно вводиться целое число со значением до 100, не имеет смысла делать его длиннее 50 пикселей. Также поля для фамилии должны быть подходящего размера, чтобы корректно отображать обычную фамилию, — не слишком длинные, но и не слишком короткие. Аккуратность и удобство пользовательского интерфейса может стать решающим фактором в выборе именно вашей программы конечным пользователем.
10. При тестировании и отладке программы не очень удобно вручную добавлять новые объекты — необходимость каждый раз вводить данные для 10 объектов может сильно пошатнуть психическое состояние разработчика (или вашего преподавателя). Чтобы облегчить тестирование программы, а значит, и собственную разработку, добавьте на форму создания нового объекта кнопку Create Random Data. По нажатию данной кнопки все поля будут заполняться случайными правильными данными для объекта. Пользователю останется только нажать кнопку Ok для добавления нового объекта на главную форму.
11. Кнопка Create Random Data является отладочной, и в версии, которая будет поставляться конечному пользователю, этой кнопки быть не должно — не будет же бухгалтерия создавать «случайных» работников со «случайными» зарплатами! Удалять же и заново создавать эту кнопку при необходимости нового установщика опять же не очень удобно — вы можете просто забыть это сделать. Используйте механизм условной компиляции.
12. Добавьте форму, на которой можно будет провести поиск объекта по каждому из полей общих для всех дочерних классов. Помните, что результатом поиска может быть не один объект. Добавьте на главную форму кнопку для вызова формы поиска.
13. Добавьте возможность сохранения и загрузки введенных пользователем данных, используя любой механизм сериализации, на ваше усмотрение. Сохранять данные необходимо в файл с расширением, которое будет характерно только для вашей программы (не надо использовать известные форматы, например *.doc, *.txt или *.xml).
!!!!!!!!!!!!!Варианты заданий!!!!!!!!!!!!!
7. Различные пассивные элементы электрических схем: резистор, конденсатор, индуктивность. Перегружаемый метод — расчет комплексного сопротивления элемента.
=============================================
Дополнительная информация
Оценка: Зачет
Дата оценки: 18.07.2023г.
Помогу с вашим вариантом, другой дисциплиной, онлайн-тестом, либо сессией под ключ.
E-mail: sneroy20@gmail.com
E-mail: ego178@mail.ru
Дата оценки: 18.07.2023г.
Помогу с вашим вариантом, другой дисциплиной, онлайн-тестом, либо сессией под ключ.
E-mail: sneroy20@gmail.com
E-mail: ego178@mail.ru
Похожие материалы
Лабораторные работы №1 и №2 по дисциплине: Физика
Aleks
: 31 января 2020
Лабораторная работа № 1
Изучение характеристик электростатического поля
Цель работы:
1. Изобразить графически сечение эквипотенциальных поверхностей электростатического поля, созданного заданной конфигурацией электрических зарядов
2. Используя изображение эквипотенциальных поверхностей, построить силовые линии электростатического поля заданной конфигурации зарядов.
3. При помощи полученной картины силовых и эквипотенциальных линий проверить справедливость формулы связи напряжённости электричес
150 руб.
Лабораторные работы № 1, № 2 по дисциплине «Физика»
RishaDolos
: 8 ноября 2011
Лабораторная работа №2 (6.8)
Изучение температурной зависимости электропроводности полупроводников
Цель работы: Изучить зависимость электропроводности полупроводникового образца от температуры. Определить ширину запрещенной зоны
Лабораторная работа №1 (7.3)
Определение длины электромагнитной волны методом дифракции Фраунгофера
Цель работы: Исследовать явление дифракции электромагнитных волн. С помощью дифракционной решетки проходящего света измерить длины электромагнитных волн видимого диапазона
100 руб.
Лабораторные работы №1-№2 по дисциплине: «УТС» Вариант: Любой.
ДО Сибгути
: 12 февраля 2016
Лабораторная работа №1
Изучение технологии ASON
1.В ближайшие 5 лет наибольшая доля услуг будет осуществляться посредством…
2.В ближайшие годы ожидается…
3.В настоящее время для российских операторов связи наиболее выгодным является…
4.В сети ATM осуществляется передача пакетов…
5.Для транспортной сети Ethernet используется…
6.OTN позволяет организовать соединение…
7.В ближайшие 5-10 лет в России ожидается, что наибольшая доля трафика будет передаваться по сетям…
8.Пользователями ASON мо
50 руб.
Лабораторные работы №1-№2 по дисциплине: «УТС» Вариант: Любой
58197
: 29 сентября 2014
Лабораторная работа №1
По дисциплине: «Управление телекоммуникационными сетями»
Изучение технологии ASON
1.В ближайшие 5 лет наибольшая доля услуг будет осуществляться посредством…
2.В ближайшие годы ожидается…
3.В настоящее время для российских операторов связи наиболее выгодным является…
4.В сети ATM осуществляется передача пакетов…
5.Для транспортной сети Ethernet используется…
6.OTN позволяет организовать соединение…
7.В ближайшие 5-10 лет в России ожидается, что наибольшая доля траф
45 руб.
Лабораторная работа 1-2 по дисциплине: Архитектура ЭВМ. Вариант 2
IT-STUDHELP
: 1 апреля 2022
Лабораторная работа 1
ИССЛЕДОВАНИЕ АРИФМЕТИЧЕСКИХ ОПЕРАЦИЙ
1. ЦЕЛЬ РАБОТЫ
Получение практических навыков использования операций сложения, вычитания и умножения; освоение использования окон Module и Inspect программы TURBO DEBUGGER.
2. РЕКОМЕНДУЕМАЯ ЛИТЕРАТУРА
2.1. Абель П. Язык Ассемблера для IBM PC и программирования /Пер.c англ М.:Высш.шк., 1992,c 173-190.
2.2. Белецкий Я. Энциклопедия языка Си: Пер. c польск.-М.:Мир,1992, с 394-406.
3. ПОДГОТОВКА К РАБОТЕ
3.1. Изучить методические ук
200 руб.
Лабораторная работа 1-2 по дисциплине Инфокоммуникационные технологии
afcesha
: 30 мая 2022
Задача №6
Необходимо создать стек протоколов для каждого элемента сети заполнив поля шаблонов для каждого устройства
Создайте стек протоколов для текущего устройства Tel
Сдача: 2021 год
400 руб.
Лабораторная работа №1 и № 2 по дисциплине: Основы схемотехники
BuKToP89
: 27 августа 2012
Лаб №1. Исходные данные: транзистор типа КТ3102А с параметрами: h=200 , C=10 , f=1,5, r=120 ; напряжение источника питания E0 = 15В, ток покоя транзистора i=3 .
Лаб№2 По экспериментальным данным определить коэффициент передачи по напряжению на средней частоте, граничные частоты при заданных частотных искажениях и площадь усиления. В каскадах на полевых транзисторах при больших значениях входного сопротивления входное напряжение практически равно ЭДС источника сигнала. Граничные частоты определ
100 руб.
Лабораторные работы №1-2 по дисциплине: Операционные системы. Вариант общий
xtrail
: 21 сентября 2024
Лабораторная работа №1
Работа с файловой системой LINUX.
Цель работы: Изучить команды управления каталогами и файлами.
Порядок выполнения работы.
1. Если вы еще не установили операционную систему LINUX, установите.
2. Включить компьютер и войти в систему LINUX , если система требует пройдите процедуру идентификации.
3. Ознакомиться с информацией, появившейся на экране монитора.
4. Выбрать на панели монитора режим «терминал».
5. Убедитесь, что Вы находитесь в своем домашнем каталоге.
6. Созда
600 руб.
Другие работы
Политическая власть понятие и сущность
evelin
: 16 января 2014
Содержание
Введение 3
1 Многообразие содержания понятия власти 6
2 Происхождение, сущность и основные функции власти 8
2.1 Происхождение и сущность власти 8
2.2 Функции власти 15
3 Легитимность власти 16
3.1 Понятие легитимности власти 16
3.2 Типы легитимности власти 19
Заключение 22
Список использованных источников 25
Введение
Политика - сфера деятельности, связанная с отношениями между социальными группами, ядром которой является проблема завоевания, удержания и использования госу
15 руб.
Создание с помощью SQL Server базы данных для магазина продуктов
Lokard
: 6 октября 2013
Оглавление
Введение
Инфологическая модель базы данных
Логическая модель базы данных
Физическая модель базы данных
Разработка запросов, процедур, триггеров
Заключение
Список использованной литературы
Введение
За последние 30 лет в области теории систем баз данных была проведен ряд исключительно продуктивных исследований. Полученные результаты вполне можно считать наиболее важным достижением информатики за этот период. Базы данных стали основой информационных систем и в корне изменили мет
10 руб.
Финансовое право - ФП, 10 задач
тантал
: 23 июля 2013
Задача 1. Приведите примеры действий и событий в финансовых правоотношениях.
Задача 2. Приведите примеры финансовых правоотношений между физическими лицами (индивидуальными субъектами финансового права) и юридическими лицами (коллективными субъектами финансового права).
Задача 3. Может ли ревизор изымать документы в проверяемой им организации? При каких условиях это возможно осуществить?
Задача 4. Рассчитайте структуру доходов и расходов бюджета Федерального фонда обязательного медицинского стра
100 руб.
НАСОС ЦЕНТРОБЕЖНЫЙ ЦНС-105-245 С УСОВЕРШЕНСТВОВАННЫМ КРОНШТЕЙНОМ-Дипломная работа-Оборудование для добычи и подготовки нефти и газа
https://vk.com/aleksey.nakonechnyy27
: 28 февраля 2016
РЕФЕРАТ
В данном дипломном проекте рассматривается такая проблема современной нефтяной промышленности, как утечки в центробежных насосах.
Разработанные в проекте уплотнения узла вала ротора направлены на решение указанной задачи.
Разработаны новые конструкции оборудования уплотнения узла вала ротора.
Пояснительная записка включает в себя 3 раздела: техническую часть, экономическую часть и раздел безопасности и экологичности проекта. В техническую часть входят: виды уплотнений, описание устройс
3485 руб.