Практические занятия по курсу ОиМП/Группа 106 1 — различия между версиями
Материал из Wiki - Факультет компьютерных наук
(→C++) |
(→C++) |
||
| Строка 1: | Строка 1: | ||
=== C++ === | === C++ === | ||
Сдача домашнего задания №2 заканчивается в полночь с 7 на 8 ноября. При выставлении оценки за задание будет учитываться сдача задач в контестах 736(от 9 задач), 738 (от 7 задач), 765(от 16 задач), 798 (от 4 из первой половины + 4 из второй). | Сдача домашнего задания №2 заканчивается в полночь с 7 на 8 ноября. При выставлении оценки за задание будет учитываться сдача задач в контестах 736(от 9 задач), 738 (от 7 задач), 765(от 16 задач), 798 (от 4 из первой половины + 4 из второй). | ||
| + | |||
| + | |||
| + | === 15.11.2014 === | ||
| + | |||
| + | Реализовать пользовательский тип «Рациональные числа» (Rational). | ||
| + | |||
| + | Внутреннее представление типа: | ||
| + | |||
| + | int a, b; | ||
| + | |||
| + | должно отвечать следующим требованиям: Число a/b должно представлять собой несократимую дробь. | ||
| + | |||
| + | Данный тип должен быть описан таким образом, чтобы были корректны следующие инструкции: | ||
| + | |||
| + | // Создание объектов | ||
| + | Rational q = Rational(1, 3), w(1, 3); | ||
| + | Rational s = 4; | ||
| + | Rational z = q; | ||
| + | |||
| + | // Арифметические операции | ||
| + | s.Add(q); // значение s увеличивается на значение q | ||
| + | // (значение s меняется) | ||
| + | s.Substract(q); // значение s изменяется путем вычитания q | ||
| + | s.Multiply(q); // значение s изменяется путем домножения на q | ||
| + | s.Divide(q); // значение s изменяется путем деления на q | ||
| + | |||
| + | s.Add(q).Multiply(w); // значение s меняется путем инкрементирования q | ||
| + | // с последующим домножением на w | ||
| + | |||
| + | // Логические операции | ||
| + | s.EqualTo(w); // возращает булево значение, равно ли значение s значению w | ||
| + | s.CompareTo(w); // возвращает целое > 0, если s > w, | ||
| + | // иначе возвращает целое < 0, если s < w, | ||
| + | // иначе возвращает 0 | ||
| + | s.IsInteger() // возвращает булево значение, является ли s целым числом | ||
| + | |||
| + | // Строковое представление в формате a:b | ||
| + | string str = w.ToString(); // вернет 1:3 | ||
| + | |||
| + | // Создание массивов | ||
| + | Rational arr[10]; | ||
Версия 12:18, 15 ноября 2014
C++
Сдача домашнего задания №2 заканчивается в полночь с 7 на 8 ноября. При выставлении оценки за задание будет учитываться сдача задач в контестах 736(от 9 задач), 738 (от 7 задач), 765(от 16 задач), 798 (от 4 из первой половины + 4 из второй).
15.11.2014
Реализовать пользовательский тип «Рациональные числа» (Rational).
Внутреннее представление типа:
int a, b;
должно отвечать следующим требованиям: Число a/b должно представлять собой несократимую дробь.
Данный тип должен быть описан таким образом, чтобы были корректны следующие инструкции:
// Создание объектов
Rational q = Rational(1, 3), w(1, 3);
Rational s = 4;
Rational z = q;
// Арифметические операции
s.Add(q); // значение s увеличивается на значение q
// (значение s меняется)
s.Substract(q); // значение s изменяется путем вычитания q
s.Multiply(q); // значение s изменяется путем домножения на q
s.Divide(q); // значение s изменяется путем деления на q
s.Add(q).Multiply(w); // значение s меняется путем инкрементирования q
// с последующим домножением на w
// Логические операции
s.EqualTo(w); // возращает булево значение, равно ли значение s значению w
s.CompareTo(w); // возвращает целое > 0, если s > w,
// иначе возвращает целое < 0, если s < w,
// иначе возвращает 0
s.IsInteger() // возвращает булево значение, является ли s целым числом
// Строковое представление в формате a:b
string str = w.ToString(); // вернет 1:3
// Создание массивов
Rational arr[10];