Файл: 1 постановка задачи 3 2блоксхемы алгоритмов программы 4.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 29.04.2024
Просмотров: 6
Скачиваний: 0
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
СОДЕРЖАНИЕ
1 ПОСТАНОВКА ЗАДАЧИ 3
2БЛОК-СХЕМЫ АЛГОРИТМОВ ПРОГРАММЫ 4
2.1Основной алгоритм 4
2.2 Алгоритмы подпрограмм-функций 6
3 КОД ПРОГРАММЫ НА ЯЗЫКЕ PYTHON 11
3.1 Реализация вспомогательных функций 11
3.2 Реализация основного алгоритма 14
4 ТЕСТИРОВАНИЕ ПРОГРАММЫ 16
4.1 Тестирование программы на правильном вводе 16
4.2 Тестирование системы валидации данных 16
5 ВЫВОДЫ 17
4 ИНФОРМАЦИОННЫЕ ИСТОЧНИКИ 18
1 ПОСТАНОВКА ЗАДАЧИ
Разработать блок-схему алгоритма и написать программу в соответствии с персональным вариантом. Предусмотреть контроль вводимых значений. Провести тестирование программы.
Номер 23:
Создать квадратную матрицу размера 8 на 8. Матрица заполняется случайными целыми числами в диапазоне от 1 до 100. На матрицу накладывается разметка, соответствующая шахматной доске. Пользователь выбирает на матрице диагональ, задавая координаты двух клеток (ее начала и конца). Например, А5-Е1. Требуется упорядочить элементы матрицы, принадлежащие заданной диагонали, а остальные элементы обнулить. Результаты преобразований вывести на экран.
- БЛОК-СХЕМЫ АЛГОРИТМОВ ПРОГРАММЫ
- Основной алгоритм
- Основной алгоритм
По заданию была составлена блок-схема, которая описывает алгоритм программы (рис. 1)
:
Р
исунок 1 – Блок-схема основного алгоритма
2.2 Алгоритмы подпрограмм-функций
В виде блок-схем была представлена работа подпрограмм «calc_abs» (рис. 2), «find_ord» (рис. 3), «str_to_digit» (рис. 4), «get_int» (рис. 5), «get_len» (рис. 6), «sort_lst» (рис. 7), «fill_pole_with_rand_num» (рис. 8), «print_pole» (рис. 9):
Рисунок 2 – Блок-схема функции «calc_abs»
Рисунок 3 – Блок-схема функции «find_ord»
Рисунок 4 – Блок-схема функции «str_to_digit»
Рисунок 5 – Блок-схема функции «get_int»
Рисунок 6 – Блок-схема функции «get_len»
Рисунок 7 – Блок-схема функции «sort_lst»
Рисунок 8 – Блок-схема функции « print_pole»
Рисунок 9 – Блок-схема функции «fill_pole_with_rand_num»
3 КОД ПРОГРАММЫ НА ЯЗЫКЕ PYTHON
На языке PYTHON были реализованы (рис. 1- 9) алгоритмы.
3.1 Реализация вспомогательных функций
Для удобства многократного вычисления модуля числа этот алгоритм был вынесен в отдельную подпрограмму. На вход функция принимает число, а возвращает модуль этого числа (рис. 10):
Рисунок 10 - Код функции «calc_abs»
Для удобства многократного нахождения ASCII-кода символов от “A” до “H” этот алгоритм был вынесен в отдельную подпрограмму. На вход функция принимает один из упомянутых символов, а возвращает ASCII-код этого символа (рис. 11):
Рисунок 11 - Код функции «find_ord»
Для удобства многократного перевода цифр из строкового в целочисленный тип данных этот алгоритм был вынесен в отдельную подпрограмму. На вход функция принимает один цифру в виде строки, а возвращает её в числовом типе данных (рис. 12):
Рисунок 12 - Код функции «str_to_digit»
Для удобства многократного перевода чисел из строкового в целочисленный тип данных этот алгоритм был вынесен в отдельную подпрограмму. На вход функция принимает число в виде строки, а возвращает его в числовом типе данных (рис. 13):
Рисунок 13 - Код функции «get_int»
Для удобства многократного вычисления длины массива или строки этот алгоритм был вынесен в отдельную подпрограмму. На вход функция принимает массив или строку, а возвращает длину массива или строки (рис. 14):
Рисунок 14 - Код функции «get_len»
Для удобства многократной сортировки массива этот алгоритм был вынесен в отдельную подпрограмму. На вход функция принимает массив, а возвращает отсортированный массив (рис. 15):
Рисунок 15 - Код функции «sort_lst»
Для удобства заполнения поля этот алгоритм был вынесен в отдельную подпрограмму. На вход функция принимает пустой массив, а возвращает заполненный случайными числами массив необходимого размера (рис. 16):
Рисунок 16 - Код функции «fill_pole_with_rand_num»
Для удобства вывода поля этот алгоритм был вынесен в отдельную подпрограмму. На вход функция принимает массив и выводит его в консоль, накладывая шахматную сетку (рис. 17):
Рисунок 17 - Код функции «print_pole»
3.2 Реализация основного алгоритма
С использованием упомянутых функций и основной блок-схемы (рис.1) был реализован требуемый алгоритм (рис. 18):
Рисунок 18 - Код основного алгоритма
4 ТЕСТИРОВАНИЕ ПРОГРАММЫ
4.1 Тестирование программы на правильном вводе
Для начала была проверена правильность работы программы при корректных значениях (рис. 19):
Рисунок 19 – Тестирование работы программы при корректном вводе
4.2 Тестирование системы валидации данных
Важность представляет система валидации данных, поэтому были проверены все возможные некорректные вводы в программу и было определено, что программа корректно их обрабатывает (рис. 20):
Рисунок 20 – Тестирование валидации ввода
5 ВЫВОДЫ
Были построены блок-схемы, реализующие алгоритм, заданный в текстовой форме на натуральном языке. Реализован алгоритм на языке PYTHON. Проведено тестирование программы на правильность ее выполнения.
4 ИНФОРМАЦИОННЫЕ ИСТОЧНИКИ
-
Смирнов С.С., Карпов Д. А. Информатика: Методические указания по выполнению практических работ / Федеральное государственное бюджетное образовательное учреждение высшего образования «МИРЭА – Российский технологический университет» / -М., 2020. – 102 с., электронное издание
Воронов Г.Б. Лекции по информатике для 1-го курса всех направлений института ИТ и групп КАБО института кибернетики / Федеральное государственное бюджетное образовательное учреждение высшего образования «МИРЭА – Российский технологический университет» / -М., 2022