Студенческий сайт КФУ - ex ТНУ » Учебный раздел » Учебные файлы »ПРОГРАММИРОВАНИЕ

Программа сортировки файла с данными

Тип: курсовая работа
Категория: ПРОГРАММИРОВАНИЕ
Скачать
Купить
Описание используемых в программе операторов, процедур, функций. Директива include. Правила объявления и определения функций в СИ++. Блок-схема алгоритма программы. Подпрограммы чтения из файла и записи в файл. Использование заголовочных файлов.
Краткое сожержание материала:

Размещено на

Федеральное агентство по образованию

Государственное общеобразовательное учреждение высшего

профессионального образования

Омский Государственный Технический университет

Кафедра: Радиотехнические устройства и системы диагностики

Специальность: Радиотехника

Курсовая работа

На тему: Программа сортировки файла с данными

По дисциплине: Информатика

Студент

Савченко Андрей Анатольевич

Группа: РИБ-110

Омск-2011г.

Содержание

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

1.1 Директивы. Директива #include

1.2 Операторы

1.3 Цикл с параметром (For)

1.4 Условный оператор (If)

1.5 Заголовочные файлы

1.6 Функции. Объявление и определение

1.7 Функция main()

1.8 Функции ввода-вывода

1.9 Функции чтения-записи

2. Блок-схема алгоритма программы

2.1 main()

2.2 ReadFileParse()

2.3 psort()

2.4 WriteFile()

3. Исходный текст программы с комментариями

4. Список использованных литературных источников

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

1.1 Директивы. Директива #include

В программировании термин «директива» (указание) по использованию похож на термин «команда», так как также используется для описания некоторых конструкций языка программирования (то есть указаний компилятору или ассемблеру особенностей обработки при компиляции). В языки программирования Си и C++ встроена поддержка препроцессора. Строки в исходном коде, которые должны быть обработаны препроцессором в виде #define и #include называются препроцессорными директивами.

Директива #include полностью копирует содержимое указанного файла в файл, в котором указана эта директива, в месте вызова директивы. Эти файлы обычно (хотя скорее, всегда) содержат определение интерфейса для различных функций библиотек и типов данных, которые должны быть подключены перед их использованием; таким образом, директива #include обычно указывается в начале (заголовке) файла. По этой причине подключаемые файлы и называются заголовочными. Некоторые содержат примеры из стандартной библиотеки Си (<math.h> и <stdio.h>), обеспечивая математические функции и функции ввода-вывода соответственно.

1.2 Операторы

Инструкция или оператор (англ. statement) -- наименьшая автономная часть языка программирования; команда. Программа обычно представляет собой последовательность инструкций. Многие языки (например, Си) различают инструкцию и определение. Различие в том, что инструкция исполняет код, а определение создаёт идентификатор (то есть можно рассматривать определение как инструкцию присваивания).

1.3 Цикл с параметром (for)

Циклы предназначены для многократного выполнения какого-либо блока кода. При обнаружении в программе цикла for первым выполняется инициализирующее выражение, в котором обычно устанавливается счетчик цикла. Это происходит только один раз перед запуском цикла. Затем анализируется условное выражение, которое также называется условием прекращения цикла. Пока оно истинно, цикл не прекращается.

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

for (инициализирующее выражение; условное выражение; модифицирукщее_выражение)

{выражение1; выражение2; выражениеЗ; выражение-n; }

Так как в программе нужно считать заданное количество элементов из файла, записать результат в выходной файл, отсортировать файл в соответствии с заданием был использован данный цикл в разработанной программе сортировки. Самыми простыми случаями его применения стали подпрограммы чтения из файла и записи в файл, а более сложным является цикл сортировки, со вложенными аналогичными циклами. Было бы глупостью писать для каждого элемента считанного из файла или записанного в файл отдельную строку кода, а выполнить сортировку подобным способом и вовсе не реально. Таким образом применение цикла for является полностью оправданным. Ниже приведён фрагмент кода подпрограммы чтения из файла:

for (i=0; i<50; i++) //Инициализируем цикл

{

infile >> mas[i]; //Считываем числа из файла в массив

}

