Программирование на языке 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>