Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Текстовые файлы

Файлы

Begin

Begin

Begin

Begin

Begin

Begin

Допустимо использование как

глобальных A0,B0,C0, A1,B1,

C1, так и локальных A2,B2,C2

end; {P2}

 
 


Допустимо использование как глобальных

A0,B0,C0, так и локальных A1,B1,C1

end; {P1}

 
 


Допустимо использование только A0,B0,C0

end. {Scope}

 
 

 


A0,B0,C0 – глобальные идентификаторы для всех процедур и функций, используемых в программе.

A1,B1,C1 – глобальные идентификаторы для всех процедур и функций, описанных внутри процедуры P1 (в данном примере для процедуры Р2), и одновременно локальными для самой процедуры Р1.

A2,B2,C2 – величины, объявленные в самой внутренней процедуре Р2, будут только локальными.

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

1. действуют все идентификаторы, определенные внутри процедуры/функции;

2. действуют все идентификаторы окружающего контекста, если их имена отличаются от имен, объявленных внутри процедуры/функции;

3. локальные идентификаторы процедуры/функции во внешнем окружении действовать не будут никогда;

4. в случае совпадения имен глобального и локального идентификатора действовать будет только локальный (внутренний) идентификатор.

Первые три правила поясняются рассмотренным примером.

Для пояснения четвертого правила приведем еще один пример:

program EqualNames;

var A,B,C: integer;

procedure P1;

var A,B,C: real;

procedure P2;

var A,B,C: char;

{A,B,C доступны, как символьные переменные}

end; {P2}

{A,B,C доступны, как действительные переменные}

end; {P1}

{A,B,C доступны, как целые переменные}

end. {EqualNames}

 


10 февраля

 

СРС: Составить таблицу «Методы поиска»; к 3.03.2010 составить таблицу «Методы сортировки».

 

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

Использование:

- файлы полезны, если объем входных данных превосходит посильный при ручном вводе;

- файлы нужны, если приходится многократно вводить одну и ту же информацию с минимальными изменениями или вовсе без них;

- файлы необходимы, если нужно сохранить информацию о результатах работы.

В языке Pascal имеется возможность работы с тремя видами файлов:

- текстовыми (есть во всех языках),

- типизированными,

- нетипизированными.

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

 

Описание файлов   В разделе Var Varf1, f2: text; {текстовые файлы} Varg: file of<тип элементов файла>; {типизированный файл g} Varin, out: file; {нетипизированные файлы} Файловая переменная никогда не задается константой.
Назначение файла   Процедура assign(f,’<имя_файла>’); служит для установления связи между файловой переменной f и именем того файла, за действия с которым эта процедура будет отвечать.
Открытие файла - reset(f) – открытие файла для считывания из него информации; если такого файла не существует, попытка открыть его вызовет ошибку и аварийный останов. - rewrite(f) – открытие файла для записи в него информации; если его нет – будет создан; если есть, то все, что в нем находится, будет удалено. - append(f) – открытие файла для записи в него информации (указатель помещается в конец этого файла); если его нет – будет создан, если есть, то вся информация в нем будет сохранена.
Закрытие файла Когда программа закончит работу с файлом, его надо закрыть: close(f); В противном случае, информация, содержащаяся в этом файле, может быть утеряна.
Считывание из файла Производится с помощью процедур: read(); (все выводится на экран аппаратно) readln(); (переход на следующую строку) Пример: 1)read(f,a,b,c); читать из файла f три переменные a,b,c; 2)readln(f,a,b,c); читать из файла f три переменные a,b,c, а затем перевести курсор на начало следующей строки.
Запись в файл 1) write(f,a,b,c); записать в файл f переменные a,b,c; 2)writeln(f,a,b,c);записать в файл f переменные a,b,c, а затем записать символ «конец строки» (EDL).

 

Задача: в текстовом файле f.txt записаны (вперемешку) целые числа: поровну отрицательные и положительные.

Используя только один вспомогательный файл, переписать в текстовый файл h.txt все эти числа так, чтобы:

1. порядок отрицательных чисел был сохранен;

2. порядок положительных чисел был сохранен;

3. любые два числа, стоящие рядом, имели разные знаки.

 

Текст программы:

program demo_file;

var f,g,h: text;

<== предыдущая лекция | следующая лекция ==>
Область действия идентификаторов в Паскале | Указатели. агрегат, составляющие которого могут иметь различные атрибуты и содержать идентификатор
Поделиться с друзьями:


Дата добавления: 2014-01-20; Просмотров: 389; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




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