
Составить программу, которая выводит сведения об автомобилях, возраст которых больше 10 лет,
подсчитывает возраст этих автомобилей и количество таких автомобилей. Pascal ABCВвод данных с клавиатуры Написать программу которая будет выводить данные в виде таблицы.


Ответы на вопрос

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('-'); Writeln
end.
Пример
Год, на который производится расчет: 2016
Введите сведения об автомобиле
ФИО владельца (* - закончить ввод): Петров Г.В.
Марка автомобиля: Лада
Год выпуска: 2003
Номер автомобиля: С430АМ
Цвет кузова: Белый
Введите сведения об автомобиле
ФИО владельца (* - закончить ввод): 123456789012
Марка автомобиля: 123456789012
Год выпуска: 2000
Номер автомобиля: ХХХХХХ
Цвет кузова: 123456789012
Введите сведения об автомобиле
ФИО владельца (* - закончить ввод): *
Количество автомобилей старше 10 лет равно 2
--------------------------------------------------------------
ФИО Марка Год Номер Цвет Возраст
владельца автомобиля выпуска автомобиля кузова
--------------------------------------------------------------
Петров Г.В. Лада 2003 С430АМ Белый 13
123456789012 123456789012 2000 ХХХХХХ 123456789012 16
--------------------------------------------------------------
Замечание: у здешнего шрифта отвратительная манера все искажать (сколько не просили сделать возможность вывода моноширинным шрифтом - глухо). Посему истинная картинка дана во вложении.



Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili