КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Текстовые файлы
Среди всех файлов особое место занимают текстовые файлы. Особенностью текстовых файлов является объединение в них символов в строки. Каждая строка кончается специальным символом конца строки. Этот специальный символ (литера) не входит в стандартный тип CHAR и не имеет графического представления. Нас и не интересует вид этого символа. Главное, что с ним связана логическая функция EOLN (конец строки). EOLN(F) = TRUE, если окно указывает на признак конца строки. Заметим, что если EOLN(F) = TRUE, то при чтении элементов из файла в символьную переменную она принимает значение пробела (пробел - аналог конца строки). Для записи в файл признака конца строки служит стандартная процедура WRITELN. Текстовые файлы, т.е. файлы с делением на строки, описываются с помощью слова TEXT, например, VAR X, D: TEXT.
ПРИМЕР 3. Определить количество строк в файле с именем BOOK program NOMBRELINE; var K: integer; BOOK: text; S: char; begin { Формирование файла BOOK } assign(BOOK,'f1'); rewrite(BOOK); read(S); while S<> '.' do begin while S <> '#' do begin write(BOOK,S); read(S); end; writeln(book);read(S); end; close(BOOK); { Подсчет числа строк в текст; BOOK } K:= 0; reset(BOOK); writeln; while not eof(BOOK) do begin if eoln(BOOK) then K:=K+1; read(BOOK,S); write(S); end; writeln('В текстовом файле BOOK ', K,' - строк'); end. ПОЯСНЕНИЕ. В программе сначала формируется текстовый файл, у которого строки кончаются символом "$", а сам текст – символом ".". Текст вводится с клавиатуры в виде непрерывной цепочки, например:
Наша Маша громко плачет,$Уронила в речку мячик.$Тише, Машенька, не плачь,$Не утонет в речке мяч.$.
Во второй части программы с помощью функции EOLN подсчитывается число строк текста и он выводится на экран построчно, т.е. в виде: Наша Маша громко плачет, Уронила в речку мячик. Тише, Машенька, не плачь, Не утонет в речке мяч.
Итак, для записи литеры "конец строки" используется процедура WRITELN(F), где F находится в режиме записи.
СХЕМА РАБОТЫ ПРОЦЕДУРЫ WRITELN
WRITELN(T):
Таким образом сформированный файл легко выводится на печать построчно с помощью оператора WRITE, т.к. признак конца строки в файле иницирует переход на другую строку экрана (эффект оператора WRITELN). В режиме чтения для работы с литерой "конец строки" есть процедура READLN. По этой процедуре окно файла устанавливается на первый элемент следующей строки файла.
СХЕМА РАБОТЫ ПРОЦЕДУРЫ READLN
READLN(T):
Файлы, как переменные величины, могут выступать в качестве аргументов и результатов при создании функций-процедур, причем эти переменные должны быть всегда оформлены как параметры-переменные, даже если файл в процедуре играет роль аргумента.
ПРИМЕР 4. Посчитать число знаков препинания в указанном текстовом файле: function PUNCTUATION(var CHARFILE: text): integer; var SYMBOLNOMB: integer; SYMBOL: char; begin SYMBOLNOMB:=0; reset(CHARFILE); while not eof(CHARFILE) do begin read(CHARFILE, SYMBOL); if SYMBOL in ['.',',',' ',':','...] then SYMBOLNOMB:= SYMBOLNOMB + 1 end; PUNCTUATIОN:= SYMBOLNOMB end. С помощью этой функции можно теперь произвести подсчет числа вхождений знаков препинания в любой текст, представленный некоторым текстовым файлом. Рассмотрим в качестве примера фрагмент программ для файла с именем FIL: assign(FIL,'FIL'); reset(FIL); n:=PUNCTUATION(FIL); close(FIL); writeln('число знаков препинания в тексте FIL =', n). ЛИТЕРАТУРА
1. Немнюгин С. А., Turbo Pascal: Программирование на языке высокого уровня: Учебник для вузов 2-е изд. – СПб: Питер, 2007г. 2. Павловская Т. А., Паскаль. Программирование на языке высокого уровня: Учебник для вузов – СПб: Питер, 2004г. 3. Ставровский А. Б., Турбо Паскаль 7.0: Учебник для вузов – Киев: BHV «Ирина», 2001г. 4 Фаронов В. В., Система программирования Delphi – СПб: БХВ – Петербург, 2006г. 1.1. Языки программирования. 3 1.2. Трансляторы.. 4 1.3. История создания языков. 5 1.4. Базовые структуры языков программирования. 6 II. ОПИСАНИЕ ЯЗЫКА ПАСКАЛЬ.. 8 2.1. Основные объекты языка.. 8 2.2. Структура Паскаль - программы.. 9 2.3. Типизация данных.. 11 2.4. Объявление данных.. 14 III. ПРОСТЫЕ ОПЕРАТОРЫ. ВВОД/ВЫВОД ДАННЫХ.. 16 3.1. Оператор присваивания и выражения. 16 3.2. Операторы процедур. Ввод/вывод информации.. 19 IV. СТРУКТУРНЫЕ ОПЕРАТОРЫ. ОРГАНИЗАЦИЯ ВЕТВЛЕНИЙ И ЦИКЛОВ.. 23 4.1. Составной и пустой операторы.. 23 4.2. Организация ветвлений. Операторы выбора.. 24 4.3. Организация циклов. Операторы повторения. 29 V. ОРГАНИЗАЦИЯ ПОДПРОГРАММ. ПРОЦЕДУРЫ И ФУНКЦИИ.. 35 5.1. Процедуры и их типизация. 35 5.2. Функции пользователя. Рекурсивные функции.. 49 5.3 Модульное программирование. 54 VI. МАССИВЫ. ДАННЫЕ ТИПА ARRAY.. 57 6.1 Одномерные массивы.. 57 6.2. Многомерные массивы.. 59 6.3. Способы работы с массивами.. 60 VII. ОБРАБОТКА ЛИТЕРНЫХ ВЕЛИЧИН. ДАННЫЕ ТИПА CHAR И STRING.. 62 7.1. Тип данных CHAR.. 62 7.2. Массивы литер. 64 7.3. Тип данных STRING.. 65 7.4. Строковые функции и процедуры.. 66 IIX. КОМБИНИРОВАННЫЙ ТИП - ЗАПИСИ. ДАННЫЕ ТИПА RECORD.. 69 8.1. Определение типа RECORD.. 69 8.2. Оператор WITH.. 71 IX. ФАЙЛОВЫЙ ТИП.. 75 9.1. Определение и описание файла.. 76 9.2. Типы файлов. Процедуры работы с файлами.. 77 9.3. Буферная переменная. 80 9.4. Основные приемы работы с файлами.. 82 9.5. Текстовые файлы.. 85 ЛИТЕРАТУРА.. 89
Дата добавления: 2014-11-16; Просмотров: 497; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |