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

    question img

Ответы 1

  • 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--------------------------------------------------------------Замечание: у здешнего шрифта отвратительная манера все искажать (сколько не просили сделать возможность вывода моноширинным шрифтом - глухо). Посему истинная картинка дана во вложении.
    answer img
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years