Все лабы по инфе за 2ой сем на С++ (Техническое задание Н12)

Посмотреть архив целиком




Техническое задание



Введение


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



Основания для разработки


«Учебный план» - документ, на основание которого ведется разработка.

Кафедра РК6 - организация, утвердившая этот документ.



Назначение разработки


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



Требования к программе или программному изделию


  1. Требования к функциональным характеристикам

Исходные данные передаются программе через аргументы командной строки её вызова.

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

Результат работы программы отображается через поток stdout.

  1. Требования к надежности

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

  1. Условия эксплуатации

Без ограничений.

  1. Требования к составу и параметрам технических средств

IBM совместимый персональный компьютер.

  1. Требования к информационной и программной совместимости

Программа предназначена для работы в ОС Linux и ОС Windows с использованием командной строки.

  1. Требования к маркировке и упаковке

Без ограничений.

  1. Требования к транспортированию и хранению

Транспортировка и хранение осуществляется на любых известных носителях надлежащего качества.

  1. Специальные требования

Программа должна быть разработана в системе программирования C, с учетом требований современных стандартов ANSI/ISO C, на основе концепций структурного и функционально-ориентированного программирования. Исходный код программы должен допускать трансляцию в любой реализации компилирующей системы программирования C. Выполняемый код программы должен быть сформирован для эксплуатации в среде OS UNIX.



Требования к программной документации

Основной программной документацией является «Текст программы»



Технико-экономические показатели

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



Стадии и этапы разработки


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

  2. Эскизное и техническое проектирование. Написание программы велось на языке высокого уровня С.

  3. Изготовление опытного образца производилось в среде разработки BORLANDC 3.0. Проверялось в срeде Linux Mandrake10.0 с использованием CC компилятора.

  4. Испытание опытного образца выявило отсутствие ошибок и утечек системных ресурсов.



Порядок контроля и приёмки


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

Правила ввода данных:

Данные вводятся через аргументы командной строки вызова программы в формате

bash$ a.out <имя файла>


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



Описание алгоритма.


Исходный текст программы MaxWord сосредоточен в одном файле, который содержит спецификацию основной функции main и пяти локальных функций getbuf, format, maxword, print и errormes, реализующих процедуры предварительной обработки заданного текста, поиска необходимых слов и печать результатов поиска.

Для диагностики ошибок работы программы MaxWord предусмотрена функция errormes. Обращение к ней специфицировано в начале исходного кода программы. Прикладная функция errormes обеспечивает вывод соответствующих сообщений о возможных ошибках: некорректный ввод аргументов командной строки вызова программы MaxWord, ошибка открытия указанного файла на чтение, недостаток памяти из-за большого размера файла. Сообщение отображается через поток протокола стандартной диагностики (stderr). Для отображения указанной диагностики применяется библиотечная функция fprintf. В качестве аргументов этой функции передается тип ошибки и адрес соответствующей строки. После вызова данной функции происходит аварийное завершение работы программы.

При корректном вводе аргументов командной строки и при успешном открытии файла на чтение , циклически вызывается функция getbuf, которая построчно считывает текст из заданного файла и записывает в массив, адрес которого передается ей в качестве аргумента. После каждого успешного вызова функции getbuf вызывается функция format. Эта функция производит предварительную обработку каждой строки, заменяя все символы-небуквы на пробелы. Затем вызывается функция maxword, отыскивающая в каждой строке слова максимальной длины. После этого, путем сравнения находится максимальная длина слов в заданном файле.


Затем происходит повторный циклический вызов функций getbuf, format с добавлением вызова функции print. Эта функция находит в заданном файле все различные слова максимальной длины, определенной ранее, и производит их вывод через поток стандартного вывода (stdout).


Программа корректно завершается.



Список литературы.


  1. Волосатова Т.М., Лекции «Программирование на языке высокого уровня С». МГТУ 2005г.

  2. Б. Керниган, Д. Ритчи «Язык программирования С». «Невский диалект» 2001г.

  3. Т.А. Павловская «С/С++ Программирование на языке высокого уровня». «Питер» 2005г.




Случайные файлы

Файл
ref-14066.doc
25340-1.rtf
147245.rtf
181179.rtf
132107.rtf




Чтобы не видеть здесь видео-рекламу достаточно стать зарегистрированным пользователем.
Чтобы не видеть никакую рекламу на сайте, нужно стать VIP-пользователем.
Это можно сделать совершенно бесплатно. Читайте подробности тут.