2122_ПЗ152_ПР7_В8_Ярушин. Решение Вводимые значения размерность матрицы N, квадратная матрица AN, N. Дополнительные переменные max максимальная сумма элементов строки, sum сумма элементов строки. Выводимое значение m номер элемента строки
Скачать 47.04 Kb.
|
Министерство науки и высшего образования Российской Федерации Федеральное государственное бюджетное образовательное учреждение Высшего профессионального образования «Южно-Уральский государственный университет» (национальный исследовательский университет) Политехнический институт Кафедра «Технологии автоматизированного машиностроения» 15.03.05. Конструкторско-технологическое обеспечение машиностроительных производств ОТЧЁТ по практической работе № 7 по дисциплине "Информатика и программирование" Вариант № 8 Проверил: ___________ /Паламарчук Л.Н./ ____________________ 2022 г. Выполнил: студент группы ПЗ-152 _____________ /Ярушин Н.А./ ____________________ 2022 г. Челябинск 2022 Цель работы: научиться строить циклические алгоритмы, записывать алгоритмы в виде блок-схемы и на алгоритмическом языке. Задача №8. Постройте алгоритм определения номера строки квадратной матрицы, сумма элементов которой максимальна. Ход работы Решение Вводимые значения: размерность матрицы N, квадратная матрица A[N, N]. Дополнительные переменные: max – максимальная сумма элементов строки, sum – сумма элементов строки. Выводимое значение M – номер элемента строки. Высчитывается сумма элементов строки матрицы sum, сравнивается с максимальным значением суммы max. Если max окажется меньше полученной суммы, то максимальному значению присваивается значение полученной суммы элементов текущей строки, а номер строки запоминается (присваивается переменной M). Далее высчитывается сумма элементов следующей строки матрицы. Если сумма окажется меньше максимального значения, то высчитывается сумма элементов следующей строки. Представление алгоритма в виде блок-схемы: Представление алгоритма на алгоритмическом языке: алг Строка_матрицы (арг вещ N, A[N, N], M, max, sum) нач | ввод N, A[N, N] | max := 0; | M := 0; | нц | для i от 1 до N выполнить | sum := 0; | нц | для j от 1 до N выполнить | sum := sum + a[i, j]; | если max < sum | то | max := sum; | M := i; | кц | кц | вывод M кон Контрольный пример: ввод 3, max := 0; M := 0; для i от 1 до 3 выполнить i = 1; sum :=0; для j от 1 до 3 выполнить j = 1 sum := sum + a [1, 1] = 0 + 1 = 1; j = 2 sum := sum + a [1, 2] = 1 + 6 = 7; j = 3 sum := sum + a [1, 3] = 7 + 9 = 16; если 0 < 16 то max := 16; M := 1; i = 2; sum :=0; для j от 1 до 3 выполнить j = 1 sum := sum + a [2, 1] = 0 + 9 = 9; j = 2 sum := sum + a [2, 2] = 9 + 1 = 10; j = 3 sum := sum + a [2, 3] = 10 + 4 = 14; если 16 < 14 - false i = 3; sum :=0; для j от 1 до 3 выполнить j = 1 sum := sum + a [3, 1] = 0 + 12 = 12; j = 2 sum := sum + a [3, 2] = 12+ 13 = 25; j = 3 sum := sum + a [3, 3] = 25 + 2 = 27; если 16 < 27 то max := 29; M := 3; вывод 3 кон |