Отчет по лабораторной работе №2

Информация - Компьютеры, программирование

Другие материалы по предмету Компьютеры, программирование

? Р. Элемент, на который ссылается указатель Р становится последним в списке.

На этом цикл оператора FOR завершается. Таким образом происходит заполнение списка Р, который содержит значения коэффициентов и степеней всех элементов многочлена вида .

После этого программа выводит на экран строку "Kol. Elementov Q:>", после чего необходимо ввести значение количества элементов, которые будут записываться в список Q. Затем происходит считывание этого значения и переменной k присваивается это значение.

Далее организуется цикл аналогичный циклу записи элементов списка Р. Вместо Р здесь используется указатель Q, вместо FstP указатель FstQ, который содержит адрес первого элемента списка Q, а вместо LP используется LQ, который содержит адрес последнего элемента списка Q. Таким образом формируется два списка Р и Q.

 

Указателям Р и Q присваивается адрес первого элемента списков Р и Q, которые содержатся соответственно в указателях FstР и FstQ. Затем организуется цикл с помощью операторов REPEAT и UNTIL, который выполняется до тех пор пока переменная b (признак нахождения результата сравнения списков P и Q) не станет равным true.

1) Проверяется условие с помощью оператора IF. Если значение поля р динамической переменной структуры s, на которую указывает указатель Р, не равно значению nil и это же поле динамической переменной структуры s, на которую указывает указатель Q, равно значению nil ИЛИ наоборот значение поля р динамической переменной структуры s, на которую указывает указатель Р, равно значению nil и это же поле динамической переменной структуры s, на которую указывает указатель Q, не равно значению nil, то тогда выполняется следующее. На экран выводится строка "P <> Q" и переменной b присваивается значение true. Это соответствует тому, что один из списков содержит меньшее количество элементов, чем в другом. Соответственно многочлены не могут быть равны друг другу.

2) Проверяется условие с помощью оператора IF. Если значение поля р динамической переменной структуры s, на которую указывает указатель Р, равно значению nil и это же поле динамической переменной структуры s, на которую указывает указатель Q, равно значению nil, что соответствует адресам последних элементов двух списков, то тогда проверяется равенство коэффициентов и степеней последних элементов списков Р и Q. Если значения полей а динамических переменных структуры s, на которые указывают указатели Р и Q, равны друг другу, что соответствует тому что все предыдущие элементы этих списков были равны и последние элементы тоже равны. Тогда на экран выдается строка "P = Q" и переменной b присваивается значение true. А иначе на экран выводится строка "P <> Q" и переменной b присваивается значение true. Это соответствует тому, что все элементы кроме последних в списках равны.

3) Проверяется условие с помощью оператора IF. Если значение поля р динамической переменной структуры s, на которую указывает указатель Р, не равно значению nil и это же поле динамической переменной структуры s, на которую указывает указатель Q, не равно значению nil, что соответствует адресам не последних элементов двух списков, то тогда проверяется равенство коэффициентов и степеней последних элементов списков Р и Q. Если они равны, то тогда указателям присваивается значение следующих элементов списка, т. е. значения полей р динамической переменной структуры s, на которую они в данный момент ссылаются. И программа будет сравнивать в следующем цикле следующие элементы списка. Иначе на экран выводится строка "P <> Q" и переменной b присваивается значение true. Это соответствует тому, что какой-то элемент из одного списка отличается от соответствующего ему элемента другого списка. Соответственно многочлены не могут быть равны друг другу.

 

В результате этого цикла определяется равенство списков Р и Q.

 

Далее программа ждет нажатия на клавишу "Enter". Программа завершает работу.

 

5РУКОВОДСТВО ОПЕРАТОРА

 

Многочлен с целыми коэффициентами представить в виде списка. Программа должна проверять на равенство многочлены P и Q.

 

Для работы программы необходимо задать два многочлена P и Q.

Для этого программа выдает на экран строку:

Kol. Elementov Р:>После этого необходимо ввести количество элементов многочлена Р и нажать клавишу "Enter". Программа запоминает это значение.

Затем программа будет спрашивать у оператора коэффициент при х и степень х каждого элемента многочлена начиная с первого элемента, имеющего максимальную степень, и заканчивая элементом с наименьшей степенью.

Для этого программа выдает на экран строку:

Koef. :>После этой строки необходимо ввести значение коэффициента элемента многочлена и нажать клавишу "Enter".

Далее программа выведет на экран следующую строку:

Step. :>После этой строки необходимо ввести значение степени того же элемента многочлена и нажать клавишу "Enter".

Далее программа будет запрашивать ввести коэффициент и степень следующего элемента, если их больше одного и т. д до.

Все вводимые значения программа запоминает и формирует список, содержащий все значения коэффициентов и степеней х, при которых они стоят.

Таким образом формируется список Р.

 

Затем программа выдает на экран строку:

Kol. Elementov Q:>После этого необходимо ввести количество элементов многочлена Q и нажать клавишу "Enter". Программа запоминает это значение.

Затем программа будет спрашивать у оператора коэффициент при х и степень