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

Столичный ИНСТИТУТ РАДИОТЕХНИКИ,

ЭЛЕКТРОНИКИ И АВТОМАТИКИ

(ТЕХНИЧЕСКИЙ Институт)

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

Программирование на языках В/У

Студент:

Группа:

Москва 2003


СОДЕРЖАНИЕ

1 ЗАДАНИЕ 3

2 БЛОК-СХЕМА Программки 3

3 ТЕКСТ Программки 5

4 ОПИСАНИЕ РАБОТЫ Программки 6

5 Управление ОПЕРАТОРА 10


1 ЗАДАНИЕ

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

2 БЛОК-СХЕМА Программки Отчет по лабораторной работе №2 - реферат


да


нет


нет


да


да


нет


LQ^.p:=Q;

LQ:=Q;

нет

да


Нет


Да


Нет Да


Нет


Да

Write('P Q');

b:=true;

Write('P = Q');

b:=true;


Нет Да


Нет

Да


ReadLn

Да Нет

3 ТЕКСТ Программки

Program Project1;

{$APPTYPE CONSOLE}

Uses SysUtils;

type

spisok=^s;

s=record a,n Отчет по лабораторной работе №2 - реферат: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 Отчет по лабораторной работе №2 - реферат;

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 Отчет по лабораторной работе №2 - реферат; 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 Отчет по лабораторной работе №2 - реферат^.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 Отчет по лабораторной работе №2 - реферат Begin Write('P Q'); b:=true; End;

END;

UNTIL b=true;

ReadLn;

END .


4 ОПИСАНИЕ РАБОТЫ Программки

ТАБЛИЦА ТИПОВ, Применяемых Программкой

Имя типа

Тип

Предназначение

spisok

Динамическая переменная со структурой s

s

record

Запись, содержащая переменные типа integer (а, n) и ссылку (p). а употребляется для записи значения коэффициента многочлена, а n Отчет по лабораторной работе №2 - реферат для степени при которой стоит этот коэффициент

ТАБЛИЦА ПЕРЕМЕННЫХ, Применяемых Программкой

Имя

Тип

Предназначение

m

Word

Счетчик циклов

k

Word

Количество частей в многочленах

b

boolean

Признак нахождения результата сопоставления списков P и Q

P

spisok

Указатель, содержащий адресок случайного элемента перечня Р

Q

spisok

Указатель, содержащий адресок случайного элемента перечня Q

FstP

spisok

Указатель, содержащий адресок первого элемента перечня Р

FstQ

spisok

Указатель, содержащий адресок первого элемента перечня Q

LP

spisok

Указатель Отчет по лабораторной работе №2 - реферат, содержащий адресок последнего элемента перечня Р

LQ

spisok

Указатель, содержащий адресок последнего элемента перечня Q


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

Дальше организуется цикл для ввода Отчет по лабораторной работе №2 - реферат коэффициентов (а) и степеней каждого отдельного элемента (n) перечня Р, начиная с элемента имеющего самую большую степень и заканчивая коэффициентом элемента имеющего меньшую степень. Цикл организуется операторами FOR и TO. Начиная с m, принимающего значение 1, до значения переменной k (количество частей в перечне) программка делает последующее:

- При Отчет по лабораторной работе №2 - реферат помощи процедуры New резервирует место в памяти ЭВМ под динамическую переменную, адресок которой содержит указатель P.

- Выводит на экран строчку, в какой написано "Koef. :>". После вывода строчки программка ожидает ввода значения коэффициента элемента. После ввода значения оно присваивается в поле а динамической переменной структуры s, на которую ссылается указатель Отчет по лабораторной работе №2 - реферат Р.

- Выводит на экран строчку, в какой написано "Step. :>". После вывода строчки программка ожидает ввода значения степени элемента. После ввода значения оно присваивается в поле n динамической переменной структуры s, на которую ссылается указатель Р. В поле p записывается значение nil.

- Проверяется условие: если m равно 1, что соответствует первому элементу перечня, тогда Отчет по лабораторной работе №2 - реферат программка присваивает значение указателя Р указателям FstР (указатель, содержащий адресок первого элемента перечня) и LР (указатель, содержащий адресок последнего элемента перечня). Другими словами указатель FstL будет содержать адресок первого элемента перечня. А по другому если m не равно 1, что соответствует второму и следующим элементам перечня, программка присваивает ссылке Отчет по лабораторной работе №2 - реферат последнего элемента перечня, на который показывает указатель LР значение указателя Р, и указателю LР присваивает адресок указателя Р. Элемент, на который ссылается указатель Р становится последним в перечне.

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

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

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

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

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

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

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

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

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


