Работа с файлами в среде Turbo Pascal 7.0
учебно-методический материал по информатике и икт по теме

Беляева Галина Ивановна

В системе Turbo Pascal  7.0  связь с внешними источниками , приемниками  и носителями информации  осуществляется только с помощью файлов.

Скачать:

ВложениеРазмер
Microsoft Office document icon met_razr2.doc101.5 КБ

Предварительный просмотр:

   

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

дополнительного  образования   детей

          Санкт – Петербургский центр детского (юношеского)

                                   технического творчества

                            Методическое пособие

“Работа  с    файлами в среде

Turbo Pascal 7.0”

Автор :     Беляева Г.И.

2014 год

                     Работа с файлами  в среде  Turbo Pascal  7.

          Введение

       В системе Turbo Pascal  7.0  связь с внешними источниками , приемниками  и носителями

информации  осуществляется только с помощью файлов. Традиционно под  файлом  понима-

ется поименованная совокупность данных на внешнем носителе (как правило,это – диск лю-

бого типа), однако в Turbo Pascal  7.0 этот термин трактуется  более широко.

       Файлом  в ТР является любое внешнее устройство, являющееся приемником или источ-ником информации по своему назначению. Это может быть клавиатура, дисплей или принтер.

Такое устройство является  логическим, так как в данном случае учитывается их назначение,

а не  физические характеристики.

         Тема 1.  Файловый тип. Связь с внешним устройством.

           

                  В системе Turbo Pascal  7.0 имеется три вида файлов :

  • текстовые;
  • типизированные;
  • нетипизированные;

                  Для обьявления  файловых переменных  необходимо в разделе  VAR  выполнить описание:

- Name_file  :  text                   --   для  текстового файла с именем              Name_file  ;

- Name_file  :  of  Name_type  –   для типизированного файла с именем    Name_file                                         

                                                                                   и    типом  его элементов                          Name_type ;

- Name_file  :  file                     -    для нетипизированного файла с именем Name_file ;

                  После обьявления файловых переменных  возможны операции над файлами. И самой пер-  

            вой из них является связь имени файловой переменной с конкретным файлом  на диске :

                       Assing (Name_file , ‘C:\Program\TP\Bib\Dan.txt’)

                   В процедуре Assing  используется имя файловой переменной, которое будет использовать-

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

             диске в кавычках (маршрут его).

          Вопросы по теме 1:

          1.  Какие типы файловых переменных обрабатываются средствами  Turbo Pascal  7.0 ?

          2.  Как обьявить  файловые переменные различных типов ?

          3.  Как указать на конкретный файл, подлежащий обработке  средствами  Turbo Pascal  7.0?

          4.  Чем отличается файловая переменная от конкретного файла на диске и для чего ее необхо-

     димо вводить в программу ?

            Задание по теме   1:   Описать текстовый файл, находящийся в подкаталоге KLASS  каталога

                                               SH  на  диске  D, с именем  puple.pas ,  как  файловую переменную ball .                                        

            Тема 2. Последовательность обработки файловых переменных.

         

                   После установки связи файловой переменной с конкретным файлом на диске можно при-

            ступить к ее обработке, используя ее имя  вместо громоздкого фактического имени на диске,

            в качестве параметра  в  процедурах  Turbo Pascal  7.0.

                   Последовательность обработки  следующая  :

  • Открытие  файла   для   чтения   или   записи ;
  • Обработка  файла   процедурам  и  функциями  Turbo Pascal  7.0 ;

                          -     Закрытие    файла;

                  При обращении к процедурам обработки файлов производится автоматическая

          проверка  на наличие ошибок Ввода - Вывода , и при их обнаружении программа преры-

          вается и на экран выводится сообщение об ошибке. Коды ошибок отлавливает  стандарт-

          ная  функция IoResult , которая возвращает значение, равное 0, если ошибок нет.

                    С помощью директив компилятора {$I+} и {$I-} автоматическую проверку ошибок

          Ввода – Вывода   можно включить или отключить. После отладки программы имеет смысл

          директива  - {$I-}.

            Вопросы по теме 2:

  1. Какая последовательность обработки  файловых переменных в  Turbo Pascal  7.0 ?
  2. Как осуществляется проверка ошибок Ввода – Вывода ?
  3. Как можно программно отрегулировать контроль обнаружения ошибок Ввода – Вывода ?

           Тема 3.  Обработка текстовых файлов.

 

                 Текстовый файл открывается  процедурами :

                            -  Reset     (Name_file)   -  только для чтения ;

                            -  Rewrite (Name_file)   -  только для записи ;

                            -  Append (Name_file)   -  для добавления  новых записей ;    

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

          собой  линейную последовательность строк и указатель при завершении ее считывания пере-

          мещается к следующей строке.

                    Для считывания информации из файла используютя процедуры  Read, ReadLn :

                             

                            Read (Name_file, x1,x2..xn) – процедура выполняет чтение из файла с именем

                                                                              Name_file в переменные    x1, x2..xn;

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

          случае  как при считывании, так и при записи происходит автоматическое преобразование

          форматов числовых и символьных.

                      Для записи  информации  в файл используютя процедуры  Write, WriteLn :        

       

                           Write (Name_file,x1,x2..xn) – процедура выполняет запись  в  файл с именем

                                                                             Name_file из  переменных   x1, x2..xn;

                         Если  чтение производится с клавиатуры, то в процедурах  Read, ReadLn  опускает-

          ся параметр  Name_file  и подразумевается стандартная файловая переменная INPUT, а при

          выводе   файла на экран  подразумевается стандартная файловая переменная OUTPUT   вместо

          параметра  Name_file  в  процедурах Write, WriteLn.

                        Закрытие  текстового  файла осуществляется процедурой Close, которая  прерывает

           связь файловой переменной с ее фактическим файлом :

                          Close(Name_file)

            Вопросы по теме 3 :

