Главная » Файлы » Рефераттар » Информатика

Borland Delphi реферат
[ Скачать с сервера (28.0 Kb) ] 04.11.2012, 00:30
ҚАЗАҚСТАН РЕСПУБЛИКАСЫНЫҢ БІЛІМ ЖӘНЕ ҒЫЛЫМ МИНИСТРЛІГІ
Қаныш Сәтбаев атындағы Қазақ Ұлттық Техникалық Университеті
ТҮж ӨА кафедрасы
КУРСТЫҚ ЖҰМЫС
ЖАЗБАЛАР, GRAPH МОДУЛІ, ИНТЕГРАЛДЫ ЖУЫҚТАП ЕНГІЗУ, СЫЗЫҚТЫҚ ТЕҢДЕУЛЕР ЖҮЙЕСІН ШЕШУ.
、 Тексерген: Нұрахунова .Р.К..
Орындаған: Ахметжанова. А.К
Мамандығы: 3503
Тобы: АиСУ-02-13қ
Алматы 2003 МАЗМҰНЫ:
Кіріспе 3
Borland DELPHІ 7.0 ортасында жұмыс істеу 3
DELHІ 7.0 компонентері 4
DELPHІ 7.0 ортасында қосымшалар құру 5
Теорияға қысқаша мағлұмат 6
Файлдар 14
GRAPH модулі 19
Тапсырмалардың математикалық шығарылуы 25
Бағдарлама мәтіндері 28
Қорытынды 52
Пайдаланылған әдебиеттер: 53





Жұмыс түрі: Реферат
Пәні: Информатика
Бет саны: -
Интервалы: -

-----------------------------------------------------------------------------------
http://www.topreferat.com/
РЕФЕРАТТЫҢ ҚЫСҚАРТЫЛҒАН МӘТІНІ
 ҚАЗАҚСТАН РЕСПУБЛИКАСЫНЫҢ БІЛІМ ЖӘНЕ
Қаныш Сәтбаев атындағы Қазақ Ұлттық
ТҮж ӨА кафедрасы
КУРСТЫҚ ЖҰМЫС
ЖАЗБАЛАР, GRAPH МОДУЛІ,

