Реферат по предмету "Программирование, Базы данных"


Программирование на языке Object Pascal в среде Delphi

Министерство общего и профессионального образования
Череповецкий государственный университет
 
 
 
 Институт математики, физики и информатики
Кафедра программного обеспечения ЭВМ. 
              Дисциплина  Программирование на ЯВУ
 
 
 
 
 
 КУРСОВАЯ РАБОТА
 
 
Тема:Программирование на языке ObjectPascalв среде  Delphi. 
 
 
 
 
 
 
 Выполнил студент:                                                  
     Группы:                                                      
                        Принял преподаватель:                                                   Отметка о зачете:
 
 
 
 
 
 
 
 
 
 
 
 г Череповец. 2002/2003
Министерство общего и профессионального образованияЧереповецкий государственный университет 
Институт математики, физики и информатики 
 
 
 
Задание:
 
Дан многочлен P(x)= anXn  + … + a1X+ a0X0  с целыми коэффициентами можно представить в виде списка. Создать программу, которая проверяет на равенство многочлены Pи Q, а так же строит сумму этих многочленов. 
 
Название курсовой работы:
  Лабораторная работа N8
 
План:
 
Блок схема                                                                                                                      3Текст программы                                                                                                         5
Результаты работы                                                                                                   10
Описание программы                                                                                                11Процедуры и функции из других модулей                                                              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)
   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)
   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('Списки равны')
  elseShowMessage('Списки не равны');
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)
   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) 
Составление суммы.
 
 
 
 
 
 
 
 
 
 
 
Литература : 
 
В.В. Фаронов. Delphi6. Учебный курс.


Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.