close

Вход

Забыли?

вход по аккаунту

?

zapiska k kursovoy

код для вставкиСкачать
???????????? ??????????? ? ?????, ???????? ? ?????? ???????
??????????????? ???????? ??????????????????? ????????????? ???????????? ??. ?. ????
(?. ????????????)
??????? ???????????? ?????????
????????????? ???????
? ???????? ?????? ?? ????????????????
?? ????: ????????? ????????
???????? ??????? ?????? ??-11? ?????? ?.?.(______)
???????????? ???????? ?.?.(______)
???????????? 2012
???????
???????? ????????: 29 ?????? ???????? ???????? ?????????? ???? ????????? ?????????, 8 ???????????, 2 ??????????. ? ????????? ??????????? ??????????? ??????. ??? ?? ?????? ??????? ?????????? ???????????? ?????????? ?????????.
???? ??????: ????????, ????????? ? ?????????? ???????? ????????????? ????.
? ?????? ???????? ?????? ????????? ????????? ?????????????????? ?? ???? ????????? ?????? ?????????? ???????. ????????? ?????????? ?????????????????? ?? ??? ????? ? ????????????? ?? ???, ??? ??????? ? ???????.
????????? ??????????? ? ????? ??????????? ???????????????? LAZARUS ?? ????? Object Pascal.
??????????
????????3
1?????????? ??????4
1.1???????? ???????5
1.2?????? ????????????6
2?????????? ?????????7
3??????????? ?????????. ?????????? ????????????????? ??????????8
4?????????? ?????????10
??????13
??????14
?????????? ?. ????? ?????????15
?????????? ?. ??????? ?????????19
????????
Lazarus - ????????? ????? ?????????? ???????????? ??????????? ??? ??????????? Free Pascal (????? ???????????? ?????????? FPC - ???????? ???????????????? ?????????? ????? ???????????????? Pascal) ?? ????? Object Pascal. ??????????????? ????? ?????????? ????????????? ??????????? ?????????????????? ?????????? ?????????? ? Delphi-???????? ?????????. ?? ?????? ?????? ???????? ???????????? ???????????? ??????? ?????????? ??????????, ??????????? Delphi-????????????? ????????? ?????????? ? ??????????? ??????????? ??? Linux (? ?????? ??-Windows) ??????.
?????? ???????? ??????????????? ???????? ?????? ?? ????????? ???????? - ?????????? ? ????? ???????????????? Lazarus.
??????????? ??????:
1. ???????? ??????????????? ??? ???? ????????????????;
2. ???????? ??????? ?????????;
3. ?????? ???????? ????? ?????????????? ??????????, ??????????? ????????? ?????? ???? ??????????;
1 ?????????? ??????
?????????? ?????? ?????? ????????? ???????:
"???? ???????????? ?????????? ??????? ??????? n. ????????? ?????????????????? a1,...,an ?? ???????: ???? ? i-?? ?????? ??????? ???????, ????????????? ??????? ?????????, ???????????, ?? ai ????? ????? ????????? i-?? ??????, ?????????????? ??????? ?????????????? ????????; ? ????????? ?????? ai ????? ????? ????????? ????????? i-?? ?????? ??????? ? ??????? ?? ??????? ?????????????? ????????. ? ?????????? ?????????????????? a1,...,an ????? ?????????? ??????? (????????? ?? ???????, ???? ?? ?????????), ??????? ???????? ?????????????????? ?? ??? ?????. ? ??????? ????? ?????????????????? ??????????? ???????? ?? ????????, ? ???????- ?? ???????????; ???? ??? ????? ????? ???????, ?? ????? ??????????? ?? ????????, ? ?????? - ?? ???????????. ??? ????? ? ?????? ?????? ???????????? ?????????? Lazarus."
?? ?????? ????? ?????????? ?????????? ???????????????? ??????? ? ?????????? ???????? ????????, ??????? ????? ???????? ? ?????? ??????. ???????? ?????????? ????? ????? - ???????? ?????? ?????????????? ?????????? ? ?????????, ?? ???? ??????????? ????, ???, ??????????, ????? ????????? ??????????????? ?????????, ?? ???????????? ?????????? ?????????? ???? ???????. ??? ????????? ?????????? ?????? ???????? ????? ?????? ? ????? ????? ?????????????? ?????????? ? ???. ???????? ???? ??????? ? ?? ???? ?????? ??????????? ???????? ?????????. 1.1 ???????? ???????
????? ??????????? ????????, ??????? ???????????? ? ?????? ??????. ??? ????? ??????????? ???: ??????, ??????????.
?????? - ????????????? ????? ??????, ??? ???????? ?????? ?????? ????, ???????????????? ? ??????? ?????? ??? ?????????? ????????. ? ?????????? ?????? ?????? ????? ?????????? ????? ? ?????? ??????? ?????? ?????? ? ???? ?? ????.
?????????? ???????????? ???????? ??????? ????? ???? ?????????. ??????? ? ????? ???????? ???????? ???????????, ? ????? - ?????????? ? ?. ?. ?????????? ?????? ???????? ????????????? ??????? ? ??????????, ????????? - ???????. ???? ????? ??????????? ??????? ? ????? ??? ????? ?????????.
?????????? - ?????????????? ????????? ? ??????. ? ??????, ????? ??????? ?????? ????? ????????? ?????, ????, ???????? ????????? ???????, ?????????? ?????? ??????????. ?? ???????? ? ???????? ????? ????? ????????? ?????, ? ? ????????? ????? ???????? ?????-???? ??????, ????? ?? ???????? ?? ?????? ?????????.
1.2 ?????? ????????????
??? ?????? ??????????? ???? ?????????? ??????? ? ??????????? ?? ?????????. ???? ????????? ???????????? ????????? ??????? ? ? ??????????. ??? ??????????? ?????????????????? ????? ?????????????? ?????, ? ???????, ???????, ??????????? ???????????? ???????, ? ????? ???????????? ????? ?? ????????? ??????. ????? ?????? ?????? ???????????? ? ??????????????????. ? ?????????? ??????? ??????, ????????? ?? ???? ???? ????? ???????. ?????? ?????????? ???????? ?????????? ??????? ??????????????????, ??????? ??????? ???????? ?? ?? ??? ?????. ????? ?????????? ???????? ?????????? ??????? ? ???? ?? ???? ?????? ? ???????? ????? ?????????? ??????. ??????? ????? ????????????? ?? ????????, ? ??????? ?? ???????????. ???? ????? ?????, ?? ????? ??????????? ?? ????????, ? ?????? - ?? ???????????.
????????? ??????? ???????? ?????????????????? ??????????????? ?????????.
2 ?????????? ?????????
???????? - ??? ?????????????????? ????????, ???????????? ?? ????????? ????????????? ??????????.
????? ??????? ?????????? ????????? ?????????? ????? ?????????? ??????: ??? ????????? ???????? ? ???????? ??????????, ????? ???????? ?????? ?????????? ? ????? ??????? ? ???????, ????? ?????????? ??????????? ?? ??? ??????. ????? ????????? ????????, ????? ???????? ?????????? ??????????? ??? ????????? ?? ???????? ?????? ?????????? ??????????. ??????????? ????????????? ?????????? ?????? ????????? ??? ????-??????. ????? ???? ??? ???????? ???????, ?? ??? ?????? ??????????????? ?????????. ??????? ???????? ????????? - ????? ??????. ???? ????? ???????? ??????, ?? ????????? ?? ?? ????? ??????????? ??????.
???????? ?????? ????????? ??????????? ? ?????????:
1. ???? ??????????? ???????
2. ?????????? ???????
3. ??????????? ????????? ??????????????????
4. ?????????? ????????????? ???????? ??????????????????
5. ?????????? ?????? ??????????????????
6. ????? ??????????????? ??????????????????
3 ??????????? ?????????. ?????????? ????????????????? ??????????
?????? ????????? ??????? ?? ????????, ??????? ????????? ?????? ???????????? ??? ?????????? ?????????.
???????? ???????? ???????????? ????:
1. Button1Click (Sender: TObject) - ????????? ?????????? ??????? ????? ????, ??? ???? ??????? ?????????.
2. Button2Click (Sender: TObject) - ????? ?? ????? ???????.
3. Input_matrixClick (Sender: TObject) - ????????? ???? ??????????? ???????, ? ????? ?????????? ?? ?????????? ??????????.
4. ResultClick (Sender: TObject) - ????????? ?????????? ?????????????????? ? ??????????? ?? ??????? ?? ?????
5. Clear_allClick (Sender: TObject) - ??????? ???? ?????.
6. SortingClick (Sender: TObject) - ?????????? ??????????????????, ????? ????????????? ????????, ???????????? ???? ?????? ??????????????????, ?? ????? ?????? ????? ???????? ????????? ????? ??????, ??? ??? ??? ????????? ???????? ???????? ?????????? ? ???????. ??? ResultClick (Sender: TObject) ? SortingClick (Sender: TObject).
ResultClick (Sender: TObject). ? ????? for ??????? ?? ???????? ????? ??????? ????????????? ?????????? ???????? ????? ????????? ?????? (A_i_) ????. ????? ?? ????????? ???????? ?????????? If ??????????? ???????? ??????? ?? ??????? ?????????, ???? ?? ????????????? ??????? ?? ???????????? ???? ?????? ????????????? ???????, ???? ?????? ????????????? ??????? ? ???????????? ??? ??????? (?????????? Neg) ????? ???? ???????????. ????? ?? ????????? ????? for ????????? ?????, ??????? ?????? ????????? ?????????????????? R.
SortingClick (Sender: TObject). ? ?????? ????????? ?????????? ????????? (coa) ????????? ??????. ????? ? ????? ???????????? ???????? ?????????? ????????????? ???????? ? ????????? ????????? R[i], ???? ???????????? ??????? ?????? i-?? ????? ??????????????????, ?? coa ????????????? ???????? ???????? ???????? ?????????????????? ? ???????????? ??? ??????? ? ?????????? cOFarray. ????? ????????? ?????? ????? ? ?????? ?????. ??????? ???????? ??? ?????????? ??????? ??????? ? ????? ?????. ????? ???? ??? ????????? ??????? ??? ???????????? ????? ?????. ? ??????????? ????? ????? ?????? ?????????? ?????????? ?? ??????????? (? ???????) ? ?? ???????? (? ???????). ???? ????? ?????, ?? ????? ??????????????? ?? ????????, ? ?????? - ?? ???????????. ? ?????? ????????? ?????????????? ?????????? ???????. ????? ???? ???????????? ?????? ??????????, ?? ? ?????, ??? ??? ?????????? ????? ???????.
?????????? ????? ?????????? ???????:
1. ??????? ????? ???????????? ???????? ? ??????? ??????
2. ?????????? ????? ????? ???????? ?? ????????? ?????? ?? ??????????????? ??????? 3. ????????? ?????????? ????????, ???????? ?? ???????????? ??? ??????????????? ????????.
? ????? ????????? ????????? ?????????? ??????????????? ?????? R.
4 ?????????? ?????????
??? ??????? ????????? ??????????? ???? ?????????? ?? ??? 5.1.
??????? 5.1 - ???? ?????????
????? ?????? ?????? ????????? ?????? ???????? ??????????? ? ?????? ?????? "????????? ???????". ???? ?? ?????? ???????????, ?? ????????? ?????? ????????? (??? 5.2). ??? ????????? ??????? ?????? ?????? ???? "??????????????????", "?????????? ???????", "??????????" ????????? ?? ?????? ????????.
??????? 5.2 - ?????????
????? ????????????? ????????? ???????. ??? ????? ?????????? ???????? ?? ??????, ??????? ???? ???????? ? ?????? ??????????? ?????? "????. ?????????". ???? ?? ?? ??????, ?? ????????? ????? ???????? ?? ??????? ??????????. ??? ????????? ??????? ?????? ?????? ???? "??????????????????", "?????????? ???????", "??????????" ????????? ?? ?????? ????????.
??????? 5.3 - ????????? ???????
????? ???????? ?????????????????? ?????????? ?????? ?????? "?????????", ????????????? ?? ?????? "??????????". ????????? ?????????? ???????? ??????? ?? ??? 5.4.
??????? 5.4 - ???????? ??? ???????????????????
??????? ????????, ??? ?? ????? ?????? ?????? ??????? ??????????. ??? ????????????? ????????? ?????? ??????. ???? ?????????????????? ??????? ?? ??????? ????, ?? ????? ???????? ?? ???? ? ??????????? ?????? ??????.
? ????????? ??????? ?????? "???????" ??????????????? ??? ????????? ?????? ???????. ? ?????? "???????? ???" (??????? ???? ????? ? ??????).
??????
? ???? ?????????? ???????? ?????? ???????? ? ???????????? ???????????????? ? ????? Lazarus. ???? Object Pascal ?????? ??? ??? ??????????, ??? ? ??????? ?????????????.
??? ????????? ????????? ?? ?????? ??????????? ?????????????? ????????? ?? ?????????. ??? ?? ????? ???? ????????? ??? ???????????? ????????? ??????????, ? ????? ?????????? ???????? ?????? ??????? ? ??? ??????. ?? ??? ??? ?????????? ????? ???? ?? ?????, ?? ? ????? ?? ?????????? ?????????.
?????? ?????????? ???????? ??? ??????????? ?? Windows.
??????
1. ???????? ?.?., ?????? ??????????????? ???????????????? ?????????, "????????????????", 2005.
2. http://lazarus.su/
3. http://ru.wikipedia.org/wiki/Lazarus
4. http://wiki.freepascal.org/Lazarus_Tutorial/ru
?????????? ?. ????? ?????????
??????? ?.1 ????? ????????? ????????? ResultClick (Sender: TObject)
??????? ?.2 ????? ????????? ????????? SortingClick (Sender: TObject)
??????? ?.3 - ????? ?????????? ?????? ?? ???????????
??????? ?.4 - ????? ?????????? ??????? ?? ????????
?????????? ?. ??????? ?????????
{???? ???????????? ?????????? ??????? ??????? n. ????????? ?????????????????? a[1],...,a[n] ?? ???????:
???? ? i-?? ?????? ??????? ???????, ????????????? ??????? ?????????, ???????????, ?? a[i] ????? ?????
????????? i-?? ??????,?????????????? ??????? ?????????????? ????????;? ????????? ?????? a[i] ????? ?????
????????? ????????? i-?? ?????? ??????? ? ??????? ?? ??????? ?????????????? ????????. ? ??????????
?????????????????? a[1],...,a[n] ????? ?????????? ??????? (????????? ?? ???????, ???? ?? ?????????),
??????? ???????? ?????????????????? ?? ??? ?????. ? ??????? ????? ?????????????????? ???????????
???????? ?? ????????, ? ???????- ?? ???????????;???? ??? ????? ????? ???????, ?? ????? ???????????
?? ????????, ? ?????? - ?? ???????????}
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
Grids, ExtCtrls, CheckLst, ActnList, Buttons;
type
{ TForm1 }
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Edit2: TEdit;
Edit3: TEdit;
Label4: TLabel;
Memo1: TMemo;
Sorting: TButton;
Input_matrix: TButton;
Label5: TLabel;
Result: TButton;
Clear_all: TButton;
Edit1: TEdit;
SizeOfMatr: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
StringGrid1: TStringGrid;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Input_matrixClick(Sender: TObject);
procedure ResultClick(Sender: TObject);
procedure Clear_allClick(Sender: TObject);
procedure SortingClick(Sender: TObject);
procedure StringGrid1Click(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end; var
Form1: TForm1; M:array[1..100,1..100] of real;
R:array[1..100] of real;
i,j,n:integer;
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.Input_matrixClick(Sender: TObject);
begin
randomize;
Edit3.Clear;
Edit2.Clear;
Edit1.Clear;
Label4.Caption:='?????????? ??????? ';
if (SizeOfMatr.text='') then ShowMessage ('??????? ??????????? ???????')
else begin
n:=StrToInt(SizeOfMatr.text);
StringGrid1.ColCount:=n;
StringGrid1.RowCount:=n;
for i:=1 to n do
for j:= 1 to n do
begin
M[i,j]:=(random(21)-10)*abs(cos(i));
StringGrid1.Cells[j-1,i-1]:=FloatToStrF(M[i,j],FFfixed,8,2);
end; end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
for i:=1 to n do
for j:= 1 to n do
M[i,j]:=StrToFloat(StringGrid1.Cells[j-1,i-1]);
Label4.Caption:='?????????? ??????? ';
Edit1.Clear;
Edit2.Clear;
Edit3.Clear;
Button1.Visible:=false;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
if Memo1.Visible=false
then begin
Memo1.Visible:=true;
Button1.Visible:=false;
Edit2.Visible:=false;
Edit3.Visible:=false;
Label4.Visible:=false;
Sorting.Visible:=false;
Input_matrix.Visible:=false;
Label5.Visible:=false;
Result.Visible:=false;
Clear_all.Visible:=false;
Edit1.Visible:=false;
SizeOfMatr.Visible:=false;
Label1.Visible:=false;
Label2.Visible:=false;
Label3.Visible:=false;
StringGrid1.Visible:=false;end
else begin
Memo1.Visible:=false;
Edit2.Visible:=true;
Edit3.Visible:=true;
Label4.Visible:=true;
Sorting.Visible:=true;
Input_matrix.Visible:=true;
Label5.Visible:=true;
Result.Visible:=true;
Clear_all.Visible:=true;
Edit1.Visible:=true;
SizeOfMatr.Visible:=true;
Label1.Visible:=true;
Label2.Visible:=true;
Label3.Visible:=true;
StringGrid1.Visible:=true;end;
end;
procedure TForm1.ResultClick(Sender: TObject);
var A_i_:real;
Neg:integer;
begin
Edit3.Clear;
Edit1.Clear;
Label4.Caption:='?????????? ??????? ';
Edit2.Clear;
for i:=1 to n do
begin
A_i_:=0; //c????
if M[i,i]<0
then
begin
for j:=1 to n do //???? ?????? ??????? ?????????????? ????????
begin
if M[i,j]<0 then begin Neg:=j; break;end;
end;
for j:=1 to Neg-1 do
A_i_:=A_i_+M[i,j];
end;
if M[i,i]>=0
then
begin
for j:=1 to n do
begin
if M[i,j]>0 then begin Neg:=j; break;end;
end;
for j:=n downto Neg do
A_i_:=A_i_+M[i,j];
end;
Edit2.Text:=Edit2.Text+FloatToStrF(A_i_,FFfixed,8,2)+'; ';
R[i]:=A_i_;
end;
end;
procedure TForm1.Clear_allClick(Sender: TObject);
begin
Label4.Caption:='?????????? ??????? ';
Edit1.Clear;
Edit2.Clear;
Edit3.Clear;
SizeOfMatr.Clear;
for i:=0 to n-1 do
for j:=0 to n-1 do
StringGrid1.Cells[j,i]:=' ';
end;
procedure TForm1.SortingClick(Sender: TObject);
var cOa,work:real;
_left,_right,max,cOFarray:integer;
begin
Edit3.Clear;
Edit1.Clear;
Label4.Caption:='?????????? ??????? ';
cOa:=R[1];
for i:=2 to n do
if cOa<R[i] then begin cOa:=R[i]; cOFarray:=i;end;
_left:=0;
_right:=0;
for i:=1 to cOFarray do //? ????? ????? ???????? ?????????? ???????
inc (_left);
for i:=cOFarray+1 to n do
inc (_right);
if _left>_right
then
begin
for i:=1 to cOFarray-1 do
begin
max:=i;
for j:=i+1 to cOFarray do
if R[j]>R[max] then max:=j;
work:=R[max];
R[max]:=R[i];
R[i]:=work;
end;
for i:=cOFarray+1 to n-1 do
begin
max:=i;
for j:=i+1 to n do
if R[j]<R[max] then max:=j;
work:=R[max];
R[max]:=R[i];
R[i]:=work;
end;
end
else
begin
for i:=1 to cOFarray-1 do
begin
max:=i;
for j:=i+1 to cOFarray do
if R[j]<R[max] then max:=j;
work:=R[max];
R[max]:=R[i];
R[i]:=work;
end;
for i:=cOFarray+1 to n-1 do
begin
max:=i;
for j:=i+1 to n do
if R[j]>R[max] then max:=j;
work:=R[max];
R[max]:=R[i];
R[i]:=work;
end;
end;
if _left=_right
then
begin
for i:=1 to cOFarray-1 do
begin
max:=i;
for j:=i+1 to cOFarray do
if R[j]>R[max] then max:=j;
work:=R[max];
R[max]:=R[i];
R[i]:=work;
end;
for i:=cOFarray+1 to n-1 do
begin
max:=i;
for j:=i+1 to n do
if R[j]<R[max] then max:=j;
work:=R[max];
R[max]:=R[i];
R[i]:=work;
end;
end;
Label4.Caption:=Label4.Caption+FloatToStrF (cOa,FFfixed,8,2);
Edit1.Text:='????? ?????:'+FloatToStr (_left)+'; ?????? ?????:'+FloatToStr (_right);
for i:=1 to n do
Edit3.Text:=Edit3.Text+FloatToStrF(R[i],FFfixed,8,2)+'; ';
end;
procedure TForm1.StringGrid1Click(Sender: TObject);
begin
Button1.Visible:=true;
end;
end.
2
Документ
Категория
Без категории
Просмотров
12
Размер файла
568 Кб
Теги
zapiska_k_kursovoy
1/--страниц
Пожаловаться на содержимое документа