5 Управление ОПЕРАТОРА

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

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

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

Kol. Elementov Р:>

После чего нужно ввести количество частей многочлена Р и надавить кнопку "Enter". Программка запоминает это значение.

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

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

Koef. :>

После этой строчки нужно ввести значение коэффициента элемента многочлена и надавить кнопку "Enter".

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

Step Отчет по лабораторной работе №2 - реферат. :>

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

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

Все вводимые значения программка запоминает и сформировывает перечень, содержащий все значения коэффициентов и степеней Отчет по лабораторной работе №2 - реферат х, при которых они стоят.

Таким макаром формируется перечень Р.

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

Kol. Elementov Q:>

После чего нужно ввести количество частей многочлена Q и надавить кнопку "Enter". Программка запоминает это значение.

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

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

Koef. :>

После этой строчки нужно ввести значение коэффициента элемента многочлена и надавить кнопку "Enter".

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

Step. :>

После этой строчки нужно ввести значение степени такого Отчет по лабораторной работе №2 - реферат же элемента многочлена и надавить кнопку "Enter".

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

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

Таким макаром формируется перечень Q.

После Отчет по лабораторной работе №2 - реферат того как два многочлена представлены в виде перечня начинается основная часть программки.

Если коэффициент либо степень хотя бы 1-го элемента многочлена отличается от коэффициента либо степени соответственного элемента другого многочлена, то эти два многочлена никак не могут быть равны друг дружке. Программка начинает ассоциировать коэффициенты и Отчет по лабораторной работе №2 - реферат степени каждого из частей 2-ух списков меж собой, начиная с первого. Если программка находит хотя бы один элемент многочлена отличающийся от соответственного элемента второго многочлена, то соответственно на экран будет выведена строчка:

P Q

Если же программка не находит ни 1-го элемента многочлена отличающегося от соответственного элемента второго многочлена, то соответственно Отчет по лабораторной работе №2 - реферат на экран будет выведена строчка:

P = Q

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

ПРИМЕР

1) Если вы желаете задать многочлен Р равный 4х2 +2х+1, то нужно:

Когда на экран будет выведена строчка:

Kol. Elementov Р:>

Нужно ввести значение 3 и надавить кнопку "Enter".

Дальше будет выведена строчка Отчет по лабораторной работе №2 - реферат:

Koef. :>

После этой строчки нужно ввести значение 4 и надавить кнопку "Enter".

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

Step. :>

После этой строчки нужно ввести значение 2 и надавить кнопку "Enter".

Дальше будет выведена опять строчка, т. к. число частей в многочлене равно 3:

Koef. :>

После этой строчки нужно ввести значение 2 и Отчет по лабораторной работе №2 - реферат надавить кнопку "Enter".

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

Step. :>

После этой строчки нужно ввести значение 1 и надавить кнопку "Enter".

Дальше будет выведена 3-ий и последний раз строчка:

Koef. :>

После этой строчки нужно ввести значение 1 и надавить кнопку "Enter".

Дальше программка выведет на экран последующую строчку Отчет по лабораторной работе №2 - реферат:

Step. :>

После этой строчки нужно ввести значение 0 и надавить кнопку "Enter".

Таким макаром вы зададите многочлен 4х2 +2х+1.

Аналогично задается и многочлен Q. Если вы задали многочлен Q равный 3х2 +2х+1, то после вычислений программка выдаст на экран строчку о том, что эти два многочлена не равны:

P Q

Дальше нужно Отчет по лабораторной работе №2 - реферат надавить кнопку "Enter" и программка заканчивает работу.

2) Если вы задали многочлен Р равный: 4х2 +2х+1. И многочлен Q равный: 4х2 +2х+1, то после вычислений программка выдаст на экран строчку о том, что эти два многочлена равны друг дружке:

P = Q

Дальше нужно надавить кнопку "Enter" и программка заканчивает работу Отчет по лабораторной работе №2 - реферат.



otchet-o-vipolnenii-prirodoohrannih-meropriyatij-v-ramkah-programmi-po-uluchsheniyu-ekologicheskogo-sostoyaniya-goroda-novosibirska-na-2006-2010-godi.html
otchet-o-vipolnenii-programmi-proizvodstvennoj-praktiki-yuridicheskoe-konsultirovanie.html
otchet-o-vipolnenii-publichnoj-deklaracii-celej-i-zadach-glavnogo-upravleniya-mchs-rossii-po-smolenskoj-oblasti-na-2013-god-vo-ii-kvartale-2013-goda-stranica-3.html