Строковый тип данных в языке Pascal

Автор работы: Пользователь скрыл имя, 08 Ноября 2010 в 19:13, курсовая работа

Краткое описание

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

Содержание работы

Введение…………………………………………………………………………...3
Глава I. Строковый тип данных в языке Pascal………………………………....5
Глава II. Текстовые файлы. Обработка текстовых файлов в языке Pascal…....8
Заключение……………………………………………………………………….23
Глоссарий………………………………………………………………………...26
Библиографический список использованной литературы……………………27
Приложения……………………………………………………………………...28

Содержимое работы - 1 файл

Строковый тип данных в языке Pascal.doc

— 162.50 Кб (Скачать файл)

Оглавление 

Введение…………………………………………………………………………...3

Глава I. Строковый тип данных в языке Pascal………………………………....5

Глава II. Текстовые файлы. Обработка текстовых файлов в языке Pascal…....8

Заключение……………………………………………………………………….23

Глоссарий………………………………………………………………………...26

Библиографический список использованной литературы……………………27

Приложения……………………………………………………………………...28 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Введение 

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

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

         Удобство и эффективность применения компьютеров для подготовки текстов привели к созданию множества программ для обработки документов. Такие программы называются редакторами текстов (Word Processors). Возможности этих программ различны — от программ, предназначенных для подготовки небольших документов простой структуры, до программ для набора, оформления и полной подготовки к типографскому изданию.

         Текстовые файлы связываются с файловыми переменными, принадлежащими стандартному типу text. Текстовые файлы предназначены для хранения текстовой информации.

         Текстовый файл трактуется в Турбо Паскале как совокупность строк переменной длины. Доступ к каждой строке возможен лишь последовательно, начиная с первой. При создании текстового файла в конце каждой записи (строки) ставится специальный признак eoln {End Of LiNe — конец строки), а в конце всего файла — признак eof {End Of File — конец файла). Эти признаки можно протестировать одноименными логическими функциями (см. ниже). При формировании текстовых файлов используются следующие системные соглашения:

  • eoln — последовательность кодов ASCII #13 (CR) и #10 (LF);
  • eof — код #26 стандарта ASCII.

         Для доступа к записям применяются процедуры read, readln, write, writeln. Они отличаются возможностью обращения к ним с переменным количеством фактических параметров, в качестве которых могут использоваться символы, строки и числа. Первым параметром в любой из перечисленных процедур может стоять файловая переменная. В этом случае осуществляется обращение к дисковому файлу или логическому устройству, связанному с переменной процедурой assign. Если файловая переменная не указана, происходит обращение к стандартным устройствам input и output.

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

         Предметом рассмотрения моей работы – строковые данные и текстовые файлы.

         Объект исследования – строковый тип данных и текстовые файлы в языке Pascal. 

Глава I. Строковый тип данных в языке Pascal 

         Тип данных – понятие, используемое в языках программирования для характеристики данных (переменных, массив и др.) в программах.

Достоинством  языка Паскаль является возможность использования широкого набора разных типов данных.

         Познакомимся с типом данных, который относится к числу структурированных. Это строковый тип данных (строка). Строка – это последовательность символов. Каждый символ занимает 1 байт памяти (код ASCII). Количество символов в строке называется ее длиной. Длина строки может находиться в диапазоне от 0 до 255. Строковые величины могут быть константами и переменными. Особенностью строки в Turbo Pascal является то, что с ней можно работать как с массивом символов, с одной стороны, и как с единым объектом, - с другой. За счет этого обработка строк достаточно гибка и удобна. Строковая константа есть последовательность символов, заключенная в апострофы. Например: «это строковая константа», «272».       Строковая переменная описывается в разделе описания переменных следующим образом:

     Var <идентификатор> : string[<максимальная  длина строки>];

     Например:

     Var Name : string [20].

     Параметр  длины может и не указываться  в описании. В таком случае подразумевается, что он равен максимальной величине - 255. Например: Var slovo : string.

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

     Символы внутри строки индексируются (нумеруются) от единицы. Каждый отдельный символ идентифицируется именем строки с индексом, заключенным в квадратные скобки. Например: N[5], S[i], slovo[k+l]. Индекс может быть положительной константой, переменной, выражением целого типа. Значение индекса не должно выходить за границы описания.

  1. Тип string и стандартный тип char. Тип string и стандартный тип char совместимы. Строки и символы могут употребляться в одних и тех же выражениях.

         Строковые выражения строятся из строковых констант, переменных, функций и знаков операций. Над строковыми данными допустимы операции сцепления и операции отношения.

         Операция сцепления (конкатенации) (+) применяется для соединения нескольких строк в одну результирующую строку. Сцеплять можно как строковые константы, так и переменные.

         Пример: 'Мама ' + 'мыла ' + 'раму'. В результате получится строка: 'Мама мыла раму'. Длина результирующей строки не должна превышать 255.

         Операции отношения: =, <, >, <=, >=, <>. Позволяют произвести сравнение двух строк, в результате чего получается логическое значение (true или false). Операция отношения имеет приоритет более низкий, чем операция сцепления. Сравнение строк производится слева направо до первого несовпадающего символа, и та строка считается больше, в которой первый несовпадающий символ имеет больший номер в таблице символьной кодировки. Если строки имеют различную длину, но в общей части символы совпадают, считается, что более короткая строка меньше, чем более длинная.   Строки равны, если они полностью совпадают по длине и содержат одни и те же символы (приложение 1).

  1. Функция Copy. Функция Copy(S, Pozition, N) выделяет из строки S подстроку длиной N символов, начиная с позиции Pozition. Здесь N и Pozition - целочисленные выражения (приложение 1).
  2. Функция Concat. Функция Concat(S1, S2, …, SN) выполняет сцепление (конкатенацию) строк S1, S2, …, SN в одну строку (приложение 1).
  3. Функция Length. Функция Length(S) – определяет текущую длину строки S. Результат – значение целого типа (приложение 1).
  4. Процедура Delete Процедура Delete(S, Poz, N) – удаление N символов из строки S, начиная с позиции Poz.

         В результате выполнения процедуры уменьшается текущая длина строки в переменной S. 
 
 
 
 
 
 
 
 
 
 
 
 
 

