- •Задача 1
- •Задача 2
- •Задача 3
- •Условие задачи
- •Входные данные
- •Описание функций
- •Название: filequestion.
- •Задача 4
- •Условие задачи
- •Входные данные.
- •Выходные данные
- •Описание функций
- •Название: filequestion.
- •Задача 5
- •Условие задачи
- •Входные данные
- •Выходные данные
- •Описание функций
- •Название: filequestion.
- •Задача 6
Министерство образования Республики Беларусь
УЧРЕЖДЕНИЕ ОБРАЗОВАНИЯ
БЕЛОРУССКО – РОССИЙСКИЙ УНИВЕРСИТЕТ
(УО БРУ)
Кафедра «Автоматизированные системы управления»
ОТЧЕТ
ПО ОБЩЕИНЖЕНЕРНОЙ ПРАКТИКЕ
051.1-53 01 02.№ 101916.№ 16.81-01
К защите допущен: Выполнил: студент гр. АСОИ-111
«__»__________ Кузьмин Егор Сергеевич
Защитил: Проверил: ст. преподаватель каф АСУ
«__»__________ _____________ Вайнилович Ю.В.
Оценка__________
Комиссия
__________________
___________________
Могилев 2012
Задача 1
Условие задачи
Дана целочисленная квадратная матрица. Определить сумму элементов в тех столбцах, которые не содержат отрицательных элементов; минимум среди сумм модулей элементов диагоналей, параллельных побочной диагонали матрицы; образовать новую матрицу путём деления каждого элемента исходной матрицы на среднее арифметическое её элементов.
Входные данные
Размерность матрицы.
Назначение: определение размерности матрицы и создаваемого для её хранения двумерного массива данных.
Обозначение в программе: переменная n.
Тип: целочисленный (int).
Диапазон допустимых значений: [2; 32767].
Элементы исходной матрицы (aij).
Назначение: исходные данные для необходимых действий над матрицей
Обозначение в программе: массив a.
Тип: вещественный (float).
Диапазон допустимых значений: [3.4E-38; 3.4E+38]
Выходные данные
Сумма элементов в тех столбцах, которые не содержат отрицательных элементов
Обозначение в программе: переменная r1.
Тип: вещественный (float).
Минимум среди сумм модулей диагоналей, параллельных побочной диагонали матрицы.
Обозначение в программе: переменная r2.
Тип: вещественный (float).
Матрица, образованная путём деления каждого элемента исходной матрицы на среднее арифметическое её элементов
Обозначение в программе: массив c.
Тип: вещественный (float).
Описание функций
Название: filequestion.
Назначение: определение способа ввода исходных данных (в окне программы либо из файла); определение необходимости сохранения результатов в текстовый файл
Указания по вызову и использованию: для определения способа ввода исходных данных следует передать в функцию в качестве параметра число 1, для определения необходимости сохранения результатов в текстовый файл следует передать число 2.
Список формальных параметров:
pos
Тип: целочисленный (int).
Назначение: определение назначения функции как определяющей способ ввода исходных данных либо как определяющей необходимость сохранения результатов в текстовый файл.
Описание внешних эффектов: в зависимости от определенного для функции назначения и правильности её вызова в программе выдаются сообщения, просящие пользователя выбрать способ ввода данных; сохранять результаты в файл или нет. В случае неправильного вызова функции выводится сообщение об ошибке в программе.
Название: enter_int
Назначение: считывание вводимой информации и, в случае ввода целого числа, его возвращение
Указания по вызову и использованию: следует использовать при необходимости ввода целочисленных данных
Описание внешних эффектов: в случае ввода нецелочисленной информации выводится сообщение о том, что введено не целое число
Название: enter_float
Назначение: считывание вводимой информации и, в случае ввода вещественного числа, его возвращение
Указания по вызову и использованию: следует использовать при необходимости ввода вещественных данных
Описание внешних эффектов: в случае ввода невещественной информации выводится сообщение о том, что введено не вещественное число.
Название: enter_string
Назначение: считывание вводимой информации в строку
Указания по вызову и использованию: следует использовать при необходимости ввода строки
Список формальных параметров:
*str
Тип: символьный (char)
Назначение: строка, в которую записываются введённые данные
Название: sum
Назначение: подсчёт суммы элементов в тех столбцах матрицы, которые не содержат отрицательных элементов
Указания по вызову и использованию: функция может некорректно работать с массивами нечисловых типов.
Список формальных параметров:
**mas
Тип: любой
Назначение: массив исходных данных
ms1
Тип: целочисленный (int).
Назначение: количество строк матрицы
ms2
Тип: целочисленный (int).
Назначение: количество столбцов матрицы
Название: mindiag
Назначение: подсчет минимума среди сумм модулей элементов диагоналей, параллельных побочной диагонали матрицы
Указания по вызову и использованию: функция может некорректно работать с массивами нечисловых типов.
Список формальных параметров:
**mas
Тип: любой
Назначение: массив исходных данных
ms
Тип: целочисленный (int).
Назначение: размер квадратной матрицы
Название: newmatrix
Назначение: заполнение матрицы элементами исходной матрицы, делёнными на их среднее арифметическое
Указания по вызову и использованию: функция может некорректно работать с массивами нечисловых типов.
Список формальных параметров:
**mas
Тип: любой
Назначение: массив исходных данных
ms1
Тип: целочисленный (int).
Назначение: количество строк матрицы
ms2
Тип: целочисленный (int).
Назначение: количество столбцов матрицы
- **res
Тип: любой
Назначение: заполняемый массив
Название: t1
Назначение: решение и вывод результатов всех трёх пунктов задачи
Описание внешних эффектов: на начальном этапе выполнения выводится сообщение, приглашающее пользователя выбрать целочисленный либо вещественный тип элементов матрицы. В случае ввода данных из файла выводится сообщение, приглашающее ввести имя файла. В случае невозможности открыть файл с введённым именем, выводится сообщение с названием ошибки. При успешном открытии файла происходит считывание размерности исходной матрицы и её элементов.
В случае ввода данных клавиатурой выводятся сообщения, приглашающие пользователя ввести сначала размерность матрицы, затем элементы её строк.
По завершении вычислений выводится сообщение, сопровождаемое результатами работы функции. В случае необходимости сохранения результатов в текстовый файл, выводится сообщение, приглашающее ввести имя файла для сохранения. В случае невозможности создать файл с введённым именем, выводится сообщение с названием ошибки. При успешном открытии файла, в него записывается сообщение с результатами работы функции, идентичное выведенному на экран.
Тестирование
Исходные данные: матрица 4х4
2 |
6 |
-10 |
4 |
5 |
3 |
3 |
1 |
15 |
2 |
3 |
-9 |
1 |
2 |
-8 |
1 |
Аналитическое решение:
Сумма элементов в тех столбцах, которые не содержат отрицательных элементов r1=2+5+15+1+6+3+2+2=36
Минимум среди сумм модулей элементов диагоналей, параллельных побочной диагонали матрицы r2=2+3+1=6
Новая матрица, образованная путём деления каждого элемента исходной матрицы на среднее арифметическое её элементов:
(2+6-10+4+5+3+3+1+15+2+3-9+1+2-8+1)/16=1.3125
2/1.3125 |
6/1.3125 |
-10/1.3125 |
4/1.3125 |
5/1.3125 |
3/1.3125 |
3/1.3125 |
1/1.3125 |
15/1.3125 |
2/1.3125 |
3/1.3125 |
-9/1.3125 |
1/1.3125 |
2/1.3125 |
-8/1.3125 |
1/1.3125 |
|
|
|
|
1.5238 |
4.5714 |
-7.619 |
0.853 |
1.067 |
2.2857 |
2.2857 |
0.7619 |
11.4286 |
1.5238 |
2.2857 |
-1.92 |
0.7619 |
1.5238 |
-6.0952 |
0.7619 |
Результаты работы программы:
r1=36.000000
r2=6.000000
Новая матрица:
1.523810 4.571429 -7.619048 3.047619
3.809524 2.285714 2.285714 0.761905
11.428572 1.523810 2.285714 -6.857143
0.761905 1.523810 -6.095238 0.761905