Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Описание файловых переменныхСодержание книги Похожие статьи вашей тематики
Поиск на нашем сайте
1. для типизированных файлов Var имя файловой переменной: file of тип компонент; Type имя типа= file of тип компонент; Var имя файловой переменной:имя типа; где file, of - служебные слова (файл, из) 2. для текстовых файлов Var имя файловой переменной: text; Type имя типа= text; Var имя файловой переменной:имя типа; где text - с лужебное слово (текстовый) 3. для нетипизированных файлов Var имя файловой переменной: file; Type имя типа = file; Var имя файловой переменной: имя типа; гдеfile - служебное слово (файл) После описания файловой переменной в ОЗУ выделяется место под значение данной переменной. Над файловыми переменными нельзя выполнять операции присваивания, сравнения и т.п. Их можно использовать только для выполнения операций над файлами: чтение, записи, удаления, переименования и т.д. С каждым файлом связана своя файловая переменная. При работе с любым типом файла необходимо выполнить следующие 5 операций: 1. объявление файловой переменной; 2. связь файловой переменной с конкретным файлом на физическом уровне; 3. инициализация файла – означает указать направление передачи данных (т.е. открыть файл для чтения, записи или добавления); 4. обработка данных; 5. закрытие файла. Стандартные процедуры и функции для работы с файлами
Пример 1: Текстовый файл представляет собой фрагмент программы на языке Pascal. Определить количество строк в которых есть служебное слово «begin». Program file1; Var f:text; S,name:string; n,k:byte; Begin Writeln(‘введите путь и имя файла’); Readln(name); Assign(f, name); Rewrite(f); {открыть файл для записи} Repeat Readln(s); Writeln(f,s); {запись строки в файл} Until s=’end.’; {пока не end.} Close(f); {закрыть файл} Reset(f); {открыть файл для чтения} n:=0; While not(eof(f)) do {пока не конец файла} Begin Readln(f,s); {читать строку из файла} S:=LowerCase(s); {преобразует строку к нижнему регистру} K:=pos(‘begin’,s); If k<>0 then n:=n+1; end; close(f); if n=0 then wrieln(‘нет строк со словом begin’)else writeln(‘кол-во строк=’,n) end. Результат решения задачи введите путь и имя файла e:\a.txt BegiN end. кол-во строк=1
Пример 2: Создать файл, содержащий информацию о студентах: фамилия, гражданство. Вывести фамилии иностранных граждан.
Тема 2.11 Динамические структуры данных Динамическая память- это оперативная память компьютера, предоcтавляемая программе при ее работе, за вычетом сегмента статических данных (64 Кб), стека(обычно 16 Кб) и собственно тела программы. Динамическая память в Turbo Pascale рассматривается как сплошной массив байтов, который называется кучей. Физически куча располагается в старших адресах сразу за областью памяти, которую занимает тело программы. Начало кучи хранится в стандартной переменной HeapOrg, конец – в переменной HeapEnd. Текущую границу незанятой области данамической памяти указывает указатель HeapPtr. Переменные, которые создаются и уничтожаются в процессе выполнения программы называются динамическими или динамически размещаемыми. Доступ к таким переменным осуществляется с помощью указателей. Указатель (ссылочная переменная) – это переменная, которая в качестве своего значения содержит адрес первого байта памяти, по которому хранятся данные. Указатель занимает в памяти 4 байта, а данные на которые он указывает могут занимать десятки и более килобайт. Чтобы обратится к содержимому ячейки, на которую указывает указатель, тебуется после его идентификатора поставить символ ^. Эта операция называется операцией разыменования. Указатели бывают: - типизированные; - нетипизированные.
Для объявления типизированного указателя обычно используется символ ^, который размещается непосредственно перед соответствующим типом данных, например:
Типизированные указатели могут ссылаться на еще необъявленный тип данных
Например: Type tt= ^ Zap; Zap = record Info:real; Next: tt End; Var a: Zap; p,q,begl,endl: tt;
Поскольку нетипизированные указатели не связаны с конкретным типом данных, их чрезвычайно удобно использовать для динамического размещения данных, структура и тип которых меняется в ходе выполнения программы. Для объявления нетипизированных указателей используется стандартный тип POINTER. Var имя перем: рointer; Указательная переменная может находиться в трех состояниях: - содержать адрес какой-либо переменной, память под которую уже выделена; - содержать специальный пустой адрес nil; - находится в неопределенном состоянии.
Действия с указателями
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2016-08-15; просмотров: 1119; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 52.15.190.187 (0.01 с.) |