begin
mark:=StringGrid1.Cells[0,i];
year:=StrToInt(StringGrid1.Cells[1,i]);
price:=StrToInt(StringGrid1.Cells[2,i]);
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
var i, j : integer;
begin
j:=1;
for i:=1 to 10 do
with a1[i] do
if price < StrToInt(Edit1.Text) then
begin
StringGrid2.Cells[0,j]:=mark;
StringGrid2.Cells[1,j]:=IntToStr(year);
StringGrid2.Cells[2,j]:=IntToStr(price);
j:=j+1;
end;
end;
end.
Лабораторная работа №15
Используя тип массив записей, составить программу для учета и обработки данных об объектах, описанных в задании. Вывести на экран указанную информацию об объектах, удовлетворяющих указанному условию. Выполнить два варианта: один – в среде Pascal, другой – в среде Delphi.
№ | Формулировка задания |
1. | Вывести на экран данные об имеющихся в продаже квартирах (этаж, количество комнат, цена), общая площадь которых больше заданного пользователем числа |
2. | Вывести на экран данные о билетах на поезд (тип вагона, полка), цена которых не выше заданного пользователем числа |
3. | Вывести на экран данные о номерах гостинице (количество мест, класс номера, этаж), цена за сутки которого не меньше заданного пользователем числа |
4. | Вывести на экран данные об имеющихся в продаже книгах (автор, название, цена), принадлежащие заданной пользователем теме. |
5. | Вывести на экран данные о группах студентов (число студентов, фамилия старосты, специальность), год поступления которой задан пользователем. |
6. | Вывести на экран данные об абитуриентах (ФИО, дата рождения, номер школы), сумма полученных на вступительных экзаменах баллов которого больше заданного пользователем числа |
7. | Вывести на экран данные об имеющихся в продаже строительных материалах (производитель, цвет, коэффициент шумоизоляции), цена за квадратный метр которого не больше заданного пользователем числа |
8. | Вывести на экран данные о друзьях (ФИО, год рождения, домашний адрес, телефон), месяц рождения которых задан пользователем. |
9. | Вывести на экран данные о магазинах (режим работы, ФИО заведующей, адрес), телефон которых начинается с заданной пользователем цифры. |
10. | Вывести на экран данные об имеющихся в продаже радиотелефонах (цена, марка, цвет, производитель), радиус действия которого не меньше заданного пользователем числа |
11. | Вывести на экран данные о композициях (исполнитель, время звучания, наличие клипа), позиция в хит-параде которых выше заданного пользователем места. |
12. | Вывести на экран данные о рейсах самолетов (место назначения, авиакомпания), время вылета которых находится в диапазоне, указанном пользователем. |
13. | Вывести на экран данные о блюдах ресторана (название, калорийность, тип), время приготовления которых не превосходит возможное для пользователя время ожидания. |
14. | Вывести на экран данные о мониторах (производитель, тип излучателя, марка, срок службы, цена), у которых размер диагонали в дюймах находится в диапазоне, указанном пользователем. |
15. | Вывести на экран данные об имеющихся на складе парах обуви (размер, цвет, производитель), количество которых на складе не превосходит выбранного пользователем числа |
16. | Вывести на экран данные об олимпийских чемпионах (ФИО, вид спорта, страна, год получения первой медали) кратность чемпионства которых не меньше заданного пользователем числа. |
17. | Вывести на экран данные о рабочих (ФИО, цех, специальность), отработанные часы за неделю которых не меньше заданного пользователем числа. |
18. | Вывести на экран данные об актерах (ФИО, страна, пол), у которых количество фильмов с их участием и награжденных какой-либо премией не меньше заданного пользователем числа. |
19. | Вывести на экран данные о животных зоопарка (кличка, вид, вес), суточная норма корма которых не превышает заданных пользователем килограммов. |
20. | Вывести на экран данные о подводных лодках (тип, номер, порт прикрепления), водоизмещение которых находится в указанном пользователем диапазоне. |
21. | Вывести на экран данные о школах (название, адрес, ФИО директора), ученики которой заняли 1-ое место по выбранному пользователем предмету. |
22. | Вывести на экран данные о маршрутах автобусов (количество автобусов на данном маршруте, номер автопарка, названия конечных остановок), имеющих максимальную и минимальную протяженности. |
23. | Вывести на экран данные об участвующих в выборах кандидатов (ФИО, возраст, партийная принадлежность), участвующих в наибольшем количестве выборах. |
24. | Вывести на экран данные о передачах новостей (время выхода в эфир, название канала, ФИО ведущего), заканчивающегося не позднее времени, определенного пользователем |
25. | Вывести на экран данные о заводах (название, отрасль, адрес), у которых среднегодовой доход превышает средний арифметический доход рассматриваемых заводов. |
Файлы
Объявление файлов
Файл – это совокупность данных, размещенных на внешнем носителе. Данные в файле называются элементами. Количество данных в файле, в отличии от массива, в описании файла не указывают. Элемент файлы не имеет индекса. Тип элемента может быть как простым, так и сложным, но не может быть файлом.
Синтаксис объявления файлового типа данных:
- в разделе описания типов
type ИмяТипа = file of БазовыйТип;
- в разделе объявления переменных
var СписокПеременных: file of БазовыйТип
Например,
type myfile = file of integer;
list = file of string[20];
var file1, file2 : myfile;
friends: list;
command: file of boolean;
Для обработки файла его необходимо сначала открыть, выполнить нужные действия и закрыть.
Для определения достижения конца файла используется стандартная логическая функция:
eof(ИмяФайла);
При достижении конца файла значение функции становится равной true.
Пример
Создать файл записей с информацией о автомобилях: марка (mark), объем двигателя (volume), мощностью двигателя (power) и максимальная скорость (speed). Вывести содержимое на экран. При обработке
Код программы в среде Pascal
program Cars;
uses Crt;
type cars – record
mark: string[15];
volume, power, speed : real;
end;
myfile = file of cars;
var f1: myfile;
i, n :integer
с1: cars;
begin
clrscr;
writeln(‘Введите количество автомобилей’);
readln(n);
assign(f1, ‘d:\cars’);
{Открывается файл для записи данных}
rewrite(f1);
for i:=1 to n do
begin
writeln(‘введите марку машины’);
readln(c1.mark);
writeln(‘введите объем двигателя’);
readln(c1. volume);
writeln(‘введите мощность двигателя’);
readln(c1. power);
writeln(‘введите скорость’);
readln(c1. speed);
write(f1,c1);
end:
close(f1);
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |


