дддд. 1 постановка задачи 3 2блоксхемы алгоритмов программы 4
Скачать 0.67 Mb.
|
СОДЕРЖАНИЕ 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 |