Из приведённого фрагмента видно что, как и в предыдущем случае, цикл выполняется пока i<50. При этом, каждый раз как выполняется цикл, из файла считывается значение и записывается в массив (infile >> mas[i];). Аналогично и с подпрограммой записи в файл и сортировки массива (Только при сортировке массива запись будет вестись во временный массив, а не в файл).

1.4 Условный оператор if

Условный оператор позволяет проверить некоторое условие и в зависимости от результатов проверки выполнить то или иное действие. Таким образом, условный оператор - это средство ветвления вычислительного процесса. Структура условного оператора имеет следующий вид:

if <условие> then <оператор1> else <оператор2>;

где if/ then/ else - зарезервированные слова (если, то, иначе);

<условие> - произвольное выражение логического типа;

<оператор1>, <оператор2> - любые операторы языка С++

Условный оператор работает по следующему алгоритму: Вначале вычисляется условное выражение <условие>. Если результат есть True (истина), то выполняется <оператор1>, а <оператор2> пропускается; если результат есть False (ложь), наоборот, <оператор1> пропускается, а выполняется <оператор2>. Else и следующие за ним операторы могут быть опущены. Вот фрагмент подпрограммы сортировки массива демонстрирующий работу данного оператора:

if ((k==mas[j]) or((mas[j]>(10*k-1)) and(mas[j]<(10*k+10))))

{

mas1[i]=mas[j];

}

Как мы видим из приведённого примера, у нас проверяется условие ((k==mas[j]) or((mas[j]>(10*k-1)) and(mas[j]<(10*k+10)))). Если условие верно, то во временный массив записывается текущее значение, а если ложно то ничего не выполняется, программа переходит к выполнению следующего за if оператора.

1.5 Заголовочные файлы

Заголовочный файл (иногда головной файл, англ. header file), или подключаемый файл -- в языках программирования Си и C++ файл содержащий определения типов данных, структуры, прототипы функций, перечисления, макросы препроцессора. Имеет по умолчанию расширение .h; иногда для заголовочных файлов языка C++ используют расширение .hpp. Заголовочный файл используется путём включения его текста в данный файл директивой препроцессора #include. Чтобы избежать повторного включения одного и того же кода, используются директивы #ifndef, #define, #endif

Заголовочный файл в общем случае может содержать любые конструкции языка программирования, но на практике исполняемый код (за исключением inline-функций в C++) в заголовочные файлы не помещают. Например, идентификаторы, которые должны быть объявлены более чем в одном файле, удобно описать в заголовочном файле, а затем его подключать по мере надобности.

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

stdlib -- заголовок (заголовочный файл) стандартной библиотеки общего назначения языка Си, который содержит в себе функции, занимающиеся выделением памяти, контроль процесса выполнения программы, преобразования типов и другие. Заголовок вполне совместим с C++ и в C++ известен как cstdlib. Название «stdlib» расшифровывается как «standard library» (стандартная библиотека). В разработанной программе данная библиотека используется только для проверки правильности завершения работы программы.

return EXIT_SUCCESS;

iostream -- заголовочный файл с классами, функциями и переменными для организации ввода-вывода в языке программирования C++. Он включён в стандартную библиотеку C++. Название образовано от Input/Output Stream («поток ввода-вывода»). В языке C++ и его предшественнике, языке программирования Си, нет встроенной поддержки ввода-вывода, вместо этого используется библиотека функций. iostream управляет вводом-выводом, как и stdio.h в Cи. iostream использует объекты cin, cout, cerr и clog для передачи информации в и из стандартных потоков вв...

Другие файлы:

Перекодировка текстовых файлов
Структура заданного исходного файла и структуры данных, соответствующие данным файла. Подпрограмма проверки принадлежности текста к одной из шести код...

Компьютерная подготовка
Государственный Университет Управленияна темуНесмеянов И. А.Предусмотреть возможность добавления информации и чтения данных из файла.* Командный файл...

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

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

Методы внутренней сортировки. Обменная сортировка. Сравнение с другими методами сортировки
Изучение алгоритмов внутренней сортировки массивов данных, сравнение сложности их реализации и производительности. Отличительные черты сортировки вклю...