forked from LebedevIlyaG/3819
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Update Второй семестр - лабораторные
- Loading branch information
1 parent
c26ed3c
commit 8c89ba2
Showing
1 changed file
with
49 additions
and
24 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,28 +1,53 @@ | ||
Лабораторные работы во втором семестре: | ||
|
||
1. Zoo (без отчета) | ||
Написать иерархию классов согласно выбранной или придуманной теме (примеры тем: зоопарк, музыкальные инструменты, деревья, канцелярские товары, транспорт). | ||
Продеманстрировать (написать) работоспособность. | ||
Должны быть использованы и продеманстрированы: абстракция, инкапсуляция, наследование, полиморфизм. | ||
Иерархия должна содержать не менее трех уровней, пример: на верхнем уровне - животное, от него наследуется млекопитающие и насекомые, от млекопитающего наследуется кошка и собака, от насекомых наследуются муравьи и пчелы. | ||
|
||
2. Complex (без отчета) | ||
Написать класс комплексных чисел, позволяющий работать с комплексными числами. Продеманстрировать его работу на примере (в main). | ||
Должны быть: конструкторы (по умолчанию, инициализатор, копирования), доступ к защищенным полям, перегруженные операции: +,-,*,/,=,==, потоковый ввод и вывод. | ||
|
||
|
||
3. String (без отчета) | ||
Написать класс для работы со строками. Продеманстрировать его работу на примере (в main). | ||
Должны быть: конструкторы (по умолчанию, инициализатор, копирования), деструктор, доступ к защищенным полям; | ||
1. Zoo (без отчета), крайний срок сдачи – последняя неделя марта (с 24 по 27 марта). | ||
Написать иерархию классов согласно выбранной или придуманной теме. | ||
Примеры тем: зоопарк, музыкальные инструменты, деревья, канцелярские товары, транспорт. | ||
Продемонстрировать (написать в main пример) работоспособность. | ||
Должны быть использованы и продемонстрированы: абстракция, инкапсуляция, наследование, полиморфизм. | ||
Иерархия должна содержать не менее трех уровней (не менее 7 классов), пример: на верхнем уровне - животное, от него наследуется млекопитающие и насекомые, от млекопитающего наследуется кошка и собака, от насекомых наследуются муравьи и пчелы. | ||
Код должен быть залит на github. | ||
Дополнительное задание за не сдачу в срок: за каждую неделю минимальное количество классов увеличивается на 1, т.е. если просрочить на 1 неделю - то минимум 8 классов, 2 недели - 9 классов и т.д. | ||
|
||
2. Complex (без отчета), крайний срок сдачи –вторая неделя апреля (с 7 по 10 апреля). | ||
Написать класс комплексных чисел, позволяющий работать с комплексными числами согласно материалу проходимому в курсе алгебра и геометрия. Продемонстрировать его работу на примере (написать в main пример). | ||
Должны быть: | ||
конструкторы (по умолчанию, инициализатор, копирования), доступ к защищенным полям; | ||
перегруженные операции: +,-,*,/,=,==, потоковый ввод и вывод. | ||
Код должен быть залит на github. | ||
Дополнительное задание за не сдачу в срок: | ||
1-ая неделя – написать и протестировать метод вычисления модуля комплексного числа; | ||
2-ая – написать и протестировать метод возведения комплексного числа в положительную целую степень; | ||
3-я – написать и протестировать метод возведения в отрицательную целую степень (можно расширить предыдущий метод); | ||
4-я – написать и протестировать метод возведения в дробную степень (можно расширить предыдущий метод); | ||
5-я – написать и протестировать метод возведения в комплексную степень; | ||
6-я – печать тригонометрической формы комплексного числа. | ||
|
||
3. String (без отчета) , крайний срок сдачи –третья неделя апреля (с 14 по 17 апреля). | ||
Написать класс для работы со строками. | ||
Продемонстрировать его работу на примере (написать в main пример). | ||
Должны быть: | ||
конструкторы (по умолчанию, инициализатор, копирования), деструктор, доступ к защищенным полям; | ||
перегруженные операции: +,=,==, <, >, [] потоковый ввод и вывод; | ||
поиск первого вхождения подслова, поиск первого вхождения символа, разбиение на подслова по символу, | ||
|
||
|
||
4. Vector (с отчетом) | ||
Написать классы для работы с векторами и матрицами. Продеманстрировать их работу на примере (в main). | ||
Должны быть: конструкторы (по умолчанию, инициализатор, копирования), деструктор, доступ к защищенным полям; | ||
перегруженные операции: +,-,*,/,=,==, <, >, [] потоковый ввод и вывод; | ||
Операции +,-,* должны быть реализованы для векторов, матриц, матрично векторные. | ||
|
||
5. GeometricShapes (с отчетом) | ||
поиск первого вхождения подслова, поиск первого вхождения символа, разбиение на подслова по символу. | ||
Код должен быть залит на github. | ||
Дополнительное задание за не сдачу в срок: | ||
1-ая неделя – написать и протестировать метод дублирующий строку k раз; | ||
2-ая неделя – написать и протестировать метод ищущи ВСЕ вхождения подстроки в строку; | ||
3-я неделя – написать и протестировать метод возвращающий наиболее часто встречающийся символ в строке; | ||
4-я неделя – написать и протестировать метод возвращающий массив символов строки без повторений (пример: вход - "абсаб", выход - "а", "б", "с" ); | ||
5-я неделя – написать и протестировать метод определяющий какой символ сколько раз встречается в строке (пример: вход - "абсаб", выход - а - 2, б - 2, с - 1). | ||
|
||
4. Vector (с отчетом), крайний срок сдачи –последняя неделя апреля (с 28 по 30 апреля). | ||
Написать классы для работы с векторами и матрицами использовать шаблоны. Продемонстрировать их работу на примере (написать в main пример). | ||
Должны быть: | ||
конструкторы (по умолчанию, инициализатор, копирования), деструктор, доступ к защищенным полям; | ||
перегруженные операции: +,-,*,/,=,==, [] потоковый ввод и вывод; | ||
перегруженные операции +,-,*,/ должны быть реализованы для векторов (вектор +-*/ вектор), матриц (матрица +-* матрица), матрично-векторные (матрица * вектор и наоборот); | ||
в классе вектор должна быть возможность отсортировать его тремя способами (пузырек, вставка, быстрая сортировки, см. вторая лабораторная первого семестра). | ||
Код должен быть залит на github. | ||
В отчете должно быть продемонстрировано, что теоретические оценки времени работы арифметических операций совпадают с поученными вашей программой. | ||
Дополнительное задание за не сдачу в срок: | ||
|
||
5. GeometricShapes (с отчетом) , крайний срок сдачи –вторая неделя мая (с 12 по 15 мая). | ||
|