Как открыть паскаль
Файлы в Паскаль.
Типы данных, которые мы рассматривали в прошлых уроках, обладают одним существенным недостатком. Они не приспособлены для долговременного хранения информации. Возьмем, например, такой тип как Запись. Мы можем внести в программу множество различных данных (с клавиатуры в процессе выполнения программы), однако, после закрытия программы все эти данные исчезнут. При повторном запуске программы нам по новой придется вводить информацию о цвете автомобиля, его марке, пробеге, дате выпуска и т.д. А если нам необходимо ввести информацию о нескольких сотнях автомобилях? Не будем же мы каждый раз при новом запуске программы вводить всю информацию по-новому. Конечно же, не будем. Для долговременного хранения информации на компьютере в языке программирования Pascal используют файловый тип.
Файлом называют область во внешней памяти компьютера, которая обладает определенными признаками:
- файл имеет имя
- размер файла ограничен лишь емкостью устройства внешней памяти
- файл содержит компоненты одного типа.
Файлы бывают 3-х видов: текстовые файлы, типизированные файлы и нетипизированные файлы.
В этой статье мы научимся открывать с помощью Паскаля текстовые файлы и выводить их содержимое на экран.
Открытие текстового файла для чтения.
Для того чтобы открыть текстовый файл, его сначала нужно создать. Поэтому в директории C:FPC2.2.2bini386-win32Programs создаем файл с названием «text» и расширением «txt». В этом файле записываем какое-нибудь слово, например, «pascal».
Далее набираем программу.
Строка №3. Записываем переменную «fl» и указываем для нее тип Text. Text — стандартный текстовый тип файла. Переменные этого типа используются для хранения текстовой информации. Переменная «fl» называется файловой переменной и служит для связи программы с текстовым файлом. На этом этапе главное запомнить, что любые файловые переменные, предназначенные для работы с текстовыми файлами, должны иметь тип данных Text.
Строка №4. Записываем переменную «str» и указываем для нее тип данных String. Эту переменную мы будем использовать для чтения строк из файла.
Строка №7. Для того чтобы текстовый файл (text.txt, созданный нами ранее) стал доступен программе, его необходимо связать с файловой переменной («fl»). Это осуществляется с помощью стандартной процедуры Assign. Записываем процедуру Assign, затем в круглых скобках указываем переменную, и через запятую в апострофах указываем путь к нашему файлу «text.txt». Теперь посредством файловой переменной «fl» мы можем управлять файлом «text.txt».
Строка №8. Здесь происходит инициация файла. Инициация файла – это открытие файла для чтения, записи либо для чтения и записи одновременно. Процедура Reset говорит нам о том, что файл открывается только для чтения. В скобках после слова Reset указывается файловая переменная «fl». Т.к. эту переменную мы связали с текстовым файлом «text.txt», то в результате процедуры Reset этот текстовый файл будет открыт для чтения.
Строка №9. Для того чтобы получить доступ к записям, хранящимся в файле, используются процедуры Read, Readln, Write, Writeln. В нашем примере для чтения записи из файла используется процедура Read. Записываем процедуру Read, далее в скобках указываем название файловой переменной и через запятую название строковой переменной. В результате действия процедуры Read из файловой переменной «fl» (как вы помните, в этой переменной хранится текстовая информация из файла «text.txt», т.е. слово «pascal») будет прочитана информация (слово «pascal») и эта информация будет записана в строковую переменную «str».
Строка №10. Выведем на экран значение строковой переменной «str». Т.е. на экран выведется слово «pascal».
Строка №11. Стандартная процедура закрытия файла, указанного в скобках после слова Close.
Дополнение к материалу.
1. Правила для составления имен файлов.
- Имя файла содержит не более 8 символов.
- Символы могут содержать прописные и строчные буквы латинского алфавита, цифры, а также символы «!», «@», «#», «$», «%», «^», «&», «()», «’», «-», «;»
- Имя файла может начинаться с любого из вышеперечисленных символов, цифры, строчной или прописной буквы латинского алфавита.
- За именем файла может следовать расширение, которое отделяется от имени точкой и может содержать не более 3-х символов.
2. В нашем примере мы поместили текстовый файл в папке «programs». Вообще файл можно разместить в любом месте на компьютере, но тогда необходимо указывать полный путь к этому файлу в строке №7.
Файлы в Паскале. Общие сведения. Текстовые файлы
В язык Паскаль выделяются данные файлового типа, которые служат для работы с информацией, расположенной на внешних устройствах. Эта информация формируется во внешней памяти компьютера, образуя некоторую область, называемую файлом. Файлы имеют имя и представляют собой совокупность однотипных элементов. Обычно они применяются, в случаях большого объема данных, долгосрочного хранения, либо необходимости предоставления доступа нескольким приложениям к одной и той же информации.
Файлы принято разделять на физические и логические. Физические файлы имеют имя, и располагаются на съемном носителе, а логические это те переменные файлового типа, которые их представляют в программе.
В Паскале различают следующие три вида файлов (в скобках описаны ключевые слова для инициализации файловой переменной):
текстовые файлы (text);
типизированные (file of );
Немного позже мы разберемся с каждым из них. А сейчас рассмотрим основные операции для работы с файлами.
Создание файла
Процедура Assign связывает переменную файлового типа с физическим файлом. Например, установить соответствие между переменной Fil и текстовым файлом lot, расположенном на диске D, можно так:
Режим чтения
Процедура Reset открывает файл в режиме чтения, после чего оператором Read( , ) можно осуществить последовательное считывание элементов в программу.
Конец файла
Количество элементов в файле заранее не определяется, но часто необходимо знать о моменте достижения конца файла. Для этого в Паскале существует логическая функция EOF, которая проверяет достигнут ли конец, и если это так, то принимает значение True, иначе – False. Осуществляется проверка, как правило, в цикле, в качестве условного выражения выступает функция EOF.
Режим записи
Открыв файл в режиме записи, можно поэлементно записать в него информацию, воспользовавшись процедурой Write( , ).
Закрытие файла
Процедура Close закрывает открытый файл, а также освобождает файловую переменную, указанную в качестве параметра.
Удаление файла
При помощи процедуры Erase, можно удалить с внешнего носителя, заранее закрытый файл.
Изменение имени файла
Rеnаmе переименовывает физический файл, который перед этим следует закрыть процедурой Close.
Смещение указателя файла
Процедура Sееk устанавливает позицию указателя в файле на необходимый элемент (нумерация элементов начинается с нуля).
Определение положения указателя
Функция FilePos принимает значение порядкового номера элемента, над которым в момент вызова находиться указатель.
Определение количества элементов
Функция FileSize определяет количество всех имеющихся в файле элементов.
Текстовые файлы
Текстовые файлы могут состоять из элементов символьного (char) и строкового (string) типа данных. Ключевое слово Text указывает, что файловая переменная создается для работы именно с текстовым файлом:
Структура текстового файла представляет собой последовательность строк, которые в свою очередь состоят из символов. Любая строка оканчивается признаком «конца строки», а сам файл признаком «конца файла». Для определения конца файла в Паскаль есть функция EOF, а для конца строки – EOLn:
В случае достижения конца строки она (функция EOLn) принимает значение True, в противном случае False.
Рассмотрим работу с текстовым файлом, на примере программы.
Место создания файла «file.txt» не было указано, поэтому он создаться в папке по умолчанию для вашей среды программирования.
Для текстовых файлов в Паскале определены следующие процедуры и функции:
Процедура Append открывает существующий файл в режиме дозаписи. После чего в его конец можно добавить какую либо информацию.
Если до конца строки остались пробелы/знаки табуляции, то функция SeekEOLn возвращает значение True, иначе False.
Если до конца файла остались лишь строки с пробелами/знаками табуляции, то функция SeekEOF возвращает значение True, иначе False.
лабы по информатике, егэ
лабораторные работы и задачи по программированию и информатике, егэ по информатике
Pascal: Занятие № 12 Часть1. Работа с файлами в паскале (текстовые файлы)
Работа с файлами в паскале
Виды файлов в зависимости от их описания и режимом работы
- текстовые (тип text) файлы со строками неопределенной длины;
- файлы с типом записей (двоичные или типизированные (file of) );
- файлы без типа для передачи данных блоками записей нетипизированные (file).
Описание файловых переменных:
Для связи файла в коде программы и действительного файла на внешнем носителе используется процедура ASSIGN :
где myfile — имя переменной (объявленной ранее в области var ), ассоциированной с файлом
c:text.txt — путь к реальному файлу
Первый аргумент процедуры assign в паскаль — переменная, второй – путь к файлу на диске.
Текстовые файлы в паскале: процедуры работы
Текстовый файл в Паскале — это совокупность строк произвольной длины, которые разделены между собой метками конца строки, а весь файл заканчивается меткой конца файла.
Возможные расширения файлов:
*.txt, *.log,
*.htm, *.html
Метод работы с текстовым файлом в Паскале предусматривает лишь последовательный доступ к каждой строке файла. Это означает, что начинать всегда возможно только с первой строки, затем проходя по каждой строке, дойти постепенно до необходимой. Т.е. можно сказать, что чтение (или запись) из файла (в файл) ведутся байт за байтом от начала к концу.
Предусмотрены два режима работы: режим для записи в файл информации и для чтения ее из файла. Одновременная запись и чтение запрещены.
Открытие файла
Допустим, мы в программе описали переменную для работы с текстовым файлом:
Рассмотрим дальнейшую последовательность работы с ним, и рассмотрим процедуры, необходимые для работы с текстовым файлом в Паскале:
процедура открытия существующего файла для чтения при последовательном доступе:
процедура открытия создаваемого файла для записи в него информации; если файл с таким именем уже существует, то информация в нем стирается:
Урок 4. Работа с текстовыми файлами
Урок из серии: «Язык программирования Паскаль»
Для участия в олимпиаде по информатике вы должны уметь работать с текстовыми файлами (считывать и записывать информацию). На олимпиадах, начиная с областных, они используются для ввода и вывода данных. Лучше всего попробовать работать с файлами до того, как Вы пойдете на олимпиаду.
На этом уроке мы рассмотрим, как используются текстовые файлы для ввода и вывода данных в программе на языке Паскаль.
Текстовые файлы – это файлы, содержащие символы, разделенные на строки. Причем в конце каждой строки стоит символ конца строки.
Общая последовательность действий при работе с файлами в языке программирования Паскаль:
- описать переменную файлового типа;
- связать ее с конкретным физическим файлом процедурой Assign;
- открыть файл для чтения процедурой ReSet или для записи процедурой ReWrite;
- выполнить чтение или запись информации;
- по окончании работы с файлом закрыть файл процедурой Close.
Описание переменной файлового типа
С текстовым файлом на диске в программе должна быть связана файловая переменная, которая описывается с указанием стандартного типа Text:
Связь переменной файлового типа с конкретным внешним файлом
Для установления связи между файловой переменной и именем файла, присваиваемого операционной системой, имеется стандартная процедура Assign.
Такое соответствие обозначает, что все операции, выполняемые над переменной F1, будут выполняться над файлом, хранящемся на диске и имеющим имя ‘Int.dat’
Чтение из файла
Под чтением из файла понимается ввод данных из внешнего файла, находящегося на диске, в оперативную память. Данные входного файла становятся доступными программе.
Для чтения файла в программе необходимо выполнить следующие действия:
Открыть файл для чтения:
Прочитать данные файла в программу с помощью процедуры Read или Readln .
Процедура Read последовательно считывает все элементы строки:
Процедура Readln – считывает элемент из текущей строки и переходит на следующую строку (независимо от того, достигнут конец строки или нет):
Если не указывать второй параметр, то произойдет переход в начало следующей строки без ввода данных:
Закрытие файла
После завершения работы с файлом, его нужно закрыть и «освободить» файловую переменную . Это делается с помощью процедуры Сlose.
Общий вид оператора:
Общая форма чтения файла имеет вид:
Многоточием отмечено наличие других операторов в программе.
Признак конца файла
Так как, по определению, число элементов файла не задается заранее, то в языке Паскаль введена логическая функция Eof() для определения признака конца файла.
Общий вид функции:
Она определяет, достигнут ли конец файла или еще нет (принимает значение (true), если достигнут конец файла, и ложь (false) — в противном случае).
Для определения конца файла используется оператор цикла, например, (пока не достигнут конец файла …):
While Not EOF ( ) Do …
Запись в файл
Под записью файла понимается вывод результатов программы из оперативной памяти на диск, т.е. создание нового файла на внешнем устройстве.
Для записи файла в программе необходимо выполнить следующие действия:
Открыть файл для записи с помощью процедуры Rewrite:
Записать данные в файл спомощью процедур Write или Writeln.
Процедура Write производит запись поэлементно в текущую строку:
Процедура WriteLn записывает элемент и переводит указатель в начало следующей строки:
Если не указывать второй параметр процедуры, то в конце данной строки ставится признак конца файла и текущий указатель перемещается на начало следующей строки:
После завершения работы с файлом его закрытие обязательно.
Общая форма записи файла имеет вид:
Логическая функция Eoln()
Часто для обработки текстовых файлов используется специфичная для них функция Eoln(), позволяющая определить, достигнут ли конец строки. Если достигнут — значение функции равно True, а если нет — False.
Таким образом, для анализа конкретных символов строк файла можно применить вложенный цикл типа:
Пример. Дан текстовый файл, содержащий только целые числа, в каждой строке может быть несколько чисел, которые разделяются пробелами. Вывести на экран все числа с учетом разбиения на строки и подсчитать количество элементов в каждой строке.
Пусть в файле содержится следующая информация:
-32 16 0 8 7
4 5 9 13 11 -5 -8
6 -8 0 12
1 2
-1 -2 -4
-1 -2 4
Этот файл можно создать в среде Паскаль следующим образом:
- Создать новый файл (команда Файл-Новый).
- Записать все числа в строке через пробелы.
- Сохранить его, например, как ‘primer1.dat’.
Для этого в диалоговом окне сохранения файла в списке Тип файла выбрать Все файлы. В поле Имя файла ввести полное имя файла (имя с расширением).
Программа будет иметь следующий вид:
На этом уроке было рассмотрено, как использовать текстовые файлы для ввода и вывода данных в программе на языке Паскаль.
На следующем уроке Вы узнаете, как использовать тип данных Bulean для представления данных логического типа.
Следующий урок: Логический тип данных
Урок понравился? Отзывы и замечания можно оставить в форме для комментариев, расположенной в нижней части страницы.
Файлы в Pascal. Понятия файла и файловой переменной. Внешние файлы
Файлы в Pascal.
Введение файлового типа в язык Паскаль вызвано необходимостью обеспечить возможность работы с периферийными (внешними) устройствами ЭВМ, предназначенными для ввода, вывода и хранения данных.
Файл – совокупность данных, записанная во внешней памяти под определенным именем.
Файловый тип переменной – структурированный тип, представляет собой совокупность однотипных элементов, количество которых заранее не определено.
Турбо Паскаль поддерживает три файловых типа:
- типизированные файлы – файлы, состоящие из компонентов одного типа, число которых заранее не определено;
- безтиповые файлы – файлы, где информация записывается и считывается блоками определенного размера, в них могут храниться данные любого вида и структуры;
- текстовые файлы – файлы, состоящие из любых символов. Они организуются по строкам, каждая из которых заканчивается символом «конец строки». В конце файла ставиться символ «конец файла». Информацию текстового файла можно просмотреть с помощью любого текстового редактора.
Понятие файла в Паскале употребляют в двух смыслах:
- как поименованная область данных на внешнем носители (внешний файл)
- как переменная файлового типа (внутренний файл)
В программе между этими объектами устанавливают связь и все, что в процессе выполнения программы происходит с внутр. файлом, дублируется во внешний. Над элементами файла можно делать только 2 операции: читать с файла, записывать в файл.
Обработка типизированных файлов.
Переменную файлового типа описывают одним из двух способов:
Тип может быть любым, кроме файлового.
Стандартные процедуры и функции
— связывает файловую переменную f с физическим файлом, полное имя которого задано в строке x. Установленная связь будет действовать до конца работы программы, или до тех пор, пока не будет сделано переназначение.
После связи файловой переменной с дисковым именем файла нужно открыть файл.
открывает для чтения файл, с которым связана файловая переменная f. После успешного выполнения процедуры Reset файл готов к чтению из него первого элемента.
Если f — типизированный файл, то процедурой reset он открывается для чтения и записи одновременно.
открывает для записи файл и очищает его.
закрывает открытый до этого файл с файловой переменной f. EOF(f) возвращает значение TRUE, когда при чтении достигнут конец файла.
позволяет переименовать физический файл на диске, связанный с файловой переменной f. Переименование возможно после закрытия файла.
уничтожает физический файл на диске, который был связан с файловой переменной f. Файл к моменту вызова процедуры Erase должен быть закрыт.
Чтение из текстового файла
Процедуры читают информацию из файла f в переменные. Способ чтения зависит от типа переменных, стоящих в списке. Отличие ReadLn от Read в том, что в нем после прочтения данных пропускаются все оставшиеся символы в данной строке, включая метку конца строки. Если список переменных отсутствует, то процедура ReadLn(f) пропускает строку при чтении текстового файла.
Запись в текстовый файл
Процедуры записывают информацию в текстовый файл. WriteLn от Write отличается тем, что после записи всех значений из переменных записывает еще и метку конца строки (формируется законченная строка файла).