
- •Переменные
- •Типы переменных и констант
- •Целые типы данных языка 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
Пример выполнения задания 10
Даны сведения о книгах: название, автор, год издания, цена. Вывести на экран название книги писателя, фамилия которого начинается с буквы «Т», и, кроме того, данные о самой дорогой книге.
Исходные данные можно ввести с клавиатуры(см. п. 5), но при работе с массивом из записей удобнее вводить данные из текстового файла, который подготовлен заранее.
Текстовый файл можно создать в редакторе Турбо Паскаля:
– в меню FILE выбрать NEW,
– ввести данные в соответствии с описанием полей записи,
– в конце последней строки обязательно нажать ENTER?
– записать файл в свою папку с именем, указанным в программе (в нашей программе имя файла kniga.txt).
Пусть в текстовый файл введены данные:
Евгений Онегин |
Пушкин А.С. |
2003 |
210 |
Война и мир |
Толстой Л.Н |
1998 |
190 |
Петр Первый |
Толстой А.Н |
1999 |
175 |
Степан Разин |
Чапыгин А.П. |
2000 |
120 |
15 символов |
12 символов |
число |
число |
program lab9;
uses crt;
type zap = record book:string[15];
name:string[12];
year:integer;
many:integer;
end;
var f: text;
i, n, k:integer;
max:integer;
kniga:array[1..100]of zap;
begin clrscr;
assign(f,'kniga.dat');
reset(f); n:=0;
while not eof(f) do
begin n:=n+1;
with kniga[n] do
readln(f, book, name, year, many);
end;
{Выбор книги писателя с фамилией, начинающейся на букву Т}
for i:=1 to n do
with kniga[i] do
if name[1]=’Т’ then writeln(book:15, name:16);
writeln;
{Выбор самой дорогой книги}
max:= kniga[1].many; k:=1;
for i:=1 to n do
with kniga [i] do
if many>max then
begin max:=many;
k:=i
end;
with kniga [k] do
writeln(‘Cамая дорогая книга: ’,
, name:15, adres:15 year:6, many:6);
readkey;
close(f);
end.
В результате работы программы на экране появится текст:
Война и мир Толстой Л.Н
Петр Первый Толстой А.Н.
Евгений Онегин Пушкин А.С. 2003 210
Тема 11 Типизированные файлы
Типизированные файлы состоят из машинных представлений чисел, символов и структур, из них построенных. Они хранят данные в том же виде, что и память ЭВМ. С помощью типизированных файлов можно осуществлять обмен данными только между дисками и рабочей памятью программы, но нельзя непосредственно вывести данные на экран ПК, принтер. Файлы могут быть заполнены данными в одной программе, а обрабатываться в другой.
Типизированные файлы определяют упорядоченные совокупности произвольного числа однотипных элементов с прямым (произвольным) и последовательным методом доступа.
Последовательный доступ состоит в том, что по файлу можно двигаться только последовательно, начиная с первого элемента, и, кроме этого, всегда существует возможность начать просмотр файла с его начала (аналог – магнитная лента).
Прямой (произвольный) доступ состоит в непосредственном поиске данных по заданному номеру или продвижении к заданному месту файла по номеру записи.
Файловый тип или переменную файлового типа можно задать с помощью ключевых слов file of и указания типа компонентов или в разделе описаний типов:
1) type fl = file of тип элементов;
var f1, f2 : fl ;
или в разделе описания переменных:
2) var f1, f2 : file of тип элементов;
Например:
type data = record day : 1..31;
month : 1..12;
year : integer
end;
fil1 = file of integer;
var f1, f2: file of data;
fn: fil1;
С переменной файлового типа связано понятие текущего указателя файла. При определении файловой переменной рождается скрытая переменная – текущий указатель. Текущий указатель показывает на некоторый конкретный элемент файла, с которым в данный момент можно производить действия, выполняемые поэлементно. В результате совершения операций текущий указатель может перемещаться, настраиваясь на тот или иной элемент файла. Все элементы считаются пронумерованными; начальный элемент имеет нулевой номер.
Все операции могут производиться лишь с элементами файлов. Нет таких операций, которые бы работали с целыми файлами, в том числе операций сравнения и операций присваивания значения одной файловой переменной другой файловой переменной. Например, не имеют смысла выражения:
f1:= f2; f1 > f2;.