Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Процедуры и функции для работы со строками



Функция Concat(s1, s2,..., sn) возвращает строку, являющуюся слиянием строк s1, s2,..., sn. Ее действие аналогично операции конкатенации.

Функция Copy(s, start, len) возвращает подстроку длиной len, начинающуюся с позиции start строки s. Параметры len иstart должны быть целого типа.

Процедура Delete(s, start, len) удаляет из строки s, начиная с позиции start, подстроку длиной len.

Процедура Insert(subs, s, start) вставляет в строку s подстроку subs, начиная с позиции start.

Функция Length(s) возвращает фактическую длину строки s, результат имеет тип byte.

Функция Pos(subs, s) ищет вхождение подстроки subs в строку s и возвращает номер первого символа subs в s или 0, еслиsubs не содержится в s.

Процедура Str(x, s) преобразует числовое значение x в строку s, при этом для x может быть задан формат, как в процедурах вывода write и writeln, например, Str(x:6:2, s).

Процедура Val(s, x, errcode) преобразует строку s в значение числовой переменной x, при этом строка s должна содержать символьное изображение числа. В случае успешного преобразования переменная errcode равна нулю. Если же обнаружена ошибка, то errcode будет содержать номер позиции первого ошибочного символа, а значение не x определено.

14)Файлы

1 Определение.

Файл - информация, подготовленная для хранения во внешней

памяти или к использованию на внешних устройствах (ВУ).

Частным случаем файла является ТЕКСТ (TEXT)

Текст - файлы последовательного доступа (чтение и запись данных

начинаются всегда от начала файла)

В файлах могут храниться как данные, так и команды (программы)

Различают файлы программы:

- хранящие текст программы на языке высокого уровня

- хранящие исполняемый код для прцессора

файлы данных:

- последовательного доступа (чтение и запись данных начинаются

всегда от начала файла)

- прямого доступа (чтение и запись данных возможны для любого места)

2 Способы представления (хранения).

Для различия между собой, файлы имеют имена. Имена имеют и ВУ:

CON, KBD, CRT, PRN, LPT1,...LPT3, COM1, COM2 (ДОС);

GRP (MSX-basic); SCRN, KYBD (GWbasic)

Стандартными внешними устройствами являются клавиатура и дисплей.

Используя при передаче файловой информации вместо имен файлов имена

устройств, получают ввод информации с указаных устройств или вывод информации

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

Полное имя файла состоит из трех частей:

адресная - <имя устройства памяти>:[/<имена подкаталогов через />]

именная - <имя файла до 8 знаков>

расширение имени файла - <три знака>

При написании, между именем файла и расширением ставится точка.

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

быть пропущена (берется "по умолчанию"), важными являются

только имя и расширение, которые обычно называют именем файла.

ТЕКСТ - набор данных, имеющий вид упакованных строк, закачивается

специальным знаком "конец файла" <26>.

Файлы - программы, доступные процессору, т.е. могут сразу исполнены,

имеют расширения.COM или.EXE. Имена таких файлов служат командами

исполнения содержимого для операционной системы. Операционная система

(ОС) - специальная программа, автоматически запускаемая при включении

компьютера, основным назначением которой является поиск и исполнение

файлов-программ.

Файлы - программы на языке "Pascal" - содержат текст программы,

являются строками. Могут быть созданы с помощью любого текстового

редактора. С помощью программы-транслятора могут быть преобразованы

в файлы, исполняемые процессором.

Обычно специальный редактор объединяют с транслятором, куда

добавляются средства контроля программ и систему подсказок (Help) -

получается система программирования. Результат работы такой системы,

записанный в виде.COM или.EXE - файла, в дальнейшем, присутствия

системы программирования не требует.

По стандарту языка "BASIC", для выполнения программ обязательно

требуется присутствие BASIC-системы. При работе которой оператор

находится в среде специального редактора. Набираемые команды

могут быть выполнены немедленно, или, если имеют метку - номер,

запомнены в оперативной памяти. Команды оперативной памяти

могут быть просмотрены командой "LIST" или исполнены командой "RUN"

Из оперативной памяти программа может быть перенесена во внешнюю

командой SAVE"<ИМЯ ФАЙЛА>"[,A]

Запись присходит в более коротком кодированном варианте или

(при наличии флажка - буквы "A" в команде) в полном варианте,

