Процедура Cjrrect(j,i)

domains
        z,n,dvig,god,n1,shasi,i=integer
        j,mark,znac,fam,ima,otc,ucet=string

database -avto1
          avto1(i,j,i,i,i,j,j,j,j,j)
database -avto2
          avto2(i,j,i,i,i,j,j,j,j,j)
database -avto3
          avto3(i,j,i,i,i,j,j,j,j,j)
database
         avto(i,j,i,i,i,j,j,j,j,j)

        predicates

        nachalo
        mainmenu
        zagruz
        choice1(i)
        correct(i,i)
        rabota(i)
        rabota1(i)
        savebase(i)
        loadbase(i)
        povtor
        sbros(j,j,j)
        sbros1(j,i,i)

goal
        nachalo.

clauses

/*Процедура создания основного меню и загрузки базы данных*/

        nachalo:            makewindow(1,7,7,"ТЕХ. ПАСПОРТ АВТОМОБИЛЯ",0,0,25,80),
            clearwindow,zagruz,
            mainmenu.

/*Процедура управления основным меню*/

        mainmenu:            povtor,
            cursor(7,0),
            write("                     0 - О пpогpамме...  "),nl,
          write("                     1 - коррекция данных"),nl,
            write("                     2 - удаление данных"),nl,
           write("                     3 - просмотр базы"),nl,
            write("                     4 - загрузка базы"),nl,
            write("                     5 - сохранение базы"),nl,
            write("                     6 - создание новой базы"),nl,
            write("                     7 - ввод новых данных"),nl,
           write("                     8 - просмотр-добавление"),nl,
           write("                     9 - выход из программы"),nl,
           write("                     =>"),
            readint(Vibor),
            Vibor >= 0,
            Vibor < 10,
            clearwindow,
            rabota(Vibor),
            clearwindow,
            Vibor = 9,
            retractall(_),
            removewindow.
/*Процедура поиска и загрузки файла содержащего базу данных*/
        zagruz:             existfile("avto.dat"),
            consult("avto.dat"),
            cursor(1,2),
            write("База загружена").
        zagruz:            cursor(1,2),
            write("Нет базы на диске").

/*Пpоцедуpа ввода новых данных*/

        rabota(7):         makewindow(1,7,7,"Ввод новых данных",0,0,25,80),
            nl,
         WRITE("Введите порядковый номер    :"),readint(K),nl,
         write("Введите МАРКУ               :"),readln(F),nl,
         write("Введите ГОД ВЫПУСКА         :"),readint(Y),nl,
         write("Введите N ДВИГАТЕЛЯ         :"),readint(J),nl,
         write("Введите N ШАССИ             :"),readint(G),nl,
         write("Введите НОМЕРНОЙ ЗНАК       :"),readln(W),nl,
         write("Введите ФАМИЛИЮ             :"),readln(B),nl,
         write("Введите ИМЯ                 :"),readln(C),nl,
         write("Введите ОТЧЕСТВО            :"),readln(D),nl,
         write("Введите РАЙОН УЧЕТА         :"),readln(R),nl,
   N1=K,MARK1=F,GOD1=Y,DVIG1=J,SHASI1=G,ZNAC1=W,
   FAM1=B,IMA1=C,OTC1=D,UCET1=R,
   assertz(avto(N1,MARK1,GOD1,DVIG1,SHASI1,ZNAC1,FAM1,IMA1,OTC1,UCET1)),
   removewindow, fail.
/*Процедура просмотра-добавления*/

        rabota(8):          makewindow(1,7,7,"Просмотр-добавление",0,0,25,80),
         nl,
        write("Введите номер записи:"),readint(A),nl,nl,
         avto(N,MARK,GOD,DVIG,SHASI,ZNAC,FAM,IMA,OTC,UCET),
         A=N,
          write("НОМЕР ЗАПИСИ        :"),write(N),nl,
           write("МАРКА               :"),write(MARK),nl,
           write("ГОД ВЫПУСКА         :"),write(GOD),nl,
            write("N ДВИГАТЕЛЯ         :"),write(DVIG),nl,
            write("N ШАССИ             :"),write(SHASI),nl,
            write("НОМЕРНОЙ ЗНАК       :"),write(ZNAC),nl,
            write("ФАМИЛИЯ             :"),write(FAM),nl,
            write("ИМЯ                 :"),write(IMA),nl,
            write("ОТЧЕСТВО            :"),write(OTC),nl,
            write("РАЙОН УЧЕТА         :"),write(UCET),nl,nl,
            readchar(_),
            removewindow,
            !.
         rabota(8): write("Этого номера записи нет в базе."),
write("Повторите введенный номер записи и продолжайте ввод данных"),
nl,nl,nl,
write("Введите номер:"),
         readint(A),nl,
         N1=A,
           write("МАРКА               :"),readln(F),nl,
            write("ГОД ВЫПУСКА         :"),readint(Y),nl,
            write("N ДВИГАТЕЛЯ         :"),readint(J),nl,
            write("N ШАССИ             :"),readint(G),nl,
            write("НОМЕРНОЙ ЗНАК       :"),readln(W),nl,
            write("ФАМИЛИЯ             :"),readln(B),nl,
            write("ИМЯ                 :"),readln(C),nl,
            write("ОТЧЕСТВО            :"),readln(D),nl,
            write("РАЙОН УЧЕТА         :"),readln(R),nl,

   MARK1=F,GOD1=Y,DVIG1=J,SHASI1=G,ZNAC1=W,FAM1=B,IMA1=C,OTC1=D,UCET1=R,
   assertz(avto(N1,MARK1,GOD1,DVIG1,SHASI1,ZNAC1,FAM1,IMA1,OTC1,UCET1)),
         removewindow,
         fail.

/*Пpоцедуpа вывода данных о пpогpамме*/
         rabota(0):          makewindow(1,54,7,"О пpогpамме...",5,5,20,50),
write("  Инфоpмационно-спpавочная система"),nl,nl,
write(" о техническом паспорте автомобиля "),nl,nl,
write("      Язык-TURBO-PROLOG v.2.0.     "),nl,nl,
write("          автоp:ТАРАСОВ М.         "),nl,nl,
write("    МИРЭА, гp.ИИ-1-95  (с) 1996 г. "),nl,nl,nl,
write("       Нажмите на любую клавишу"),
         readchar(_),
         removewindow.

/*Процедура удаления записей из базы данных*/
        rabota(2):             makewindow(1,7,7,"Удаление записей",0,0,25,80),
            nl,
            choice1(N),
            X=N,
            avto(X,MARK,GOD,DVIG,SHASI,ZNAC,FAM,IMA,OTC,UCET),
            retract(avto(X,MARK,GOD,DVIG,SHASI,ZNAC,FAM,IMA,OTC,UCET)),!,
            removewindow.

/*Процедура просмотра содержимого базы данных*/
        rabota(3):         makewindow(1,7,7,"Просмотp базы",0,0,25,80),
        nl,
write(" ╔═════════════════════════════════════════════════════════╗"),nl,
write(" ║             ТЕХ. ПАСПОРТ АВТОМОБИЛЯ                 ║"),nl,
write(" ╠══╦═════════╦═════╦═════╦═════╦════════╦═══════╦═════════╣"),nl,
write(" ║N°║ МАРКА   ║ ГОД ║ N°  ║ N°  ║ НОМЕРН ║Ф.И.О  ║ РАЙОН   ║"),nl,
write(" ║  ║АВТОМОБИЛ║ВЫПУС║ДВИГ ║ШАССИ║ ЗНАК   ║       ║ УЧЕТА   ║"),nl,
write(" ╠══╬═════════╬═════╬═════╬═════╬════════╬═╦═════╬═════════╣"),nl,
           avto(N,MARK,GOD,DVIG,SHASI,ZNAC,FAM,IMA,OTC,UCET),
            cursor(Z,_),cursor(Z,1),write("║"),
            cursor(Z,2),write(N),cursor(Z,4),write("║"),
            cursor(Z,5),write(MARK),cursor(Z,14),write("║"),
            cursor(Z,15),write(GOD),cursor(Z,20),write("║"),
            cursor(Z,21),write(DVIG),cursor(Z,26),write("║"),
            cursor(Z,27),write(SHASI),cursor(Z,32),write("║"),
            cursor(Z,33),write(ZNAC),cursor(Z,41),write("║"),
            cursor(Z,42),write(FAM),cursor(Z,49),write("║"),
            cursor(Z,50),write(IMA),cursor(Z,58),write("║"),
            cursor(Z,59),write(OTC),cursor(Z,66),write("║"),
            cursor(Z,67),write(UCET),
            cursor(Z,76),write("║"),
            nl,
            fail.
        rabota(3): write(" ╠══╬═════════╬═════╬═════╬═════╬════════╬══╬═══════╬═════════╣"),
nl,
write("Нажмите на любую клавишу"),
           readchar(_),
            removewindow.
/*Процедура загрузки в память базы данных*/
        rabota(4):            nl,
            makewindow(2,15,4,"Загрузка",5,5,20,70),
            write("1 - База будет загружена из указанного файла"),nl,
            write("2 - База будет загружена из файла avto.dat"),nl,
            write("3 - Выход в основное меню"),nl,
            write("==>"),
            readint(C),
            C>0,C<4,
            loadbase(C),
            !,
            removewindow.
/*Процедура сохранения базы данных*/
        rabota(5):            nl,
            makewindow(2,15,4,"Запись",5,5,20,70),
            write("1 - База будет записана в указанный файл"),nl,
            write("2 - База будет записана в файл avto.dat"),nl,
            write("3 - Выход в основное меню"),nl,
            write("==>"),
            readint(I),
            I>0,I<4,
            savebase(I),!,
            removewindow.

 /*Процедура выбора создания новой базы*/
        rabota(6):            nl,
            makewindow(3,7,7,"Создание новой базы",0,0,25,80),
            write(" 1 - По марке автомобиля"),nl,
            write(" 2 - По году выпуска"),nl,
            write(" 3 - По району учета"),nl,
            write(" 4 - Выход в основное меню"),nl,
            write("==>"),
            readint(O),
            O>0,O<5,
            rabota(O),
            removewindow.

/*Процедура изменения содержимого записей базы данных*/
        rabota(1):         makewindow(1,7,7,"Коppекция данных",0,0,25,80),
            nl,
            choice1(N),
            X=N,
            avto(X,MARK,GOD,DVIG,SHASI,ZNAC,FAM,IMA,OTC,UCET),
            write("НОМЕР ЗАПИСИ        :"),write(N),nl,
            write("МАРКА               :"),write(MARK),nl,
            write("ГОД ВЫПУСКА         :"),write(GOD),nl,
            write("N ДВИГАТЕЛЯ         :"),write(DVIG),nl,
            write("N ШАССИ             :"),write(SHASI),nl,
            write("НОМЕРНОЙ ЗНАК       :"),write(ZNAC),nl,
            write("ФАМИЛИЯ             :"),write(FAM),nl,
            write("ИМЯ                 :"),write(IMA),nl,
            write("ОТЧЕСТВО            :"),write(OTC),nl,
            write("РАЙОН УЧЕТА         :"),write(UCET),nl,nl,
            write("Введите МАРКУ             :"),readln(MARK1),nl,
            write("Введите ГОД ВЫПУСКА       :"),readln(GOD1),nl,
            write("Введите N ДВИГАТЕЛЯ       :"),readln(DVIG1),nl,
            write("Введите N ШАССИ           :"),readln(SHASI1),nl,
            write("Введите НОМЕРНОЙ ЗНАК     :"),readln(ZNAC1),nl,
            write("Введите ФАМИЛИЮ           :"),readln(FAM1),nl,
            write("Введите ИМЯ               :"),readln(IMA1),nl,
            write("Введите ОТЧЕСТВО          :"),readln(OTC1),nl,
            write("Введите РАЙОН УЧЕТА       :"),readln(UCET1),nl,
            X1=X,
            retract(avto(X,MARK,GOD,DVIG,SHASI,ZNAC,FAM,IMA,OTC,UCET)),
            sbros(MARK1,MARK,MARK2),
            sbros1(GOD1,GOD,GOD2),
            sbros1(DVIG1,DVIG,DVIG2),
            sbros1(SHASI1,SHASI,SHASI2),
            sbros(ZNAC1,ZNAC,ZNAC2),
            sbros(FAM1,FAM,FAM2),
           sbros(IMA1,IMA,IMA2),
            sbros(OTC1,OTC,OTC2),
            sbros(UCET1,UCET,UCET2),
            assertz(avto(X1,MARK2,GOD2,DVIG2,SHASI2,ZNAC2,FAM2,
                                                 IMA2,OTC2,UCET2)),
            !,
            removewindow.
            rabota(_).

      sbros("",MARK,MARK2):            MARK2=MARK,
            !.

      sbros(MARK1,_,MARK2):            MARK2=MARK1,
            !.

      sbros1("",MARK,MARK2):            MARK2=MARK,
            !.
      sbros1(MARK1,_,MARK2):            str_int(MARK1,MARK3),
            MARK2=MARK3,
           !.
/*Процедура создания новой базы данных и ее сохранения*/

      rabota1(1):   makewindow(1,7,7,"Создание новой базы по марке автомобиля",0,0,25,80),
            nl,
            cursor(7,10),
            retractall(_,avto1),
            nl,
            write("Введите марку автомобиля:"),
            readln(X),
            avto(N,MARK,GOD,DVIG,SHASI,ZNAC,FAM,IMA,OTC,UCET),
            S=MARK,
            S=X,
            N1=N,GOD1=GOD,DVIG1=DVIG,SHASI1=SHASI,
            ZNAC1=ZNAC,FAM1=FAM,IMA1=IMA,OTC1=OTC,UCET1=UCET,
            assert(avto1(N1,S,GOD1,DVIG1,SHASI1,ZNAC1,FAM1,
                                          IMA1,OTC1,UCET1)),
            fail.
     rabota1(1): write("База создана"),nl,
