Рассмотрены: записи, файлы и управление ими, основные задачи обработки и корректировки файлов, сравнительный анализ обработки структур типа "файл" и "запись" в языках программирования высокого уровня Си и Паскаль. Сделаны выводы по данным анализа.
Аннотация к работе
Это значит, что понятие «структура» входит в программу не только на уровне общего ее построения, но и предусматривает структурирование самой логики и оперируемых данных. Прежде всего, данный принцип нашел свое применение в типизации языка, т.е. наделении его строгой системой предопределенных типов, комбинируя которые программист мог создавать свои собственные типы, причем уже не только простые (атомарные), но и представляющие собой сложные конструкции - структуры данных. К структурным типам языка Паскаль относят: массив, записи, файлы, динамические структуры. обработка структура паскаль си В данной курсовой работе мы рассмотрим структуры данных типа запись и файл. Запись - связанная структура, состоящая из нескольких элементов (полей) разных (можно и одинаковых) типов.Мы уже получили представление о некоторых типах данных, которые используются при программировании на Паскале. Стандартные типы Типы, определяемые программистом набор операций, определенных на типе; набор отношений, определенных на типе; набор функций, определенных или принимающих значения на типе;Комбинированный тип задает образ структуры объекта - данного этого типа, каждая часть которой (поле) может иметь совершенно различные характеристики. Таким образом, запись - это набор разнотипных данных, объединенных общим именем. Более формально, запись содержит определенное число компонент, называемых полями. В определении типа записи задается имя и тип каждого поля записи: ::= Record End ::= {,}: Синтаксис записей, содержащих вариантную часть - записей с вариантами - мы определим ниже.Синтаксис комбинированного типа включает и вариантную часть, предполагающую, что можно определить тип, содержащий определения нескольких вариантов структуры. Например, запись в компьютерном каталоге библиотеки может иметь следующую структуру: Фиксированная часть Поля Вариантной части Фамилия И.О N% {чит.билета} Дата {выдачи} адрес {хранения} имя {архива} адрес {хранения} дата {архивации) Описание типа записи в рассмотренном примере может иметь вид: Пример 4 В нашем примере на варианты указывает поле Station.Если A - переменная типа Student из примера 1, ee значение можно изменить группой операторов: A.F1: = "Иванов "; Заголовок этого оператора открывает область действия "внутренних" имен полей записи, которые могут быть использованы как имена переменных. Более того, в группе операторов обработки переменной STUDGROUP[i] (пример 3) запись может быть сформирована следующим образом: With STUDGROUP [3], STUDNAME do begin Замечание: В операторе With R do S выражение R не должно содержать переменных, изменяемых в операторе S. Запись имеет вид: Полное имя (Фамилия Имя Отчество)Над строками определена операция конкатенации " ", результат которой - строка, в которой операнды соединены в порядке их следования в выражении. Тип String допускает и пустую строку - строку, не содержащую символов: EMPTYSTR := "" {подряд идущие кавычки}. На строковом типе данных определены: Функции: a) Length(X: String): Byte; - длина строки X; {Length(EMPTYSTR) = 0 } б) Pos(Y:String; X:String):Byte; - позиция первого символа первого слева вхождения подстроки Y в строку X. Если X не содержит Y, Pos(Y, X) = 0. в) Copy(X:String; Index, Count: Integer):String - подстрока строки X, начинающаяся с позиции Index и содержащая Count символов. г) Concat(X1, X2, .., Xk: String): String; - конкатенация строк Х1, X2, .., Xk. Результат помещается в переменную X. e) Insert(Y:string; var X: String; Index: Integer); В строку X вставляется строка Y, причем вставка осуществляется начиная с позиции Index.Программа, написанная на языке Pascal, должна каким-то образом обмениваться данными с внешними устройствами (получать данные с клавиатуры, магнитного диска, выводить данные на экран, принтер и т.д.) Для работы с внешними устройствами используются файлы. (Последовательный) файл - это последовательность однотипных компонент, снабженная признаком конца и обрабатываемая последовательно - от начала к концу. Над файлами можно выполнять два явных вида действий: 1.Просмотр (чтение) файла. Файл - принтер имеет имя Prn: Имена нестандартных файлов, используемых в программе, необходимо описывать в разделе переменных. Именно, если нам необходимо обработать данные из файла, находящегося на магнитном диске и имеющего (внешнее) имя D:\EXTNAME.dat, мы должны сообщить системе, что работая с файлом INTNAME (читая из него данные или записывая в него данные), мы работаем с файлом EXTNAME.dat, находящимся на диске D:.Специфика файлового типа, связанная с последовательным доступом к компонентам и расположением файлов на внешних носителях, накладывает жесткие ограничения на способы решения задач обработки файлов. Для определенности будем считать, что все файлы имеют тип OURFILE из примера 3 и упорядочены по значению ключевого поля Key (ключу). Дан файл F и элемент X типа Component. Вот, наверное, единственно возможное решение: Переписывать покомпонентно F в новый файл G до тех пор, пока F^.Key <X.
План
Оглавление
Введение
Глава 1. Сложные типы данных в языке Pascal
1. Записи
1.1 Записи с вариантами
1.2 Оператор присоединения
1.3 Строки и средства их обработки
2. Файлы. Управление файлами
2.1 Основные задачи обработки файлов
2.2 Сортировка файлов
2.3 Задача корректировки файла
Глава 2. Сравнительный анализ обработки структур типа «файл» и «запись» в языках программирования высокого уровня Си и Паскаль
2.1 Сравнительный анализ обработки структур типа «файл»
2.1.1 Обработка структур типа «файл» в Паскале
2.1.2 Обработка структур типа «файл» в Си
Файловый ввод-вывод с использованием потоков
2.2 Сравнительный анализ обработки структур типа «запись»