1.  Какими процедурами  открываются  текстовые файлы  в  Turbo Pascal  7.0 ?

       2.   Какими процедурами  считываются   текстовые файлы  в  Turbo Pascal  7.0 ?

              3.   Какими процедурами  сохраняются   текстовые файлы  в  Turbo Pascal  7.0 ?

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

       данных.

  1. Особенности  считывания данных с клавиатуры и вывода на экран.

Задание по теме   3:     Произвести  чтение текстового файла dan.txt  из корневого

                                         каталога  диска D и вывод его на :

                                        a) экран ;

                                        b) в  файл  wdan.txt корневого  каталога  диска D .

         Тема 4.  Обработка типизированных  файлов.

 

                     Как отмечалось выше, типизированный файл описывается в разделе VAR , следую-

          щим     образом   :

   Name_file  :  of  Name_type  –  типизированный файл с именем  Name_file                                         

                                                                      и    типом  его элементов  Name_type ;

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

           процедуры  :

                  Assing                -   для связи файловой переменной с файлом на диске;

                  Reset, Rewrite   -  для открытия файла для чтения и соответственно для записи.

                                                  Reset -  можно использовать как для чтения, так и для записи;            

                  Read, Write      -   для  считывавния  и соответственно для сохранения  данных

                                                  из файла (в файл). Процедуры ReadLn, Writeln  для типизиро-

                                                  ванных файлов – недопустимы ;

                   Close                  -    для закрытия  файла.

   

                  Типизированные файлы целесообразно использовать для  хранения  однородной

            по типу  информации. Несмотря на то, что числовые данные можно хранить и в тесто-

            вых  файлах, лучше для этой  цели  использовать типизированные файлы, так как они

            используют меньше памяти.

 

   Вопросы по теме 4 :  

    1.   Как обьявить типизированный файл  ?

    2.   Какими процедурами можно открыть   и  закрыть  типизированный файл ?

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

