Другие языки программирования и технологии
Помогите в решении задачи на Pascal
Цель: Создать не текстовый файл car.dat, содержащий информацию о машинах (марка,год выпуска,цвет,номер). Переписать в текстовый файл информацию о машинах черного цвета, упорядоченную в порядке убывания года выпуска. Вывести на экран марки машин, номера которых начинаются на букву М.
Доброго времени суток.
Объявляете пользовательский тип - запись
type
TCar = record
Model : String[10];
Year : Word;
Color : String[10];
Number : String[10];
end;
Объявляете переменную такого типа
var
Car : TCar;
F : file of TCar;
А потом что-то типа такого.
Assign(F, 'Car.dat');
Rewrite(F);
Write('Введите количество записей : ');
ReadLn(N);
for i:=1 to N do begin
Write('Модель : ');
ReadLn(Car.Model);
Write('Год выпуска : ');
ReadLn(Car.Year);
Write('Цвет : ');
ReadLn(Car.Color);
Write('Номер : ');
ReadLn(Car.Number);
Write(F, Car)
end;
Close(F);
Все, файл создан. Дальше открываете его в этой же или другой программе, определяете количество записей
Size := FileSize(F);
А дальше обрабатываете в соответствии с заданием. Вот пример из другой программы сортировки по полю (здесь q и q1 переменные типа запись) . Вам надо сделать то же самое, но по полю Year.
{сортировка файла по полю "автор"}
for i := 1 to Size do
for j := 1 to Size - i do begin
Seek(F, j-1); {позиционируем на запись}
Read(F, q); {читаем ее}
Read(F, q1); {и следующую}
if q.avtor < q1.avtor then begin
{меняем записи местами}
Seek(F, j-1);
Write(F,q1);
Write(F,q);
end;
end;
После сортировки читаете записи и если поле Color = 'черный', то выводите эту запись в текстовый файл. Аналогично с выводом на экран автомобилей с номерами на "М"
Удачи!
Объявляете пользовательский тип - запись
type
TCar = record
Model : String[10];
Year : Word;
Color : String[10];
Number : String[10];
end;
Объявляете переменную такого типа
var
Car : TCar;
F : file of TCar;
А потом что-то типа такого.
Assign(F, 'Car.dat');
Rewrite(F);
Write('Введите количество записей : ');
ReadLn(N);
for i:=1 to N do begin
Write('Модель : ');
ReadLn(Car.Model);
Write('Год выпуска : ');
ReadLn(Car.Year);
Write('Цвет : ');
ReadLn(Car.Color);
Write('Номер : ');
ReadLn(Car.Number);
Write(F, Car)
end;
Close(F);
Все, файл создан. Дальше открываете его в этой же или другой программе, определяете количество записей
Size := FileSize(F);
А дальше обрабатываете в соответствии с заданием. Вот пример из другой программы сортировки по полю (здесь q и q1 переменные типа запись) . Вам надо сделать то же самое, но по полю Year.
{сортировка файла по полю "автор"}
for i := 1 to Size do
for j := 1 to Size - i do begin
Seek(F, j-1); {позиционируем на запись}
Read(F, q); {читаем ее}
Read(F, q1); {и следующую}
if q.avtor < q1.avtor then begin
{меняем записи местами}
Seek(F, j-1);
Write(F,q1);
Write(F,q);
end;
end;
После сортировки читаете записи и если поле Color = 'черный', то выводите эту запись в текстовый файл. Аналогично с выводом на экран автомобилей с номерами на "М"
Удачи!
Чуваг, сразу 2 вопроса по ходу:
1) Что за "не текстовый" должен быть файл;
2) По какому предмету задача.
Ни фига не понятно.
1) Что за "не текстовый" должен быть файл;
2) По какому предмету задача.
Ни фига не понятно.
Похожие вопросы
- Помогите разобраться с задачей по PASCAL
- Помогите с решение задачи по информатике!!!
- Помогите пожалуйста решить задачу в Pascal ABC
- Помогите пожалуйста написать задачи на "Pascal"? Хотя бы несколько.
- Помогите с составлением задач в Pascal ABC!!Срочно!
- Помогите пожалуйста решить задачу в Pascal
- Помогите с решением задачи на C++
- помогите с решением задачи на языке делфи..задача ниже
- помогите с решение задачи на Турбо паскале
- помогите в решении задачи, программу надо написать в турбо паскале