Задача
Внешняя спецификация.
1.1 условие:
Если первая строка прямоугольной матрицы имеет максимальное количество отрицательных элементов, проверить, как изменится среднее арифметическое всей матрицы, если заменить все отрицательные элементы матрицы их модулями.
Состав данных.
тип | имя | смысл | структура | Диап. | Точн. | поле |
Исходные данные | ||||||
Вещ. | А | заданная матрица | Масс.Двум.5-стр.6-столб | |a|<=10 | 0.01 | |
выходные данные | ||||||
Вещ. | SR1 | Сред. арифм. до замены | Прост. переменная | |||
Вещ. | SR2 | Сред. арифм. после замены | Прост. переменная | |||
промежуточные данные | ||||||
Цел. | Kmax | Макс. колич. отр. эл-тов в строке | Прост. переменная | |||
цел. | i | №-строки | Прост. переменная | |||
цел. | j | №-столбца | Прост. переменная | |||
цел. | imax | Номер строки с макс кол-вом отр. эл-тов | Прост. переменная |
Форма ввода.
Форма вывода.
Образец 1 35_ РЕЗУЛЬТАТЫ
Образец 2 25_ SR1= SR1 5_ SR2= SR2
Образец 3 10_ Наибольшее кол-во эл-тов не в первой строке
1.5/6 Метод решения задачи:
1. Сформировать массив из количеств отрицательных элементов заданной матрицы построчно
2. Определить номер максимального элемента заданного одномерного массива
3. Вычислить среднее арифметическое исходной матрицы
4. Изменить исходную матрицу
5. Вычислить среднее арифметическое измененной матрицы
1.7 Аномалии:
Не анализируются.
1.8 Тесты:
№ | Назначение | Контрольные значения исходных данных | Контрольные значения выходных данных |
Получение положительного результата | 1 -1 -2 0 -3 -4 -1 0 0 2 -2 0 1 1 1 1 1 1 1 -2 5 1 4 3 -2 0 1 1 4 5 | Результаты SR1=0.53 SR2=1.7 | |
Получение отрицательного результата | 1 1 1 -1 0 0 2 2 -1 -3 -4 -5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | Результаты Наибольшее кол-во эл-тов не в первой строке |
Основной алгоритм.
Сегменты задачи.
Сегмент 1.1
Внутренняя спецификация к сегменту 1.1.
1. подзадача.
Сформировать массив из количеств отрицательных элементов заданной матрицы построчно.
2. состав данных.
тип | имя | смысл | структура |
Исходные данные | |||
Вещ. | А | заданная матрица | Масс.Двум.5-стр.6-столб |
выходные данные | |||
цел. | К | Массив из количеств отр. эл-тов строк | Массив одном. 5эл. |
промежуточные данные | |||
цел. | i | №-строки | Прост. перем. |
цел. | j | №-столбца | Прост. перем. |
3.1.2 Вспомогательный алгоритм к сегменту 1.1.
Сегмент 1.2.
Внутренняя спецификация к сегменту 1.2.
1. подзадача.
Определить номер максимального элемента заданного одномерного массива.
2. состав данных.
тип | имя | смысл | структура |
Исходные данные | |||
цел. | К | массив из количеств отр. эл-тов | масс.одном.5-эл. |
выходные данные | |||
цел. | imax | №-строки c max колич. отр. Эл-тов | Пр.перем |
промежуточные данные | |||
цел. | i | №- столбца | Пр.перем |
цел. | n | Очередной максимальный эл-т | Пр.перем |
Вспомогательный алгоритм к сегменту 1.2.
Сегмент 1.3.
Внутренняя спецификация к сегменту 1.3.
1. подзадача.
Вычислить среднее арифметическое исходной матрицы
2. состав данных.
тип | имя | смысл | структура |
Исходные данные | |||
вещ. | А | Исходная матрица | масс.двум.5стр,6стол. |
выходные данные | |||
вещ. | SR1 | Среднее арифм. исх. матрицы | Пр.перем |
промежуточные данные | |||
цел. | i | №-строки | Пр.перем |
цел. | j | №-столбца | Пр.перем |
вещ. | s | Сумма элементов матрицы | Пр.перем |
Вспомогательный алгоритм к сегменту 1.3.
Сегмент 1.4.
Внутренняя спецификация к сегменту 1.4.
1. подзадача.
Сформировать матрицу В путём замены всех отрицательных элементов матрицы А их модулями.
2. состав данных.
тип | имя | смысл | структура |
входные данные | |||
Вещ. | А | Исходная матрица | масс.двум. 5стр.6стол. |
выходные данные | |||
Вещ. | В | Полученная матрица | масс.двум.5стр.6стол. |
промежуточные данные | |||
цел. | i | №-строки | Пр.перем |
цел. | j | №-столбца | Пр.перем |