по сравнению с текстовым.

  Задание по теме   4:  1. Произвести считывание файла с целыми числами cifra.dat  из корневого

                                          каталога  диска D и вывод его на экран в формате (5 знаков).

                                      2. Произвести вывод чисел от 1 до 1000 в файл cifra1.dat   корневого

                                          каталога  диска D

  Тема 5.  Обработка  нетипизированных  файлов.

              Как отмечалось выше, нетипизированный файл описывается в разделе VAR , следую-

    щим     образом   :

   Name_file  :  file   –  нетипизированный файл с именем  Name_file                               

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

           процедуры  :

                  Assing                -   для связи файловой переменной с файлом на диске;

     Reset, Rewrite   -   для открытия файла для чтения и соответственно для записи.

           Процедуры     Reset, Rewrite   отличаются от соответствующих процедур для текстового

           и типизированного файлов наличием дополнительного, хотя и необязательного параметра,

           который  определяет размер порции  информации  при записи или чтении. Этот параметр                                                    

           имеет  тип  WORD. Если он отсутствует, то по умолчанию его величина = 128 байтам.

             

                Reset (Name_file, N)

                BlockRead  (Name_file, buf , count)   -  для  считывания  и соответственно для сохранения

                BlockWrite (Name_file, buf , count)   -  данных из файла (в файл)   в переменную buf  раз-

                                                                                    мером порции = count .                                              

                Close                  -    для закрытия  файла.

         Для эффективного выполнения операций  Ввода – Вывода  целесообразно использование

          нетипизированных  файлов, так как  с этим типом файлов возможен  прямой доступ

          к любому элементу  файла независимо от типа его  элементов.

       Вопросы по теме  5:

  1. Какими процедурами открывается нетипизированный файл и в чем их отличие

от подобных процедур для других типов файлов ?

         2.    Какими  процедурами можно считывать или  сохранять нетипизированный файл

  1. Какой метод доступа к элементам файла  возможен  при использовании нетипизиро-

ванных файлов ?

      Задание по теме   5:   Выполнить считывание нетипизированного файла в новый файл.

 

      Список использованной литературы

  1. Сергиевский М.В.,Шалашов А.В. ТУРБО ПАСКАЛЬ 7.0 Язык. Среда программирования.

                                                                  Москва. Машиностроение. 1994 г.

2 .  Немнюгин С.А. TURBO PASCAL. Практикум.  ПИТЕР. Москва – Санкт-Петербург – и т.д.                

                                                                  2003 г.

П Р И Л О Ж Е Н И Е     1

         Процедуры  для обработки файлов в среде TURBO  PASCAL 7.0

                                                       

Процедуры

Описание

Примечание

Append (Var F: text)

Открывает существующий файл, связанный с файловой переменной f,

Для добавления в него новых записей

Assing (Var F, string)

 Cвязывает внешний файл, имя которого указано в строковой константе

 String, с файловой переменной F

BlockRead (Var F : file;

                     Var Buf ;

                    Count :Word)

Считывает из нетипизированного файла, связанного с файловой переменной  F,  блок записей в переменную Buf, Count определяет

количество записей в блоке

BlockWrite (Var F : file;

                      Var Buf ;

                    Count :Word)

Записывает в нетипизированный  файл, связанный с файловой переменной  F,  блок записей в переменную Buf, Count определяет

количество записей в блоке

ChDir (S : string)

Выполняет смену текущего каталога  на каталог, маршрут к которому

указан в строковой переменной  S

Close  (Var F)

Закрывает открытый файл, связанный с файловой переменной F

Erase  (Var F)

Стирает внешний файл, связанный с файловой переменной F

Fluch (Var F : text)

Сбрасывает буфер текстового файла, связанный с файловой переменной F и открытого для вывода процедурами ReWrite и Append. Это гаран-тирует сохранность записываемой информации во внешнем файле, не

влияет на файлы, открытые для чтения

GetDir (Var D : byte;      

              Var S : string)

Возвращает в строке S текущий каталог на заданном диске D. Имя ката-лога находится  в строковой  переменной S. При этом 0 – текущий диск,

1 – диск А, 2 – диск B, 3 – диск C, и т.д. Если значение, заданное парамет-

ром D – неверно, то возвращается значение “X : \ ”

MrDir (Var S : string)

Cоздает подкаталог, имя которого задается строковой переменной S

Read (Var F : text;V1..)

Считывает одно или несколько значений из файла, связанного с файло-вой переменной F, в одну или несколько переменных V1..

ReadLn (Var F : ext;V1..)

То же, что и Read, но выполняет пропуск до начала следующей строки

текстового файла

ReName ( Var F;

                  S : string)

Переименовывает внешний файл, связанный с файловой переменной F,

