47786 (566473)

Файл №566473 47786 (Обработка текстовых файлов)47786 (566473)2016-07-28СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла

МИНИСТЕРСТВО ОБРАЗОВАНИЯ УКРАИНЫ

ВОСТОЧНОУКРАИНСКИЙ НАЦИОНАЛЬНЫЙ УНИВЕРСИТЕТ им. В. Даля

СЕВЕРОДОНЕЦКИЙ ТЕХНОЛОГИЧЕСКИЙ ИНСТИТУТ

КАФЕДРА КОМПЬЮТЕРНОЙ ИНЖЕНЕРИИ





ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

к курсовой работе по программированию на тему:

"Обработка текстовых файлов"

Северодонецк 2007

форма № У 9.01 *

Утв. приказом Минвуза УССР

от 3 августа 1984 г. № 253

Северодонецкий технологический институт

Кафедра Компьютерной инженерии

Дисциплина Программирование

Специальность

Курс 2 Группа Семестр 3

ЗАДАНИЕ

на курсовой проект (работу) студента

Садыкова Ильмира Ильдусовича

1. Тема проекта (работы) Обработка текстовых файлов

2. Срок сдачи студентом законченного проекта (работы)

3. Исходные данные к проекту (работе) Дан текстовый файл. В строках слова расположить по возрастанию их длины (считать, что слова разделены пробелами). Выделить звездочкой в первой и последней позициях строки с наибольшим количеством слов и строки, содержащие самое длинное слово.

Для ввода и вывода использовать компоненты Delphi.

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

5. Перечень графического материала (с точным указанием обязательных чертежей)

6. Дата выдачи задания

КАЛЕНДАРНЫЙ ПЛАН

№ п/п

Наименование этапов курсового проекта (работы)

Срок выполнения этапов проекта (работы)

Примечание

1

Получение задания

2

Разработка алгоритма

3

Составление блок-схемы алгоритма

4

Составление программы

5

Подготовка исходных данных

6

Отладка программы

7

Получение результатов

9

Оформление пояснительной записки

10

Защита курсовой работы

Студент ________________________

(подпись) (фамилия, имя, отчество)

Руководитель ______________________

(подпись) (фамилия, имя, отчество)

СОДЕРЖАНИЕ

РЕФЕРАТ

ВВЕДЕНИЕ

1. Анализ технического задания и постановка задачи проектирования

2. Разработка алгоритма программы

3 ОПИСАНИЕ СТРУКТУРЫ ПРОГРАММЫ

3.1 Описание переменных

3.2 Описание вспомогательных процедур и функций

3.3 Алгоритм основной программы

4. ИНСТРУКЦИЯ ОПЕРАТОРУ

ВЫВОДЫ

Перечень ссылок

ПРИЛОЖЕНИЕ А. БЛок-схема алгоритма

ПРИЛОЖЕНИЕ Б. Листинг программы

ПРИЛОЖЕНИЕ В. Пример выполнения программы



РЕФЕРАТ

Пояснительная записка к курсовой работе содержит:

страниц - 24;

рисунков - 6;

таблиц – 1 ;

приложений – 3.

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

В курсовой работе создана программа, которая реализует выполнение следующих функций: ввод пользователем с клавиатуры последовательности целых чисел, поиск во введенной последовательности нескольких таких чисел, чтобы их сумма делилось на некоторое задаваемое пользователем число. Вывод результата осуществляется на экран монитора и дублируется в текстовый файл на жестком диске или внешнем накопителе. В первом разделе курсовой работы выполнен анализ технического задания, выделены функции, которыми должно обладать разрабатываемое приложение, а также сформулированы требования к нему, произведена постановка задачи на проектирование. Во втором разделе выполняется анализ задачи проектирования, анализируется вид исходных данных и приводится словесный алгоритм работы программы. В третьем разделе рассматриваются алгоритмы разработанных процедур и функций, а также приводятся их описания. К реализованной программе разработана инструкция пользователя, которая приведена в четвертом разделе. Алгоритмы процедур приведены в приложении А. Листинг программы содержится в приложении Б.

Программа разработана с использованием языка Turbo Pascal.

МАССИВ, ЦИКЛ, ОСТАТОК ОТ ДЕЛЕНИЯ, АЛГОРИТМ, ПРОЦЕДУРА, СОЧЕТАНИЯ


ВВЕДЕНИЕ

