Skip to content
This repository has been archived by the owner on May 11, 2023. It is now read-only.
/ CSharpLabs Public archive

Лабораторні роботи з курсу ООП

License

Notifications You must be signed in to change notification settings

Prevter/CSharpLabs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Лабораторні роботи з курсу "Об'єктно Орієнтоване Програмування"

Цей репозиторій містить проекти для кожної лабораторної роботи а також UI у вигляді одного WPF проекту.

Лабораторні роботи 1-8 були з використанням С++ і не входять до цього репозиторію.

Варіант виконання робіт - 15.

Лабораторна робота №9

Завдання 1

  1. Скласти консольну програму на мові С# у Visual Studio 2017/2019 і запрограмувати оператори, які:
    • вводять з клавіатури значення дійсних змінних x, y, z;
    • розраховують вираз, зазначений в таблиці 9.1 відповідно варіанту;
    • виводять результат на екран.
  2. Додати до складеної програми оператор циклу, що повторює введення даних і виконання розрахунків, доки не введено значення Х=0.
  3. Додати до складеної програми оператори, що виводять словами назву діапазону, в який попадає вхідне значення Х та значення обчисленого виразу. Назви діапазонів для Х: «менш за -10», «менш за -1», «більш за 1», «більш за 10». Назви діапазонів для результату: «негативне», «позитивне». $$\boxed{a = |cos z + cos y| * (1 + 2x^2)}$$

Завдання 2

За продуктивністю трьох труб і часу їх роботи з наповнення басейну, визначити скільки води набрано в басейн

Результат лабораторної роботи 9

Лабораторна робота №10

Завдання 1

  1. Запрограмувати оператори, які:
    • Створюють одномірні статичні масиви, котрі задовольняють умовам варіанту завдання відповідно Вашому номеру за журналом.
    • Заповнюють вихідний масив даними, створеними генератором випадкових чисел.
    • Виконують дії над елементами масивів відповідно завданню.
    • Виводять результат на екран. Визначити, чи є серед від'ємних елементів елементи з максимальними значеннями.

Завдання 2

Написати програму з використанням методів класу System.Array.

  1. Створити масив Z (одновимірний або багатовимірний) відповідно варіанту завдання
  2. Заповнюють масив даними, створеними генератором випадкових чисел. Вивести на екран значення масиву. Виконати завдання згідно з варіантом.
    Обчислиш добуток мінімального й максимального елемента масиву

Результат лабораторної роботи 10

Лабораторна робота №11

Завдання 1

  1. Запрограмувати оператори, які:
    • Створюють змінні рядкових типів, котрі задовольняють умовам варіанту завдання відповідно Вашому номеру за журналом..
    • Вводять з клавіатури прізвище, ім'я та по батькові.
    • Визначають довжину введених рядків.
    • Виконують дії відповідно варіанту завдання.
    • Виводять результат на екран, додавши до нього коментарі - студент якої спеціальності і групи виконав завдання.
      Вивести прізвище в стовпець.

Завдання 2

Запрограмувати деякий спосіб шифрування тексту. Скласти програму для введення тексту, його шифрування, розшифровування та друку результатів.

Результат лабораторної роботи 11

