Часть полного текста документа: МОСКОВСКИЙ ИНСТИТУТ РАДИОТЕХНИКИ, ЭЛЕКТРОНИКИ И АВТОМАТИКИ (ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ) Отчет по лабораторной работе №2 Программирование на языках В/У Студент: Группа: Москва 2003 СОДЕРЖАНИЕ 1 ЗАДАНИЕ 3 2 БЛОК-СХЕМА ПРОГРАММЫ 3 3 ТЕКСТ ПРОГРАММЫ 5 4 ОПИСАНИЕ РАБОТЫ ПРОГРАММЫ 6 5 РУКОВОДСТВО ОПЕРАТОРА 10 1 ЗАДАНИЕ Многочлен с целыми коэффициентами представить в виде списка. Программа должна проверять на равенство многочлены P и Q. 2 БЛОК-СХЕМА ПРОГРАММЫ да нет нет да да нет нет да Нет Да Нет Да Нет Да Нет Да Нет Да Да Нет 3 ТЕКСТ ПРОГРАММЫ Program Project1; {$APPTYPE CONSOLE} Uses SysUtils; type spisok=^s; s=record a,n:Integer; p:spisok; end; var k,m:word; b:boolean; P,Q,FstP,LP,FstQ,LQ:spisok; BEGIN {ФОРМИРОВАНИЕ СПИСКОВ P и Q} Write('Kol. Elementov P:> '); ReadLn(k); FOR m:=1 to k do BEGIN New(P); Write('Koef. :> '); ReadLn(P^.a); Write('Step. :> '); ReadLn(P^.n); P^.p:=nil; IF m=1 THEN begin FstP:=P; LP:=P; end ELSE begin LP^.p:=P;LP:=P; end; END; Write('Kol. Elementov Q:> '); ReadLn(k); FOR m:=1 to k do BEGIN New(Q); Write('Koef. :> '); ReadLn(Q^.a); Write('Step. :> '); ReadLn(Q^.n); Q^.p:=nil; IF m=1 THEN begin FstQ:=Q; LQ:=Q; end ELSE begin LQ^.p:=Q;LQ:=Q; end; END; {ПРОГРАММА} P:=FstP;Q:=FstQ; REPEAT If ((P^.pnil) and (Q^.p=nil)) or ((P^.p=nil) and (Q^.pnil)) Then Begin Write('P Q'); b:=true; End; If (P^.p=nil) and (Q^.p=nil) Then Begin If (P^.a=Q^.a) and (P^.n=Q^.n) Then Begin Write('P = Q'); b:=true; End Else Begin Write('P Q'); b:=true; End; End; If (P^.pnil) and (Q^.pnil) Then BEGIN If (P^.a=Q^.a) and (P^.n=Q^.n) Then Begin P:=P^.p; Q:=Q^.p; End Else Begin Write('P Q'); b:=true; End; END; UNTIL b=true; ReadLn; END. 4 ОПИСАНИЕ РАБОТЫ ПРОГРАММЫ ТАБЛИЦА ТИПОВ, ИСПОЛЬЗУЕМЫХ ПРОГРАММОЙ Имя типа Тип Назначение spisok Динамическая переменная со структурой s s record Запись, содержащая переменные типа integer (а, n) и ссылку (p). ............ |