- •Переменные
- •Типы переменных и констант
- •Целые типы данных языка 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
Примеры выполнения задания 9
Дан текстовый файл abc.txt. Удалить из каждой строки файла abc.txt все пробелы и расположить символы строки в обратном порядке.
Результат записать в файл def.txt.
Примечание. Формирование текстового файла с исходными данными abc.txt можно выполнить в любом текстовом редакторе, в том числе и в редакторе Турбо Паскаля.
Порядок создания файла:
-
войти в редактор Турбо Паскаля;
-
набрать несколько строк текста (в конце последней строки обязательно нажать Enter);
-
сохранить под именем: abc.txt.
program lab6;
uses crt;
var s : string;
f, g: text;
n,k,i:integer;
begin clrscr;
assign (f, abc.txt);
assign (g, def.txt);
reset (f); {открыть файл abc.txt на чтение}
rewrite (g); {открыть файл def.txt на запись}
while not eof (f) do
begin readln (f, s); {текущая строка файла запишется в ОЗУ в ячейку, отведенную под переменную s}
п := pos( ); {позиция первого по порядку пробела}
while n > 0 do
begin
delete(s, n, 1); {удаление пробела в позиции п}
п := pos( );
end;
{формирование новой строки s1 из символов строки s,
расположенных в обратном порядке}
k:=length(s);
for i:= 1 to k do
s1[i]:=s[k+1-i];
{запись строки s1 в файл g }
writeln(g, s1);
end; close(f); close(g);
end.
Тема 10
Работа с комбинированными типами данных
(Записями)
Общие сведения
Достаточно часто приходится обрабатывать данные об объектах, состоящих из элементов различных типов. Например, для такого объекта, как абитуриент, можно при описании использовать следующие характеристики
|
Фамилия |
Имя |
Отчество |
Год рождения |
Гражданство |
Телефон |
Факультет |
|
Иванов |
Сергей |
Петрович |
1990 |
Россия |
1234567 |
ФАВТ |
Для описания подобных объектов в Турбо Паскале используется специальный тип данных – запись.
Комбинированный тип данных или запись представляет собой совокупность ограниченного числа логически связанных компонент, принадлежащих к различным типам.
Компоненты записи называются полями, каждое из которых определяется именем, вслед за которым через двоеточие указывается тип этого поля. Поля записи могут относиться к любому типу, допустимому в языке Паскаль, за исключением файлового типа.
Описание записи начинается со служебного слова record, затем следует список полей с указанием их типов. Заканчивается описание записи словом end:
Record имя поля 1 : тип поля 1;
имя поля 2 : тип поля 2;
. . . . . . . . . . . . . . . . . . .
имя поля N : тип поля N
end;
Если типы нескольких полей совпадают, то имена полей перечисляются через запятую.
Рассмотрим примеры.
Представить комплексные числа А и В в виде записей (re + im*i), где re, im – вещественные числа, а также описать дату (число, месяц, год).
type comp = record
re, im: real
end;
data = record
day: 1..31;
month: 1..12;
year: integer
end;
var a, b: comp; dt: data;