Глава II. Текстовые файлы.

Обработка текстовых файлов в языке Pascal 

         Прежде чем перейти к обработке текстовых файлов на языке Pascal следует разобраться с понятием файл. На языке Pascal файл представляет собой упорядоченную  последовательность элементов. И в отличие от общепринятого понятия файлом на языке Pascal может быть не только информация хранящиеся на дисках, но и  внешние  устройства (такие как: дисплей, клавиатура, принтер, любой порт ПК и т. д.).

         Теперь рассмотрим причину использования файлового типа данных при разработке программ. Введение файлового типа в язык Pascal вызвано необходимостью обеспечить возможность работы с периферийными (внешними) устройствами ПК, предназначенными для ввода, вывода и хранения данных. Общее свойство массива, множества и записи заключается в том, что количество их компонентов определено на этапе написания программы (то есть в исходном тексте программы), тогда как количество компонентов файла в исходном тексте программы не определяется и может быть произвольным. Это обстоятельство позволяет оперативно изменять, к примеру, входные данные независимо от программы.

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

         Файлы расположенные на внешних устройствах часто называют физическими файлами. Их имена определяются операционной системой. В программах на языке Pascal имена файлов задаются с помощью строк.   Например, имя файла на диске может иметь вид:

 ‘[имя  диска]:\[каталог]\[подкаталог]\...\[подкаталог]\[имя файла с расширением]’

         Операционная система MS-DOS ограничивает эту строку до 79 символов. Даже в одноименном модуле DOS языка Pascal имеется тип данных PathSTR = String[79], то есть строка, максимальная длина которой 79 символов. Если же файл находится в том же каталоге, что и программа то имя файла можно указать короче : ‘[имя файла с расширением]’. Также именами файлов могут быть и имена внешних устройств:

‘CON’,   'LPT1',  ‘LPT2’,   ‘LPT3’,   'PRN',  'COM1',  'AUX',  'NUL'.

         Отмечу что, здесь CON – совокупность устройств ввода-вывода, где устройство ввода клавиатура, а устройство вывода дисплей; 'LPT1',   ‘LPT2’,   ‘LPT3’ – последовательность устройств для печати и ‘LPT1’ синонимичен с 'PRN' и является обыкновенным принтером; 'COM1' – это последовательный порт ПК и т. д.

         С файловой системой в Turbo Pascal связано понятие буфера ввода - вывода. Ввод и вывод данных осуществляется через буфер. Буфер – это область в памяти, которая выделяется для каждого файла. При записи в файл вся информация сначала направляется в буфер и там накапливается до тех пор, пока весь объем буфера не будет заполнен. Только после этого или после специальной команды сброса происходит передача данных на внешнее устройство. При чтении из файла данные вначале считываются в буфер, причем данных считывается не столько, сколько запрашивается, а сколько поместится в буфер. Механизм буферизации позволяет более быстро и эффективно обмениваться информацией с внешними устройствами.

         Теперь перейдем к переменным файлового типа. Язык Pascal поддерживает 3 файловых типа:

  • 1-ый – текстовые файлы.
  • 2-ой – типизированные файлы.
  • 3-ий – нетипизированные файлы.

         Описание переменных к этим трем файловым типам данных выглядит следующим образом:

  • для текстовых файлов : Var T:Text; {T-файловая переменная текстового типа}
  • для типизированных файлов : Var F:File of тип_данных; {F-типизированная файловая переменная; тип_данных – любой тип данных языка Pascal кроме файлового типа}
  • для нетипизированных файлов : Var F:File; {F-нетипизированная файловая переменная}

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

Информация о работе Строковый тип данных в языке Pascal