
- •Лабораторные работы по курсу "Языки и методы программирования" (семестр 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}