- •Переменные
- •Типы переменных и констант
- •Целые типы данных языка 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;