Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
shpory_pechat.docx
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
379 Кб
Скачать
☆

47 Процедуры. Рекурсия.

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

PROCEDURE<имя><формальные параметры>;

В процедуру может ничего не передаваться:

Процедура не требует никаких данных и использует глобальные значения данных

Рекурсивной считается процедура, если в ней есть обращение к самой себе.

S=1+1/2+1/3+1/4…. Работа программы

program procedurе;

var sum:real; n:integer;

begin

if n=1 then sum:=1

else

begin

EGS(sum,n=1);

sum:=sum+1/n;

end;

End.

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

2 способа передачи данных между формальными и фактическими параметрами:1. По значению(фактич. параметры сохр. свое значение), 2. По адресу(для фактич и формальных параметров отводится отдельное место).

48 Встроенные (стандартный) процедуры и функции.

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

TURBO PASCAL вводит ряд процедур и функций, применимых для любых типов файлов: Assign, Reset, Rewrite, Close, Rename, Erase, Eof, IOResult.

Процедура Assign(FV, ‘TEST.PAS’) связывают конкретную переменную с местом, где она хранится.

Процедура Reset( FV ) открывает логический файл для последующего чтения данных или открывает входной файл. После успешного выполнения процедуры Reset файл готов к чтению из него первого элемента.

Процедура Rewrite( FV)открывает логический файл для последующей записи данных (открывает выходной файл). После успешного выполнения этой процедуры файл готов к записи в него первого элемента.

Процедура Close( FV ) закрывает открытый до этого файл. Вызов процедуры Close необходим при завершении работы с файлом. Логическая функция EOF( FV ): Boolean возвращает значение TRUE, когда при чтении достигнут конец файла. Это означает, что уже прочитан последний элемент в файле или файл после открытия оказался пуст.

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

Процедура Rename( FV; NewName: String ) позволяет переименовать используемый файл на диске. Переименование возможно после закрытия файла.

Процедура Erase( FV ) уничтожает физический файл на диске. Файл к моменту вызова процедуры Erase должен быть закрыт.

49 Примеры описания данных строкового типа.

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

Количество символов в строке может быть любым: от 1 до 255

Выражения,в которых операторы служат строковыми данными, наз. строковыми.

Над строковыми данными допустимы операции сцепления(+) - объединение нескольких строк в одну; отношения(<,>,=,<>,>=,=<) или сравнения.

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

Var <идентификатор> : string[<максимальная длина строки>];

Например:

Var Name : string[20].

Кроме того,для строковых данных используют специально строковые функции. Например:

Delete(St,Poz ,N)-удаление из строки St, начиная с позиции Poz N символов.

Пример:

Значение Str Выражение Результат

'abcdegft' Delete(Str, 2, 4) ‘agft’

‘Hello’ Delete(Str, 3, 2) ‘Heo’

Length-функция,возвращающая значение типа intrger,опредеояет длину строки Str.Пример:

Значение Str Выражение Результат

'abcd' Length(Str) 4

‘Hello!’ Length(Str) 6

Insert(St1,St2, Poz)-вставка строки St1 в строку St2,начиная с позиции Poz .

Пример:

Var Str1, str2, str3:string;

Str1:= ‘Hello’;

Str2:= ‘would’;

Str3:Insert();

COPY(St, Poz,N):string – выделяет из строки St,начиная с позиции Poz ,подстроку длиной N символов.

Пример:Миргородок-город(г-четвертая позиция)

COPY(St,4,5)

Concat(St1,St2, … ,StN:string):string – выполняетсцепление строк(+) в том порядке,в котором они записаны. Результирующая строка не должна превышать 256 символов.

Пример описания строк:

TYPE(раздел,где пользователь создает свои типы данных)

Name St2=string[30];

PhoneSt2=string[10];

Var

Name:St2;

Work Phone:PhoneSt2;

Adress:string. - -[по умолчанию принимается максимальная строка 256 символов.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]