Разработка программы по обработке числовой информации
СОДЕРЖАНИЕ
РЕФЕРАТ
ВВЕДЕНИЕ
1. Анализ технического задания и постановка задачи проектирования
2. Разработка алгоритма программы
3 ОПИСАНИЕ СТРУКТУРЫ ПРОГРАММЫ
3.1 Описание переменных
3.2 Описание вспомогательных процедур и функций
3.3 Алгоритм основной программы
4. ИНСТРУКЦИЯ ОПЕРАТОРУ
ВЫВОДЫ
Перечень ссылок
ПРИЛОЖЕНИЕ А
ПРИЛОЖЕНИЕ Б
ПРИ
ЛОЖЕНИЕ В
РЕФЕРАТ
Цель работы: разработать программу обработки числовых последовательностей с кодом на языке Pascal.
В курсовой работе создана программа, которая реализует выполнение следующих функций: ввод пользователем с клавиатуры последовательности целых чисел, поиск во введенной последовательности нескольких таких чисел, чтобы их сумма делилось на некоторое задаваемое пользователем число. Вывод результата осуществляется на экран монитора и дублируется в текстовый файл на жестком диске или внешнем накопителе. В первом разделе курсовой работы выполнен анализ технического задания, выделены функции, которыми должно обладать разрабатываемое приложение, а также сформулированы требования к нему, произведена постановка задачи на проектирование. Во втором разделе выполняется анализ задачи проектирования, анализируется вид исходных данных и приводится словесный алгоритм работы программы. В третьем разделе рассматриваются алгоритмы разработанных процедур и функций, а также приводятся их описания. К реализованной программе разработана инструкция пользователя, которая приведена в четвертом разделе. Алгоритмы процедур приведены в приложении А. Листинг программы содержится в приложении Б.
Программа разработана с использованием языка Turbo Pascal.
МАССИВ, ЦИКЛ, ОСТАТОК ОТ ДЕЛЕНИЯ, АЛГОРИТМ, ПРОЦЕДУРА, СОЧЕТАНИЯ
ВВЕДЕНИЕ
Данный курсовой проект был разработан в среде Turbo Pascal 7.0 с базовым языком программирования Pascal. Среди множества языков Pascal является наиболее универсальным и легко изучаемым языком. На сегодня Turbo Pascal получил продолжение в языке Object Pascal с поддержкой всех современных возможностей объектно-ориентированного программирования и в такой мощной системе проектирования как Delphi. Для выполнения данной курсовой работы необходимо разработать алгоритм решения поставленного задания, правильно указав последовательное выполнение соответствующих команд для получения необходимых результатов.
Цель работы заключается в том, чтобы правильно составить алгоритм поставленной задачи по обработке числовой информации, разработать и отладить программу, реализующую разработанный алгоритм.
|
Согласно заданию дана последовательность из n целых чисел. Необходимо написать программу, выбора из них нескольких чисел так, чтобы сумма выбранных чисел делилась на некоторое число k. Как видим, задание сводится к обработке числовой информации. Пользователю должна быть предоставлена возможность ввода обрабатываемых чисел. Кроме того, перед началом ввода пользователь должен задать количество чисел в последовательности. В качестве дополнительной функции можно предусмотреть вывод информации о программе (ее выполняемых функциях) не экран. Также пользователь должен ввести некоторое целое число k. Далее следует выбрать из предложенной последовательности несколько чисел так, чтобы сумма выбраных чисел делилась на заданное число k. Пользователю должно быть выдано сообщение, если такая комбинация чисел найдена. Если требуемой комбинации элементов не найдено, то следует выдать соответствующее сообщение, что искомых элементов во введенной последовательности не обнаружено. Также для удобства пользователя можно выводить информацию обо всех возможных сочетаниях элементов и сумму этих элементов. Поскольку чисел может быть довольно много, и вся информация может не поместиться на экран, следует предусмотреть возможность дублирования всей выводимой на экран информации в текстовый файл на жестком диске.
Подытожив все вышесказанное можно сформулировать требования к разрабатываемому программному обеспечению и выполнить постановку задания на проектирование. Так, согласно заданию, программа должна быть реализована в среде Turbo Pascal и должна выполнять следующие функции:
- вывод на экран информации о задании и цели программы;
- ввод пользователем количества чисел последовательности с клавиатуры;
- ввод пользователем последовательности целых чисел;
- перебор всех возможных сочетаний элементов из предложенной последовательности;
- определение сумм элементов в сочетаниях и вывод на экран последовательностей и полученных сумм;
- определение, удовлетворяет ли сумма условию: делится на k без остатка;
- вывод информации на экран, если найдено искомое сочетание элементов;
- вывод информации на экран, если ни одно из сочетаний не удовлетворяет условию задачи;
- возможность сохранения результатов работы в текстовом файле на жестком диске.
Последующие разделы будут посвящены решению поставленных задач и разработке приложения с вышеперечисленными функциями.
2. РАЗРАБОТКА АЛГОРИТМА ПРОГРАММЫ
В предыдущем разделе были сформулированы требования к разрабатываемой программе и к ее функциям. Анализируя требования к программе, можно разработать алгоритм разрабатываемого приложения.
Так, поскольку задание состоит в обработке числовой последовательности, целесообразно хранить числа в массиве. Таким образом, на этапе ввода данных пользователь должен будет задать длину вводимой последовательности и задать сами числа.
Согласно заданию необходимо будет выполнить перебор всех возможных сочетаний элементов. Поскольку число элементов в сочетании условием не задано, то должны будут перебраны все сочетания С1n, С2n, . . . , Сin, Сnn, для каждого из которых должны будут вычислены суммы. Известно, что . Количество возможных сочетаний с каждым новым числом растет с довольно высокой скоростью. Поскольку задача учебная, то ограничим искусственно длину последовательности, к примеру, 20 числами. Таким образом, на этапе ввода следует контролировать введенное число n, и в случае когда N больше 20, то целесообразно уведомить пользователя об ограничениях, накладываемых на длину последовательности и запросить повторный ввод числа. Поскольку ошибка может быть неоднократной (умышленный или ошибочный ввод подряд нескольких некорректных значений), то целесообразно будет для ввода каждого числа организовать цикл, условием завершения которого будет корректно введенное значение. Для заполнения элементов массива можно использовать цикл с заданным числом повторений.
После ввода исходных данных необходимо осуществить поиск такого сочетания элементов, сумма которых делится на k без остатка. Для реализации этого поиска можно осуществить перебор всех возможных сочетаний и вычислять для каждого из них сумму элементов. Сочетания следует перебирать сначала по одному элементу, потом по два элемента, затем по три, и так далее, пока не будет найдено искомое сочетание или же пока не достигнем последнего сочетания, в которое входят все N элементов последовательности.
Другие рефераты на тему «Программирование, компьютеры и кибернетика»:
Поиск рефератов
Последние рефераты раздела
- Основные этапы объектно-ориентированного проектирования
- Основные структуры языка Java
- Основные принципы разработки графического пользовательского интерфейса
- Основы дискретной математики
- Программное обеспечение системы принятия решений адаптивного робота
- Программное обеспечение
- Проблемы сохранности информации в процессе предпринимательской деятельности