Скачиваний:
50
Добавлен:
28.03.2021
Размер:
214.59 Кб
Скачать

Министерство образования Республики Беларусь

Министерство образования Республики Беларусь

БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ

Кафедра метрологии и стандартизации

Метрология, стандартизация и сертификация в информационных технологиях

Практическая работа №1

«Метрики сложности потока управления программ»

Вариант 16

Выполнила: Студентка группы

972303

Рушева Маргарита

Владиславовна

Проверил: Грибович Александр

Александрович

Минск, 2020

1 Индивидуальное задание

Ввести массив А (8, 8). Найти минимальный элемент в побочной диагонали массива А. Поменять местами столбец, в котором находится данный элемент, с первым столбцом массива А. Вывести максимальный элемент, номера строки и столбца, в которых он находится, исходный и результирующий массивы.

2 Схема алгоритмов

Рисунок 1 – Схема работы алгоритма

Рисунок 1(продолжение) – Схема работы алгоритма

3 Описание схемы алгоритмов

  1. Начало программы.

  2. Объявление и инициализация константы SIZE = 8.

  3. Объявление массива mas[SIZE][SIZE].

  4. Вывод строки «Введите массив».

  5. Объявление и инициализация переменной i = 0.

  6. Внешний цикл: если i < SIZE, то переходим к блоку 7, если нет, то переходим к блоку 12.

  7. Объявление и инициализация переменной j = 0.

  8. Внутренний цикл: если j < SIZE, то переходим к блоку 9, если нет, то переходим к блоку 11.

  9. Ввод элемента mas[i][j].

  10. Инкрементация переменной j, переход к блоку 8.

  11. Инкрементация переменной i, переход к блоку 6.

  12. Объявление и инициализация переменной min = mas[0][SIZE-1].

  13. Объявление переменной minJ.

  14. Объявление и инициализация переменной i = 0.

  15. Объявление и инициализация переменной j = SIZE-1.

  16. Цикл: если i < SIZE, то переходим к блоку 17, если нет, то переходим к блоку 22.

  17. Условие: если mas[i][j] <= min, то переходим к блоку 18, если нет, то переходим к блоку 20.

  18. Присваивание переменной min значения mas[i][j].

  19. Присваивание переменной minJ значения j,

  20. Инкрементация переменной i.

  21. Декрементация переменной j, переход к блоку 16.

  22. Объявление массива new_mas[SIZE][SIZE].

  23. Объявление и инициализация переменной i = 0.

  24. Внешний цикл: если i < SIZE, то переходим к блоку 25, если нет, то переходим к блоку 33.

  25. Объявление и инициализация переменной j = 0.

  26. Внутренний цикл: если j < SIZE, то переходим к блоку 27, если нет, то переходим к блоку 29.

  27. Присваивание элементу new_mas[i][j] значение элемента mas[i][j].

  28. Инкрементация переменной j, переход к блоку 26.

  29. Объявление и инициализация переменной change = new_mas[i][0].

  30. Присваивание элементу new_mas[i][0] значение элемента new_mas[i][minJ].

  31. Присваивание элементу new_mas[i][minJ] значение переменной change.

  32. Инкрементация переменной i, переход к блоку 24.

  33. Вывод строки «Исходный массив».

  34. Объявление и инициализация переменной i = 0.

  35. Внешний цикл: если i < SIZE, то переходим к блоку 36, если нет, то переходим к блоку 43.

  36. Объявление и инициализация переменной j = 0.

  37. Внутренний цикл: если j < SIZE, то переходим к блоку 38, если нет, то переходим к блоку 41.

  38. Вывод элемента mas[i][j].

  39. Вывод пробела.

  40. Инкрементация переменной j, переход к блоку 37.

  41. Переход на новую строку.

  42. Инкрементация переменной i, переход к блоку 35.

  43. Объявление и инициализация переменной max = new_mas[0][0].

  44. Вывод строки «Новый массив».

  45. Объявление и инициализация переменной i = 0.

  46. Внешний цикл: если i < SIZE, то переходим к блоку 47, если нет, то переходим к блоку 58.

  47. Объявление и инициализация переменной j = 0.

  48. Внутренний цикл: если j < SIZE, то переходим к блоку 49, если нет, то переходим к блоку 56.

  49. Вывод элемента new_mas[i][j].

  50. Вывод пробела.

  51. Условие: если mas[i][j] > max, то переходим к блоку 52, если нет, то переходим к блоку 48.

  52. Присваивание переменной max значение элемента new_mas[i][j].

  53. Присваивание переменной maxI значение переменной i.

  54. Присваивание переменной maxJ значение переменной j.

  55. Инкрементация переменной j, переход к блоку 48.

  56. Переход на новую строку.

  57. Инкрементация переменной i, переход к блоку 46.

  58. Вывод строки «Максимальный элемент : ».

  59. Вывод переменной max.

  60. Вывод строки «Номер строки : ».

  61. Вывод переменной maxI + 1.

  62. Вывод строки «Номер столбца : ».

  63. Вывод переменной maxJ + 1.

  64. Конец программы.

Соседние файлы в папке пз_грибович