Файл: Лабораторные работы по программированию на языке С++.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 07.05.2025
Просмотров: 919
Скачиваний: 2
Алексеев Е.Р., Чеснокова О.В., Кучер Т.В. Лабораторные работы «Программирование на С++» |
36 |
b, c Q=a b2 b a (можно написать функции, реализующие операции сложения и умножения комплексных чисел).
11.Создайте структуру Время с элементами Часы, Минуты. Известно время продолжительности каждого из N этапов процесса. Определить общее время процесса и минимальное время этапа.
12.Создайте структуру, описывающую точку в двумерной системе координат (x,y). С помощью этой структуры для N точек вывести сообщение, в каком координатном углу расположена точка.
13.Создайте структуру Парабола с элементами a, b, c – коэффициенты
уравнения y=ax2+bx+c. Определить для M заданных парабол k – количество парабол, имеющих минимум, и если такие есть, найти, у какой из них минимум функции наибольший, т. е парабола расположена выше остальных.
14.Создайте структуру Комплексное Число с элементами x - действительная и y - мнимая часть. Выполнить операцию с тремя комплексными числами a,
b, c Z=a2 b c −c b (можно написать функции, реализующие операции сложения, вычитания и умножения комплексных чисел)
15.Создайте структуру Парабола с элементами a, b, c – коэффициенты
уравнения y=ax2+bx+c. Определить для N заданных парабол точки пересечения с осью X.
16.Создайте структуру Дробь с элементами a – числитель, b – знаменатель. Даны две дроби. Реализуйте с этими дробями арифметические действия: умножение и деление (можно написать функции, реализующие эти действия).
17.Создайте структуру Вектор с элементами x, y, z – декартовые координаты. Определить для M заданных векторов длину каждого вектора и найти номер самого длинного вектора.
18.Создайте структуру Окружность с элементами x0, y0 – координаты центра,
R – радиус. Для N окружностей вычислить длину каждой окружности и определить, пресекаются ли окружности с осями OX и OY.
19.Создайте структуру Прямая с элементами a, b – коэффициенты уравнения y=ax+b. Для M заданных прямых определить k1 – количество прямых, параллельных оси ОХ, и k2 – количество прямых, параллельных оси ОY.
20.Создайте структуру Дробь с элементами a – числитель, b – знаменатель. Даны две дроби. Реализуйте с этими дробями арифметические действия: сложение и вычитание (можно написать функции, реализующие эти действия).
21.Создайте структуру Прямая с элементами a, b – коэффициенты уравнения y=ax+b и структуру Точка с элементами x, y – координаты точки. Дана
Алексеев Е.Р., Чеснокова О.В., Кучер Т.В. Лабораторные работы «Программирование на С++» |
37 |
одна прямая и M точек, определить количество точек, лежащих на заданной прямой.
22.Создайте структуру Ромб с элементами d1, d2 – диагонали ромба. Для К заданных ромбов определить k1 – количество квадратов и найти ромб с минимальной площадью.
23.Создайте структуру Треугольник с тремя элементами a, b, c – длины 3-х сторон. Для N заданных треугольников найти k1 – количество равносторонних треугольников и k2 – количество прямоугольных треугольников.
24.Создайте структуру Комплексное Число с элементами x - действительная и y - мнимая часть. Для N заданных комплексных чисел найти числа, у которых модуль наибольший и наименьший.
25.Создайте структуру Параллелограмм с элементами a, b – стороны параллелограмма и α - угол между сторонами. Для К заданных фигур определить k1 – количество квадратов и k2 – количество прямоугольников.
26. Создайте структуру Дата с элементами День, Месяц, Год. Для N человек с заданной датой рождения найти самого младшего и самого старшего человека.
Лабораторная работа № 13 . Тема «Текстовые и двоичные файлы в С++»
Цель работы : Программирование в С++ с использованием файлов. Изучение возможностей работы с текстовыми и двоичными файлами (чтение из файла, запись в файл) [1, с. 226-243].
Задание. Во всех заданиях составить две программы. Первая программа должна формировать двоичный файл. Вторая программа должна считать данные из двоичного файла, выполнить соответствующие вычисления и записать их результаты в текстовый файл.
Варианты заданий
1.Создать двоичный файл, куда записать n целых чисел. Из исходного файла сформировать массивы четных и нечетных чисел. Определить наибольший четный компонент файла и наименьший нечетный.
2.Создать двоичный файл, куда записать n целых чисел. На основе исходного файла создать массив удвоенных нечетных чисел. Упорядочить его по возрастанию элементов.
3.Создать двоичный файл, куда записать n целых чисел. Сформировать массив положительных чисел, делящихся на пять без остатка, используя элементы исходного файла. Упорядочить массив по убыванию элементов.
Алексеев Е.Р., Чеснокова О.В., Кучер Т.В. Лабораторные работы «Программирование на С++» |
38 |
4.Создать двоичный файл, куда записать n вещественных чисел. Из компонентов исходного файла сформировать массивы положительных и отрицательных простых чисел. Вычислить количество нулевых компонентов файла.
5.Создать двоичный файл, куда записать n целых чисел. Из файла создать массив, элементы которого не являются простыми числами и расположены до минимального элемента.
6.Создать двоичный файл, куда записать n целых чисел. Из файла целых чисел сформировать массив, записав в него только ненулевые компоненты, находящиеся после максимального элемента.
7.Создать двоичный файл, куда записать n вещественных чисел. Сделать массив из элементов исходного файла, внеся в него числа, превосходящие среднее значение среди положительных значений файла.
8.Создать двоичный файл, куда записать n целых чисел. Из исходного файла сформировать массив, записав в него числа, расположенные в файле до минимального элемента и после максимального.
9.Создать двоичный файл, куда записать n целых чисел. Массив создать из исходного файла. Внести в него числа, расположенные в файле между минимальным и максимальным элементами.
10.Создать двоичный файл, куда записать n целых чисел. Из исходного файла сформировать массив, в котором вначале расположить четные, а затем нечетные числа. Определить номера наибольшего нечетного и наименьшего четного компонентов.
11.Создать двоичный файл, куда записать n целых чисел. В файле поменять местами максимальное среди отрицательных и наибольшее среди простых.
12.Создать двоичный файл, куда записать n целых чисел. Из файла переписать все простые большие среднего арифметические в новый файл.
13.Создать двоичный файл, куда записать n целых чисел. Найти среднее арифметическое среди простых чисел, расположенных после минимального значения.
14.Создать двоичный файл, куда записать n целых чисел. Поменять Местами первое совершенное и последнее отрицательное число в файле.
15.Создать двоичный файл, куда записать n целых чисел. Все простые числа из исходного файла записать в массив, котрый упорядочить по убыванию.
16.Создать двоичный файл, куда записать n целых чисел. Последнюю группу совершенных чисел из исходного файла переписать в текстовый файл.
17.Создать двоичный файл, куда записать n целых чисел. Найти в нем группу положительных элементов наибольшей длины.
18.Создать двоичный файл, куда записать n целых чисел. Из исходного файла сформировать массивы простых и совершенных чисел. Определить наибольшее простое число в файле и наименьшее совершенное.
19.Создать двоичный файл, куда записать n целых чисел. Из файла создать массив, элементы которого являются простыми числами и расположены после максимального значения файла.
Алексеев Е.Р., Чеснокова О.В., Кучер Т.В. Лабораторные работы «Программирование на С++» |
39 |
20.Создать двоичный файл, куда записать n целых чисел. Из файла целых чисел сформировать массив, записав в него только кратные 3 значения, находящиеся до минимального элемента файла.
21.Создать двоичный файл, куда записать n вещественных чисел. Сделать массив из элементов исходного файла, внеся в него числа, превосходящие среднее значение среди четных значений файла.
22.Создать двоичный файл, куда записать n вещественных чисел. Поменять местами последнее простое число в файле с наименьшим совершенным.
23.Создать двоичный файл, куда записать n вещественных чисел. Найти сумму последней группы отрицательных элементов.
24.Создать двоичный файл, куда записать n целых чисел. Найти произведение первой группы, состоящей из простых чисел.
25.Создать двоичный файл, куда записать n целых чисел. Найти разность между суммой простых чисел, находящихся в файле и максимальным значением файла.
26.Создать двоичный файл, куда записать n целых чисел. Найти разность между суммой четных чисел и произведением нечетных чисел, находящихся в файле.
Лабораторная работа № 14 .
Тема «Динамические структуры в С++. Текстовые и двоичные файлы»
Цель работы : Знакомство с динамическими структурами в С++ , [1, с. 252257]. Работа с текстовыми и двоичными файлами [1, с. 226-243].
Задание:
В программах необходимо использовать только динамические структуры. Согласно своему варианту выполнить следующие действия:
1. С помощью текстового редактора создать текстовый документ, в который занести исходную информацию. Рекомендуется вначале занести количество записей, а затем последовательно все записи, причем тестовые поля вводить в
отдельной строке, а числовые – можно в отдельной строке или в одной через пробел или разделитель табуляцию.
Например, содержимое файла, который будет включать 7 записей – фамилия, группа, 5 оценок :
7
Иванов Ф01-а 5 4 5 3 5 Петров УА01-б 5 4 5 3 5
...
2. Написать первую программу, которая считывает информацию из созданного текстового файла и записывает ее в двоичный файл
Алексеев Е.Р., Чеснокова О.В., Кучер Т.В. Лабораторные работы «Программирование на С++» |
40 |
3. Написать вторую программу, которая считывает информацию из двоичного файла, реализует поставленную задачу. После повторного чтения двоичного файла результат работы выводится в результирующий текстовый файл.
Все текстовые и двоичный файлы должны располагаться или в личной папке или в папке проекта.
Варианты заданий
1.Создать двоичный файл с информацией о перенесенных инфекционных заболеваниях учащимися средней школы (табл. 14.1).
Таблица 14.1 Статистика заболеваемости по школе
Болезнь |
Количество больных |
|||||
Январь |
Февраль |
Март |
Апрель |
Май |
Июнь |
|
Грипп |
120 |
132 |
97 |
54 |
12 |
3 |
... |
... |
... |
... |
... |
... |
... |
Добавить в файл поле «Средняя заболеваемость за полугодие». Упорядочить информацию в файле в порядке возрастания средней заболеваемости.
2.Создать двоичный файл с информацией о перенесенных инфекционных заболеваниях учащимися средней школы (см. табл. 14.1). Добавить в файл поле «Минимальная заболеваемость за полугодие». Упорядочить файл в порядке возрастания заболеваемости в январе.
3.Создать двоичный файл с информацией, приведенной в табл. 14.2. Добавить поле «Средний прирост населения». Упорядочить информацию, расположив названия областных центров в алфавитном порядке.
4.Создать двоичный файл с информацией, приведенной в табл. 14.3. Добавить поля «2001», «2002», … , «2006». Упорядочить информацию, расположив названия областных центров в порядке убывания среднего прироста населения.
Таблица 14.2. Прирост населения в крупных городах СНГ
Город |
Прирост населения, в тыс. чел. |
||||
1996 |
1997 |
1998 |
1999 |
2000 |
|
Москва |
50 |
54 |
60 |
49 |
63 |
Донецк |
-14 |
13 |
-10 |
-8 |
-5 |
... |
... |
... |
... |
... |
... |
5.Создать двоичный файл с информацией об успеваемости студентов некоторого факультета за все время обучения (табл. 14.3).
Алексеев Е.Р., Чеснокова О.В., Кучер Т.В. Лабораторные работы «Программирование на С++» |
41 |
Таблица 14.3 Средняя успеваемость
ФИО |
Успеваемость (средний балл) |
||||||
студента |
|||||||
1 семестр |
2 семестр |
3 семестр |
4 семестр |
... |
10 семестр |
||
Иванов |
5 |
4,8 |
3,7 |
4,5 |
... |
4 |
|
... |
... |
... |
... |
... |
... |
... |
|
Добавить в файл поле «Средняя успеваемость». Удалить из файла информацию о студентах с средним баллом менее 3.5.
6.Создать двоичный файл с информацией об успеваемости студентов некоторого факультета за все время обучения (см. табл. 14.3). Переписать информацию в другой файл, расположив фамилии в алфавитном порядке и добавив поле «Средняя успеваемость».
7.Создать двоичный файл с информацией, приведенной в табл. 14.4.
Таблица 14.4 Ссуды, выданные банками
Название |
Выданные ссуды, тыс. руб. |
|||||
банка |
||||||
1999 |
2000 |
2001 |
2002 |
2003 |
||
Гамма:Банк |
20 |
35 |
56 |
70 |
120 |
|
... |
... |
... |
... |
... |
... |
|
Добавить в файл поле «Общая сумма ссуд, выданных каждым банком», упорядочить информацию в файле в алфавитном порядке названий банков.
8.Создать двоичный файл с информацией, приведенной в табл. 14.4. Переписать информацию в другой двоичный файл, исключив информацию о банках с общей суммой ссуд менее 100 тыс. Упорядочить информацию в новом файле, расположив банки в алфавитном порядке.
9.Создать двоичный файл с информацией о продаже путевок некоторой туристической фирмой (табл. 14.5). Добавить поле «Продано путевок на сумму». Вывести на экран информацию о странах, в которые продано больше всего путевок.
Таблица 14.5. Продажа путевок
Страна |
Цена |
Количество проданных путевок |
|||||
путевки, |
|||||||
Апрель |
Май |
Июнь |
Июль |
Август |
Сентябрь |
||
долл. |
|||||||
Греция |
546 |
75 |
120 |
150 |
158 |
160 |
130 |
... |
... |
... |
... |
... |
... |
... |
... |
10.Создать двоичный файл с информацией о продаже путевок некоторой туристической фирмой (см. табл. 14.5). Добавить поле «Среднее количество проданных путевок». Упорядочить файл в порядке убывания информации в поле «Продано путевок на сумму».