Файл: 2. Постановка задачи 1 Условия задачи.doc

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 03.02.2024

Просмотров: 14

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Содержание

Введение

Данная курсовая работа посвящена разработке и реализации программы на языке С++ с использованием класса статических массивов структур и базы данных «ODER». В этой курсовой для обработки данных использовались многочисленные операции, такие как сортировки, загрузка и сохранения результатов обработки в бинарный файл, поиск по вводимым данным, а также добавление и удаление записей.

Кроме того, для упрощения понимания кода программы были изображены блок-схемы алгоритмов всех используемых в курсовой функций, а также представлено тестирование программы, подтверждающее корректную и достоверную работу всех функций.

Реализация данной задачи представляет собой программу, написанную в среде C++.

2. Постановка задачи

2.1 Условия задачи

10) Описать структуру с именем ODER, содержащую следующие поля:

□ банк;

□ расчетный счет плательщика;

□ расчетный счет получателя;

□ перечисляемая сумма в руб.

Написать программу, выполняющую следующие действия:

□ Ввод с клавиатуры данных в файл, состоящий из восьми элементов типа ODER;

□ Загрузка и печать на экране данных из файла

□ Добавление записи

□ Удаление записи

□ Вывод на экран данных и результатов их обработки:

- упорядоченных записей в алфавитном порядке по расчетным счетам плательщиков;

- информацию о средней сумме, принятой на расчетные счета получателей банка, введенного с клавиатуры; если такого банка нет, выдать на дисплей соответствующее сообщение.

- поиск суммы, снятой с расчетного счета плательщика, введенного с клавиатуры.

- поиск информации по перечисляемым суммам.

2.2 Конечные цели решения задачи

  • разработка алгоритмов и программ для решения прикладных задач, осуществление постановки и выбор алгоритмов решения экономико-управленческих задач, в том числе с применением математических методов;

  • применение на практике основных алгоритмических структур, графических средств языка;

  • использованию алгоритмических языков высокого уровня, средств автоматизации программирования.


2.3 Формы выдачи результатов

Таблица 1. Формы выдачи результатов – таблица:

Название банка

Счёт плательщика

Счёт получателя

Сумма


Для выбора действия используется меню, содержащее следующие пункты:

  • Добавить запись

  • Вывести данные о всех людях

  • Удалить запись

  • Отсортировать записи

  • Информация о средней сумме

  • Поиск по счёту плательщика

  • Поиск по сумме

Так же результаты работы программы записываются в бинарный файл.
2.4 Описание используемых данных

Данные вводятся пользователем с клавиатуры. Данные о каждом человеке должены содержать следующие поля:

Поле «Название банка» - название банка.

Поле «Счёт плательщика» - расчётный счёт плательщика.

Поле «Счёт получателя» - расчётный счёт получателя.

Поле «Сумма» - перечисляемая сумма.

3. Анализ и исследование задачи

3.1 Типы решения задачи

Решение задачи определяется выбором способа ее решения. Для реализации задачи мы построили модель проектирования структуры программы в виде блок - схем и последовательных шагов к конечному результату.

К каждой подпрограмме составлены блок - схемы, которые служат алгоритмом к написанию кода на языке программирования С++. Также построена модель «Дерева функций» - служит «меню» в структуре построения.

Итогом исследования являются конечные результаты работы программы (ввод, вывод, сортировка, поиск по определенным полям в таблице структуры)

3.2 Технические и программные средства для ее решения

Для реализации данной курсовой работы используются:

1. Процессор AMD II Mobile P560(2,5 ГГц), 4096МБ SDRAM, OCWin 7

2. Cреда программирования Borland C++.

3.3 Математическая модель

Для сортировки данных необходимо выбрать метод сортировки. Наиболее распространены 3 варианта сортировки данных: пузырьковая сортировка, сортировка вставкой и сортировка посредством выбора.

