Файлы – упорядоченные наборы данных различного типа, хранящиеся в памяти.
В языке Pascalфайлы бывают:
1. Текстовые (типа Text).
2. Типизированные (типа File of …).
3. Нетипизированные (типа File).
Над текстовыми файлами обычно применяются следующие стандартные процедуры:
1. Assign(FP,F) – связь файловой переменной FP с именем файла F.
2. Reset(FP) – открытие файла, связанного с файловой переменной FP, для чтения.
3. ReWrite(FP) – открытие файла, связанного с файловой переменной FP, для записи новых данных с удалением старых.
4. Append(FP) – открытие файла, связанного с файловой переменной FP, для записи новых данных с добавлением к старым.
5. Close(FP) – закрытие файла, связанного с файловой переменной FP.
6. Read(FP,P1,…,PN) – ввод значений переменных P1, … , PN из файла, связанного с файловой переменной FP.
7. ReadLn(FP,P1,…,PN) – ввод значений переменных P1, … , PN из файла, связанного с файловой переменной FP, и перевод указателя в файле на новую строку.
8. Write(FP,V1,…,VN) – вывод значений выражений V1, … , VN в файл, связанный с файловой переменной FP.
9. WriteLn(FP,V1,…,VN) – вывод значений выражений V1, … , VN в файл, связанный с файловой переменной FP, и перевод указателя в файле на новую строку.
Задача 3.
Условие задачи. Ввести матрицу A размером 3´3 из файла a1.txt, заменить в ней элементы выше главной диагонали на нули, а затем вывести эту матрицу в файл a2.txt.
Программа.
Program z3;
Var
A:array[1..3,1..3] of real;
i,j:integer;
f1,f2:text;
Begin
assign(f1,'a1.txt');
assign(f2,'a2.txt');
reset(f1);
rewrite(f2);
for i:=1 to 3 do
for j:=1 to 3 do
read(f1,A[i,j]);
for i:=1 to 3 do
for j:=1 to 3 do
if i<j then A[i,j]:=0;
for i:=1 to 3 do
begin
for j:=1 to 3 do
write(f2,A[i,j]);
writeln(f2,'');
end;
close(f1);
close(f2);
readln;
End.
Контрольный пример.
Исходные данные:
.
Результаты:
.
Строка – упорядоченный набор символов в кавычках.
Описание строки в разделе описания переменных (Var) на языке Pascal имеет вид:
St : string [ NMax ] ;
где string – строка, St – имя строки, NMax – максимальное количество символов в строке.
Это означает, что переменная Stявляется строкой, которая может содержать от 0 до NMaxсимволов.
Описание символьной переменной в разделе описания переменных (Var) на языке Pascal имеет вид:
Ch : char ;
где char – символьный тип (character), Ch – имя символа.
Это означает, что переменная Chявляется символом.
Пример.
Var god : string[4];
bukva : char;
Это означает, что переменная god – строка, включающая максимум 4 символа, а переменная bukva – единичный символ.
Доступ к символу в строке имеет вид:
St [ Ind ]
где St – имя строки, Ind – индекс символа.
Это означает доступ к символу с номером Ind в строке St.
Пример.
god[3]
Это означает 3-й символ в строке god.
К строкам можно применять следующие операции:
+ (сцепление).
=(равно).
<>(не равно).
<(меньше).
>(больше).
<=(меньше или равно).
>=(больше или равно).
К строкам обычно применяют следующие стандартные функции:
1. Length(St) – длина строки St.
2. Concat(St1,…,StN) – соединение строк St1, …, StN.
3. Copy(St,Ind,N) – скопированные N символов из строки St, начиная с позиции Ind .
4. Pos(PodSt,St) – номер позиции, с которой начинается подстрока PodSt в строке St.
К строкам обычно применяют следующие стандартные процедуры:
1. Insert(PodSt,St,Ind) – вставка подстроки PodSt в строку St, начиная с позиции Ind .
2. Delete(St,Ind,N) – удаление N символов из строки St, начиная с позиции Ind .
Задача 4.
Условие задачи. Ввести строку с названием купленного товара. Если товар не является вещью, то объединить строку с названием товара и слово «вкусно».