Демонстраційна програма розв’язку систем лінійних рівнянь
Характеристика розв’язку системи рівнянь. Аналіз специфікації процедур та функцій. Особливість створення заставок. Лістинг проектного файлу програм та головної форми. Новий підхід для розв’язування концепції лінійних задач з невідомими за методом Гауса.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | украинский |
Дата добавления | 07.04.2015 |
Размер файла | 116,7 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Міністерство аграрної політики України
Агротехнічний коледж Уманського ДАУ
Кабінет ”Проектування автоматизованих інформаційних систем”
Заочне відділення
Курсова робота
з навчальної дисципліни: “Основи програмування і алгоритмічні мови”
Тема роботи: “Демонстраційна програма розв'язку систем лінійних рівнянь за допомогою метода Гауса”
Виконала
студентка групи П4Р
Ільїна Т.О.
Перевірив викладач:
Чорновол І.В.
2010
Зміст
Вступ
1. Теоретичні відомості
1.1 Розв'язок систем рівнянь
1.2 TmainMenu
1.3 TButton
2. Специфікація процедур та функцій
2.1 Створення заставки
2.2 Обрахунок
2.3 Вивід на принтер
3. Лістінг програми
3.1 Лістінг проектного файлу програми
3.2 Лістінг головної форми програми
4. Результат програми
Висновки
Список використаних джерел та програмних засобів
Вступ
Широке використання математичних методів розв'язування багатьох однотипних задач, є базовим підґрунтям для створення комп'ютерної інтерпретації математичної моделі. Швидке збільшення кількості програмістів, все менше і менше залишає місця для написання нових, ще не розроблених математичних моделей.
Актуальною є дана робота тим, що в ній можна використати нові конструктивно-програмні елементи знаходження розв'язків системи n лінійних рівнянь з n невідомими.
Мета роботи полягає в розробці програми, яка б здійснювала комп'ютерну інтерпретацію розв'язку системи лінійних рівнянь методом Гауса.
Завданням є:
- розробити загальну структурно-алгоритмічну одиницю, для знаходження розв'язку системи лінійних рівнянь з 3 невідомими;
- зробити аналіз розробленої комп'ютерної моделі з детальним роз'ясненням кожного кроку виконання програми;
- розробити програмну оболонку, яка б виконувала наступні дії: введення даних для обрахунку, встановлення параметрів системи (для обрахунку системи з трьома лінійними рівнями), збереження результату на носії інформації та їх відкриття.
Використовувати дану програму можна при перевірці обрахунків розв'язку системи з трьома лінійними рівнями. А також для демонстрації розв'язку системи лінійних рівнянь методом Гауса.
1. Теоретичні відомості
1.1 Розв'язок систем рівнянь
Розв'язком системи рівнянь називається така пара чисел, які б задовольняли всі вказані умови (рівняння) даної системи. [9; 28] Так при розв'язкові системи лінійних рівнянь можна скористатися методом Гауса. Нехай дано систему із трьох лінійних рівнянь з сталими коефіцієнтами при невідомих х, y, z.
Поділимо всі члени першого рівняння на a1<>0, а потім, помножимо отримане рівняння на а2 і а3 відповідно, і віднімемо його із другого та третього рівнянь системи. Тоді із другого і третього рівнянь невідоме х буде виключено, і ми отримаємо систему у вигляді:
Тепер поділимо друге рівняння отриманої системи на , помножимо отримане рівняння на і віднімемо від третього. Тоді із третього рівняння невідоме y буде виключене і ми отримаємо систему трикутного вигляду:
З останнього рівняння системи знаходимо z, підставивши знайдене значення в друге рівняння, визначимо y, з першого рівняння знайдемо х, підставивши в нього значення y та z.
1.2 TmainMenu
Компонент класу TmainMenu визначає головне меню форми. На форму можна помістити будь-яку кількість об'єктів даного класу, але відображатися в полосі меню в верхній частині форми буде тільки той з них, який вказаний в властивості Menu форми.
Після встановлення компонента на форму необхідно створити його опції. Для цього потрібно двічі клацнути по компоненту лівою клавішею миші, або викликати на ньому контекстне меню і вибрати в ньому команду Menu Designer, і на кінець можна клацнути на кнопці в правій половині рядка Items Інспектора об'єктів.
Створення опцій не викликає проблем. В Інспекторі об'єктів потрібно перейти в рядок Caption, ввести текст опції, після чого натиснути Enter - опція створена, і можна переходити до наступної. Для створення підопцій головного меню потрібно клацнути мишею нижче опції головного меню.
Кожна підопція головного меню може розкривати список власних підопцій. Для створення таких підопцій потрібно вибрати підопцію головного меню і на ній або викликати контекстне меню і в ньому вибрати команду Create Submenu, або натиснути комбінацію клавіш Ctrl і клавішу курсор в право.
В назвах опції можна вказати символ & перед тим символом, який визначить клавішу бистрого доступу. Тобто комбінацію клавіші Alt і клавішу з літерою перед якою в назві опції стоїть знак &.
Також в меню можна вставляти розділяючу лінію, що розділяє меню по групам, для цього в назві опції потрібно ввести лише знак мінус.
1.3 TButton
Кнопки TButton широко використовуються для керування програмами. Пов'язаний із кнопкою алгоритм керування реалізується в оброблювачі події OnClick.
Властивості компонента:
property Cancel: Boolean; Якщо має значення True, подія OnClick кнопки виникає при натисканні клавіші Esc.
property Default: Boolean; Якщо має значення True, подія OnClick кнопки виникає при натисканні клавіші Enter.
tуре TModalResult = Low(Integer). .High(Integer);
property ModalResult: TModalResult; Визначає результат, із яким було закрито модальне вікно.
У термінології Windows модальними вікнами називаються такі спеціальні вікна, що, раз з'явившись на екрані, блокують роботу користувача з іншими вікнами аж до свого закриття. Звичайно з їхньою допомогою реалізується діалог, що вимагає від користувача прийняття деякого рішення. Для цього до складу модального вікна включається декілька кнопок. Якщо в кнопки визначена властивість ModalResult, натискання на неї призводить до закриття модального вікна і повертає в програму значення ModalResult як результат діалогу з користувачем. У Delphi визначені такі стандартні значення ModalResult:
mrNone Модальне вікно не закривається.
mrIgnore Була натиснута кнопка Ignore.
mrOk Була натиснута кнопка ОК.
mrYes Була натиснута кнопка Yes
mrCancel Була натиснута кнопка Cancel
mrNo Була натиснута кнопка No
mrAbort Була натиснута кнопка Abort
mrAll Була натиснута кнопка All
mrRetry Була натиснута кнопка Retry
На відміну від більшості інших видимих компонентів кнопка TButton є компонентом самої Windows і тому не може змінювати свій колір вільно - вона його змінює разом із зміною палітри Windows. Кнопка завжди має системний колір clBtnFace і не має властивості Color. Шрифт напису на кнопці може змінювати свій стиль і розмір, але компонент ігнорує зміну його кольору.
2. Специфікація процедур та функцій
2.1 Створення заставки
Для створення заставки була використана форма Form2. Добавили її в проект за допомогою головного меню File\New\Form. Далі за допомогою команди меню Project\Options видалили з списку автоматично створюваних форм. Властивості BorderStyle форми-заставки присвоїли значення bsNone, а властивості BorderIcon - значення []. Для відображення рисунка на формі, було поміщено компонент класу TImage.
Тепер коли була створена форма-заставка, потрібно тільки зробити щоб вона виводилась на екран. Для цього потрібно змінити файл проекту відповідним чином.
program Project1;
uses
Forms,
Unit1 in 'Unit1.pas' {Form1},
Unit2 in 'Unit2.pas' {Form2};
{$R *.RES}
begin
Application.Initialize;
{Створення форми заставки}
Form2:=TForm2.Create(Application);
Form2.Show; //Вивід заставки
Form2.Update; //Забезпечення її появи на екрані
{Наступний цикл просто створює видимість деякої
довготривалої роботи по ініціалізації додатку}
while Form2.timer1.Enabled do Application.processMessages;
Application.CreateForm(TForm1, Form1);
Form2.hide; //Знищення заставки
Form2.Free; //Звільнення пам'яті
Application.Run;
end.
Затримка заставки створена за допомогою наступного алгоритму:
while Form2.timer1.Enabled do Application.processMessages;
Це просто імітація деякого довготривалого процесу, щоб заставка не зникла з екрану, відразу як появилася. На форму Form2, додатково був поміщений компонент Timer1 і його властивості Interval встановлено значення 4000. Через 4 секунди виникає подія onTimer, в обробнику якої міститься єдиний рядок:
Timer1.Enabled:=False;
2.2 Обрахунок
Дані рівняння вводяться в компоненти класу TEdit. Для того щоб здійснити обрахунок потрібно дані із типу String перенести в тип Real. Для цього використовується функція StrToFloat. Але так, як дані внесені в компоненти TEdit, можуть бути помилковими, то при перенесені може виникнути помилка. Уникнути даної помилки можна використавши захищені блоки try……except…..end;
Коли зроблені обрахунки, навпаки потрібно було перенести дані із формату Real в String. Для того щоб це виконати була використана функція FloatToStrF модуля System.
2.3 Вивід на принтер
Для того щоб віддрукувати дані які знаходяться в компоненті Memo1, потрібно до програми підключити модуль Strings. Далі сам вивід здійснюється за допомогою такого алгоритму:
//Якщо кількість рядків тексту в Memo1 рівна 0 то виходимо
//з підпрограми
if Memo1.Lines.Count=0 then Exit;
//Змінюємо курсор миші на crHourGlass
Screen.Cursor:=crHourGlass;
with Printer do
Begin
BeginDoc;
with Printer.Canvas do
Begin
//Змінюємо шрифт принтера на шрифт компонента Memo1
Font:=Memo1.Font;
//Визначаємо висоту літер і поміщуємо її в dy
dy:=TextHeight('1');
Y:=2*dy;
for k:=0 to memo1.Lines.Count-1 do
Begin
//Друкуємо поточний рядок.
TextOut(0,y,Memo1.Lines[k]);
inc(y,dy);
if PageHeight-y<2*dy then
Begin
NewPage;
//Виводимо номер сторінки
TextOut(0,0,'c.'+IntToStr(PageNumber));
Y:=2*dy
end;
end;
end;
EndDoc;
end;
//Повертаємо курсор в попереднє значення
Screen.Cursor:=crDefault;
end;
3. Лістінг програми
3.1 Лістінг проектного файлу програми
program Project1;
uses
Forms,
Unit1 in 'Unit1.pas' {Form1},
Unit2 in 'Unit2.pas' {Form2};
{$R *.RES}
begin
Application.Initialize;
Form2:=TForm2.Create(Application);
Form2.Show;
Form2.Update;
while Form2.timer1.Enabled do Application.processMessages;
Application.CreateForm(TForm1, Form1);
Form2.hide;
Form2.Free;
Application.Run;
end.
3.2 Лістінг головної форми програми
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons, ExtCtrls, ToolWin, ComCtrls, Menus, ImgList,Printers;
type
TForm1 = class(TForm)
Panel1: TPanel;
Label1: TLabel;
BitBtn1: TBitBtn;
Panel2: TPanel;
Edit1: TEdit;
Label2: TLabel;
Edit2: TEdit;
Label3: TLabel;
Edit3: TEdit;
Label4: TLabel;
Edit4: TEdit;
Edit5: TEdit;
Label5: TLabel;
Edit6: TEdit;
Label6: TLabel;
Edit7: TEdit;
Label7: TLabel;
Edit8: TEdit;
Edit9: TEdit;
Label8: TLabel;
Edit10: TEdit;
Label9: TLabel;
Edit11: TEdit;
Label10: TLabel;
Edit12: TEdit;
Memo1: TMemo;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
ToolBar1: TToolBar;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
ImageList1: TImageList;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
ToolButton4: TToolButton;
ToolButton5: TToolButton;
OpenDialog1: TOpenDialog;
SaveDialog1: TSaveDialog;
FontDialog1: TFontDialog;
ToolButton6: TToolButton;
ToolButton7: TToolButton;
N9: TMenuItem;
N10: TMenuItem;
Panel3: TPanel;
Label15: TLabel;
Label16: TLabel;
Label17: TLabel;
Label18: TLabel;
Label19: TLabel;
Label20: TLabel;
BitBtn2: TBitBtn;
procedure BitBtn1Click(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
procedure ToolButton5Click(Sender: TObject);
procedure ToolButton7Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure N11Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses Unit2;
{$R *.DFM}
procedure TForm1.BitBtn1Click(Sender: TObject);
var
a1,b1,c1,d1:real;
a2,b2,c2,d2:real;
a3,b3,c3,d3:real;
X,Y,Z:real;
begin
try
a1:=strTofloat(Edit1.Text);
b1:=strTofloat(Edit2.Text);
c1:=strTofloat(Edit3.Text);
d1:=strTofloat(Edit4.Text);
a2:=strTofloat(Edit5.Text);
b2:=strTofloat(Edit6.Text);
c2:=strTofloat(Edit7.Text);
d2:=strTofloat(Edit8.Text);
a3:=strTofloat(Edit9.Text);
b3:=strTofloat(Edit10.Text);
c3:=strTofloat(Edit11.Text);
d3:=strTofloat(Edit12.Text);
Memo1.Lines.Add('Поділимо всі члени рівняння 1');
Memo1.Lines.Add('на a1, яке повинно <>0.');
Memo1.Lines.Add('Отримаємо наступну систему рівнянь:');
Memo1.Lines.Add('');
Memo1.Lines.Add('X+'+floatToStrF(b1/a1,ffFixed,4,2)+'Y+'+floatToStrF(c1/a1,ffFixed,4,2)+'Z='+floatToStrF(d1/a1,ffFixed,4,2));
Memo1.Lines.Add(Edit5.Text+'X+'+Edit6.Text+'Y+'+Edit7.Text+'Z='+Edit8.Text); лінійний рівняння лістинг заставка
Memo1.Lines.Add(Edit9.Text+'X+'+Edit10.Text+'Y+'+Edit11.Text+'Z='+Edit12.Text);
Memo1.Lines.Add('');
Memo1.Lines.Add('Віднімемо із рівняння №2 рівняння №1');
Memo1.Lines.Add('помножене на '+Edit5.Text);
Memo1.Lines.Add('Потім віднімемо із рівняння №3 рівняння №1');
Memo1.Lines.Add('помножене на '+Edit9.Text);
Memo1.Lines.Add('Ми повинні отримати наступну систему рівнянь');
Memo1.Lines.Add('');
Memo1.Lines.Add('X+'+floatToStrF(b1/a1,ffFixed,4,2)+'Y+'+floatToStrF(c1/a1,ffFixed,4,2)+'Z='+floatToStrF(d1/a1,ffFixed,4,2));
Memo1.Lines.Add(floatToStrF(b2-(b1/a1*a2),ffFixed,4,2)+'Y+'+floatToStrF(c2-(c1/a1*a2),ffFixed,4,2)+'Z='+floatToStrF(d2-(d1/a1*a2),ffFixed,4,2));
Memo1.Lines.Add(floatToStrF(b3-(b1/a1*a3),ffFixed,4,2)+'Y+'+floatToStrF(c3-(c1/a1*a3),ffFixed,4,2)+'Z='+floatToStrF(d3-(d1/a1*a3),ffFixed,4,2));
Memo1.Lines.Add('');
Memo1.Lines.Add('Поділемо друге рівняння на '+Edit6.Text);
Memo1.Lines.Add('Ми отримаємо наступну систему рівнянь');
Memo1.Lines.Add('');
Memo1.Lines.Add('X+'+floatToStrF(b1/a1,ffFixed,4,2)+'Y+'+floatToStrF(c1/a1,ffFixed,4,2)+'Z='+floatToStrF(d1/a1,ffFixed,4,2));
Memo1.Lines.Add('Y+'+floatToStrF((c2-(c1/a1*a2))/(b2-(b1/a1*a2)),ffFixed,4,2)+'Z='+floatToStrF((d2-(d1/a1*a2))/(b2-(b1/a1*a2)),ffFixed,4,2));
Memo1.Lines.Add(floatToStrF(b3-(b1/a1*a3),ffFixed,4,2)+'Y+'+floatToStrF(c3-(c1/a1*a3),ffFixed,4,2)+'Z='+floatToStrF(d3-(d1/a1*a3),ffFixed,4,2));
Memo1.Lines.Add('');
Memo1.Lines.Add('Віднімемо від третього рівняння');
Memo1.Lines.Add('рівняння - 2 помножене на ' +floatToStrF(b3-(b1/a1*a3),ffFixed,4,2)+':');
Memo1.Lines.Add('');
Memo1.Lines.Add('X+'+floatToStrF(b1/a1,ffFixed,4,2)+'Y+'+floatToStrF(c1/a1,ffFixed,4,2)+'Z='+floatToStrF(d1/a1,ffFixed,4,2));
Memo1.Lines.Add('Y+'+floatToStrF((c2-(c1/a1*a2))/(b2-(b1/a1*a2)),ffFixed,4,2)+'Z='+floatToStrF((d2-(d1/a1*a2))/(b2-(b1/a1*a2)),ffFixed,4,2));
Memo1.Lines.Add(floatToStrF((c3-(c1/a1*a3))-((c2-(c1/a1*a2))/(b2-(b1/a1*a2)))*(b3-(b1/a1*a3)),ffFixed,4,2)+'Z='+floatToStrF((d3-(d1/a1*a3))-((d2-(d1/a1*a2))/(b2-(b1/a1*a2)))*(b3-(b1/a1*a3)),ffFixed,4,2));
Memo1.Lines.Add('');
Memo1.Lines.Add('Знаходим Z');
Memo1.Lines.Add('Z='+floatToStrF((d3-(d1/a1*a3))-((d2-(d1/a1*a2))/(b2-(b1/a1*a2)))*(b3-(b1/a1*a3)),ffFixed,4,2)+'/'+floatToStrF((c3-(c1/a1*a3))-((c2-(c1/a1*a2))/(b2-(b1/a1*a2)))*(b3-(b1/a1*a3)),ffFixed,4,2));
Z:=((d3-(d1/a1*a3))-((d2-(d1/a1*a2))/(b2-(b1/a1*a2)))*(b3-(b1/a1*a3)))/((c3-(c1/a1*a3))-((c2-(c1/a1*a2))/(b2-(b1/a1*a2)))*(b3-(b1/a1*a3)));
Memo1.Lines.Add('Отже Z='+floatToStrF(Z,ffFixed,4,2));
Memo1.Lines.Add('');
Memo1.Lines.Add('Далі знаходимо Y підставивши');
Memo1.Lines.Add('Z в рівняння -2');
Memo1.Lines.Add('Y='+floatToStrF((d2-(d1/a1*a2))/(b2-(b1/a1*a2)),ffFixed,4,2)+'-'+floatToStrF((c2-(c1/a1*a2))/(b2-(b1/a1*a2)),ffFixed,4,2)+'*'+floatToStrF(Z,ffFixed,4,2));
Y:=((d2-(d1/a1*a2))/(b2-(b1/a1*a2)))-((c2-(c1/a1*a2))/(b2-(b1/a1*a2))*z);
Memo1.Lines.Add('Y='+floatToStrF(Y,ffFixed,4,2));
Memo1.Lines.Add('');
Memo1.Lines.Add('Підставивши знайдені дані в');
Memo1.Lines.Add('перше рівняння знайдемо Х:');
Memo1.Lines.Add('X+'+floatToStrF(b1/a1,ffFixed,4,2)+'*'+floatToStrF(Y,ffFixed,4,2)+'+'+floatToStrF(c1/a1,ffFixed,4,2)+'*'+floatToStrF(Z,ffFixed,4,2)+'='+floatToStrF(d1/a1,ffFixed,4,2));
X:=d1/a1-c1/a1*Z-b1/a1*Y;
Memo1.Lines.Add('X='+floatToStrF(X,ffFixed,4,2));
Memo1.Lines.Add('Відповідь:X='+floatToStrF(X,ffFixed,4,2)+' '+'Y='+floatToStrF(Y,ffFixed,4,2)+' '+'Z='+floatToStrF(Z,ffFixed,4,2));
Label16.Caption:=floatToStrF(X,ffFixed,4,2);
Label18.Caption:=floatToStrF(Y,ffFixed,4,2);
Label20.Caption:=floatToStrF(Z,ffFixed,4,2);
except
ShowMessage('Невірно введені дані');
end;
end;
procedure TForm1.ToolButton1Click(Sender: TObject);
begin
If OpenDialog1.Execute Then
Begin
Memo1.Lines.LoadFromFile(OpenDialog1.FileName);
end;
end;
procedure TForm1.ToolButton2Click(Sender: TObject);
begin
If SaveDialog1.Execute Then
Begin
Memo1.Lines.SaveToFile(SaveDialog1.FileName);
end;
end;
procedure TForm1.ToolButton4Click(Sender: TObject);
begin
Memo1.Clear;
end;
procedure TForm1.ToolButton5Click(Sender: TObject);
begin
If FontDialog1.Execute Then
Begin
Memo1.Font:=FontDialog1.Font;
end;
end;
procedure TForm1.ToolButton7Click(Sender: TObject);
var
y,dy,k:integer;
begin
if Memo1.Lines.Count=0 then Exit;
Screen.Cursor:=crHourGlass;
with Printer do
Begin
BeginDoc;
with Printer.Canvas do
Begin
Font:=Memo1.Font;
dy:=TextHeight('1');
Y:=2*dy;
for k:=0 to memo1.Lines.Count-1 do
Begin
TextOut(0,y,Memo1.Lines[k]);
inc(y,dy);
if PageHeight-y<2*dy then
Begin
NewPage;
TextOut(0,0,'c.'+IntToStr(PageNumber));
Y:=2*dy
end;
end;
end;
EndDoc;
end;
Screen.Cursor:=crDefault;
end;
procedure TForm1.N5Click(Sender: TObject);
begin
Form1.Close;
end;
procedure TForm1.N11Click(Sender: TObject);
begin
Form2.ShowModal;
end;
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
Close;
end;
end.
3.3 Лістінг модуля UNIT2
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls;
type
TForm2 = class(TForm)
Panel1: TPanel;
Image1: TImage;
Timer1: TTimer;
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
{$R *.dfm}
procedure TForm2.Timer1Timer(Sender: TObject);
begin
Timer1.Enabled:=False;
end;
end.
4. Результат програми
Після запуску програма має вигляд зображений на малюнку Рис 4.1.
Рис 4.1
Якщо ввести дані і натиснути кнопку „Обрахувати”, то зовнішній вигляд програми зміниться - Рис 4.2.
Висновки
Програмні продукти, такого напрямку, широко використовуються в математиці не тільки при розв'язку систем лінійних рівнянь, але і при розв'язку систем квадратних рівнянь, диференціальних рівнянь і т.д. Тобто значущість даної програми дуже велика.
В програмі було розроблено і використано новий підхід для розв'язування системи n лінійних рівнянь з n невідомими методом Гауса. Здійснено аналіз всіх нових конструктивно-логічних блоків з деталізацією кожного кроку. Розроблена програмна оболонка, яка спрощує роботу з програмою. Збереження і відтворення інформації дає можливість гнучкого використання даної програми.
Список використаних джерел та програмних засобів
1. Архангельский А.Я. Программирование в Delphi 4. - М.: ЗАО «Издательство БИНОМ», 1999. - 768 с.
2. Бобровский С. Delphi 5: Учебный курс. - СПб: Издательство «Питер», 2000. - 640 с.
3. Епанешников А., Епанешников В. Программирование в среде Delphi: Учебное пособие: в 4-х ч. Ч. 1. Проектирование программ. - М.: ДИАЛОГ-МИФИ, 1998. - 336 с.
4. Калверт Ч. Delphi 4. Энциклопедия пользователя: Пер. с англ. - К.:ЭНТРОП, М.:ДЕСС, 1999. - 752 с.
5. Канту М., Гуч Т. Delphi. Руководство разработчика: Пер. с англ. - К.: ВЕК+, М.:ЭНТРОП, М.:ДЕСС, 1999. - 752 с.
6. Курносов А.П. Вычислительная техника и программирование: Учебник. - М.: Финансы и статистика, 1991. - 344 с.
7. Кэнту М. Delphi 4 для профессионалов. - СПб.: Издательство «Питер», 1999. - 1120 с., ил.
8. Орлик С.В. Секреты Delphi на примерах. - М.: БИНОМ, 1996. - 316 с.
9. Тейксейра, Стив, Пачеко, Ксавье. Delphi 5. Руководство разработчика, том 2. Основные методы и технологии программирования: Пер. с англ.: Уч. пос. - М.: Издательский дом «Вильямс», 2000. - 832 с., ил.
10. Фаронов В.В. Delphi 5. Руководство программиста. - М.: «Нолидж», 2001. - 880 с.
11. Фаронов В.В. Delphi 6. Учебный курс. - М.: Издатель Молгачева С.В., 2003. - 672 с., ил.
12. Фаронов В.В. Турбо Паскаль 7.0. Практика программирования. Учебное пособие. - М.: «Нолидж», 1997. - 432 с., ил.
13. Шкіль М.І. Вища математика. Підручник: У 3 кн.: Кн. 2. Диференціальне та інтегральне числення функції однієї змінної. Ряди. - К.: Либідь, 1994.
Размещено на Allbest.ru
...Подобные документы
Програма чисельного розв'язку систем лінійних алгебраїчних рівнянь (СЛАР) з розрідженою матрицею, економне витрачання оперативної пам'яті дозволяє розв’язувати багато систем високих ступенів за допомогою персональних комп'ютерів. Методи розв’язку СЛАР.
дипломная работа [1,1 M], добавлен 01.08.2009Головні особливості середовища Turbo Pascal. Властивості та вигляд системи лінійних алгебраїчних рівнянь. Опис схеми єдиного ділення (метод Гауса). Структура вхідної та вихідної інформації, текст програми, блок-схеми всіх процедур і головної програми.
курсовая работа [276,1 K], добавлен 07.02.2011Розробка програмного забезпечення для розв'язку системи лінійних рівнянь за формулами Крамера, головні особливості мови Turbo Pascal. Методи розв'язування задачі, архітектура програми та її опис. Контрольний приклад та результат машинного експерименту.
курсовая работа [47,7 K], добавлен 23.04.2010Розробка програмного забезпечення для розв'язку системи лінійних рівнянь за формулами Гаусса, головні особливості мови Turbo Pascal. Методи розв'язування задачі, архітектура програми та її опис. Контрольний приклад та результат машинного експерименту.
курсовая работа [40,3 K], добавлен 23.04.2010В роботі розглянуто наближені методи розв’язку нелінійних рівнянь. Для вказаних методів складено блок-схеми та написано програму, за якою розв’язується задане рівняння. Аналіз як самого рівняння і методів його розв’язання так і результатів обрахунку.
курсовая работа [302,8 K], добавлен 03.12.2009Розробка програмних модулів базових операцій обробки на підставі розрядно-логарифмічного кодування. Дослідження алгоритму розв'язку системи лінійних алгебраїчних рівнянь. Реалізація алгоритму Гауса. Покращення точності розрахунків за допомогою рл-чисел.
курсовая работа [427,2 K], добавлен 20.11.2013Види рівнянь та методи їх розв’язань. Чисельні методи уточнення коренів, постановка задачі. Рішення нелінійного рівняння методом простих та дотичних ітерацій. Використання програмних засобів. Алгоритми розв’язку задач. Програми мовою С++, їх тестування.
курсовая работа [232,2 K], добавлен 12.02.2013Розв’язання системи лінійних та нелінійних рівнянь у програмі MathCAD. Матричний метод розв'язання системи рівнянь. Користування панеллю інструментів Математика (Math) для реалізації розрахунків в системі MathCAD. Обчислення ітераційним методом.
контрольная работа [1023,4 K], добавлен 08.04.2011Розв’язання системи рівняння методом Гауса за схемою з частковим вибором головного елементу. Рішення задачі Коші методом Рунге-Кутта. Знаходження моментів кубічних сплайнів методом прогонки. Розв’язування системи нелінійних рівнянь методом Ньютона.
контрольная работа [252,3 K], добавлен 04.06.2010Виконання "ручного" розв'язування рівняння методом Ньоютона. Розробка програми на мові С#, яка реалізує введення вихідних даних, розв'язання заданого рівняння, виведення результатів у зручній формі на екран. Визначення початкового наближення кореня.
лабораторная работа [120,9 K], добавлен 19.01.2022В роботі розглянуто наближені методи розв'язку нелінійних рівнянь для методів Ньютона та хорд, складено блок-схеми та написано програму, за допомогою якої розв'язується задане рівняння. Аналіз рівняння, методів його розв'язання і результатів обрахунку.
курсовая работа [380,9 K], добавлен 30.11.2009Стандартний спосіб розв’язання задачі Коші для звичайного диференціального рівняння першого порядку чисельними однокроковими методами. Геометричний зміст методу Ейлера. Побудова графіку інтегральної кривої. Особливість оцінки похибки за методом Рунге.
курсовая работа [112,9 K], добавлен 30.11.2009Задача лінійного програмування. Розв’язання задачі геометричним методом. Приведення системи рівнянь до канонічного вигляду. Розв’язання симплекс-методом. Розв’язок двоїстої задачі. Задача цілочислового програмування і дробово-лінійного програм.
контрольная работа [385,2 K], добавлен 04.06.2009Характеристика мови Turbo Pascal. Опис деяких графічних процедур і функцій модуля Graph. Робота в графічному режимі. Процедури, опції модуля CRT. Створення програми розв'язку системи нерівностей з двома змінними в графічному режимі Турбо Паскаля.
курсовая работа [35,0 K], добавлен 24.02.2011Вибір емпіричної формули. Метод оберненої матриці. Розв’язування систем лінійних рівнянь на ПК. Вибір двох апроксимуючих функцій. Розрахунки у середовищі MS Excel для лінійної функції, для квадратичної функції та у середовищі MS Visual Studio (мовою С#).
курсовая работа [658,8 K], добавлен 18.08.2014Розвиток виробництва і широке використання промислових роботів. Алгоритми методів, блок-схеми алгоритмів розв'язку даного диференційного рівняння. Аналіз результатів моделювання, прямий метод Ейлера, розв’язок диференціального рівняння в Mathcad.
контрольная работа [59,1 K], добавлен 30.11.2009Що таке диференціал. Особливості розробки програм для розрахунку диференціала автомобіля, для розв’язання систем лінійних рівнянь. Отладка програми для обрахунку та графічного відображення зовнішньої швидкісної характеристики легкового автомобіля.
курсовая работа [502,8 K], добавлен 15.06.2010Розв’язання нелінійних алгебраїчних рівнянь методом дихотомії. Вирішення задачі знаходження коренів рівняння. Розробка алгоритму розв’язання задачі і тестового прикладу. Блок-схеми алгоритмів основних функцій. Інструкція користувача програмою мовою С++.
курсовая работа [2,0 M], добавлен 24.09.2010Основні означення системи лінійних рівнянь. Елементарні перетворення системи лінійних рівнянь. Алгоритм метода Жордана-Гаусса. Метод повного виключення невідомих. Приклад використовування методу Жордана-Гаусса. Складання програму мовою Borland C++ 4.5.
курсовая работа [139,6 K], добавлен 20.12.2013Принципи технології створення програмних продуктів. Набір файлів, необхідних для створення програми в Delphi, варіанти роботи з ними. Програмування графічного інтерфейсу користувача. Зовнішній вигляд і лістинг програми, використані команди і компоненти.
курсовая работа [550,5 K], добавлен 03.01.2014