write("╔═════════════════════════════════════════════════════════╗"),nl,
write("║             ТЕХ. ПАСПОРТ АВТОМОБИЛЯ                    ║"),nl,
write("╠══╦═════════╦═════╦═════╦═════╦═══════╦════════╦═════════╣"),nl,
write("║N°║ МАРКА   ║ ГОД ║ N°  ║ N°  ║ НОМЕРН║Ф. И. О ║ РАЙОН   ║"),nl,
write("║  ║АВТОМОБИЛ║ВЫПУС║ДВИГ ║ШАССИ║ ЗНАК  ║        ║ УЧЕТА   ║"),nl,
write("╠══╬═════════╬═════╬═════╬═════╬═══════╬════════╬═════════╣"),nl,
            avto1(N,MARK,GOD,DVIG,SHASI,ZNAC,FAM,IMA,OTC,UCET),
            cursor(Z,_),cursor(Z,1),write("║"),
            cursor(Z,2),write(N),cursor(Z,4),write("║"),
            cursor(Z,5),write(MARK),cursor(Z,14),write("║"),
            cursor(Z,15),write(GOD),cursor(Z,20),write("║"),
            cursor(Z,21),write(DVIG),cursor(Z,26),write("║"),
            cursor(Z,27),write(SHASI),cursor(Z,32),write("║"),
            cursor(Z,33),write(ZNAC),cursor(Z,41),write("║"),
            cursor(Z,42),write(FAM),cursor(Z,49),write("║"),
            cursor(Z,50),write(IMA),cursor(Z,58),write("║"),
            cursor(Z,59),write(OTC),cursor(Z,66),write("║"),
            cursor(Z,67),write(UCET),
            cursor(Z,76),write("║"),
            nl,
            fail.
        rabota1(1): write(" ╠══╬═════════╬═════╬═════╬═════╬════════╬════════╬═════════╣"),
            save("avto1.dat",avto1),
            nl,
            write("База сохранена в файле avto1.dat"),
            nl,
            write("Нажмите любую клавишу"),
            readchar(_),
            removewindow,
            !.

       rabota1(1): write(" ╠══╬═════════╬═════╬═════╬═════╬════════╬═══════╬═════════╣"),
            nl,
            write("Невозможно сохранить созданную базу"),
            nl,
            write("Нажмите любую клавишу"),
            readchar(_),
            makewindow(1,7,7,"ТЕХ. ПАСПОРТ АВТОМОБИЛЯ",0,0,25,80).

            rabota1(2):    makewindow(1,7,7,"Создание новой базы по году выпуска",0,0,25,80),
            nl,
            cursor(7,10),
            retractall(_,avto2),
            nl,
            write("Введите год выпуска автомобиля:"),
           readint(X),
           avto(N,MARK,GOD,DVIG,SHASI,ZNAC,FAM,IMA,OTC,UCET),
            S=GOD,
            S=X,
            N1=N,MARK1=MARK,DVIG1=DVIG,SHASI1=SHASI,ZNAC1=ZNAC,FAM1=FAM,
                   IMA1=IMA,OTC1=OTC,UCET1=UCET,
            assert(avto2(N1,MARK1,S,DVIG1,SHASI1,ZNAC1,FAM1,IMA1,
                      OTC1,UCET1)),
            fail.

        rabota1(2): write("База создана"),nl,
write(" ╔════════════════════════════════════════════════════════╗"),nl,
write(" ║             ТЕХ. ПАСПОРТ АВТОМОБИЛЯ                   ║"),nl,
write(" ╠══╦═════════╦═════╦═════╦═════╦════════╦══════╦═════════╣"),nl,
write(" ║N°║ МАРКА   ║ ГОД ║ N°  ║ N°  ║ НОМЕРН ║Ф И О ║ РАЙОН   ║"),nl,
write(" ║  ║АВТОМОБИЛ║ВЫПУС║ДВИГ ║ШАССИ║ ЗНАК   ║      ║ УЧЕТА   ║"),nl,
write(" ╠══╬═════════╬═════╬═════╬═════╬════════╬══════╬═════════╣"),nl,

            avto2(N,MARK,GOD,DVIG,SHASI,ZNAC,FAM,IMA,OTC,UCET),
            cursor(Z,_),cursor(Z,1),write("║"),
            cursor(Z,2),write(N),cursor(Z,4),write("║"),
            cursor(Z,5),write(MARK),cursor(Z,14),write("║"),
            cursor(Z,15),write(GOD),cursor(Z,20),write("║"),
            cursor(Z,21),write(DVIG),cursor(Z,26),write("║"),
            cursor(Z,27),write(SHASI),cursor(Z,32),write("║"),
            cursor(Z,33),write(ZNAC),cursor(Z,41),write("║"),
            cursor(Z,42),write(FAM),cursor(Z,49),write("║"),
            cursor(Z,50),write(IMA),cursor(Z,58),write("║"),
            cursor(Z,59),write(OTC),cursor(Z,66),write("║"),
            cursor(Z,67),write(UCET),
            cursor(Z,76),write("║"),
            nl,
            fail.

        rabota1(2): write(" ╠══╬═════════╬═════╬═════╬═════╬════════╬════════╬═════════╣"),
            save("avto2.dat",avto2),
            nl,
            write("База сохранена в файле avto2.dat"),
            nl,
            write("Нажмите любую клавишу"),
            readchar(_),
            removewindow,
            !.

        rabota1(2): write(" ╠══╬═════════╬═════╬═════╬═════╬═══════╬═══════╬═════════╣"),
            nl,
            write("Невозможно сохранить созданную базу"),
            nl,
            write("Нажмите любую клавишу"),
            readchar(_),
            makewindow(1,7,7,"ТЕХ. ПАСПОРТ АВТОМОБИЛЯ",0,0,25,80).
            rabota1(3):    makewindow(1,7,7,"Создание новой базы по району учета",0,0,25,80),
            nl,
            cursor(7,10),
            retractall(_,avto3),
            nl,
            write("Введите район учета:"),
            readln(X),
            avto(N,MARK,GOD,DVIG,SHASI,ZNAC,FAM,IMA,OTC,UCET),
            S=UCET,
            S=X,
            N1=N,MARK1=MARK,GOD1=GOD,DVIG1=DVIG,SHASI1=SHASI,
                          ZNAC1=ZNAC,FAM1=FAM,IMA1=IMA,OTC1=OTC,
            assert(avto3(N1,MARK1,GOD1,DVIG1,SHASI1,ZNAC1,FAM1,
                                           IMA1,OTC1,S)),
            fail.
        rabota1(3): write("База создана"),nl,
