
- •Переменные
- •Типы переменных и констант
- •Целые типы данных языка Turbo Pascal
- •Стандартные математические функции, используемые
- •Арифметические выражения
- •Операторы
- •Оператор присваивания
- •Ввод и вывод результатов вычислений
- •Общая структура программы на Turbo Pascal
- •Пример выполнения задания 1
- •Тема 2 Логические выражения Условный оператор
- •Условный оператор
- •Пример выполнения задания 2
- •Тема 3 Использование циклических структур. Операторы цикла с предусловием и с постусловием
- •Оператор цикла с предусловием
- •Оператор цикла с постусловием
- •Пример выполнения задания 3
- •Тема 4 Использование циклических структур. Оператор цикла с параметром
- •Пример выполнения задания 4
- •Тема 5 Использование и обработка одномерного массива
- •Описание одномерного массива
- •Часто встречающиеся задачи на одномерный массив
- •Пример выполнения задания 5
- •Тема 6 Использование и обработка двумерного массива
- •Задачи с использованием главной или побочной диагонали матрицы
- •Пример выполнения задания 6
- •Тема 7 Организация программ с использованием функций
- •Пример выполнения задания 7
- •Тема 8 Организация программ с использованием процедур
- •Параметры
- •Пример выполнения задания 8
- •Тема 9 Текстовые файлы
- •Символьный тип данных
- •Операции над строками
- •Особенности работы со строками
- •Редактирование строк
- •Сору (s:string; start, len:integer):string;
- •Преобразование строк
- •Процедуры и функции для работы с текстовыми файлами
- •Примеры выполнения задания 9
- •Тема 10
- •Работа с комбинированными типами данных
- •(Записями)
- •Общие сведения
- •Особенности работы с записями
- •Пример выполнения задания 10
- •Тема 11 Типизированные файлы
- •Процедуры и функции для работы с типизированными файлами
- •Прямой доступ к элементам файла
- •Примеры выполнения задания 11
Пример выполнения задания 8
Даны две вещественные матрицы a(7, 7) и b(5, 5). Из отрицательных элементов матрицы а сформировать одномерный массив с, а из отрицательных элементов матрицы b сформировать одномерный массив d.
В программе использовать три процедуры:
– для ввода матриц,
– для формирования одномерных массивов,
– для вывода одномерных массивов.
program lab5;
uses crt;
const n=7;
type matr=array [1..n, 1..n] of real;
vect = array[l..n*n] of real;
var a, b:matr; c, d:vect; t, q:integer;
{процедура для ввода квадратной матрицы с фиктивным именем х с числом строк k и с числом столбцов k, где k <= п}
procedure vvod (var x:matr; k:integer);
var i, j:integer:
begin
for i:=1 to k do
for j:=1 to k do read(x[i, j]);
end;
{процедура вывода одномерного массива с фиктивным именем y с числом элементов т, где т <= п*п}
procedure vyvod (y:vect; m:integer);
var i:integer:
begin
for i := 1 to m do write(y[i]:6:2);
writeln
end;
{процедура формирования из матрицы х(k, k) одномерного массива у(т)}
procedure form (x:matr; k:integer; var у:vect; var m:integer);
var i ,,j:integer:
begin m:=0;
for i:=1 to k do
for j:=1 to k do
if x [i, j] <0 then
begin m:=m + 1;
y[m]:=x[i, j]
end
end;
{раздел операторов основной программы}
begin clrscr;
writeln (введите элементы матрицы а(7, 7));
vvod (a, 7);
writeln (введите элементы матрицы b(5, 5));
vvod (b, 5);
form(a, 7, с, t);
writeln (вывод одномерного массива с длиной t
элементов);
vyvod(c, t);
form (b, 5, d, q);
writeln (вывод одномерного массива d длиной
q элементов);
vyvod (d, q);
readkey
end.
Тема 9 Текстовые файлы
Файловый тип данных, т. е. файл, является в Турбо Паскале единственным типом, посредством которого данные, обрабатываемые программой, могут быть получены из внешней памяти (например, с жесткого диска), а результаты могут быть переданы во внешнюю память. Файл связывает программу с внешними устройствами компьютера.
Текстовым файлом называется упорядоченная совокупность произвольного числа однотипных элементов с последовательным методом доступа. Элементами текстового файла являются символы, которые могут быть разделены на строки разной длины, причем в конце каждой стоит символ конца строки.
Бытовые примеры текстовых файлов просты. Если файл можно вывести на экран в текстовом режиме и прочитать его, то это – текстовый файл.
Для работы с текстовыми файлами необходимо определить файловую переменную:
type textfile = text;
var f:textfile;
или
var f:text;
Заметим, что слово text является не зарезервированным словом, а идентификатором стандартного типа, наряду с real, integer и т. п.
Любой файл имеет три характерные особенности.
Во-первых, у него есть имя, что даст возможность работать одновременно с несколькими файлами.
Во-вторых, он содержит элементы одного типа.
В-третьих, длина вновь создаваемого файла никак не оговаривается при его объявлении и ограничивается только емкостью устройства внешней памяти. Так как число элементов файла заранее неизвестно, поэтому в конце файла автоматически формируется признак конца файла.
Последовательный доступ состоит в том, что по файлу можно двигаться только последовательно, начиная с первого его элемента, и кроме этого всегда существует возможность начать просмотр файла с его начала. Таким образом, всегда доступен лишь очередной его элемент. Если в процессе решения задачи необходим какой-либо из предыдущих элементов, то необходимо вернуться в начало файла и последовательно пройти все элементы до нужного.
Все операции могут производиться лишь с элементами файлов. Нет таких операций, которые бы работали с целыми файлами, в том числе операций сравнения и операций присваивания значения одной файловой переменной другой файловой переменной. Обработку текстового файла с символьной информацией можно производить посимвольно или построчно.