Программирование на языке Object Pascal

Методическое пособие - Компьютеры, программирование

Другие методички по предмету Компьютеры, программирование

d:= 7; [исключенный элемент]

p:= -1;i:= 0 to n-1 dox=a[i] then p:=i;p=-1 then begin(такой элемент отсутствует);;;i:= p to n-1 do[i]:= a [i+1];(a,n-1);;

End;

5) Добавление элемента в отсортированный массив:

 

Var: array of integer;, p, x, i: integer;:= 100(a, n);i = 1 to n-1 do

a[i]:= random (101);;

max:= a[1], nmax:=1;i:= 1 to n-1 do begin

For j:= 2 to n do max a[i] then begin := a[i];[i]:= max;[nmax]:= temp;;:= a[i+1];:= i+1;

End;;:= StrToInt (Edit1. text);x<= a[0] then (a, n+1);i:=n-1 down to 0 do

a[i+1]:=a[i];[0]:=x;x>a [n-1] then begin(a, n+1);[n]:=x;;(x>=a[0]) and (x<=a[n-1]) then begini:= 0 to n-2 do

if (x>=a[i]) and (x<=a[i+1]) then

p:= i+1;i:= n-1 down to p do a[i+1]:= a[i]

a[p]:=x

End;

End;

 

) Пример алгоритма работы с множествами:

Программа выделяет из 1 сотни натуральных чисел (все простые числа). Алгоритм заимствован из приема Решето Эратосфена.

 

Const

N=100;

Type

SetOfNamber = set of 1..n;

Var, next, i: word;, PrimSet: SetOfNamber;:= [1..n];:=[1];:= 2;begin set n);;

 

) Заполнение случайным образом двумерного массива (матрицы):

 

Var: array [1..n; 1..m] of bytei:=1 to n doj:= 1 to m do

a[i, j]:= random (11);

 

Совместимость и преобразование типов.

Два типа являются совместными если:

Оба одинаковы;

Один тип является типом-диапазоном другого;

Оба вещественны;

Оба целые;

Оба являются типами-диапазонами одного и того же базового типа;

Оба являются множествами, составленными из элементов одного и того же базового типа.

Пусть t1 - тип переменной, а t2 - тип выражения. Операция t1:=t2 возможна, если выполняются перечисленные 6 правил и t1,t2 - не являются файлами, массивами файлов и записями, содержащими поля файлов. А так же диапазон t2 лежит внутри диапазона t1. Или существует функция преобразования типов.

 

t1:=t2,[где t1: integer; а t2: real ]

[integer:= round(real)]

 

4).Файлы.

Под файлами понимается либо именованная область внешней памяти ПВЭМ, либо логическое устройство, которое является потенциальным источником или приемником информации (адаптер интерфейса - USB…).

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

1.он обладает именем (это дает возможность работать одновременно с несколькими файлами в программе);

2.он содержит компоненты одного и того же типа (типом может быть любой тип OPascal кроме файла);

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

По способу организации файлы делятся на:

1.файлы прямого доступа;

2.файлы последовательного доступа.

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

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

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

В OPascal существует три типа файлов:

1.текстовые;

2.типизированные;

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

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

 

Доступ к файлам

 

Любые файлы и логические устройства становятся доступны в модуле после процедуры открытия.

Эта процедура заключается:

1.в связывании ранее объявленной файловой переменной с именем файла;

2.в открытии файла для чтения и (или) записи.

Файловая переменная (дескриптор файла).

Объявление файловой переменной.

 

Var

F: TextFile; {текстовый файл}

F1: file of integer; {типизированный файл}: file of string [20]; {типизированный файл}3: file; {не типизированный файл}

AssignFile - процедура связывания файловой переменной с именем файла:

AssignFile ();

Пример:

(f, c:\alpha.txt); (f1, PRN);

 

Именем файла может являться любое выражение строкового типа, которое строится по правилам определения имени в операционной системе Windows.

 

Логические устройства в OPascal

 

К ним относятся стандартные аппаратные средства (клавиатура, экран, принтер, коммуникационные каналы). Аппаратные средства определяются специальными именами и называются логическими устройствами:

CON - консоль (клавиатура / экран; допустима передача в двух направлениях);

PRN - принтер (допустима передача в одном направлении);

COM 1 = (AUX) - последовательный интерфейс;

COM 2 - последовательный интерфейс;

LPT 1 - параллельный интерфейс;

LPT 2 - параллельный интерфейс.

 

Инициализация файла

 

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

1.reset (); - открытие файла для чтения;

2.rewrite (); - открытие файла для записи (при открытии rewrite файл стирается и создается заново).

3.append (); - открытие файла для записи (при открытии append происходит добавление в файл; работает только для текстовых файлов).

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

 

Закрытие файла

 

Закрытие осуществляется с помощью процедуры CloseFile ().

Эта процедура закрывает файл, но закрывает связь файловой переменной с именем файла. При создании нового или расширении старого файла процедура CloseFile ?/p>