Лекция 12. Контрольная работа Красс Александр Alexander.Krass@gmail.com СПбГУ ИТМО, 2008.

Презентация:



Advertisements
Похожие презентации
Лекция 15. Введение в ООП. Часть 6 Красс Александр СПбГУ ИТМО, 2008.
Advertisements

Лекция 5. Подготовка к ООП Красс Александр СПбГУ ИТМО, 2008.
Лекция 11. Введение в ООП. Часть 4 Красс Александр СПбГУ ИТМО, 2008.
Лекция 9. Введение в ООП. Часть 2 Красс Александр СПбГУ ИТМО, 2008.
Лекция 10. Введение в ООП. Часть 3 Красс Александр СПбГУ ИТМО, 2008.
Лекция 7. Введение в ООП через практику. Часть 2 Красс Александр СПбГУ ИТМО, 2008.
Лекция 3. Одномерные массивы, указатели и ссылки Красс Александр СПбГУ ИТМО, 2008.
Лекция 13. Введение в ООП. Часть 4 Красс Александр СПбГУ ИТМО, 2008.
Лекция 24. Практика. Закрепление материала Красс Александр СПбГУ ИТМО, 2008.
Лекция 1. Введение Красс Александр СПбГУ ИТМО, 2008.
Лекция 8. Введение в ООП. Часть 1 Красс Александр СПбГУ ИТМО, 2008.
Лекция 6. Введение в ООП через практику. Часть 1 Красс Александр СПбГУ ИТМО, 2008.
Лекция 2. Фундаментальные типы данных и основные конструкции Красс Александр СПбГУ ИТМО, 2008.
Лекция 14. Повторение. Практическое занятие Красс Александр СПбГУ ИТМО, 2008.
Лекция 16. Введение в ООП. Часть 7 Красс Александр СПбГУ ИТМО, 2008.
Лекция 22. Шаблоны (часть 2) Красс Александр СПбГУ ИТМО, 2008.
Лекция 31. Динамическая информация о типе Красс Александр СПбГУ ИТМО, 2009.
Лекция 28. Практика. Подготовка к письменному экзамену Красс Александр СПбГУ ИТМО, 2008.
Лекция 30. Преобразования типов в C++ Красс Александр СПбГУ ИТМО, 2009.
Лекции 8-9
Транксрипт:

Лекция 12. Контрольная работа Красс Александр СПбГУ ИТМО, 2008

2 Задание Разработать класс Fraction, для которого правильно бы выполнялся нижеприведённый код.

3 Задание Fraction frac1(5, 10); cout << frac1.ToChars() << endl; // 5/10 frac1.Reduce(); cout << frac1.ToChars() << endl; // 1/2 Fraction frac2(1.575); cout << frac2.ToChars() << endl; // 1 575/1000 Fraction frac3(4, 4); Fraction frac4(frac3.Add(frac1)); cout << frac4.ToChars() << endl; // 6/4 cout << frac4.GetIntegerPart() << endl; // 1 cout << (frac1.MultiplyBy(frac4)).ToChars() << endl; // 6/8 frac4.ExtractIntegerPart(); cout << frac4.ToChars() << endl; // 1 2/4 cout << frac4.GetProperFraction().ToChars() << endl; // 1 1/2 frac4.ConvertToProperFraction(); cout << frac4.ToChars() << endl; // 1 1/2

4 Как будет оцениваться задание? Каждая правильно реализованная функция – это баллы. Каждая функция вне зависимости от сложности оценивается в 10 баллов. Найдено место в программе, где стоит вставить/убрать const – -5 баллов. Найден член класса, для которого можно использовать более строгий модификатор доступа – -15 баллов. Функция неадекватно ведёт себя при некоторых данных пользователя – -5 баллов. Неэффективная реализация функции – -5 баллов. Утечка памяти – -20 баллов. Другой криминал оценивается от -1 до -100.

5 Showtime!

6 Спасибо за внимание Вопросы?