Файл: Лабораторные работы по программированию на языке С++.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). Добавить поле «Среднее количество проданных путевок». Упорядочить файл в порядке убывания информации в поле «Продано путевок на сумму».