русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

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


Дата добавления: 2015-06-12; просмотров: 488; Нарушение авторских прав


 

В ТР допускается использование типизированных констант, которые описываются в разделе описания констант.

Const

<имя констант>:<тип констант>=<значение>;

Типизированным константам можно присвоить другие значения в процессе работы программы и фактически они являются переменными с указанным начальным значением. Указанное в описании начальное значение константа принимает только один раз. В момент начала работы программы.

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

 

Файлы

 

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

var

<файловая переменная>: file;

< файловая переменная >: file of <тип элементов>;

< файловая переменная >: text;

Пример:

var

f1: file;

f2: file of integer;

f3: text;

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

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



Любые файлы могут быть доступны программе только после выполнения специальной процедуры открытия файла. Эта процедура связывает раннее объявленную файловую переменную с именем файла на диске.

Это связывание осуществляется с помощью встроенной процедуры.

Assign (<файловая переменная>; <имя файла на диске>:string);

Assign (f2, ‘c:\ студенты \ гр 248. dat’);

 

Файл открыть можно только по чтению или только по записи. Чтобы открыть файл для записи используют процедуру Rewrite с параметром файловой переменной.

Rewrite (f2);

Данная процедура создает новый файл с указанным именем и если файл с указанным именем уже существует, то информация теряется без предупреждения, указатель восставляется на первый элемент с номером ноль.

 

Чтобы открыть файл для чтения используют процедуру Reset с параметром файловой переменной.

Пример:

Reset (f2);

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

 

Записать информацию в файл можно следующим образом:

Write (<файловая переменная>,<элементы оперативной памяти>);

Пример:

Write (f2, A);

После выполнения этой процедуры указатель файла смещается к следующему элементу.

 

Прочитать информацию с диска в оперативную память можно с помощью процедуры Read.

Read (<файловая переменная>, <элементы оперативной памяти>);

Пример:

Read (f2, B);

 

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

Close (<файловая переменная>);

Пример:

Close (f2);

 

Уничтожить файл можно с помощью процедуры Erase. Уничтожить можно только закрытый файл.

Erase (<файловая переменная>);

Пример:

Erase (f2);

 

Переименовать файл можно с помощью процедуры Rename.

Rename (<файловая переменная>, <новое имя файловой переменной>: string);

Пример:

Rename (f2, f7: string);

 

Переместить указатель файла на элемент с нужным номером можно с помощью процедуры Seek.

Seek (<файловая переменная>, <номер элемента>);

Пример:

Seek (f2, 4);

Чтобы определить длину файла используют функцию Filesize.

Filesize (<файловая переменная>);

Пример:

Filesize (f2);

 

Чтобы определить местонахождение указателя файла используют функцию Filepos.

Filepos (<файловая переменная>);

Пример:

Filepos (f2);

 

Чтобы определить находиться ли указатель файла на маркере конца файла используют функцию Eof. Значение функции равно true. Если указатель файла находиться сразу за последним элементом файла, или равно false, если в любом другом месте.

Eof (<файловая переменная>);

Пример:

Eof (f2);

Обычно эта функция используется в конструкции:

While not Eof (f2) do

Begin

…………

End;

 

Чтобы иметь возможность после неправильного ввода имени файла при открытии для чтения ввести нужное Ия файла используют функцию Ioresult, которая возвращает число являющееся условным признаком последней операции ввода-вывода. Если операция завершилась успешно, функция возвращает значение равное нулю. Значение функции доступно, если отключен автоматический контроль ошибок ввода-вывода. Он отключается указанием директиву компилятора следующим образом:

{$I-} - выключить

{$I+} – включить.

 

Programma BASKET;

Type

Spisok = record

FIO: string [50];

ROST: integer;

Ves: integer;

God: integer;

End;

F: file of spisok;

Stud: spisok;

NR: byte;

Procedure sozd;

Var

Fname: string[50];

I: byte;

N: byte;

Begin

Write (‘введите имя файла’);

Readln (Fname);

Assign (F,Fname);

Rewrite (F);

For i:=1 to 28 do begin

Writeln (‘введите ФИО’);

Readln (stud.FIO);

Writeln (‘введите рост, вес, год рождения’)

Readln (stud.ROST, stud.ves, stud.GOD);

Write (F,stud);

End;

Procedure dob;

Var

Fname: string [50];

Otv:char;

Begin

{$I-}

Repeat

Write (‘введите имя файла’);

Readln (Fname);

Assign (F, Fname);

Reset (F);

Until IO result = 0;

{$I+}

0 = ‘Y’

Seek (F, filesize(F));

While (otv = ‘Y’) or (otv = ‘Y’) do begin

Write (‘введите FIO’);

Readln (stud.FIO);

Writeln (‘введите рост, вес, год рождения’)

Readln (stud.ROST, stud.ves, stud.GOD);

Write (F,stud);

Write (‘будете вводить еще?’);

Read (otv);

Close (F);

End;

Procedure poisk;

Var

Fname:string [50];

Otv: char;

Begin

{$I-}

Repeat

Write (‘введите имя файла’);

Readln (Fname);

Assign (F, Fname);

Reset (F);

Until IO result = 0;

{$I+}

0 = ‘Y’

Writeln (‘список студентов, чей рост >170’);

While not EOF (F) do begin

Read (F, stud);

If stud.ROST > 170 then

Writeln (stud.FIO,’ ‘, stud.ROST,’ ‘, stud.god);

End;

Close(F);

Readln;

End;

{основная программа}

Begin

While 1=1 do

Begin

Writeln (‘1.создание файла’);

Writeln (‘2.добавление в файл’);

Writeln (‘3.поиск рост >170’);

Writeln (‘4.выход из программы’);

Writeln (‘выберите номер работы’);

Readln(NR);

Case NR of

1:sozd;

2:dob;

3:poisk;

4:exit;

End;

End;

End.

 

 



<== предыдущая лекция | следующая лекция ==>
Подпрограммы-процедуры | Процедуры.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.043 сек.