write(" ╔══════════════════════════════════════════════════════╗"),nl,
write(" ║             ТЕХ. ПАСПОРТ АВТОМОБИЛЯ                ║"),nl,
write(" ╠══╦═════════╦═════╦═════╦═════╦══════╦══════╦═════════╣"),nl,
write(" ║N°║ МАРКА   ║ ГОД ║ N°  ║ N°  ║НОМЕРН║Ф И О ║ РАЙОН   ║"),nl,
write(" ║  ║АВТОМОБИЛ║ВЫПУС║ДВИГ ║ШАССИ║ ЗНАК ║      ║ УЧЕТА   ║"),nl,
write(" ╠══╬═════════╬═════╬═════╬═════╬══════╬══════╬═════════╣"),nl,
            avto3(N,MARK,GOD,DVIG,SHASI,ZNAC,FAM,IMA,OTC,UCET),
            cursor(Z,_),cursor(Z,1),write("║"),
            cursor(Z,2),write(N),cursor(Z,4),write("║"),
            cursor(Z,5),write(MARK),cursor(Z,14),write("║"),
            cursor(Z,15),write(GOD),cursor(Z,20),write("║"),
            cursor(Z,21),write(DVIG),cursor(Z,26),write("║"),
            cursor(Z,27),write(SHASI),cursor(Z,32),write("║"),
            cursor(Z,33),write(ZNAC),cursor(Z,41),write("║"),
            cursor(Z,42),write(FAM),cursor(Z,49),write("║"),
            cursor(Z,50),write(IMA),cursor(Z,58),write("║"),
            cursor(Z,59),write(OTC),cursor(Z,66),write("║"),
            cursor(Z,67),write(UCET),
            cursor(Z,76),write("║"),
            nl,
            fail.
        rabota1(3): write(" ╠══╬═════════╬═════╬═════╬═════╬════════╬════════╬═════════╣"),
            save("avto3.dat",avto3),
            nl,
            write("База сохранена в файле avto3.dat"),
            nl,
            write("Нажмите любую клавишу"),
            readchar(_),
            removewindow,
            !.

        rabota1(3): write(" ╠══╬═════════╬═════╬═════╬═════╬════════╬════════╬═════════╣"),
            nl,
            write("Невозможно сохранить созданную базу"),
            nl,
            write("Нажмите любую клавишу"),
            readchar(_),
            makewindow(1,7,7,"ТЕХ. ПАСПОРТ АВТОМОБИЛЯ",0,0,25,80).

