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

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

— логическую функцию Equality(p,q), проверяющую равенство многочленов p и q;

— функцию Meaning(p, x), вычисляющую значение многочлена в целочисленной точке х;

— процедуру Add(p,q,r) вычисления суммы многочленов q и r, результат – многочлен p.

procedure TForm1.FormCreate(Sender: TObject);

var i:integer;

begin

for i:=0 to 4 do

begin

StringGrid1.Cells[i,0]:=inttostr(i);

StringGrid2.Cells[i,0]:=inttostr(i);

end;

StringGrid2.Cells[0,1]:=’An’;

StringGrid2.Cells[0,2]:=’degree’;

StringGrid1.Cells[1,1]:=’4′;

StringGrid1.Cells[1,2]:=’7′;

StringGrid1.Cells[2,1]:=’2′;

StringGrid1.Cells[2,2]:=’3′;

StringGrid1.Cells[3,1]:=’1′;

StringGrid1.Cells[3,2]:=’-1′;

StringGrid1.Cells[4,1]:=’0′;

StringGrid1.Cells[4,2]:=’2′;

StringGrid1.Cells[0,1]:=’An’;

StringGrid1.Cells[0,2]:=’degree’;

StringGrid2.Cells[1,1]:=’5′;

StringGrid2.Cells[1,2]:=’2′;

StringGrid2.Cells[2,1]:=’3′;

StringGrid2.Cells[2,2]:=’2′;

StringGrid2.Cells[3,1]:=’1′;

StringGrid2.Cells[3,2]:=’1′;

StringGrid2.Cells[4,1]:=’0′;

StringGrid2.Cells[4,2]:=’-6′;

end;

procedure TForm1.Button1Click(Sender: TObject);

var i,j:integer;

begin

//for i:=0 to 5 do

//for j:=0 to 3 do

//if (StringGrid1.Cells[i,j])<>‘ ‘ then

//if (StringGrid2.Cells[i,j])<>‘ ‘ then

//begin;

//label4.caption:=’заполните все пустые поля в таблице 1 и 2′;

//end

//else label4.caption:=’ERRORS’;

label3.Caption:=’ ‘;

for i:=1 to 4 do

for j:=1 to 2 do

if (StringGrid1.Cells[i,j])=(StringGrid2.Cells[i,j]) then

label3.Caption:=’i=’+inttostr(i)+’ j=’+inttostr(j)+’ совпадают’+#13#10+label3.Caption;

end;

procedure TForm1.Button2Click(Sender: TObject);

var x:integer;

begin

x:=Strtoint(Edit1.text);

Label7.Caption:=floattostr(2*exp(5*ln(x))+2*exp(3*ln(x))+exp(1*ln(x))-6);

Label6.Caption:=floattostr(7*exp(4*ln(x))+3*exp(2*ln(x))-exp(1*ln(x))+2);

end;

procedure TForm1.Button3Click(Sender: TObject);

begin

Label8.Caption:=Inttostr(Strtoint(label6.Caption)+Strtoint(label7.Caption));

end;

1.2. С помощью списков реализовать программу «Считалочка». N ребят расположены по кругу. Начав отсчет от первого, удаляют каждого к-ого, смыкая при этом круг. Определить порядок удаления ребят из круга.



procedure TForm1.Button1Click(Sender: TObject);

var i:integer;

begin

listbox1.Clear;

for i:=0 to (Strtoint(edit1.Text)-1) do

listbox1.items[i]:=Inttostr(i+1);

end;

procedure TForm1.Button2Click(Sender: TObject);

var k,i:integer; a:integer;

begin

i:=0;

a:=0;

k:=Strtoint(edit2.Text);

While i<=(strtoint(edit1.Text)-1) do begin

i:=i+k;

listbox2.Items[a]:=listbox1.Items[i-1];

a:=a+1;

end;

1.3. Построить однонаправленный линейный список абонентов телефонной станции, упорядоченный лексико-графически, содержащий ФИО и семизначный номер телефона. Составить процедуры определения:

— по номеру телефона фамилии;

— по фамилии списка номеров телефонов.

procedure TForm1.FormCreate(Sender: TObject);

begin

StringGrid1.Cells[0,0]:=’Фамилия’;

StringGrid1.Cells[1,0]:=’Номер’;

StringGrid1.Cells[0,1]:=’aaaa’;

StringGrid1.Cells[1,1]:=’12345678′;

StringGrid1.Cells[0,2]:=’kkk’;

StringGrid1.Cells[1,2]:=’78654321′;

end;

procedure TForm1.Button1Click(Sender: TObject);

var i:integer;

begin

for i:=0 to StringGrid1.RowCount do

if edit1.Text=StringGrid1.Cells[1,i] then

edit2.Text:=StringGrid1.Cells[0,i] ;

end;

procedure TForm1.Button2Click(Sender: TObject);

var i:integer;

begin

for i:=0 to StringGrid1.RowCount do

if edit3.Text=StringGrid1.Cells[0,i] then

edit4.Text:=StringGrid1.Cells[1,i] ;

end;

1.4 Построить двунаправленный неупорядоченный список номеров телефонов: семизначных – абонентов; трехзначных – спецслужб. Просмотреть список справа налево и построить упорядоченный однонаправленный список, не включая в него номера телефонов спецслужб.

procedure TForm1.FormCreate(Sender: TObject);

begin

Stringgrid1.Cells[0,0]:=’333′;

Stringgrid1.Cells[0,1]:=’777777′;

Stringgrid1.Cells[1,0]:=’555555′;

Stringgrid1.Cells[1,1]:=’555′;

Stringgrid1.Cells[2,0]:=’444′;

Stringgrid1.Cells[2,1]:=’666666′;

Stringgrid1.Cells[3,0]:=’441114′;

Stringgrid1.Cells[3,1]:=’222′;

Stringgrid1.Cells[4,0]:=’123′;

Stringgrid1.Cells[4,1]:=’333333′;

end;

procedure TForm1.Button1Click(Sender: TObject);

var i,j:integer; a,k:integer;

begin

a:=0; k:=0;

for i:=0 to 4 do

for j:=0 to 2 do

begin

if Length(Stringgrid1.Cells[i,j])=3 then

begin listbox1.Items[a]:=Stringgrid1.Cells[i,j]; a:=a+1; end;

if Length(Stringgrid1.Cells[i,j])=6 then

begin listbox2.Items[k]:=Stringgrid1.Cells[i,j]; k:=k+1; end;

end;

end;




Предыдущий:

Следующий: