
- •Лабораторные работы по сапр
- •1.Назначение курса
- •2.Общие требования
- •2.1.Порядок выполнения практической работы
- •2.2.Содержание отчёта
- •2.2.1.Постановка задачи
- •2.2.2.Исходные данные
- •2.2.3.Особые ситуации
- •2.2.4.Математические методы и алгоритмы решения задач
- •2.2.5.Форматы представления данных
- •2.2.6.Структура программы
- •2.2.7.Результаты работы программы
- •2.2.8.Исходный текст программы
- •2.2.9.Документирование и комментирование исходного текста
- •2.3.Защита и сдача лабораторной работы
- •2.3.1.Окончательная сдача лабораторных работ
- •2.4. Цель работы
- •2.5. Варианты заданий
- •2.6.4.Математические методы и алгоритмы решения задач
- •2.6.5.Форматы представления данных
- •2.6.6.Структура программы
- •2.6.7.Результаты работы программы
- •2.6.8.Исходный текст программы
- •3.Лабораторная работа №2. Использование массивов.
- •3.1. Варианты заданий
- •3.1.1.На оценку «удовлетворительно»
- •3.1.2.На оценку «хорошо»
- •3.1.3.На оценку «отлично»
- •3.2.Файловый ввод-вывод
- •3.3.Модульные тесты
- •4.Лабораторная работа №3. Работа с символьными строками.
- •4.1. Варианты заданий
- •4.1.1.На оценку «удовлетворительно»
- •4.1.2.На оценку «хорошо»
- •4.1.3.На оценку «отлично»
- •4.2.Модульные тесты
- •4.3.Разделение на файлы
3.Лабораторная работа №2. Использование массивов.
Лабораторная работа предназначена для приобретения практического опыта в работе с наборами объектов в языке программирования С++.
Призвана продемонстрировать:
Принципы индексного доступа к элементам массивов;
Основы файлового ввода-вывода в языке С++.
Принципы разработки модульных тестов.
3.1. Варианты заданий
Во всех работах кроме консольного ввода-вывода (экран, клавиатура) необходимо предоставить возможность вводить исходные данные из файла и сохранять результат работы программе в файле.
3.1.1.На оценку «удовлетворительно»
1 |
Напишите программу, находящую медиану массива. То есть индекс ячейки массива, сумма элементов слева от которой минимально отличается от суммы элементов справа. |
2 |
Напишите программу, выполняющую сортировку методом прямого обмена («пузырьковую сортировку»). |
3 |
В трехмерном пространстве заданы точки (тройками значений x,y,z) и сфера (центр и радиус). Напишите программу, выводящую точки (их координаты), которые попадают в заданную пользователем сферу. |
4 |
Напишите программу сортировки элементов массива (любым методом) так, чтобы все чётные элементы оказались в левой части массива, а все нечётные – в правой. |
3.1.2.На оценку «хорошо»
1 |
Напишите программу, находящую в массиве вещественных чисел последовательность, имеющую максимальную сумму. Программа должна выводить начальный и конечный элемент. |
2 |
Напишите программу, выполняющую сортировку методом прямого обмена («шейкерную сортировку»). |
3 |
Напишите программу сортировки элементов массива (любым методом) так, чтобы отрицательные элементы чередовались с положительными. |
4 |
Напишите программу двоичного поиска заданного значения в упорядоченном массиве. Программа должна возвращать индекс искомого элемента в массиве или каким-либо образом информировать об отсутствии искомого элемента в массиве. |
3.1.3.На оценку «отлично»
1 |
В трехмерном пространстве задано множество сфер (центр и радиус). Пользователь задаёт луч (начало и направление). Определить, с какими сферами пересекается введённый пользователем луч. Предоставить возможность считывать данные о сферах с диска, редактировать (добавлять, удалять) данные о сферах и записывать обновлённую информацию на диск. |
3.2.Файловый ввод-вывод
1 |
Для реализации ввода-вывода (экранного и файлового) необходимо использовать потоковые библиотеки С++. |
2 |
Консольный ввод-вывод должен осуществляться с помощью объектов cin и cout. |
3 |
Файловый ввод-вывод должен осуществляться с использованием объектов ifstream, ofstream. |
4 |
Консультации по использованию потоков ввода-вывода могут быть получены у преподавателя. |
3.3.Модульные тесты
1 |
Каждая программа должна сопровождаться набором модульных тестов, позволяющих проверить её работоспособность на примерах с заранее известным результатом. |
2 |
Модульные тесты должны запускаться автоматически или в случае выбора пользователем соответствующего пункта меню программы. |
3 |
Модульные тесты должны содержать минимум пять тестовых наборов данных для автоматической проверки. |