Главная » Файлы » Рефераттар » Информатика |
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 Басы | |
Просмотров: 2637 | Загрузок: 553 | |
Всего комментариев: 0 | |