пригодном для просмотра и печати средствами ДОС.

Командой восстановления программы в оперативную память из файла

является LOAD"<ИМЯ ФАЙЛА>"[,R]

Флаг 'R' служит для немедленного запуска программы после "загрузки".

Загрузить в оперативную память и сразу исполнить программу можно

командой RUN"<ИМЯ ФАЙЛА>"

Обычно, файл - программа на языке "BASIC" имеет расширение.BAS.

Запись/загрузка подпрограмм в кодах проводится командами

BSAVE"<имя>" BLOAD"<имя>"

При работе с кассетным магнитофоном в качестве ВУ, используют

команды CSAVE"<имя>" CLOAD"<имя>"

Есть возможность объединения двух текстов - программ в один.

Для этого один текст должен быть в оперативной памяти, а

другой, заранее подготовленный, должен быть записан в файл в

полном варианте. Команда MERGE"<имя подготовленного файла>"

создаст в оперативной памяти совместный текст обеих программ.

Если в склеиваемых текстах были строки с одинаковами номерами,

то останется только строка подготовленного файла.

Итак, на примере работы с файлами-программами на языке "BASIC",

имеем три вида работы с файлами - создание (SAVE), чтение (LOAD)

и добавление (MERGE).

Для работы с файлами данных в языке BASIC, в начале программы

должно быть указано число одновременно открытых файлов

MAXFILES=<N>, по умолчанию, это число =1. Каналы связи программы

с файлом нумеруются, номера используются в командах. В файлах

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

В языке PASCAL вместо номеров каналов связи вводятся переменные

файлового типа, которые описываются как

:file of <тип элементов>; или:text;

Элементы файлов могут быть любых типов, кроме файлового.

Слово "text" указывает на файл строк произвольной длины.

* Способ образования (хранения). <цифры приведены для ЭВМ "Yamaha">

В памяти компьютера, для каждого файла, выделяется буфер <256 байт>

При создании файла последовательного доступа, заполняется не файл,

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

внешне устройство (файл), буфер очищается и готов заполняться снова.

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

читается программой. По мере необходимости, в буфер считываются

очередные порции информации.

При работе файлов прямого доступа, команды смены содержимого

буфера приходится программировать.

Для работы буфера используются служебная информация - блок

управления файлом (File Control Blok - FCB) <9 байт>

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

Для работы с файлами данных в языке BASIC, в начале программы

должно быть указано число одновременно открытых файлов

MAXFILES=<N>, по умолчанию, это число =1. Каналы связи программы

с файлом нумеруются, номера используются в командах.

В языке PASCAL вместо номеров каналов связи вводятся переменные

файлового типа, которые описываются как:text;

3 Основные операции.

С файлами проделывают две операции: открывают с какой-то целью

и закрывают. (file - папка (англ)). Существуют три цели открытия

файла - для занасения в него данных (заново)

- для добавления в него данных (в конец)

- для извлечения из него информации.

BASIC PASCAL открыть

open "<имя>" for output as#1 rewrite(f) для записи

open "<имя>" for input as#1 reset(f) для чтения

open "<имя>" for append as#1 append(f) для добавления

close(#1) close(f) закрыть

После открытия файла стандартные команды получения и вывода информации,

при наличии указания на номер или имя канала связи, работают с файлом:

PRINT #1, A;B WRITE(f,A,B); WRITELN(f,A,B);

INPUT #1, X,Y READ(f,X,Y); READLN(f,X,Y);

В языке PASCAL файловая переменная перед использованием связывается

с именим файла - строкой знаков специальной командой ASSIGN(f,<имя>);

4 Связь с данными других типов.

Элементом текста является строка.

Возможны файлы данных любого вообразимого типа. В файле могут быть

несколько данных одного типа.

Файлы программ считаются двоичными. В них хранятся байты кодов команд

процессора (в двоичной форме).

Указатели

Динамическая память -- это оперативная память ПК, предоставляемая программе при ее работе, за вычетом сегмента данных (64 Кбайт), стека (обычно 16 Кбайт) и собственно тела программы. Размер динамической памяти можно варьировать в широких пределах. По умолчанию этот размер определяется всей доступной памятью ПК и, как правило, составляет не менее 200...300 Кбайт.





Дата публикования: 2015-11-01; Прочитано: 308 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.011 с)...