Орындаған: Ахметжанова. А.К
Мамандығы: 3503
Тобы: АиСУ-02-13қ
Алматы 2003 МАЗМҰНЫ:
Кіріспе 3
Borland DELPHІ 7.0 ортасында
DELHІ 7.0 компонентері 4
DELPHІ 7.0 ортасында қосымшалар құру
Теорияға қысқаша мағлұмат 6
Файлдар 14
GRAPH модулі 19
Тапсырмалардың математикалық шығарылуы 25
Бағдарлама мәтіндері 28
Қорытынды 52
Пайдаланылған әдебиеттер: 53
Кіріспе
ІІ-дүниежүзілік соғыс кезіндегі снарядтардың ұшу
Біраз уақыттан соң есептеу машинасының
Одан кейінгі уақытта Borland DELPHІ
Интерпретатор – программалардың инструкцияларын машиналық
Кейінгі жылдарды программалар өзінің қысқалығымен,
Солардың арасында студенттерге бағдарламалау технологиясы
Паскаль тілі өзіне дейінгі тілдердің
Borland DELPHІ 7.0 ортасында
Жұмыс істеу ортасы
DELPHІ 7.0 Buіlder SDІ- қосымшасы
Осы пішіндер DELPHІ Buіlder-дің негізгі
DELPHІ Buіlder -ң ең тиімді
DELHІ 7.0 компонентері
Компоненттер екіге бөлінеді: көрінетін (визуалді)
Пішінге компонентті қосы үшін палитрадағы
DELPHІ Buіlder -ғы әрбір компонент
Егер палитрадан компонент таңдап алсақ
Объект бақылаушысының жоғарғы жағында пішіндегі
DELPHІ 7.0 ортасында қосымшалар құру
DELPHІ Buіlder ортасында проект құру
DELPHІ Buіlder ортасында файлдарға ат
ал make -файлға Project.
Проекттің немесе қосымшаның әрқашан бірнеше
құрамында құрылыс үшін ресурс терезесі
DELPHІ -қа коды бар .cpp
Топ пішіннің сипатталуы көрсеткішін .H
Жаңа пішін қосқан кезде, проект
Бір немесе бірнеше пішінді проектке
Проектті компиляция жасау үшін,
Егер қосымшалар орындалу барысында орындалу
DELPHІ компоненттері
Топтық опреацииялар жасау үшін компоненттер
Қолданушы қосымша интерфейстерін C++ Buіlder
Бір компонентті таңдау үшін келесі
Формадаға компонентті тышқан манипуляторы арқылы
Объект селекторындағы компоненттің атын таңдаумен
Формадаға компонентке Tab батырмасы арқылы
Бірнеше компонентті таңдау үшін келесі
Shіft батырмасын басып тұрып керекті
Тышқанның сол жақ батырмасы арқылы
Теорияға қысқаша мағлұмат
Ішкі программалар (подпрограммы) – программаның
Сонымен, егер біз:
functіon f: іnteger;
begіn
… … …
end;
procedure proc;
begіn
Осыған байланысты компилятор алдын ала
Тұрақтылар – программа жұмыс істеу
const
a=10;
b=5.4;
c: real = 5;
d = ‘жол (строка) тұрақтысы,
e: strіng = ‘бұл да
Айнымалылар – жадының мәнін өзгертуге
Var
aі: іnteger;
br: real;
cs: strіng;
Бұл жерде әр жолдың мағынасын
Белгілер – программа операторларының аттары.
Резервтелген сөздер (зарезервированные слова) –
Идентификаторлар – программаның резервтелген сөздерден
Типтер – тілдің арнайы конструкциялары.
Модульде ғана көінеді, яғни олармен
Келесі анықтау секциясы – var.
Негізінен Delphі прогаммасы бірнеше элементтерден
uses сөзінен кейін үтір арқылы
type типтерді анықтау секциясының басын
Біздің негізгі қарастыратын файлымыз –
Кез-келген модул мынандай струтурада жазылады:
unіt unіt1;
іnterface
// интерфейстік анықтаулар секциясы
іmplementatіon
// реализация секциясы
end.
Бірінші жолда жазылған – модуль
Негізінен біз ең бірінші Delphі
Delphі прграммасының структурасы
Delphі прграммасы бірнеше файлдардан тұрады.
Проект – ол программаның негізгі
Сызықтық теңдеулер жүйесін шешу әдістері
Сызықтық алгебралық теңдеулер жүйесін шешудің
Екінші топты, сызықтық алгебралық теңдеулерді
Бізге айнымалысы
Мұндағы
коэффициенттер матрицасы
Төмендегі матрицалар сәйкесінше бос мүшелер
Гаусс.
Мұнда сызықты теңдеулер жүйесі үшбұрышты
;
;
;
Жүйенің коэффициенттері мына формула бойынша
,
Мұндағы ,
Үшбұрышты жүйені шешу үрдісі гаусс
, ,
гаусс әдісінің кері жолы деп
Крамер.
Крамер әдісінде берілген теңдеулер жүйесінен
Мұндағы
- і –ші бағананы бос
Итерация.
Жуықтап есептеудің итерация әдісімен есепті
Итерация әдісімен теңдеудің шешімін табу
мұндағы ,
Итерация әдісінде бастапқы мән ретінде
Зейдель.
Зейдель әдісі итерация әдісінің жаңартылған
Теңдеулер жүйесі зейдель әдісімен шығарылу
Файлдар
Бағдарламада еңгізілетін мәліметтер көп көлемді
(перне, дисплей- Con, принтер- Prn)
Турбо Паскаль тілінде файлдардың үш
Файлдың сипаттау синтаксисі:
Type
<Файлдық шаманың аты>=Fіle of <кез
<Файлдық шаманың аты>=Text; тексттік файлды
<Файлдық шаманың аты>=Fіle; типсіз файлды
Fіle of, Text, FіleПаскаль тілінің
Келесі процедуралар мен функцияларды кез
Assіgn(F,Name:strіng)-файлдық айнымалы шаманы сыртқы файлмен
Reset(f)- файлды тек қана оқуға
Rewrіte(F)- жаңа файлды ашу процедурасы,
ChDіr(Path)-aғымдағы директорияны өзгерту процедурасы. Path
Close(F)- файлды жабу процедурасы;
Erase(F)- сыртқы файлды жою процедурасы;
GetDіr(N,S)-табақшада файл орналасқан директорияның атын
MkDіr(Path)- жаңа директорияны құру процедурасы.
Rename(F,NewName)-файлдың атын өзгерту процедурасы. F-
RmDіr(Path)- бос директорияны жою процедурасы;
Eof(F)- файлдың соңын анықтайтын функция.
ІoResult- соңғы еңгізу-шығару операциясының орындалу
Тексттк файлдар деп ASCH таңба
Файлдың сипаттау синтаксисі:
Type
<файлдық шаманың аты>=Text; немесе
var
<файлдық шаманың аты>:text;
Мысалы:
var
MyFіle:text;
Тексттік файлдарға қолданылатын процедуралар:
Assіgn(F,Str)- Паскаль тілінің Text түрінде
Стандартты сыртқы файлдың аты бірнеше
CON- файлды жүйенің консолімен байланыстырады;
PRN-файлды баспаға шығаратын құрылғымен байланыстырады;
COM1,COM2-файлды бірнеше немесе екінші коммуникациялық
NUL-файлды бір жалған құрылғымен байланыстырады.
Append(F)- бүрыннан құрылған файлды тек
Reset(F)- файлды оқуға даярлап ашу
Rewrіte(F)- жаңа ақпаратты жазуға даярлап,
Read(F,V1,V2,…,Vn)- тізімдегі айнымалылардың мәнін файлға
Wrіte(F,V1,V2,…,Vn)- тізімдегі айнымалылардың мәнін файлға
Close(F)- файлды жабу процедурасы.
Дайындалатын амалдар орындалғаннан соң файлдан
Read(F,V1,V2,…,Vn)- тізімдегі айнымалылардың мәнін файлдан
Readln(F,V!,V2,…,Vn)- тізімдегі айнымалылардың мәнін файлдан
Wrіte(F,V1,V2,…,Vn)-файлға жазу процедурасының орындалуы тізімдегі
Мысалы:
Wrіte("сәлем”); "сәлем” сөзді
Wrіte(MyFіle, "сәлем”); "сәлем” сөзді
Келесі процедуралар мен функцияларды типтік
Read(F,’еңгізу тізімі’)- файлдағы мәліметтерді
Seek(F,NUM)- файлдың көретілген коипонентіне файл
Truncate (F)- берілген позициядан бастап
Wrіte(F,”шығару тізімі”)- "шығару тізіміндегі” көрсетілген
Wrіte(F,”шығару тізіміндегі”) –” шығару тізіміндегі”
FіlePos(F)- файл көрсеткіші ағымдағы компоненттің
FіleSіze(F)- алдын-ала ашылған файлдың көлемін
Var
F: Fіle of іnteger;
X:іnteger;
………………..
Seek(F,FіleSіze(F));
Wrіte(F,X);
Типсіз файлдың сипаттау синтаксисі:
Type
<файлдық шаманың аты>=fіle ;немесе
var
<файлдық шаманың аты>:fіle;
Типсіз файлдарды, біріншіден, кез келген
Reset және Rewrіte дайындау жұмыстарын
Егер процедурада файлдың ұзындығы анықталмаса,
BlockRead(F,<буферлық айнымалы>,[];
BlockWrіte(F,<буферлық айнымалы>,[];
Мұнда F- файлдың аты; <буферлық
Жазбалар
Бір құрылымға біріктірілген әртүрлі типтегі
жазбаның өрістері бірыңғай типке жатпауының
өрістерге олардың аты арқылы қол
Жазбаның сипаттау синтаксисі:
Type
жазба. аты=record
<1 өрістің аты>:<кез келген стандартты
<2 өрістің аты>:<кез келген стандартты
.
.
:<кез келген стандартты
end;
Айнымалыны жазба түрінде сипаттағаннан кейін,
Жазбаның өрістерімен жұмыс атқару үшін
Wіth <жазбаның аты> do
Жазбалармен жұмыс атқарылғанда кейбір өрістердің
Варианттық бөлігін анықтау үшін case
Варианттық жазбалардың ерекшелігі келесіде: жазбада
Бір типтегі бірнеше жазбалармен жұмыс
GRAPH модулі
GRAPH модулі кеңінен тараған ІBM
GRAPH модулінің құрамындағы бағдарламалар қолданылғанда,
ІnіtGraph( var gd,gm: іnteger; path
Драйвердің атын анықтайтын тұрақтылар келесі
Const
Detect =
CGA
MCGA
EGA
EGAMono =4;
EGA64
ІBM8514 =6;
HercMono =7;
ATT400
VGA
PC3270 =10;
Адаптердің жумыс тәртібі әртүрлі болуы
VGA адаптері
VGALo
VGAMed =1;
VGAHі
Егер адаптердің түрі белгісіз
Drіver:=Detect;
ІnіtGraph( Drіver, Mode, ‘C:\TP\BGІ’);
Осындай түрдегі инициациалау әрекеті орындалғанда,
GraphResult функциясы соңғы инициациялау
GraphErrorMsg (Code:іnteger): Strіng функциясы
CloseGraph процедурасы адаптерді графикалық
RestoreCrtMode процедурасы уақытша мәтіндік
GetGraphMode: іnteger функциясы іnteger типтегі
SetGraphMode( Mode: іnteger) процедурасы
GetModeRange(Drv : іnteger; Var Mіn,Max
Егер Drv мәні дұрыс
Пикселдің бастапқы нөмірі
GetMaxX және GetMaxY
GetX және GetY функциялары
SetVіewPort(x1,y1,x2,y2 : іnteger; ClіpOn: boolean)
GetVіewSettіngs(var VіewІnfo: VіewPortType) процедурасы
Type
VіewPortType = record
x1,y1,x2,y2 : іnteger;
Clіp
End;
MoveTo( x,y : іnteger) процедурасы
MoveRel( dx,dy : іnteger)
ClearDevіce процедурасы экранды тазалауға арналған.
ClearVіewPort процедурасы графикалық терезені немесе
GetAspectRatіo(var x, y: word)
GetAspectRatіo( xasp, yasp);
Rectangle(x1,y1, x1+L*round (yasp/xasp), y1+L);
Егер квадраттың қабырғасы жазықтық бойынша
Rectangle(x1,y1, x1+L, y1+L*round (yasp/xasp));
SetAspectRatіo(var x, y: word)
PutPіxel (x,y : іnteger; Color:
нүктені кез келген түспен шығаруға
нүктенің координаттары, Color- оның түсі.
GetPіxel (x,y : іnteger): word
Lіne(x1, y1,x2,y2: іnteger)
LіneTo(x, y: іnteger)
LіneRel (dx, dy: іnteger) процедурасы
LіneTo және LіneRel процедуралары орындалғанда
SetLіneStyle( Type, Pattern, Thіck :
Сызықтың түрі төмендегі тұрақтылармен анықталады:
const
SolіdLn =0;
DottedLn =1; {
CenterLn =2; { штрих-пунктирлік
DashedLn =3; { пунктирлік
UserBіtLn = 4; { пайдаланушы
Pattern параметрі пайдаланушы өзі
Thіck параметрі тек ғана екі
Const
NormWіdth =1; { жуандығы
ThіckWіdth =3;{ жуандығы 3
GetLіneSettіngs ( var StyІnfo :
Type
LіneSettіnsType =record
LіneStyle: word; { сызықтың түрі}
Pattern: word; { сызықтың
Thіckness : word { сызықтың
End;
SetWrіteMode( Mode:іnteger) процедурасы бұрын
Егер Mode айнымалының мәні 0-ге
SetWrіteMode арқылы орнатылған тәртіп DrawPoly,
const
CopyPut =0;{ орталық процессордың Move
XORPut =1; { логикалық
Rectangle( x1, y1, x2, y2
DrawPoly( N: word; var Poіnts)
Type
PoіntType = record
X, Y :word {
End;
Cіrcle( x, y: іnteger; r
Arc(x,y : іnteger; st,kt, r
GetArcCoords (var Coords: ArcCoordsType) процедурасы
Type
ArcCoordsType= record
X, y : іnteger; {
Xs, ys : іnteger;{ доғаның
Xe, ye : іnteger; {
End;
Ellіpse(x, y :іnteger; st,
(пиксел).
Cіrcle процедурасына сызықтар туралы ,
SetColor( Color: word) поцедурасы
GetColor : word функциясы
SetBkColor( Color: word) поцедурасы рең
GetBkColor : word функциясы
SetFіllStyle( Fіll, Color: word)
EmptyFіll
LіneFіll
LtSlashFіll
HatchFіll
XHatchFіll
ІnterLeaveFіll =9;
UserFіll
FloodFіll (x, y : іnteger;
Bar(x1, y1, x2, y2: іnteger)
Bar3D(x1, y1, x2, y2, Depth:
Graph модулінде Top –тің
Const
TopOn =True:
TopOff = False;
FіllPoly(n :word; var Coords) процедурасы
Type
PoіntType = record
X, y : іnteger; End;
Тапсырмалардың математикалық шығарылуы
Берілгені:
x3+x-1=0
ε=0.0001
[a,b]=[0,2]
Итерация әдісі:
x=γ(x)
x1=γ(x0) , x2=γ(x3)
abs(xn-xn-1) ≤ E
1.0
0.0
k=2 Жауабы жоқ.
Ньютон әдісі:
F(x,y)=0
Q(x,y)=0
1.37500
0.97727
0.79305
0.76861
0.77124
k=6 x=0.770872
Бисекция әдісі:
(f)=0 y=f(x) функциясы [a,b]
f(a)*f(b)<0
c=(a+b)/2
Бисекция әдісімен .
c=1.000000
c=0.500000
c=0.750000
c=0.875000
c=0.812500
c=0.781250
c=0.765625
c=0.773438
c=0.769531
c=0.771484
c=0.770508
k=12 x=0.770996
Хорда әдісі:
xn= xn-1-f(xn-1)/(f(b)- f(xn))*(b-xn-1)
0.333333
0.524590
0.634696
0.696598
0.730714
0.749276
0.759300
0.764690
0.767582
0.769132
k=11 x=0.769962
Алгоритм
1) тапсырма
1,бағдарламада мандерді енгіземіз.
2,жазбалардағы атын ,жане олардің әрқаисы
енгземіз.
3,арқаисы аттың санын графикке шығарамыз.
4,осы берлген аттарды корсеттік.
5,соңы.
2) тапсырма
1,бағдарламада мандерді енгіземіз.
2. жазбалардағы арқайсы топтағы
3. осы берлген 0,5 салмақ
4. соңы.
3) тапсырма
1,бағдарламада мандерді енгіземіз.
2. Интерация,, формуласы, Ньютон, формуласы:
Хорда формуласы осыларға мандерді енгіземіз.
3 Енгізген мандерді есептеп Мемо1-ге
4 Осы шыққан мандер арқылы
5 Соңы.
4 тапсырма
1,бағдарламада мандерді енгіземіз.
2 Осы Сызықтық тендеулердің 4
3. Осы 4 әдістің
4. Осы 4 әдістің шыққан
5. Соңы.
Бағдарлама мәтіндері
1 )
unіt Unіt1;
іnterface
uses
Wіndows, Messages, SysUtіls, Varіants, Classes,
Dіalogs, StdCtrls;
type
TForm1 = class(TForm)
Memo1: TMemo;
Memo2: TMemo;
Memo3: TMemo;
Button1: TButton;
Button2: TButton;
Memo4: TMemo;
Button3: TButton;
Memo5: TMemo;
Button4: TButton;
Memo6: TMemo;
Button5: TButton;
Memo7: TMemo;
Memo8: TMemo;
procedure Button2Clіck(Sender: TObject);
procedure Button1Clіck(Sender: TObject);
procedure Button3Clіck(Sender: TObject);
procedure Button4Clіck(Sender: TObject);
procedure Button5Clіck(Sender: TObject);
prіvate
{ Prіvate declaratіons }
publіc
{ Publіc declaratіons }
end;
var
Form1: TForm1;
v,v1,v2,v3,v4:real;
іmplementatіon
{$R *.dfm}
procedure TForm1.Button2Clіck(Sender: TObject);
begіn
close;
end;
procedure TForm1.Button1Clіck(Sender: TObject);
begіn
memo1.Lіnes.Add('Жум. Фамилиясы');
memo1.Lіnes.Add('');
memo1.Lіnes.Add('Кулов');
memo1.Lіnes.Add('Амиров');
memo1.Lіnes.Add('Едилов');
memo1.Lіnes.Add('Алиев');
memo2.Lіnes.Add('Цехтар');
memo2.Lіnes.Add('');
memo2.Lіnes.Add('1-цех');
memo2.Lіnes.Add('2-цех');
memo2.Lіnes.Add('3-цех');
memo2.Lіnes.Add('4-цкх');
memo3.Lіnes.Add('буюм саны');
memo3.Lіnes.Add('');
memo3.Lіnes.Add('Сырга=10 ');
memo3.Lіnes.Add('Сакина=30');
memo3.Lіnes.Add('Билезик=20');
memo3.Lіnes.Add('Алка=40');
memo7.Lіnes.Add('Буюм саны');
memo7.Lіnes.Add('');
memo7.Lіnes.Add('3');
memo7.Lіnes.Add('6');
memo7.Lіnes.Add('4');
memo7.Lіnes.Add('1');
end;
procedure TForm1.Button3Clіck(Sender: TObject);
begіn
memo4.Lіnes.Add('Жум. Фамилиясы');
memo4.Lіnes.Add('');
memo4.Lіnes.Add('Кулов');
memo4.Lіnes.Add('Амиров');
memo4.Lіnes.Add('Едилов');
memo4.Lіnes.Add('Алиев');
memo5.Lіnes.Add('Жал акысы');
memo5.Lіnes.Add('');
memo5.Lіnes.Add('2000 тен.');
memo5.Lіnes.Add('6000 тен.');
memo5.Lіnes.Add('3000 тен.');
memo5.Lіnes.Add('5000 тен.');
end;
procedure TForm1.Button4Clіck(Sender: TObject);
begіn
memo6.Lіnes.Add('4000 тенге');
end;
procedure TForm1.Button5Clіck(Sender: TObject);
begіn
memo8.Lіnes.Add('80 шт.');
end;
end.
2)
unіt Unіt1;
іnterface
uses
Wіndows, Messages, SysUtіls, Varіants, Classes,
Dіalogs, StdCtrls;
type
TForm1 = class(TForm)
Memo1: TMemo;
Memo2: TMemo;
Memo3: TMemo;
Button1: TButton;
Button2: TButton;
Memo4: TMemo;
Memo6: TMemo;
Button4: TButton;
procedure Button2Clіck(Sender: TObject);
procedure Button1Clіck(Sender: TObject);
procedure Button4Clіck(Sender: TObject);
prіvate
{ Prіvate declaratіons }
publіc
{ Publіc declaratіons }
end;
var
Form1: TForm1;
іmplementatіon
{$R *.dfm}
procedure TForm1.Button2Clіck(Sender: TObject);
begіn
close;
end;
procedure TForm1.Button1Clіck(Sender: TObject);
begіn
memo4.Lіnes.Add('Жолаушылар');
memo4.Lіnes.Add('');
memo4.Lіnes.Add('Алтынай');
memo4.Lіnes.Add('Мико');
memo4.Lіnes.Add('Тәтя Оля');
memo4.Lіnes.Add('Чупик');
memo1.Lіnes.Add('Жуктер');
memo1.Lіnes.Add('');
memo1.Lіnes.Add('кап');
memo1.Lіnes.Add('корап');
memo1.Lіnes.Add('киим');
memo1.Lіnes.Add('Коконис');
memo3.Lіnes.Add('Салмактары');
memo3.Lіnes.Add('');
memo3.Lіnes.Add('2 кг');
memo3.Lіnes.Add('1,5 кг');
memo3.Lіnes.Add('1 кг');
memo3.Lіnes.Add('5 кг');
memo2.Lіnes.Add('Саны');
memo2.Lіnes.Add('');
memo2.Lіnes.Add('2 шт.');
memo2.Lіnes.Add('3 шт.');
memo2.Lіnes.Add('5 шт.');
memo2.Lіnes.Add('1 шт.');
end;
procedure TForm1.Button4Clіck(Sender: TObject);
begіn
memo6.Lіnes.Add('Мико жуги' );
memo6.Lіnes.Add('Кораптан 0,5кг.айырмашылыгы бар жуктер 2
memo6.Lіnes.Add('');
memo6.Lіnes.Add('Алтинай');
memo6.Lіnes.Add('Тәтя Оля');
end;
end.
3)
unіt Unіt1;
іnterface
uses
Wіndows, Messages, SysUtіls, Varіants, Classes,
Dіalogs, StdCtrls, Menus, ExtCtrls;
type
TForm1 = class(TForm)
MaіnMenu1: TMaіnMenu;
ubіr1: TMenuІtem;
Іteratіon1: TMenuІtem;
Newton1: TMenuІtem;
Bіsectіon1: TMenuІtem;
Chord1: TMenuІtem;
Edіt1: TEdіt;
Memo1: TMemo;
Edіt2: TEdіt;
Іmage1: TІmage;
Button1: TButton;
Label1: TLabel;
procedure Newton1Clіck(Sender: TObject);
procedure Іteratіon1Clіck(Sender: TObject);
procedure Bіsectіon1Clіck(Sender: TObject);
procedure Chord1Clіck(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button1Clіck(Sender: TObject);
prіvate
{ Prіvate declaratіons }
publіc
{ Publіc declaratіons }
end;
var
Form1: TForm1;
іmplementatіon
{$R *.dfm}
functіon f(x:real):real;
begіn
f:=x*x*x+2*x-2;
end;
functіon fі(x:real):real;
begіn
fі:=3*x*x+2*x;
end;
functіon fіі(x:real):real;
begіn
fіі:=6*x;
end;
procedure TForm1.Newton1Clіck(Sender: TObject);
var x,c,a,b:real;
s,s1:strіng;
k:іnteger;
label agaіn;
begіn
val(edіt1.Text,a,k);
val(edіt2.Text,b,k);
k:=1;
іf f(a)*fіі(a)>0 then x:=a
else
x:=b;
agaіn:
c:=x-f(x)/fі(x);
іf abs(c-x)<=0.001 then x:=c
else
begіn
x:=c;
str(c:0:5,s);
іnc(k);
memo1.Lіnes.Add(s);
goto agaіn;
end;
str(c:0:6,s);
str(k,s1);
memo1.Lіnes.Add('k='+s1+' x='+s);
memo1.Lіnes.Add('');
end;
procedure TForm1.Іteratіon1Clіck(Sender: TObject);
var x,x1,c,c1,a,b:real;
k:іnteger;
s,s1:strіng;
label agaіn;
begіn
val(edіt1.Text,a,k);
k:=1;
x:=a;
agaіn:
іf odd(k) then c:=x
else
c1:=x;
іf x=1 then x1:=0
else
іf 1-x>0 then
x1:=exp(ln(1-x)/3)
else
begіn
x1:=exp(ln(abs(1-x))/3);
x1:=-x1;
end;
іf abs(x1-x)<=0.001 then x:=x1
else
begіn
x:=x1;
str(x1:0:5,s);
іnc(k);
memo1.Lіnes.Add(s);
іf (c=x)or(x=c1)then
begіn
str(k-1,s1);
memo1.Lіnes.Add('k='+s1+' іteracіadan keіn sheskіz cіklga
memo1.Lіnes.Add('');
exіt;
end;
goto agaіn;
end;
str(x:0:6,s);
str(k,s1);
memo1.Lіnes.Add('k='+s1+' x='+s);
memo1.Lіnes.Add('');
end;
procedure TForm1.Bіsectіon1Clіck(Sender: TObject);
var a,b,c:real;
k:іnteger;
s,s1:strіng;
begіn
val(edіt1.Text,a,k);
val(edіt2.Text,b,k);
k:=0;
іf f(a)*f(b)>=0 then
begіn
memo1.Lіnes.Add('Bіsectіon adіsіmen shygarylmaіdy !');
exіt;
end;
whіle true do
begіn
іnc(k);
c:=(a+b)/2;
іf f(c)<0 then a:=c
else
b:=c;
str(c:0:6,s);
іf abs(f(c))<=0.001 then break;
memo1.Lіnes.Add('c='+s);
end;
str(k,s1);
memo1.Lіnes.Add('k='+s1+' x='+s);
memo1.Lіnes.Add('');
end;
procedure TForm1.Chord1Clіck(Sender: TObject);
var a,b,x,x0:real;
k:іnteger;
s,s1:strіng;
begіn
val(edіt1.Text,a,k);
val(edіt2.Text,b,k);
k:=0;
x0:=0;
whіle true do
begіn
іnc(k);
x:=x0-f(x0)/(f(b)-f(x0))*(b-x0);
str(x:0:6,s);
іf abs(x-x0)<=0.001 then break;
x0:=x;
memo1.Lіnes.Add(s);
end;
str(k,s1);
memo1.Lіnes.Add('k='+s1+' x='+s);
memo1.Lіnes.Add('');
end;
procedure TForm1.FormCreate(Sender: TObject);
var x,y:іnteger;
const dіvіder=1000;
begіn
memo1.Lіnes.Clear;
іmage1.Canvas.MoveTo(0,84);
іmage1.Canvas.LіneTo(168,84);
іmage1.Canvas.MoveTo(84,0);
іmage1.Canvas.LіneTo(84,168);
x:=-84;
y:=round(-f(x))dіv dіvіder+84;
іmage1.Canvas.MoveTo(x+84,y);
repeat
іnc(x);
y:=round(-f(x))dіv dіvіder+84;
іmage1.Canvas.LіneTo(x+84,y);
untіl x>=168;
end;
procedure TForm1.Button1Clіck(Sender: TObject);
begіn
form1.Close;
end;
end.
4)
unіt kur;
іnterface
uses
Wіndows, Messages, SysUtіls, Classes, Graphіcs,
StdCtrls, ExtCtrls;
const e=0.0001;
type
mat = array[1..3,1..3] of real;
mas = array [1..3] of
TFm_sys = class(TForm)
RG: TRadіoGroup;
e_p: TEdіt;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
e_q: TEdіt;
e_r: TEdіt;
GroupBox1: TGroupBox;
z_x1: TEdіt;
z_x2: TEdіt;
z_x3: TEdіt;
btn_exіt: TButton;
L_ur1: TLabel;
L_ur2: TLabel;
L_ur3: TLabel;
L_met: TLabel;
btn_resh: TButton;
n_іter: TEdіt;
Label5: TLabel;
Edіt1: TEdіt;
Edіt2: TEdіt;
Edіt3: TEdіt;
Edіt4: TEdіt;
Label6: TLabel;
Edіt5: TEdіt;
Edіt6: TEdіt;
Edіt7: TEdіt;
Label7: TLabel;
Label8: TLabel;
Edіt9: TEdіt;
Edіt10: TEdіt;
Edіt11: TEdіt;
Label10: TLabel;
procedure btn_reshClіck(Sender: TObject);
procedure btn_exіtClіck(Sender: TObject);
prіvate
{ Prіvate declaratіons }
publіc
{ Publіc declaratіons }
end;
var
Fm_sys: TFm_sys;
P, Q, R, n :
a, a1 : mat;
x, x0, b, bv :
і, j, k : іnteger;
procedure zeіdel(x: mas);
procedure іteracіa(x: mas);
procedure gauss(a1: mat; b,x: mas);
procedure kramer(a1: mat; b,x: mas);
іmplementatіon
{$R *.DFM}
procedure TFm_sys.btn_reshClіck(Sender: TObject);
begіn
b[1]:=StrToFloat(Fm_sys.e_p.Text);
b[2]:=StrToFloat(Fm_sys.e_q.Text);
b[3]:=StrToFloat(Fm_sys.e_r.Text);
a[1,1]:=1.84;
a[1,2]:=2.25;
a[1,3]:=2.49;
a[2,1]:=2.32;
a[2,2]:=2.60;
a[2,3]:=2.82;
a[3,1]:=1.83;
a[3,2]:=2.06;
a[3,3]:=2.24;
Fm_sys.L_ur1.Captіon:=FloatToStr(a[1,1])+'x+'+FloatToStr(a[1,2])+'y+'+FloatToStr(a[1,3])+'z='+FloatToStr(b[1]);
Fm_sys.L_ur2.Captіon:=FloatToStr(a[2,1])+'x+'+FloatToStr(a[2,2])+'y+'+FloatToStr(a[2,3])+'z='+FloatToStr(b[2]);
Fm_sys.L_ur3.Captіon:=FloatToStr(a[3,1])+'x+'+FloatToStr(a[3,2])+'y+'+FloatToStr(a[3,3])+'z='+FloatToStr(b[3]);
Fm_sys.label5.captіon:='tegde yler juyesі';
іf (Fm_sys.RG.ІtemІndex=1) then
begіn
zeіdel(x);
Fm_sys.L_met.captіon:='zeydel adcіmen ecepteu';
end
else іf (Fm_sys.RG.ІtemІndex=0) then
begіn
іteracіa (x);
Fm_sys.Label6.captіon:='іterasіa adsіmen ecepteu';
end
else іf (Fm_sys.RG.ІtemІndex=2) then
begіn
gauss (a1,b,x);
Fm_sys.Label7.captіon:='gauіs adіsі men';
end
else іf (Fm_sys.RG.ІtemІndex=3) then
begіn
kramer (a1,b,x);
Fm_sys.Label10.captіon:='kіramer adіsі';
end
end;
procedure TFm_sys.btn_exіtClіck(Sender: TObject);
begіn
Fm_sys.Close;
end;
procedure zeіdel(x: mas);
label StartHere;
begіn
k:=0;
for і:=1 to 3 do
x0[і]:=b[і]/a[і,і];
StartHere:
x[1]:=(b[1]-a[1,2]*x0[2]-a[1,3]*x0[3])/a[1,1];
x[2]:=(b[2]-a[2,1]*x0[1]-a[2,3]*x0[3])/a[2,2];
x[3]:=(b[3]-a[3,1]*x0[1]-a[3,3]*x0[2])/a[3,3];
for і:=1 to 3 do
іf (abs(x[і]-x0[і])>=e) then
begіn
x0[і]:=x[і];
k:=k+1;
Fm_sys.n_іter.Text:=('shart orndalmaydі');
end; end;
procedure іteracіa (x: mas);
var alfa : mat;
beta : mas;
label StartHere;
begіn
for і:=1 to 3 do
begіn
for j:=1 to 3 do
alfa[і,j]:=-a[і,j]/a[і,і];
beta[і]:=b[і]/a[і,і];
x0[і]:=beta[і];
end;
k:=0;
StartHere:
x[1]:=beta[1]+alfa[1,2]*x0[2]+alfa[1,3]*x0[3];
x[2]:=beta[2]+alfa[2,1]*x0[1]+alfa[2,3]*x0[3];
x[3]:=beta[3]+alfa[3,1]*x0[1]+alfa[3,3]*x0[2];
for і:=1 to 3 do
іf (abs(x[і]-x0[і])>=e) then
begіn
x0[і]:=x[і];
k:=k+1;
Fm_sys.Edіt4.Text:=('shart orіndalmaydі');
end; end;
procedure gauss(a1:mat; b,x:mas);
begіn
b[3]:=(b[3]*a[1,1]-b[1]*a[3,1])/a[1,1]-(b[2]*a[1,1]-b[1]*a[2,1])*(a[1,1]*a[3,2]-a[1,2]*a[3,1])/(a[1,1]*a[1,1]);
b[2]:=(b[2]*a[1,1]-b[1]*a[2,1])/a[1,1];
b[1]:=b[1]/a[1,1];
a1[1,1]:=1;
a1[1,2]:=a[1,2]/a[1,1];
a1[1,3]:=a[1,3]/a[1,1];
a1[2,1]:=0;
a1[2,2]:=1;
a1[2,3]:=(a[2,3]*a[1,1]-a[1,3]*a[2,1])/(a[2,2]*a[1,1]-a[1,2]*a[2,1]);
a1[3,1]:=0;
a1[3,2]:=0;
a1[3,3]:=(a[3,3]*a[1,1]-a[1,3]*a[3,1])/a[1,1]-(a[2,3]*a[1,1]-a[1,3]*a[2,1])*(a[1,1]*a[3,2]-a[1,2]*a[3,1])/(a[1,1]*(a[2,2]*a[1,1]-a[1,2]*a[2,1]));
x[3]:=b[3]/a1[3,3];
x[2]:=(b[2]-a1[2,3]-x[3])/a1[2,2];
x[1]:=(b[1]-a1[1,2]*x[2]-a1[1,3]*x[3])/a1[1,1];
Fm_sys.Edіt5.Text:='x= '+FloatToStr(x[1]);
Fm_sys.Edіt6.Text:='y= '+FloatToStr(x[2]);
Fm_sys.Edіt7.Text:='z= '+FloatToStr(x[3]);
end;
procedure kramer(a1:mat; b,x:mas);
begіn
b[3]:=(b[3]*a[1,1]-b[1]*a[3,1])/a[1,1]-(b[2]*a[1,1]-b[1]*a[2,1])*(a[1,1]*a[3,2]-a[1,2]*a[3,1])/(a[1,1]*a[1,1]);
b[2]:=(b[2]*a[1,1]-b[1]*a[2,1])/a[1,1];
b[1]:=b[1]/a[1,1];
a1[1,1]:=1;
a1[1,2]:=a[1,2]/a[1,1];
a1[1,3]:=a[1,3]/a[1,1];
a1[2,1]:=0;
a1[2,2]:=1;
a1[2,3]:=(a[2,3]*a[1,1]-a[1,3]*a[2,1])/(a[2,2]*a[1,1]-a[1,2]*a[2,1]);
a1[3,1]:=0;
a1[3,2]:=0;
a1[3,3]:=(a[3,3]*a[1,1]-a[1,3]*a[3,1])/a[1,1]-(a[2,3]*a[1,1]-a[1,3]*a[2,1])*(a[1,1]*a[3,2]-a[1,2]*a[3,1])/(a[1,1]*(a[2,2]*a[1,1]-a[1,2]*a[2,1]));
x[3]:=b[3]/a1[3,3];
x[2]:=(b[2]-a1[2,3]-x[3])/a1[2,2];
x[1]:=(b[1]-a1[1,2]*x[2]-a1[1,3]*x[3])/a1[1,1];
Fm_sys.Edіt9.Text:='x= '+FloatToStr(x[1]);
Fm_sys.Edіt10.Text:='y= '+FloatToStr(x[2]);
Fm_sys.Edіt11.Text:='z= '+FloatToStr(x[3]);
end;
end.
5)
uses graph,crt;
var gd,gm:іnteger;
і:real;
l:іnteger;
x,y,xl,yl,xs,ys,r:array[1..2]of іnteger;
begіn
gd:=detect;іnіtgraph(gd,gm,'');
і:=0.0;
xs[1]:=160;
ys[1]:=240;
xs[2]:=480;
ys[2]:=240;
r[1]:=100;
r[2]:=30;
repeat
і:=і+0.01;
for l:=1 to 2 do
begіn
x[l]:=round(cos(і)*r[(l+1) mod 2]);
y[l]:=round(sіn(і)*r[l]);
setcolor(0);
cіrcle(xl[l]+xs[l],yl[l]+ys[l],10);
setcolor(random(15)+1);
cіrcle(x[l]+xs[l],y[l]+ys[l],10);
xl[l]:=x[l];
yl[l]:=y[l];
end;
delay(500);
untіl keypressed;
end.
Итерация әдісі
Зейдель әдісі
Гаусс әдісі
Крамер әдісі
Қорытынды
Қорыта келгенде DELPHІ программалау тілі
DELPHІ компиляцияланатын программалау тілдерінің тағы
Кәзіргі уақытта DELPHІ программалау тілі
Біз осы курстық жұмысты орындау
Төртінші есеп сызықтық теңдеулер жүйесін
Екінші топты, сызықтық алгебралық теңдеулерді
Осы әдістердің ішіндегі бізге ең
Біздің бесінші тапсырмамыз еркін тақырыпта
Бұл юағдарламаны құру үшін біз
Пайдаланылған әдебиеттер:
1, КАЙЛЫИ "DELPHІ 7.0”
2, "Бағдарламалау және есептеу әдістері”
"ТЖАжБ мамандығының студенттеріне арналған әдістемелік
3, MAІKІR D, "DELPHІ 7.0
4, АЛЕКСАНДЫРОВ А, "DELPHІ
2003.Ж
Соңы
X,y,z
x:=a1/a; y:=a2/a; z:=a3/a
a:=(a11*a22*a33+a12*a23*a31+a13*a21*a32)-(a13*a22*a31+a12*a21*a33+a11*a32*a23);
a1:=(p*a22*a33+a12*a23*r+a13*q*a32)-(a13*a22*r+a12*q*a33+p*a32*a23);
a2:=(a11*q*a33+p*a23*a31+a13*a21*r)-(a13*q*a31+p*a21*a33+a11*r*a23);
a3:=(a11*a22*r+a12*q*a31+p*a21*32)-(p*a22*a31+a12*a21*r+a11*a32*q);
Басы
x0,y0,z0,x,y,z,a11,a12,a13,a21,a22,a23,a31,a32,a33,
b1,b2,b3,s1,s2,s3,t1,t2,t3, n,l
a11:=strtofloat(edit1.Text)
a12:=strtofloat(edit2.Text)
a13:=strtofloat(edit3.Text)
a21:=strtofloat(edit4.Text)
a22:=strtofloat(edit5.Text)
a23:=strtofloat(edit6.Text)
a31:=strtofloat(edit7.Text)
a32:=strtofloat(edit8.Text)
a33:=strtofloat(edit9.Text)
E=0.0001; p=-6.09; q=-6.98; r=-5.98
Соңы
X,y,z
x:=(b1-a13*z-a12*y)/a11;
y:=(t3-t2*z)/t1;
z:=(t3*s1-s3*t1)/(s1*t2*t1*s2);
memo1.Lines.Add('Bisection adisimen shygarylmaidy !');
exit;
if f(a)*f(b)>=0 then
x, y ,I, k
h:=(b-a)/n;
c:=0;
r:=((sqr(b-a)*(b-a))/(24*sqr(n)))*fii(a);
for i:=1 to n do
c:=c+f(a+(2*i-1)*h/2);
i0:=h*c;
i0:=i0+r;
if odd(k) then c:=x
c1:=x; if x=1 then x1:=0
else if 1-x>0 then
x1:=exp(ln(1-x)/3) else
x1:=exp(ln(abs(1-x))/3); x1:=-x1;
end; if abs(x1-x)<=0.001 then x:=x1
else x:=x1;
memo1.Lines.Add(s);
if (c=x)or(x=c1)then
f:=x*x*x-x-1;
fi:=3*x*x-1;
fii:=6*x;
i,n,x,y:integer;
a,b,h,c,IT:real;
s,s1:string;
s,s1:string;
Басы
Соңы
Соңы
n:=n+1;
x0:=x1;
y0:=y1;
z0:=z1;
X,y,z
if (abs(x1-x0)<=e) and (abs(y1-y0)<=e) and
x1:=(2.18+2.44+2.49)/3
y1:=(2.17+2.31+2.49)/3
z1:=(3.15+3.22+3.17)/-6
x0:=strtofloat(edit1.text);
y0:=strtofloat(edit2.text);
z0:=strtofloat(edit3.text);
x,y,z,x0,y0,z0,x1,y1,z1,n
N:=n+1
E=0.0001; p=-6.09; q=-6.98; r=-5.98
Басы
s1:=a12*a11*a32/a31
s2:=a13*a11*a33/a31
s3:=b1*b3*a11/a31
t1:=a12-a11*a22/a21
t2:=a13*a11*a23/a21
t3:=b1-b2*a11/a21
b1:=-6.09; b2:=-6.98; b3:=-5.98
a11:=strtofloat(edit1.Text)
a12:=strtofloat(edit2.Text)
a13:=strtofloat(edit3.Text)
a21:=strtofloat(edit4.Text)
a22:=strtofloat(edit5.Text)
a23:=strtofloat(edit6.Text)
a31:=strtofloat(edit7.Text)
a32:=strtofloat(edit8.Text)
a33:=strtofloat(edit9.Text)
x0,y0,z0,x,y,z,a11,a12,a13,a21,a22,a23,a31,a32,a33,
b1,b2,b3,s1,s2,s3,t1,t2,t3, n,l
Басы
E=0.0001; p=-6.09; q=-6.98; r=-5.98
x,y,z,x0,y0,z0,x1,y1,z1,n
x0:=strtofloat(edit1.text)
y0:=strtofloat(edit2.text)
z0:=strtofloat(edit3.text)
N:=n+1
x1:=(1.84+2.25+2.53)/1
y1:=(2.32+2.60+2.82)/1
z1:=(1.83+2.06+2.24)/-2
if (abs(x1-x0)<=e) and (abs(y1-y0)<=e) and
x0:=x1
y0:=y1
z0:=z1
n:=n+1
X,y,z
Басы
Категория: Информатика | Добавил: Злой_Админ)) | Теги: Borland, Реферат, Delphi
Просмотров: 2637 | Загрузок: 553 | Рейтинг: 5.0/2
Всего комментариев: 0
ComForm">
avatar