Данный курсовой проект был разработан в среде Turbo Pascal 7.0 с базовым языком программирования Pascal. Среди множества языков Pascal является наиболее универсальным и легко изучаемым языком. На сегодня Turbo Pascal получил продолжение в языке Object Pascal с поддержкой всех современных возможностей объектно-ориентированного программирования и в такой мощной системе проектирования как Delphi.

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

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



1. Анализ технического задания и постановка задачи проектирования

Согласно заданию дана последовательность из n целых чисел. Необходимо написать программу, выбора из них нескольких чисел так, чтобы сумма выбранных чисел делилась на некоторое число k.

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

В качестве дополнительной функции можно предусмотреть вывод информации о программе (ее выполняемых функциях) не экран.

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

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

Подытожив все вышесказанное можно сформулировать требования к разрабатываемому программному обеспечению и выполнить постановку задания на проектирование. Так, согласно заданию, программа должна быть реализована в среде Turbo Pascal и должна выполнять следующие функции:

- вывод на экран информации о задании и цели программы;

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

- ввод пользователем последовательности целых чисел;

- перебор всех возможных сочетаний элементов из предложенной последовательности;

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

- определение, удовлетворяет ли сумма условию: делится на k без остатка;

- вывод информации на экран, если найдено искомое сочетание элементов;

- вывод информации на экран, если ни одно из сочетаний не удовлетворяет условию задачи;

- возможность сохранения результатов работы в текстовом файле на жестком диске.

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


2. Разработка алгоритма программы

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

Так, поскольку задание состоит в обработке числовой последовательности, целесообразно хранить числа в массиве. Таким образом, на этапе ввода данных пользователь должен будет задать длину вводимой последовательности и задать сами числа.

Согласно заданию необходимо будет выполнить перебор всех возможных сочетаний элементов. Поскольку число элементов в сочетании условием не задано, то должны будут перебраны все сочетания С1n, С2n, . . . , Сin, Сnn, для каждого из которых должны будут вычислены суммы. Известно, что . Количество возможных сочетаний с каждым новым числом растет с довольно высокой скоростью. Поскольку задача учебная, то ограничим искусственно длину последовательности, к примеру, 20 числами. Таким образом, на этапе ввода следует контролировать введенное число n, и в случае когда N больше 20, то целесообразно уведомить пользователя об ограничениях, накладываемых на длину последовательности и запросить повторный ввод числа. Поскольку ошибка может быть неоднократной (умышленный или ошибочный ввод подряд нескольких некорректных значений), то целесообразно будет для ввода каждого числа организовать цикл, условием завершения которого будет корректно введенное значение. Для заполнения элементов массива можно использовать цикл с заданным числом повторений.

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

Для реализации этого способа выделить следующие подзадачи:

  1. Подзадача генерации сочетаний из заданного количества натуральных чисел от 1 до N. Существуют довольно простые методы генерации подобных сочетаний. В этом случае каждое из таких сгенерированных сочетаний будет задавать номера позиций элементов из исходной последовательности, которые следует взять для посчета суммы. Например, если было сгенерировано сочетание 2, 3 ,5. То оно задает набор из трех чисел исходной последовательности, которые стоят на 2, на 3 и на 5 месте в массиве целых чисел.

  2. Подзадача вычисления суммы чисел в сочетании. То есть, следует извлечь числа с заданными номерами из исходного массива и определить их сумму.

Подзадачу 1 будем запускать в цикле от m=1 до n, где m будет задавать количество чисел в сочетании. После выполнения подзадачи 1 организуем цикл по всем сгенерированным сочетаниям и для каждого из них будем вычислять сумму при помощи подзадачи 2. Для вычисленной суммы будем определять остаток от деления на число k, и если он равен нулю, то искомый набор найден и задачу можно считать решенной.

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

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

Детальное описание разработанной программы, алгоритмов и их программной реализации приведено в последующих разделах. Схема алгоритма представлена в Приложении А.



3 ОПИСАНИЕ СТРУКТУРЫ ПРОГРАММЫ



3.1 Описание переменных

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

В разделе описания типов приведено два типа:

Характеристики

Тип файла
Документ
Размер
5,62 Mb
Тип материала
Учебное заведение
Неизвестно

Тип файла документ

Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.

Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.

Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.

Список файлов лабораторной работы

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
7008
Авторов
на СтудИзбе
261
Средний доход
с одного платного файла
Обучение Подробнее
{user_main_secret_data}