курсовые,контрольные,дипломы,рефераты
Министерство общего и профессионального образования
Череповецкий государственный университет
Кафедра программного обеспечения ЭВМ.
Дисциплина Программирование на ЯВУ
Тема: Программирование на языке Object Pascal в среде Delphi .
Группы:
Принял преподаватель:
г Череповец . 2002/2003
Министерство общего и профессионального образования
Институт математики, физики и информатики
Задание:
Дан многочлен P(x)= a n Xn + … + a 1 X + a 0 X0 с целыми коэффициентами можно представить в виде списка . Создать программу, которая проверяет на равенство многочлены P и Q ,а так же строит сумму этих многочленов.
Название курсовой работы:
План:
Блок схема 3
Результаты работы 10
Описание программы 11
Литература 11
Текст программы:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ComCtrls, Grids, StdCtrls;
type
M = array[0..65535] of word;
TForm1 = class(TForm)
StringGrid1: TStringGrid;
Edit1: TEdit;
Edit2: TEdit;
Button1: TButton;
StringGrid2: TStringGrid;
Label1: TLabel;
Label2: TLabel;
ComboBox1: TComboBox;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Button2: TButton;
Button3: TButton;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Button4: TButton;
Button5: TButton;
RichEdit1: TRichEdit;
RichEdit2: TRichEdit;
RichEdit3: TRichEdit;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
KofP,KofQ,KofS :M;
ListItem: TListItem;
L :TList;
s,ss : string;
implementation
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject);
var i :word;
begin
ComboBox1.ItemIndex := 0;
StringGrid1.Cells[0,0] :='Степень';
StringGrid1.Cells[1,0] :='Коофициент';
StringGrid2.Cells[0,0] :='Степень';
StringGrid2.Cells[1,0] :='Коофициент';
s := '';
ss := '';
for i := 0 to 65535 do
begin
KofP[i] := 0;
KofQ[i] := 0;
KofS[i] := 0;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var e1,e2:integer;
C1,test,TCount,ENCount : word;
s1,s2 : string;
begin
s1 := Edit2.Text;
s2 := Edit1.Text;
If ComboBox1.ItemIndex = 0 then
begin
Val(s2, C1, e1);
Val(s1, Test, e2);
If (e1=0) and (e2=0)and(C1=StrToInt(s2))and(Test=StrToInt(s1)) then
begin
For TCount := 0 to StringGrid1.RowCount - 1 do
begin
If StringGrid1.Cells[0,TCount]=s2 then
begin
ENCount := TCount;
StringGrid1.Cells[1,TCount] := S1;
KofP[StrToInt(s2)] := StrToInt(s1);
end;
end;
If ENCount = 0 then
begin
KofP[StrToInt(s2)] := StrToInt(s1);
StringGrid1.Cols[0].Append(Edit1.Text);
StringGrid1.Cols[1].Append(Edit2.Text);
StringGrid1.RowCount := StringGrid1.RowCount + 1;
end;
end
else
begin
MessageDlg('Ошибка ввода данных ! ',mtWarning,[mbOk],0);
exit;
end
end
else
begin
Val(s2, C1, e1);
Val(s1, Test, e2);
If (e1=0) and (e2=0)and(C1=StrToInt(s2))and(Test=StrToInt(s1)) then
begin
For TCount := 0 to StringGrid2.RowCount - 1 do
begin
If StringGrid2.Cells[0,TCount]=S2 then
begin
ENCount := TCount;
StringGrid2.Cells[1,TCount] := S1;
KofQ[StrToInt(s2)] := StrToInt(s1);
end;
end;
If ENCount = 0 then
begin
KofQ[StrToInt(s2)] := StrToInt(s1);
StringGrid2.Cols[0].Append(Edit1.Text);
StringGrid2.Cols[1].Append(Edit2.Text);
StringGrid2.RowCount := StringGrid2.RowCount + 1;
end;
end
else
begin
MessageDlg('Ошибка ввода данных ! ',mtWarning,[mbOk],0);
exit;
end
end
end;
procedure TForm1.Button5Click(Sender: TObject);
var I : word;
begin
For i := 1 TO StringGrid1.RowCount -2 do
StringGrid1.Rows[i].Clear;
StringGrid1.RowCount := 2;
For i := 1 TO StringGrid2.RowCount -2 do
StringGrid2.Rows[i].Clear;
StringGrid2.RowCount := 2;
RichEdit1.Lines.Clear;
RichEdit2.Lines.Clear;
RichEdit3.Lines.Clear;
for i := 0 to 65535 do
begin
KofP[i] := 0;
KofQ[i] := 0;
KofS[i] := 0;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
Var i : word;
begin
s := '';
ss:= '';
RichEdit1.Lines.Clear;
RichEdit2.Lines.Clear;
for i := 65535 downto 0 do
begin
If KofP[i] <> 0 then
If Length(s) < 220 then
S := S + IntToStr(KofP[i])+'X^'+IntToStr(i)+'+'
else
begin
RichEdit1.Lines.Add(s);
S := IntToStr(KofP[i])+'X^'+IntToStr(i)+'+';
end;
end;
for i := 65535 downto 0 do
begin
If KofQ[i] <> 0 then
If Length(ss) < 220 then
SS := SS + IntToStr(KofQ[i])+'X^'+IntToStr(i)+'+'
else
begin
RichEdit2.Lines.Add(ss);
SS := IntToStr(KofQ[i])+'X^'+IntToStr(i)+'+';
end;
end;
RichEdit1.Lines.Add(Copy(s,1,length(s)-1));
RichEdit2.Lines.Add(Copy(ss,1,length(ss)-1));
Button4.Enabled := True;
Button3.Enabled := True;
end;
procedure TForm1.Button4Click(Sender: TObject);
var t : Byte;
i :word;
begin
t := 0;
for i := 65535 downto 0 do
begin
If KofP[i]<>KofQ[i] then t := 1
end;
If t= 0 then ShowMessage('Списки равны')
else ShowMessage('Списки не равны');
end;
procedure TForm1.Button3Click(Sender: TObject);
Var i : Word;
begin
s := '';
RichEdit3.Lines.Clear;
for i := 0 to 65535 do
KofS[i]:= KofP[i]+KofQ[i];
for i := 65535 downto 0 do
begin
If KofS[i] <> 0 then
If Length(s) < 220 then
S := S + IntToStr(KofS[i])+'X^'+IntToStr(i)+'+'
else
begin
RichEdit1.Lines.Add(s);
S := IntToStr(KofS[i])+'X^'+IntToStr(i)+'+';
end;
end;
RichEdit3.Lines.Add(Copy(s,1,length(s)-1));
end;
end.
Результаты работы программы:
Описание программы:
Программа служит для построения на основе введенных коэффициентов 2-х списков и может выполнять так же :
· Сравнение этих спиков.
· Построение многочлена суммы этих списков.
Описание процедур:
procedure FormCreate(Sender: TObject)
Устанавливает начальные параметры при загрузке программы.
procedure Button5Click(Sender: TObject)
Производит “очистку” программы.
procedure Button2Click(Sender: TObject)
Создание списков.
procedure Button4Click(Sender: TObject)
Проверка списков на равенство.
procedure Button3Click(Sender: TObject)
Составление суммы.
Литература :
В.В. Фаронов . Delphi 6. Учебный курс.
Министерство общего и профессионального образования Череповецкий государственный университет Институт математики, физики и информатики Кафедра программного обеспечения ЭВМ. Дисциплина Программирование на ЯВУ КУРСОВАЯ РАБОТА Тема:
Файловые структуры, используемые в системах баз данных
Теория чисел (программа-калькулятор) - формирование заданного подмножества натурального ряда с помощью общего делителя
Теория чисел (программа-калькулятор на Pascal)
Численные методы. Программа-калькулятор на Pascal
Разработка программы-калькулятора на Delphi - Формирование подмножества натуральных чисел с заданными параметрами
Компьютерные курсы
Copyright (c) 2024 Stud-Baza.ru Рефераты, контрольные, курсовые, дипломные работы.