type vector=array [1..100] of real; {Описание типа Vector}
{Описание процедур и функций}
procedure vvod (var x: vector);
procedure add (x, y: vector; var z: vector);
procedure minis (x, y: vector; var z: vector);
procedure ymnchislo(x: vector; t: real; var z: vector);
function scalayr (x, y: vector):real;
function dlvec(x: vector):real;
procedure vivod(x: vector);
{Раздел реализации}
Implementation
procedure vvod; {Процедура ввода вектора}
var i:byte;
begin
writeln('Введите координаты вектора ');
for i:=1 to k do
readln(x[i]);
end;
procedure add; {Процедура суммы двух векторов}
var i: byte;
begin
for i:=1 to k do
z[i]:=x[i]+y[i];
end;
procedure minis; {Процедура разности двух векторов}
var i: byte;
begin
for i:=1 to k do
z[i]:=x[i]-y[i];
end;
procedure ymnchislo; {Процедура умножения вектора на число}
var i: byte;
begin
for i:=1 to k do
z[i]:=t*x[i];
end;
function scalayr; {Функция скалярного произведения двух ветров}
var i: byte;
sc: real;
begin
sc:=0;
for i:=1 to k do
sc:=sc + x[i]*y[i];
scalayr:=sc;
end;
function dlvec; {Функция вычисления длины вектора}
var i: byte;
s: real;
begin
for i:=1 to k do
s:= s+ sqrt(x[i]);
dlvec:= sqrt(s);
end;
procedure vivod; {Процедура вывода вектора на экран}
var i: byte;
begin
write(‘Координаты вектора: ');
for i:=1 to k do
write(x[i]:8:2);
writeln;
end;
end.
Файлы
В языке программирования Pascal предусмотрены специальные объекты (файлы), которые позволяют организовывать хранение информации на внешних запоминающих устройствах и доступ к этой информации.
Файл – совокупность данных, записанная во внешней памяти под определенным именем.
Целесообразность применения файлов диктуются следующими причинами (а) ввод больших объемов данных, подлежащих обработке, утомителен и требует большого времени. Гораздо удобнее создать определенный файл данных, который может быть подготовлен заранее и, самое главное, применяться неоднократно. (б) Файл данных может быть подготовлен другой программой, становясь, таким образом, связующим звеном между двумя разными задачами, а также средством связи программы с внешней средой. (в) Программа, использующая данные из файла, не требует присутствия пользователя в момент фактического исполнения.
Формат записи файла:
Type <имя типа>=<тип компонентов>;
var <F> : File of <имя типа>; {F – файловая переменная, представитель файла в паскале}
<R> : <имя типа>; {переменная доступа к полям записи}
Средства обработки файлов:
Процедура Assign(<Файловая переменная>; <полный путь к файлу >) – связывает файловую переменную с конкретным файлом на внешнем устройстве.
Процедура Reset(<файловая переменная>) – открывает уже существующий файл.
Процедура Rewrite(<файловая переменная>) – создает и открывает новый файл.
Процедура Close(<файловая переменная >) – закрывает открытый файл.
Процедура Rename(<файловая переменная >;<новое имя файла>) – переименование любого неоткрытого файла.
Условно файлы можно разделить на текстовые, типизированные и нетипизированные.
Текстовый файл – последовательность символов, разбитая на строки длиной от 0 до 256 символов. Для описания используется стандартный тип Text:
var F: text;
К типизированным файлам относят файлы строго определенного типа. Чаще всего это файлы, состоящие из записи.
Type FR= record
………
end;
var F: file of FR;
Нетипизированные файлы рассматриваются в Pascal как совокупность символов или байтов. для определения в программе нетипизированного файла служит зарезервированное слово File:
var F: file;
Пример: Прочитать последовательность 6 символов из первой строки текстового файла Input.txt, записать их в обратном порядке в файл Output.txt. Файл Input.txt создан на c:\temp\
program text_file;
var F, R: text;
st, ts: string[6];
i: byte;
begin
assign(F, 'c:\temp\Input.txt'); {связывает переменную F с файлом Input.txt}
reset(F); {открывает F для чтения}
assign(R, 'c:\temp\Output.txt'); {связывает переменную R с файлом Output.txt}
rewrite(R); {создает и открывает R для записи}
while not Eoln(F) do read(F, st); {Проверка конца файла, чтение из F в переменную st}
for i:= 6 downto 1 do ts:=ts+st[i]; {Создание строки перевертыша}
writeln(R, ts); {Запись в R значения переменной ts}