/*Процедура записи на диск*/
        savebase(1):             write("Введите имя файла :"),
            readln(N),
            save(N),
            write("Все в порядке"),
            beep,
            !.
        savebase(1):            write("Ошибка обмена, нажмите любую клавишу"),
           readchar(_).

        savebase(2):            save("avto.dat").
        savebase(3).
/*Процедура чтения с диска*/
        loadbase(1):             retractall(_),
            write("Введите имя файла :"),
            readln(N),
            existfile(N),
            consult(N),
            write("Все в порядке"),
            beep,
            !.
        loadbase(1):             nl,
            write("Данного файла нет на диске"),nl,
            write("Нажмите любую клавишу"),
            readchar(_).

       loadbase(2):            retractall(_),
            existfile("avto.dat"),
            consult("avto.dat"),
            write("Все в порядке"),
            beep,
            !.

        loadbase(2):             write("Файла avto.dat нет на диске"),nl,
            write("нажмите любую клавишу"),
            readchar(_).

        loadbase(3).

        povtor.
        povtor:- povtor.

/*Выбор записи*/
        choice1(N):         nl,
        write("1 - известен номер записи   "),nl,
        write("2 - известна МАРКА          "),nl,
        write("3 - известен ГОД ВЫПУСКА    "),nl,
        write("4 - известен N ДВИГАТЕЛЯ    "),nl,
        write("5 - известен N ШАССИ        "),nl,
        write("6 - известен НОМЕРНОЙ ЗНАК  "),nl,
        write("7 - известна ФАМИЛИЯ        "),nl,
        write("8 - известно ИМЯ           "),nl,
        write("9 - известно ОТЧЕСТВО       "),nl,
        write("10- известен РАЙОН УЧЕТА    "),nl,
        write("=>"),
        readint(X),
        correct(X,N).

        correct(1,N):         nl,
        write("Введите номер записи                :"),
        readint(N),
        avto(M,_,_,_,_,_,_,_,_,_),
        M=N.

        correct(1,N):         N=0.
        correct(2,N):         nl,
        write("Введите марку автомобиля  :"),
        readln(L),
        avto(Z,L,_,_,_,_,_,_,_,_),
        N=Z.

        correct(2,N):         N=0.

        correct(3,N):         nl,
        write("Введите Год выпуска    : "),
        readint(F),
        avto(Z,_,F,_,_,_,_,_,_,_),
        N=Z.
        correct(3,N):         N=0.
        correct(4,N):         nl,
        write("Введите N двигателя  :"),
        readint(Q),
        avto(Z,_,_,Q,_,_,_,_,_,_),
        N=Z.

        correct(4,N):         N=0.

        correct(5,N):         nl,
        write("Введите N шасси   :"),
        readint(W),
        avto(Z,_,_,_,W,_,_,_,_,_),
        N=Z.

        correct(5,N):         N=0.

      correct(6,N):         nl,
        write(":"),
        readln(ZNAC),
        avto(Z,_,_,_,_,ZNAC,_,_,_,_),
        N=Z.

        correct(6,N):         N=0.

          correct(7,N):           nl,
          write(":"),
          readln(FAM),
          avto(Z,_,_,_,_,_,FAM,_,_,_),
        N=Z.

        correct(7,N):         N=0.

          correct(8,N):           nl,
          write(":"),
          readln(IMA),
          avto(Z,_,_,_,_,_,_,IMA,_,_),
          N=Z.

          correct(8,N):           N=0.

          correct(9,N):           nl,
          write(":"),
          readln(OTC),
          avto(Z,_,_,_,_,_,_,_,OTC,_),
         N=Z.
          correct(9,N):           N=0.

          correct(10,N):           nl,
          write(":"),
          readln(UCET),
          avto(Z,_,_,_,_,_,_,_,_,UCET),
          N=Z.