- •Лабораторные работы по курсу "Языки и методы программирования" (семестр 3) Лабораторная работа №1. Вычисление значения функции в консольном приложении
- •Лабораторная работа №2. Вычисление значения функции в Windows-приложении
- •Лабораторная работа №3. Организация ветвления в Windows-приложении.
- •Лабораторная работа №4. Организация цикла в Windows-приложении.
- •Лабораторная работа №5. Разработка класса в консольном приложении.
- •Лабораторная работа №6. Использование графических объектов в Windows-приложении.
- •Лабораторная работа №7. Построение иерархии классов в консольном приложении.
- •Лабораторная работа №8. Перегрузка операций
- •Лабораторная работа №9. Коллекции
Лабораторная работа №8. Перегрузка операций
Задание. Разработайте класс для работы с рациональными дробями с положительным знаменателем. Конструктор класса должен получать два целых числа – числитель и знаменатель дроби. В случае передачи нулевого значения знаменателя сгенерируйте исключение ArgumentException(неверный аргумент), в случае отрицательного знаменателя – замените его положительным значением без изменения значения дроби. Напишите внешнюю функцию, вычисляющую наибольший общий делитель числителя и знаменателя. Используйте эту функцию для приведения результатов операций к несократимому виду. Перегрузите операции сложения, вычитания, умножения и деления дробей.
Создайте в проекте текстовый файл, содержащий несколько рациональных дробей. Первая строка файла содержит единственное целое число n– количество дробей, а следующиеnстрок содержат значения дробей в формате: числитель / знаменатель. Выполните заданные действия с дробями согласно варианту лабораторной работы.
Варианты заданий к лабораторной работе №8.
Вариант 1. Вычислить для следующих данных:
n = 6
Ak = {5/8; 12/35; 1/40; 107/203; -3/145; -10/7}
Вариант 2. Вычислить для следующих данных:
n = 7
Ak = {1/3; 7/2; 2/5; -3/16; 10/7; -7/12; -1/6}
Вариант 3. Вычислить для следующих данных:
n = 6
Ak = {2/7; 3/4; 1/3; 5/8; 12/7; 2/9}
Вариант 4. Вычислить для следующих данных:
n = 5
Ak = {3/5; 15/42; -4/25; -7/24; 5/13}
Вариант 5. Вычислить для следующих данных:
n = 5
Ak = {2/35; 1/8; 3/16; -13/72; 1/23}
Вариант 6. Вычислить для следующих данных:
n = 6
Ak = {12/7; 9/14; 11/13; 13/9; -2/5; -3/5}
Вариант 7. Вычислить для следующих данных:
n = 6
Ak = {5/8; 12/35; 1/40; -3/145; -10/7; 107/203}
Вариант 8. Вычислить для следующих данных:
n = 5
Ak = {1/3; 7/2; -1/6; -5/12; -10/3}
Вариант 9. Вычислить для следующих данных:
n = 7
Ak = {2/7; 3/14; -1/3; 5/8; 12/7; 2/9; -21/8}
Вариант 10. Вычислить для следующих данных:
n = 5
Ak = {3/5; 15/42; -4/25; -7/24; 15/13}
Вариант 11. Вычислить для следующих данных:
n = 5
Ak = {2/35; 3/8; 16/13; -7/72; 9/24}
Вариант 12. Вычислить для следующих данных:
n = 6
Ak = {12/7; 9/14; 11/13; 13/9; -2/5; -3/7}
Вариант 13. Вычислить для следующих данных:
n = 6
Ak = {5/8; 12/5; 1/40; -3/14; -10/7; 13/2}
Вариант 14. Вычислить для следующих данных:
n = 6
Ak = {5/28; 3/14; -1/6; 7/12; -13/3; -4/15}
Вариант 15. Вычислить для следующих данных:
n = 7
Ak = {2/7; 3/14; -1/3; 5/8; 12/7; -11/21; -21/8}
Вариант 16. Вычислить для следующих данных:
n = 6
Ak = {3/5; -15/4; -4/25; -11/24; -2/5; 19/4}
Вариант 17. Вычислить для следующих данных:
n = 6
Ak = {1/3; 3/4; 6/5; -7/2; 1/4; 1/5}
Вариант 18. Вычислить для следующих данных:
n = 6
Ak = {1/8; 7/12; -5/9; 3/2; -7/4; 5/3}
Вариант 19. Вычислить для следующих данных:
n = 6
Ak = {-5/8; 12/5; 7/10; -3/14; -10/7; -1/2}
Вариант 20. Вычислить для следующих данных:
n = 6
Ak = {5/28; 7/14; -1/6; 7/12; -13/3; -4/15}
Вариант 21. Вычислить для следующих данных:
n = 7
Ak = {2/7; 3/14; -1/3; -5/8; 12/7; 11/21; -25/8}
Вариант 22. Вычислить для следующих данных:
n = 7
Ak = {3/5; -15/4; -4/25; -11/24; -2/5; 19/4; 3/7}
Вариант 23. Вычислить для следующих данных:
n = 6
Ak = {7/37; 3/41; 15/53; -7/29; 3/2; 7/17}
Вариант 24. Вычислить для следующих данных:
n = 7
Ak = {3/5; -7/4; -4/25; -13/24; -2/5; 3/8; 5/9}
Вариант 25. Вычислить для следующих данных:
n = 6
Ak = {-5/18; 12/53; 13/10; -3/14; 10/7; -1/12}
Вариант 26. Вычислить для следующих данных:
n = 5
Ak = {-5/2; 7/14; -1/6; 5/12; -1/4}
Вариант 27. Вычислить для следующих данных:
n = 6
Ak = {2/7; 3/14; -1/3; 12/7; 11/21; -25/8}
Вариант 28. Вычислить для следующих данных:
n = 7
Ak = {3/5; -15/4; -4/25; -11/24; -2/5; 19/4; 1/7}
Вариант 29. Вычислить для следующих данных:
n = 6
Ak = {7/31; 3/41; 2/53; -7/29; 13/23; 7/17}
Вариант 30. Вычислить для следующих данных:
n = 6
Ak = {-1/6; 7/12; 19/32; 5/16; 3/4; 7/3}