русс | укр

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

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

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

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


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

Под файлом в Турбо Паскале понимается либо поименованная область внешней памяти компьютера (жесткого диска или дискеты), либо логическое устройство (например, принтер).


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


End.

Begin

End

Begin

Begin

End

Begin

Begin

Var

Case byte of

Type

Begin

Withmem4 do

Casebyte of

Var

mem4: record

0 : ( by : array[0..3] ofbyte );

1 : ( wo : array[0..1] ofword );

2 : ( lo : longint );

end;

 

В этом примере запись mem4 имеет три варианта, каждый из которых занимает в памяти один и тот же участок из 4 байт. В зависимости от того, к какому полю происходит обращение в программе, этот участок рассматривается как массив из 4 байт (поле by), массив из двух целых чисел (поле wo) или как одно целое число типа longint (поле lo). Например, этой записи можно сначала присвоить значение как длинному целому, а затем проанализировать результат по байтам или словам.

 

lo := sqr(150);

writeln(wo[0],’ ‘,wo[1]);

fori:=0 to3 dowrite(by[i],’ ‘); writeln;

end;

 

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

 

program rec2;

{ Программа иллюстрирует работу с записями с вариантной частью.

Одна и та же область памяти трактуется либо как строка символов,

либо как длина и массив байт соответствующей длины.

Показана возможность неявного преобразования типов. }

st_byte = record

ps: 0..1; { признак альтернативы }

0: (s: string[20]);

1: (l: byte;

mb: array[1..20] of byte);

end;

rec: st_byte;

i,p: integer;

writeln('Вводить: 0 - строку, 1 - массив байт');

readln(rec.ps);

if rec.ps = 0 then{ ввод строки символов }

writeln('введите строку символов');



readln(rec.s);

else{ ввод массива из l байт }

writeln('введите число элементов массива (l)');

readln(rec.l);

writeln('введите массив из элементов типа байт');

for i:=1 to rec.l doread(rec.mb[i]);

readln

end;

writeln('выводить: 0 - строку, 1 - массив байт');

readln(p);

if p = 0 then{ задан вывод строки символов }

ifrec.ps = 1 then{ зафиксировано неявное преобразование типов }

writeln('преобразование: массив байт - строка');

writeln(rec.s) { вывод строки символов }

else{ задан вывод массива байт }

if rec.ps = 0 then{ зафиксировано неявное преобразование типов }

writeln('преобразование: строка - массив байт');

write('l= ',rec.l,' ' );

for i:=1 to rec.l dowrite(rec.mb[i]:4); {вывод массива байт }

writeln

end;

readln

 

Строго говоря, использовать подобное преобразование типов следует с большой осторожностью, поскольку очень легко получить некорректный результат. Если же преобразование типов не требуется, запись c вариантами должна включать в себя поле признака, где содержится номер (код) корректной альтернативы.

Любой файл имеет три характерные особенности.

· Во-первых, у него есть имя, что дает возможность программе работать сразу с несколькими файлами.

· Во-вторых, он содержит компоненты одного типа, в качестве которого может выступать любой тип Турбо Паскаля, кроме файла.

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

Файлы в Турбо Паскале подразделяются на типизированные и текстовые. Для описания файла вводится так называемая файловая переменная, связывающая программу и файл. Описание типизированного файла задается с помощью ключевых слов file of, за которым следует имя типа. Например,

 



<== предыдущая лекция | следующая лекция ==>
Casebyte of | While not EOF(f) do


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


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

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

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


 


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

 
 

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

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