Лекция: Пример выполнения задания 10
Даны сведения о книгах: название, автор, год издания, цена. Вывести на экран название книги писателя, фамилия которого начинается с буквы «Т», и, кроме того, данные о самой дорогой книге.
Исходные данные можно ввести с клавиатуры(см. п. 5), но при работе с массивом из записей удобнее вводить данные из текстового файла, который подготовлен заранее.
Текстовый файл можно создать в редакторе Турбо Паскаля:
– в меню FILE выбрать NEW,
– ввести данные в соответствии с описанием полей записи,
– в конце последней строки обязательно нажать ENTER?
– записать файл в свою папку с именем, указанным в программе (в нашей программе имя файла kniga.txt).
Пусть в текстовый файл введены данные:
| Евгений Онегин | Пушкин А.С. | ||
| Война и мир | Толстой Л.Н | ||
| Петр Первый | Толстой А.Н | ||
| Степан Разин | Чапыгин А.П. | ||
| 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