При пузырьковой сортировке упорядоченный список В' получается из В систематическим обменом пары рядом стоящих элементов, не отвечающих требуемому порядку, пока такие пары существуют.



Наиболее простой метод систематического обмена соседних элементов с неправильным порядком при просмотре всего списка слева направо определяет пузырьковую сортировку: максимальные элементы как бы всплывают в конце списка. Пузырьковая сортировка в ряде случаев предпочтительна, чем вышеперечисленные методы.

4. Алгоритм решения задачи

4.1 Метод проектирования алгоритма

Методы проектирования алгоритмов включают: нисходящее проектирование, модульность, структурное программирование.

Нисходящее проектирование предполагает последовательное разбиение исходной задачи на подзадачи до такой конкретизации, когда подзадача сможет быть реализована одним оператором выбранного для программирования языка. По ходу нисходящего проектирования та или иная подзадача может сформировать самостоятельный модуль. Тогда может быть применен принцип модульного программирования. Он обеспечивает легкость составления алгоритмов и отладки программ, легкость сопровождения и модификации, а также возможность одновременной разработки различных модулей разными специалистами с использованием разных языков программирования.

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

  1. Функциональный. Используется для представления линейных алгоритмов. Описывается языком графических символов следующим образом:





  1. Циклический. Используется для представления циклических алгоритмов. Описывается языком графических символов одним из двух способов:





  1. Конструкция принятия двоичного решения. Применяется для представления разветвляющихся алгоритмов. Описывается языком графических символов следующим образом:





4.2 Блок-схема алгоритма



Рис. 1. Cхема основной функции программы


Рис. 2. Схема функции вывода информации на экран


Рис. 3. Схема функции вывода информации о средней сумме



Рис. 4. Схема функции поиска записей по счёту плательщика



Рис. 5. Схема функции поиска записей по сумме



Рис. 6. Схема функции создания файла



Рис. 7. Схема функций создания, удаления и сортировки записей

4.3 Метод тестирования

Долгое время основным способом тестирования было тестирование методом "черного ящика" - программе подавались некоторые данные на вход и проверялись результаты, в надежде найти несоответствия. При этом как именно работает программа считается несущественным. Отметим, что даже при таком подходе необходимо иметь спецификацию программы для того, чтобы было с чем сравнивать результаты.

Метод тестирования, которые изучают не только внешнее поведение программы, но и ее внутреннее устройство (исходные тексты). Такие методики обобщенно называют тестированием "белого ящика". Назовем некоторых представителей этого класса методик: чтение программ, формальные просмотры программ, инспекции и т.п.). Основной трудностью подобных методов является сложность отслеживания вычислений времени выполнения.

При тестировании программы как белый ящик происходит проверка логики программы. Полным тестированием в этом случае будет такое, которое приведет к перебору всех возможных путей. Даже для средних по сложности программ числом таких путей может достигать десятков тысяч.


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

4.4 Тесты для проверки работоспособности алгоритма

Для исследования работоспособности данной программы и получения информации о предоставленной работе необходимо проверить следующее:

1. Главное меню (вывод всех пунктов меню).

2. Создание бинарного файла.

3. Добавление данных (добавление данных в созданный файл).

4. Удаление данных (удаление строки из заданной таблицы).

5. Упорядочивание записей (сортировка по заданному значению).

6. Информация о средней сумме.

7. Поиск одеров по счёту плательщика.

8. Поиск одеров по сумме платежа.

5. Создание программы

5.1 Дерево функций программы


Рис. 8. Древо функций программы

5.2 Последовательность создания программы


Рис. 9. Ориентированный граф программы

5.3 Сценарий диалога программы

Таблица 2. Сценарий диалога

№ вершины графа

Операция

0

Запуск программы

1

Меню программы

2

Создание файла

3

Вывод таблицы на экран

4

Сохранение таблицы в файл

5

Добавление записи

6

Удаление записи

7

Сортировка записей

8

Информации о средней сумме

9

Поиск по счёту плательщика

10

Поиск по сумме платежа