Описание проектных решений
Функциональная структура задачи, программы
На рис. 2.1 представлена схема иерархии процедур задачи «Получение сведений о результативности футболистов», полученная в результате её декомпозиции.
На рис. 2.2 представлена функциональная структура программы решения задачи, полученная на основе схемы иерархии её процедур.
Рис. 2.1 Схема иерархии процедур задачи
| Определение общего количества забитых голов по футболистам
calculation
| | Получение кодов футболистов
| | Сортировка по убыванию количества забитых голов
sort
| | Сбор сведений о выбранных футболистах
| | Получение сведений о результативности футболиста
Resultat_futbolistov
| | Выбор названий команд
Komsearch
| | Выбор фамилии и инициалов
Namesearch
| | Выбор кодов в соответствии с запросом
Search
| | Чтение запроса, проверка на корректность запроса
| | Преобразование запроса в формат целого числа
| | Ввод запроса (минимальное количество голов)
input
| | Вывод массива с результатами
| «Получение сведений о результативности футболистов»
> Рис. 2.2 Функциональная структура программы.
Помимо основной программы с именем «Resultat_futbolistov», программа должна содержать следующие подпрограммы:
1) Подпрограмму input (quanp: st; var intquanp: integer; var f: boolean), которая обеспечивает ввод запроса (минимальное количество голов). В случае некорректного запроса его ввод может повторяться еще четыре раз;
2) Подпрограмму calculation (x: kol_gol; var y: arr1; var c: integer), которая обеспечивает подсчёт общего количества забитых голов для каждого футболиста по итогам всех матчей;
3) Подпрограмму search (intquanp, c: integer; y: arr1; var z_tablica: arr; var u: integer; var p: boolean), которая обеспечивает получение кодов футболистов забивших требуемое количество голов;
4) Подпрограмму NameSearch (x: name; u: integer; var z_tablica: arr), которая обеспечивает получение фамилий и инициалов выбранных футболистов;
5) Подпрограмму KomSearch (x: komands; u: integer; var z_tablica: arr), которая обеспечивает получение названий команд, в которых играют выбранные футболисты;
6) Подпрограмму sort (var z_tablica: arr; u: integer), которая обеспечивает сортировку результирующего массива по убыванию количества забитых голов;
7) Подпрограмму output (z_tablica: arr; u: integer), которая обеспечивает вывод результирующего массива в виде таблицы.
1.1
1.2
2.1.
|