Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Turbo Pascal Подпрограммы.




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

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

В Паскале два вида подпрограмм: процедуры и функции. Они имеют незначительные отличия в синтаксисе и правилах вызова. Процедуры и функции описываются в соответствующих разделах описания, до начала блока исполняемых операторов.

роцедура вызывается с помощью отдельного оператора, а функция - в правой части оператора присваивания, например:

inc(i); writeln(a, b, c); { вызовы процедур }

y:= sin(x) + 1; { вызов функции }

Внутри подпрограмм можно описывать другие подпрограммы. Они доступны только из той подпрограммы, в которой они описаны. Рассмотрим правила описания подпрограмм.

Процедуры

Структура процедуры аналогична структуре основной программы:

procedure имя [(список параметров)]; { заголовок }

Разделы описаний

Begin

Раздел операторов

End;

Функции

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

function имя [(список параметров)]: тип; { заголовок }

Разделы описаний

Begin

Раздел операторов

имя:= выражение;

End;

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

7. turbo pascal, visual basic.организация работы с файлами

ЯЗЫК ПРОГРАММИРОВАНИЯ VISUAL BASIC. ОБЩИЕ СВЕДЕНИЯ О ФАЙЛАХ

Процесс работы с файлами состоит из нескольких этапов:
получение дескриптора файла;
открытие файла;
чтение или запись файла;
закрытие файла.

Способ открытия файла с последовательным доступом (для чтения, записи или добавления) задается при вызове оператора открытия файла:

Open <ИмяФайла> For <Режим> As <Дескриптор Файла>,

где ИмяФайла определяет имя открываемого файла — это либо строка символов, заключенная в кавычки, либо выражение, значением которого является строка символов. Она представляет собой путь к открываемому файлу; режим — это режим доступа, который может иметь значения:

Input (Ввод) — если файл открывается для чтения из него текстовых данных;
Output (Вывод) — если файл открывается для записи в него данных, начиная с первой позиции. Вся имевшаяся в нем старая информация будет стерта;
Append (Дополнение) — если файл открывается для записи в него данных не с первой, а с конечной позиции, так что вся имевшаяся в нем старая информация будет сохранена.
ДескрипторФайла — целое число, по которому идентифицируется открываемый файл. Файловые номера используются при выполнении файловых операций в программе.

Все открытые файлы закрываются оператором:

Close [<СписокДескрипторов>]

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

Для записи в файл используются операторы;

Print # <ДескрипторФайла>, [<СписокЗначений>] Write.# <ДескрипторФайла>, [<СписокЗначений>],

где СписокЗначений — это записанные через разделитель значения (или выражения).

Оба оператора записывают данные в файл текстовыми строками. Текстовая строка — это последовательность символов, которая заканчивается символом перехода на яовую текстовую строку или символом возврата каретки (коды 13 и 10). Текстовый файл представляет собой последовательность текстовых строк.

При использовании оператора Write разделителем в списке значений является запятая. Список значений просматривается последовательно, и элементы этого списка записываются в одну текстовую строку файла через запятую. Элементы типа String заключаются в кавычки. После записи последнего элемента записывается символ перехода на новую строку.

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

— значения будут записываться подряд, без промежутков между ними;
— значения будут записываться в 14-символьные зоны вывода.
Кроме того, в списке значений оператора могут присутствовать функции:

Spc(n) — для вставки п пробелов между значениями в текстовой строке;
Tab(n) — для указания номера п позиции для записи следующего значения.
Для чтения из файла используются:

оператор Input # <ДескрипторФайла> <СписокПеременных>;
оператор Line Input # <ДескрипторФайла> <Переменная>;
функция Input (<ЧислоСимволов>, <дескриптор Файла>);
Оператор Input.
Список Переменных — это записанные через запятую переменные любого типа. В каждой текстовой строке файла количество и тип значений должны совпадать с количеством и типом переменных в списке переменных.

При использовании оператора Line Input Переменная — это переменная типа String или Variant. Результатом работы этого оператрра является присвоение Переменной значения — всей очередной текстовой строки файла.

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

Функции, используемые при обработке файлов:

EOF (<ДескрипторФайла>) — возвращает значение True, если обнаружен конец файла, и False — в противном случае;
LOР (<ДескрипторФайла>) — возвращает размер текстового файла в символах.
В файлах с произвольным доступом и в базах данных используются структуры данных, называемые пользовательским типом. Главное отличие этой структуры данных от ранее рассмотренных заключается в том, что она содержит отдельные данные, которые могут иметь разные типы. Такая структура данных называется записью, а отдельные компоненты этой структуры — полями записи.

Пользовательский тип данных объявляется следующим образом:

{Private| Public} Type <ИмяТипаДанных> <Элемент1> As <ТипЭлемента1>
<ЭлементN> As <ТипЭлементаN> End Type

ИмяТипаДанных — это имя, которое присваивается определяемому типу данных.

После определения пользовательского типа данных необходимо объявить переменные, которые будут иметь этот тип.

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

Open <ИмяФайла> For Random As #<Дескриптор-Файла> _Len = <ДлинаЗаписи>

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

ДлинаЗаписи — целое число. Оно должно быть равно длине переменной пользовательского типа, которая применяется для хранения одной.записи файла.

Для включения в файл произвольного доступа новой записи используется оператор:

Put # <ДескрипторФайла>, <НомерЗаписи>, <ИмяПеременной>

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

ИмяПеременной — это имя переменной пользовательского типа, значением которой является запись, помещаемая в файл.

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

Get # <ДескрипторФайла>, <НомерЗаписи>, <Имя-Переменной>

НомерЗаписи — это номер извлекаемой из файла записи..

ИмяПеременной — это имя переменной пользовательского типа, значением которой является запись, извлекаемая из файла.

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

• оператор переименования файла:

Name <СтароеИмя> As <НовоеИмя>

СтароеИмя и Новое Имя — строки, определяющие маршрут к файлу со старым именем и маршрут к этому же файлу с новым именем;

• оператор копирования файла:

FileCopy <ИмяИсходногоФайла>, <ИмяФайлаКопии>

ИмяИсходногоФайла и ИмяФайлаКопии — строки, определяющие маршрут к файлу-оригиналу и маршрут к создаваемой копии оригинала;

• оператор уничтожения файла:

Kill <ИмяУничтожаемогоФайла>

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

В качестве ключа сортировки можно выбрать как одно поле, так и объединение полей. Однако во многих случаях лучшим решением проблемы является введение специального поля (идентификационного номера записи). Это обычно число, которое однозначно определяет запись.

Для открытия двоичного файла применяется оператор:

Open <ИмяФайла> For Binary As # <ДескрипторФайла>

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

Запись данных в файл происходит при помощи оператора:

Put # <ДескрипторФайла>, <НомерБайта>, <ИмяПеременной>

НомерБайта — номер байта в файле, т. е. то место в файле, куда надо поместить данные.

Чтение данных из двоичного файла осуществляется оператором:

Get # <ДескрипторФайла>, <НомерБайта>, <ИмяПеременной>

НомерБайта — номер байта в файле, т. е. то место в файле, откуда надо прочитать данные.

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

 






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных