const kk=100; // макксимальное количество старых автомобилейtype tAuto=record FIO:string[12]; // ФИО владельца Marka:string[12]; // Марка автомобиля GodV:integer; // Год выпуска GosNom:string[6]; // Номер автомобиля Color:string[12] // Цвет end;var Cars:array[1..kk] of tAuto; k:integer; // количество старых автомобилей year:integer; // год, на который производится расчет i:integer; begin k:=0; Write('Год, на который производится расчет: '); Readln(year); // Далее глупый ввод данных, но он так сделан из-за кривой // постановки задачи. Нам надо отобрать из всех автомобилей // часть по условию, но для этого надо иметь сведения обо всех этих // авомобилях. В реальности, конечно, читается готовый файл // и из него делается отбор, а тут чтение из файла имитируется // вводом с клавиатуры. Фактически, вместо того, чтобы сразу ввести год // выпуска и прервать дальнейший ввод сведений по автомобилю, // если он не попадает в выборку, мы вводим все, а уж потом лишние // бракуем. // Фактически, изначально приучаем школьников делать, как не надо. repeat Inc(k); Writeln('Введите сведения об автомобиле'); Write('ФИО владельца (* - закончить ввод): '); Readln(Cars[k].FIO); if Cars[k].Fio[1]='*' then begin Dec(k); Break end; Write('Марка автомобиля: '); Readln(Cars[k].Marka); Write('Год выпуска: '); Readln(Cars[k].GodV); Write('Номер автомобиля: '); Readln(Cars[k].GosNom); Write('Цвет кузова: '); Readln(Cars[k].Color); if year-Cars[k].GodV<=10 then Dec(k) until k=kk; // ограничение на переполнение массива // Теперь Cars[] содержит сведения о k автомобилях для вывода Writeln; Writeln('Количество автомобилей старше 10 лет равно ',k); if k=0 then Exit; // На нет и суда нет for i:=1 to 62 do Write('-'); Writeln; Write(' ФИО Марка Год Номер Цвет'); Writeln(' Возраст'); Writeln(' владельца автомобиля выпуска автомобиля кузова'); for i:=1 to 62 do Write('-'); Writeln; for i:=1 to k do With Cars[i] do Writeln(FIO:12,' ',Marka:12,GodV:6,' ',GosNom:6,' ', Color:12,year-GodV:3); for i:=1 to 62 do Write('-'); Writelnend.ПримерГод, на который производится расчет: 2016Введите сведения об автомобилеФИО владельца (* - закончить ввод): Петров Г.В.Марка автомобиля: ЛадаГод выпуска: 2003Номер автомобиля: С430АМЦвет кузова: БелыйВведите сведения об автомобилеФИО владельца (* - закончить ввод): 123456789012Марка автомобиля: 123456789012Год выпуска: 2000Номер автомобиля: ХХХХХХЦвет кузова: 123456789012Введите сведения об автомобилеФИО владельца (* - закончить ввод): *Количество автомобилей старше 10 лет равно 2-------------------------------------------------------------- ФИО Марка Год Номер Цвет Возраст владельца автомобиля выпуска автомобиля кузова-------------------------------------------------------------- Петров Г.В. Лада 2003 С430АМ Белый 13123456789012 123456789012 2000 ХХХХХХ 123456789012 16--------------------------------------------------------------
Замечание: у здешнего шрифта отвратительная манера все искажать (сколько не просили сделать возможность вывода моноширинным шрифтом - глухо). Посему истинная картинка дана во вложении.