Лабораторна робота №12

  1. Створити базовий клас «шайба» (правильний шестикутник, такий, що:
    • його екземпляр містить розмір сторони a.
    • його конструктор без параметра створює екземпляр зі значенням 0, а конструктор з параметрами створює екземпляр з відповідним значенням a.
    • його властивості дозволяють отримувати і привласнювати значення a і отримувати значення площі.
    • метод ToString() повертає рядок у вигляді повідомлення про значення a і площі цієї фігури.
    • операція «+» перевантажена: для двох фігур створює нову фігуру з параметрами (a = a1 + a2), а при додаванні з числом змінює свою площу на цю величину

Результат лабораторної роботи 12

Лабораторна робота №13

Описати базовий клас (можливо, абстрактний), у якому за допомогою віртуальних або абстрактних методів та властивостей задається інтерфейс для похідних класів. В усіх класах потрібно перевизначити метод Equals, щоби порівнювались значення, а не посилання. Визначити в класах усі можливі конструктори. Метод Main повинен утримувати масив або список з елементів базового класу, заповнений посиланнями на похідні класи, та демонструвати використання усіх розроблених елементів класів відповідно варіанту. Показати на прикладі одного з методів, присутніх у кожному класі, використання поліморфізму. Обов’язково продемонструвати різницю між раннім та пізнім зв’язуванням

Електрик. Визначити ієрархію електроприладів. Включити деякі в розетку. Порахувати споживану потужність

Результат лабораторної роботи 13

Лабораторна робота №14

Скласти програму, яка виконує наступне:

  1. Створює масив з N екземплярів класу, створеного відповідно до варіанта .
  2. Виводить інформацію про об'єкти масиву.
  3. Сортує масив за заданою ознакою (див. Варіант), використовуючи метод Sort класу Array.
  4. Виводить інформацію про об'єкти відсортованого масиву

Варіант 3. Створити базовий клас «конус», такий, що:

  • його екземпляр містить розмір радіусу і висоти.
  • його конструктор без параметра створює екземпляр зі значенням 0, а конструктор з параметрами створює екземпляр з відповідним значенням радіусу і висоти.
  • його методи дозволяють отримувати і привласнювати значення радіуса, висоти і об'єму, виконуючи при цьому відповідні перетворення.
  • функція print_val() виводить на екран значення його об'єму. Сортувати масив за об'ємом.

Результат лабораторної роботи 14

Лабораторна робота №15

Завдання 1:

  1. Windows-форму фіксованого розміру, розташовану в центрі екрану (параметри розташування обчислюються в момент ініціалізації форми) .
  2. Одну кнопку закриття форми.
  3. Діалогові вікна та інші елементи керування – для введення даних відповідно варіанту завдання.
  4. Функції-оброблювачі подій від елементів керування відповідно варіанту завдання.

Обчислити периметр і площу прямокутного трикутника за заданими катетом й гострим кутом.

Завдання 2:

  1. Створити Windows-проект, який після введення користувачем із клавіатури прізвища та імені при натисканні кнопки OK або клавіші Enter виводить слова на форму у зворотному порядку, а в окремому полі повідомляє кількість символів рядка.
  2. Зберігати текст введеного рядка у файл із ім'ям, що відображається при запуску програми в одному з полів форми, при цьому передбачити можливість редагування імені файла. Зчитати вміст файла та вивести результат в одному з полів.

Результат лабораторної роботи 15

Лабораторна робота №16

Завдання 1:
Методом трапеції обчислити інтеграл. Реалізувати пошук інтеграла у вигляді метода, одним із параметрів якого є функція, для якої розв’яується задача. Функції, для яких треба реалізувати пошук інтеграла, перелічені у варіантах завдань.

$$\int_{a}^{b}\frac{1}{\sqrt[3]{x}}dx$$

$$\int_{a}^{b}\frac{sin(x)}{\sqrt{x^2}}dx$$

$$\int_{a}^{b}xcos(x)dx$$

Завдання 2:
Створити подію, яка пов’язана з натисканням на клавіатурі символа, з которого починається ваше ім’я. Метод-обробник цієї події виводить ваше ім’я повністю.

Результат лабораторної роботи 16

Лабораторна робота №17

  1. Створити об’єкт певного класу відповідно варіанту завдання. Ініціалізувати поля і властивості об’єкта. Зберегти стан об’єкта, використовуючи механізм бінарної і XML серіалізації.
  2. Після перезапуску програми встановити параметри об’єкта, використовуючи механізм бінарної і XML-десеріалізації.
  3. Отримати інформацію про власивості і методи класу, використовуючи механізм рефлексії.

Варіант 5:

Геометрічна фігура "пісочний годинник"

  1. його екземпляр містить розміри a і b.
  2. його конструктор без параметра створює екземпляр зі значенням 0, а конструктор з параметрами створює екземпляр з відповідним значенням a і b.

Результат лабораторної роботи 17

Посилання

Частина інтерфейсу була взята з FloatTool

Ліцензія

Розповсюджується під ліцензією MIT. Див. LICENSE для деталей.