на имя, содержащееся в строковой переменной S

ReSet ( Var F)

Открывает существующий файл, связанный с файловой переменной F,

текущий указатель устанавливается  в начало файла. Текстовый файл

открывается этой процедурой только для чтения

ReWrite (Var F)

Создает и открывает новый файл, связанный с файловой переменной F,

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

RmDir (Var S : string)

Удаляет пустой каталог, маршрут которого указан в строковой переменной  S

SeeK ( Var F;

             N : Longint)

Перемещает текущий указатель в файле, связанном  с файловой пере-

менной F, на заданный элемент, при этом началу файла соответствует

N = 0, для текстовых файлов не используется

SetTextBuf (Var F : t ext;  

                      Var Buf)

Назначает для текстового файла, связанного  с файловой переменной F,

буфер ввода / вывода. Во избежания потери данных неприменим  к отк-рытым  файлам

Truncate ( Var F )

Усекает размер файла, связанного  с файловой переменной F, до текущей позиции. Вся информация после текущего указателя теряется. Неприме-ним  к текстовым файлам

Write (Var F : text; V1.. )

Записывает в файл, связанный  с файловой переменной F, одно или несколько значений из переменных V1.., при этом файловая переменная

необязательно связана с текстовым файлом. Этими значениями  могут

быть : integer, real, string, char, boolean – для текстового файла, а для

типизированного файла  - они должны совпадать с элементами файла

 WriteLn ( Var F : text;    

                   V1.. )

То же, что и Write, но затем  записывает в текстовый файл признак конца строки

Функции для обработки файлов в среде TURBO  PASCAL 7.0

                                             

Функции

Описание

Примечание

Eof ( Var F ) : boolean

Возвращает для файла, связанного  с файловой переменной F, состояние

End – of – file (конец файла) :  TRUE – если  текущее положение  указате-ля -  в конце файла  или файл – пустой ;  FALSE – в остальных случаях

FilePos ( Var : F )  :  longint

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

FileSize ( Var : F )  :  longint

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

Не влияет на файлы, открытые для чтения

IoResult :  integer

Возвращает целое значение, являющееся состоянием последней выпол-ненной операцией ввода / вывода. Нулевое  значение соответствует нор-

мальному завершению операции

SeekEof ( Var F  :  text ) :  

               boolean

Возвращает  для  текстового файла, связанного  с файловой переменной F, состояние  “конец файла”

SeekEoLn ( Var F  :  text ) :

               boolean

Возвращает  для  текстового файла, связанного  с файловой переменной F, состояние “конец строки”


По теме: методические разработки, презентации и конспекты

Конспект урока с презентацией "Графика на языке программирования Turbo Pascal"

Урок для учащихся 11 класса по теме "Графика на языке программирования ТР". Содержит теоретический материал, практическую работу и презентацию к уроку. Надеюсь, многим учителям информатики пригодится!...

Реализация циклического алгоритма в среде Turbo Pascal. Оператор цикла с параметром

Урок по предметной области “Информатика” для 9-10 класса Данный материал  представляет разработку урокапо теме “Реализация циклического алгоритма в среде TurboPascal. Оператор цикла с парам...

Первые уроки программирования по теме «Целые числа» в основной школе (Среда Turbo Pascal)

Перед  каждым учителем информатики стоит задача: «чему учить в информатике и как учить». В настоящее время появилось большое кол...

Построение модульной программы в среде Turbo Pascal 7.0

Использование модулей  позволяет организовать коллективную разработку программ....

Тест по программированию в среде Turbo Pascal. 9 класс

Тестироваиние по теме "Тест по  программированию в среде Turbo Pascal" 9 класс...

Turbo Pascal (ту́рбо паска́ль) — среда разработки для языка программирования Паскаль.

Турбо Паскаль - это язык высокого уровня (сокращенно ЯВУ) программирования общего назначения. Язык получил своё имя в честь великого французского математика и философаБлеза Паскаль, автора первых...

Практическая работа программирование в среде TURBO PASCAL. Управление экраном.

Практическая работа апрграммирование в среде TURBO PASCAL. Управление экраном.  9 класс.Работе состоит из двух частей - теоретической и практичекой.  В теоретической части представлены некот...