Файл: 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. Основной алгоритм

По заданию была составлена блок-схема, которая описывает алгоритм программы (рис. 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 ИНФОРМАЦИОННЫЕ ИСТОЧНИКИ

  1. Смирнов С.С., Карпов Д. А. Информатика: Методические указания по выполнению практических работ / Федеральное государственное бюджетное образовательное учреждение высшего образования «МИРЭА – Российский технологический университет» / -М., 2020. – 102 с., электронное издание

Воронов Г.Б. Лекции по информатике для 1-го курса всех направлений института ИТ и групп КАБО института кибернетики / Федеральное государственное бюджетное образовательное учреждение высшего образования «МИРЭА – Российский технологический университет» / -М., 2022