Допомога у написанні освітніх робіт...
Допоможемо швидко та з гарантією якості!

Програма «Лічильник рівнянь»

КурсоваДопомога в написанніДізнатися вартістьмоєї роботи

Вікно, яке знаходиться у центрі, називається формою. Форма (Form) є основним елементом управління при розробці проекту в Delphi. Саме на формі розміщують потрібні компоненти, задають для них потрібні властивості тощо. Увесь внутрішній простір є робочою ділянкою, яка може бути покрита крапчастою сіткою для вирівнювання компонентів. Вікно форми Form є початком розробки проекту і є заготовкою… Читати ще >

Програма «Лічильник рівнянь» (реферат, курсова, диплом, контрольна)

Вступ Темою курсової роботи є створення та розробка програми з використанням процедур та функцій в середовищі візуального програмування Delphi.

В даний час індустрія виробництва комп’ютерів і програмного забезпечення для них є однією з найбільш важливих сфер економіки розвинених країн. Щорічно в світі продаються десятки мільйонів комп’ютерів. У чому ж причини такого стрімкого зростання індустрії персональних комп’ютерів і їх порівняльна вигідність для багатьох ділових застосувань.

Простота використання, забезпечена за допомогою діалогового способу взаємодії зкомп’ютером.

Відносно високі можливості з переробки інформації, наявність програмного забезпечення, а так само потужних систем для розроблення нового програмного забезпечення.

Під програмним забезпеченням (ПЗ) розуміється сукупність програм обчислювальної машини — процедур і правил разом з усією пов’язаною з цими компонента документацією, що дозволяє використовувати обчислювальну машину для вирішення різних завдань або розваг. За задачами і функціями, виконуваних різними елементами ПЗ, можна виділити дві великі групи: загальні та середнє-загальне програмне забезпечення.

До загального програмного забезпечення відноситься сукупність програм, описів та інструкцій, призначених для автоматизації трудомістких технологічних етапів розробки алгоритмів і програм, а також для організації та контролю обчислювального процесу на машині під час її функціонування. Воно включає системне програмування, операційну систему, що здійснює загальну організацію процесу обробки інформації і зв’язок ЕОМ з користувачем, засоби контролю та діагностики програми в ході роботи ЕОМ.

Спеціальне програмне забезпечення являє собою сукупність програм рішення конкретних задач з різних сфер застосування, реалізованих у вигляді пакетів прикладних програм.

Об'єктом дослідження є ознайомлення з середовищем Delphi з метою проектування та створення програми з використанням процедур і функцій.

Предметом курсової роботи є узагальнення та удосконалення процедур і функцій Borland Delphi. Методи — аналіз науково-технічної літератури, методологічних застосувань та методів побудови задачі. Дана програма може набути практичного застосування у навчальному закладі.

Метою даної курсової роботи є розробка програми використання методів Гауса і Крамера для ПЕОМ типу PC з операційною системою Windows. Розробка програми велась за допомогою мови програмування Delphi.

Розділ 1. Теоретичні основи використання компютерних технологій та програмного забезпечення

1.1 Загальні відомості в середовищі візуального програмування Delphi 7

Delphi — мова програмування, що ґрунтується на діалекті мови Pascal від компанії Borland. До версії 7.0 мала назву Object Pascal. Окрім того Delphi — середовище розробки (IDE) для однойменної мови. Центральним поняттям програмування є, безперечно, поняття алгоритму. З нього починається робота над програмою і від якості алгоритму залежить її успішне створення. Тому вміння програмувати в значній мірі означає розробляти хороші алгоритми і застосовувати вже відомі.

На сьогодні існує велика кількість різноманітних мов програмування, кожна з яких має свої певні переваги та недоліки. В цьому розмаїтті не завжди легко зробити свій вибір на користь якоїсь певної мови програмування.

Для реалізації поставленої задачі вибрано середовище Borland Delphi. Алгоритмічна мова Паскаль була створена Н. Віртом на початку 90-х років. Завдяки зусиллям розробників ця мова програмування стала потужним інструментом професійних програмістів не втративши простоти і ясності, властивих цій мові від народження.

Розробник системи Turbo Pascal — фірма Borland International виникла в 1984 році і за порівняно короткий час неодноразово дивувала користувачів персональних ЕОМ своїми Borland Delphi системами. Було випущено кілька версій Borland Delphi: 3.0‚ 4.0‚ 5.0‚ 5.5‚ 6.0‚ 7.0‚ Pascal for Windows, Borland Delphi.

Головні особливості середовища Borland Delphi:

— широкий спектр типів даних ‚ можливість обробки рядкових та структурних типів даних;

— достатній набір операторів управління розгалуженнями та циклами;

— добре розвинутий апарат підпрограм та зручні конструкції роботи з файлами;

— великі можливості управління усіма ресурсами ПЕОМ;

— різноманітні варіанти стикування з мовою Асемблера;

— підтримка ідей об'єктно-орієнтованого програмування (ООП).

Саме з огляду на ці особливості програмна реалізація курсового проекту було здійснено в середовищі Turbo Pascal.

Частково Delphi підтримується також у відкритому проекті FreePascal, що потенційно дозволяє створювати програми під велику кількість платформ.

Основні елементи середовища Рис. 1.1.1

Інтегроване середовище Delphi складається з чотирьох основних елементів: головне вікно, вікно інспектора об'єктів, вікно форми та вікно модуля (вікно коду).

Головне вікно (Main Window) використовується для управління, створенням проекту і запуску створених програм. Це вікно містить головне меню, панель кнопок швидкого доступу і палітру компонентів.

Головне меню (Main Menu) — стандартне меню в стилі Windows. Це меню дозволяє керувати всіма аспектами роботи в Delphi. Головне меню складається с таких елементів: File, Edit, Search, View, Project, Run, Component, DataBase, Tools, Help. У рядку меню є «випадаючі» меню, за допомогою яких здійснюється управління середовищем розробки Delphi. Рядок меню можна налаштувати за власним бажанням, наприклад, додати власні елементи до пункту меню інструментів Рис. 1.1.2

Панель інструментів (Toolbar). На панелі інструментів знаходяться кнопки із зображенням, які призначені для швидкого доступу до основних команд меню. Якщо помістити курсор миші на кнопку панелі, то через деякий час з’явиться спливаюча підказка, що повідомляє про призначення даної кнопки. Кнопки використовуються для швидкого доступу до найнеобхідніших пунктів меню. Серед них є кнопки для компіляції і запуску програм, для перегляду вихідного коду рядок за рядком тощо. Панель швидкого доступу за замовчанням містить 14 кнопок, але її склад можна налагодити відповідно до вимог користувача. Більша частина найнеобхідніших функцій середовища Delphi також має гарячі клавіші, які можна натиснути замість відповідної кнопки чи то пункту меню.

Палітра компонентів — це каталог візуальних і не візуальних об'єктів, які можна включати до власних форм і програм. У Delphi компоненти об'єднані в кілька основних груп: стандартна, додаткова, група Windows 95, група доступу до даних, група управління даними, група Windows 3.1, діалогова група, системна група, група звітів і група взірців. Кожна з цих груп представлена на окремій сторінці палітри. Палітра компонентів також містить ряд сторінок, закладки яких видно в її верхній частині. Найбільш вживані із них: Standart (стандартні компоненти) і Additional (додаткові компоненти). Щоб помістити компонент у центрі вікна форми, двічі клацають на його піктограмі. Якщо потрібно розташувати компонент десь на формі, клацають один раз на піктограмі і один раз у потрібному місті форми. Вибраний компонент можна переміщати на формі, а також змінювати його розмір, перетягуючи маркери. Щоб з’ясувати призначення компонента, досить лише виділити його і натиснути F1.

Рис. 1.1.3

Вікно, яке знаходиться у центрі, називається формою. Форма (Form) є основним елементом управління при розробці проекту в Delphi. Саме на формі розміщують потрібні компоненти, задають для них потрібні властивості тощо. Увесь внутрішній простір є робочою ділянкою, яка може бути покрита крапчастою сіткою для вирівнювання компонентів. Вікно форми Form є початком розробки проекту і є заготовкою (макетом) вікна проекту, який розробляється. Під час розробки форма являє собою вікно програми. У цьому вікні проходить основна частина роботи по проектуванню програми. Деякі елементи у вікні форми (лінії сітки, не візуальні компоненти) не будуть видимими під час виконання програми. ми можемо змінити різні його властивості, наприклад, прибрати кнопки максимізації та мінімізації вікна тощо.

Рис. 1.1.4

Вікно редактору коду (Code Editor) призначене для написання коду програми на Object Pascal, який реалізує процедуру опрацювання певної події. Під час відкривання нового проекту в модуль Unit1. pas, який відповідає формі Form1, редактор автоматично заносить програмний код опису цієї форми. Під час додавання нових компонентів у вікно форми у програму автоматично заносяться коди з описами параметрів цих компонентів (висота, ширина, розташування, стиль тощо). Долучення певного об'єкта чи застосування методу до нього, веде до появи базового коду відповідної процедури у вікні редактора. Заготовка (шаблон) складається з заголовка процедури та ключових слів begin і end. Саму заготовку заповнює користувач.

Вгорі вікна коду є закладка. Вона належить до файлу, який зараз редагується. Якщо відкрити декілька файлів, кожен з них буде мати свою закладку.

Інспектор об'єктів або Object Inspector як правило знаходиться в лівій частині екрану і містить інформацію про виділений об'єкт. Інспектор об'єктів складається з таких елементів: комбінованої панелі (Combo box) вибору об'єкту, сторінки властивостей (Properties Page) та сторінки подій (Events Page) вибраного об'єкту.

У інспекторі об'єктів описані всі властивості об'єкту, і його використовують для зміни цих властивостей. Наприклад, можна змінити заголовок кнопки, клацнувши на ній мишкою, а потім записавши нову назву в полі Caption інспектора об'єктів.

Крім того за допомогою інспектору об'єктів можна переглянути та змінити всі події, що пов’язані з виділеним об'єктом.

Структура програми В основі будь-якої Delphi — програми лежить проект. В Delphi проект — це сукупність усіх файлів, що створюють програму, включаючи форми, модулі, графіку, елементи управління. Основою проекту в свою чергу є форма, на якій розміщаються необхідні для розв’язку конкретної задачі компоненти. Проект складається з різних частин, кожна з яких розміщена в окремому файлі й виконує чітко визначені функції. Проект складається з таких файлів.

Таблиця1

Типи файлів що використовуються в проектах Delphi

Тип файлу

Опис

.dfm

Файл форми

.pas

Вихідний файл модуля форми

.dpr

Файл проекту

.exe

Відкомпільований проект

.dcu

Відкомпільований модуль

.res

Файл ресурсів

.cfg

Файл конфігурації проекту

.dof

Файл параметрів проекту

Головний файл проекту — текстовий файл з розширенням DPR, який містить головний програмний блок. Файл проекту підключає всі програмні модулі і містить методи для запуску програми. Цей файл створює і контролює автоматично середовище Delphi.

Файли опису форм — двійкові файли з розширенням DFM, які описують форми з компонентами. В цих файлах запам’ятовуються початкові значення властивостей, встановлених в Інспекторі Файли програмних модулів — текстові файли з розширенням PAS, які містять код на мові Object Pascal. У цих файлах містяться методи обробки подій, які генеруються компонентами і формами.

Файл ресурсів з розширенням RES. У ньому зберігається інформація про курсори, зберігається піктограма програми, яку видно на Панелі Задач Windows, тощо.

Файл опцій з розширенням DOF, де розміщені задані програмістом параметри компіляції і компонування проекту і файл з розширенням DSK, де розміщені настройки візуального середовища для даного проекту.

У проект можуть входити також логічно автономні елементи: малюнки (BMP-файли), значки (ICO-файли), файли довідників (HLP-файли) але ними управляє сам програміст.

Файл з розширенням .exe — виконавчий файл додатку

1.2 Аналітичний огляд програм рішенням з методом Гауса і Крамера Аналітичний огляд програм які вирішують задачі методом Крамера або методом Гауса Я довго шукав подібні програми і майже їх не знайшов, а ті що і знайшов то звичайні прості програми які написали звичайні люди для домашнього користування, а великих комерційних проектів я не знайшов.

Також хочу зауважити що досить багато он-лайн ресурсів наприклад цей.

Рис. 1.2.1 аналітичний огляд програми Всі програми однакові он-лайн вони чи ні і метод рішення один. На першому етапі здійснюється так званий прямий хід, коли шляхом елементарних перетворень над рядками систему призводять до ступінчастою або трикутній формі, або встановлюють, що система несумісна. А саме, серед елементів першого стовпця матриці вибирають ненульовий, переміщують його на крайнє верхнє положення перестановкою рядків і віднімають вийшла після перестановки перший рядок з інших рядків, домножимо її на величину, рівну відношенню першого елемента кожної з цих рядків до першого елемента першого рядка, обнуляючи тим самим стовпець під ним. Після того, як зазначені перетворення були здійснені, перший рядок і перший стовпець подумки викреслюють і продовжують поки не залишиться матриця нульового розміру. Якщо на якийсь із ітерацій серед елементів першого стовпця не знайшов ненульовий, то переходять до наступного колонку і проробляють аналогічну операцію.

На другому етапі здійснюється так званий зворотний хід, суть якого полягає в тому, щоб висловити все отримані базисні змінні через небазисні і побудувати фундаментальну систему рішень, або, якщо всі змінні є базисними то виразити в чисельному вигляді єдине рішення системи лінійних рівнянь. Ця процедура починається з останнього рівняння, з якого висловлюють відповідну базисну змінну (а вона там всього одна) і підставляють в попередні рівняння, і так далі, піднімаючись по «сходах» наверх. Кожному рядку відповідає рівно одна базисна змінна, тому на кожному кроці, крім останнього (самого верхнього), ситуація в точності повторює випадок останнього рядка .

Метод Гауса вимагає O (n ^ { 3 }) арифметичних операцій .

Всі програми досить прості і не мають не яких зауважень вони мають відзнаку лише у зовнішньому вигляді. І подібних програм дуже багато.

Рис. 1.2.2

Рис. 1.2.3

Отже всі програми які вирішують задачі методом Крамера і Гауса мають один метод рішення, кий складається з двох етапів. В Інтернет ресурсах дуже багато аналогів таких програм,і вони мають відзнаки лише у зовнішньому вигляді. Користувач с легкістю може оволодіти нею і використовувати для власних потреб.

Розділ 2. Розробка програми «лічильник задач» з використанням процедур та функцій комп’ютерний візуальний програмування delphi

2.1 Методологія розробки прикладного програмного забезпечення

Процедура і функція — це ключові поняття в будь-якій мові програмування, без яких не обходиться жодна серйозна програма. І тому дуже важливо мати повне розуміння про механізм їх роботи.

По перше я вибрав необхідні мені компоненти.

Під час написання програми використовувалися наступні елементи інтегрованого програмного середовища Borland Delphi. На формі Form1 створено наступні компоненти TForm1 = class (TForm)

TForm1 = class (TForm); - форма

L1: TLabel; -поле дня назви «введіть значення»

Xxx: TButton; - кнопка ОК

Reshi: TButton; - кнопка розв’язати систему

Matrica: TStringGrid; - поле вводу даних

Ramka: TBevel; - панель

L2: TLabel; - поле дня назви «коєфіціенти рівнянняя»

L3: TLabel; - поле дня назви «рішення системи назви»

ButtOK: TButton; - кнопка вихід

L4: TLabel; - поле дня назви

1) Коли я вибрав необхідні мені компоненти я почав розташовувати їх на формі:

Рис. 2.1.1

2) Після того як я розташував компоненти, я почав працювати з ними детально. Спочатку перейменував та запрограмував першу кнопку «Button1» .

Рис. 2.1.1

Також ця кнопка має такий код:

procedure TForm 1. ButtOKClick (Sender: TObject); //рішення можливих і неможливих величин

begin

if not Vveli then

begin

if ReadN. Text="then Exit;

try

n:=SttrToInt (ReadN.Text);

expect

raise Exception. Create (неможлива величина n');

ReadN.Text:='2'

end;

if (n<2)or (n>20)then

begin

Application/MessageBox (t1,Errcap, MB_ICCONERROR or MB_OK);

ReadN.Text:='2'

N:=2;

ReadN.SelectALL;

Exit

end;

Position:=poDesktopCenter;

Left:=Left0;

Height:= Height0;

Width:= Width0;

Ramka.Width:= Width-20;

If n >4 then

Begin

Left:=2;

Top:=2;

Width:= Width0+(Matrica.DefaultColWidth+2)*(n-4);

Height:= 400+ n*23;

Ramka.Width:=Width-20

end;

with Matrica do

begin

Height:=(DefaultRowHeight+2)*(n+1)-n+2;

Width:=(DefaultColWidth+2)*(n+1)-n+2;

ColCount:= n+2;

ColCount:= n+2;

RowCount:= n+1;

end;

MatricaDrawC (Form1);

L3.Top:= Matrica. Height+100;

L2.Top:= Matrica. Height+146;

Ramka.Top:= Matrica. Height+130;

Xxx.Left:= Matrica. Left+ MatricaWidth div 2+100;

Xxx.Top:= Matrica. Height+200;

Reshi.Left:= Matrica. Left+ MatricaWidth div 2−100;

Reshi.Top:= Xxx. Top;

ReadN.Enabled:=False;

ButtOK.Caption:='OK';

Vveli:= True

end else

begin

ReadN.Enabled:=True;

ButtOK.Caption:='OK';

Vveli:=False

end;

end;

procedure TForm1. readNChange (Sender:TObject);

begin

end;

end;

3) Аналогічну роботу, я провів з кнопками дії «Button2» «Button3». Одна буде рішати рівняння друга виходити з програми.

Рис. 2.1.3

Ці кнопки маюсь наступний код:

На кнопці розв’язати систему також треба обов’язково прописати даний код адже саме він вивів коректний результат Х, У.

procedure TForm1. ReshiClick (Sender: TObject);

var

i, j, k: cardinal;

S: string;

begin

// n:=StrToInt (ReadN.Text);

if (n<2) or (n>20)then

begin

Application.MessageBox (t1, ErrCap, MB_ICONERROR or MB_OK);

Exit

end;

for i:=1 to n do

for j:=1 to n+1 do

begin

if Matrica. Cells[j, i]='' then a[i, j]: =0 else

begin

try

a[i, j]: =StrToFloat (Matrica.Cells[j, i]);

except

raise Exception. Create ('НЕможлива величина A ('+IntToStr (i)+','+IntToStr (j)+')');

end;

end;

ao[i, j]: =a[i, j];

end;

// for k:=1 to n-1 do

begin

m:=Abs (a[k, k]);

for i:=k+1 to n do

begin

if m

begin

m:=Abs (a[i, k]);

for j:=k to n+1 do

begin

x[1]: = a[k, j];

a[k, j]:=a[i, j];

a[i, j]:=x[1];

end;

end;

end;

if m<1E-20 then

begin

raise Exception. Create (t2);

Exit

end;

for i:=k+1 to n do

begin

m:= a[i, k];

for j:=k to n+1 do

a[i, j]: = a[i, j]-a[k, j]*m/a[k, k];

end;

end;

4) Потім добавив три компоненти «Label» для підписування компонентів, та дав їм ось такі назву:

Рис. 2.1.4

Ці компоненти це лише меню вибору їм не обов’язково мати програмний код.

5) Добавив на форму компонент TStringGrid у котрому будить вноситися дані.

Рис. 2.1.5

Ця кнопка має такий код:

procedure TForm1. MatricaDrawC9sender: TObject);

var

i, j: cardinal;

begin

Matrica.Cells[0,0]: =' Aij';

For j:=1 to n doMatrica. Cells[j, 0]: =' '=IntToStr (j);

Matrica/Cells[n+1,0]: =' Bi';

for j:=1 to n doMatrica. Cells[0,j]: =' '+ItntToStr (j);

for i:=1 to n do

for j:=1 to n+1 doMatrica. Cells[j, i]=FloatToStrF (або[I, j], ffFixed.3,3);

end;

Після того як на форму були винесені всі елементи і після завершення прописування їх коду, в полі Edit я залишив цифру 2 щоб рівняння 2 на 2 було по замовчуванню. Остаточний вигляд програма має такий:

Рис. 2.1.6

При тестуванні програми помилок не виявлено. Прикладом для перевірки працездатності програми було розроблено вручну тест. Результати обчислення вручну та за допомогою комп’ютера повністю співпали.

Програма будувалась завдяки процедурам і функціям адже це було основною умовою моєї роботи.

2.2 Опис програмного забезпечення Програма призначена для рішення систем рівнянь методом Гауса мою програму можна використовувати, як у домашньому так і у навчальному процесі також цю програму можна легко переробити під телефон і це буде досить корисна програма особливо для студентів.

Для того щоб запустити програму треба клацнути по SysUrr. ехе, а саме корисне це те, що програму можна не встановлювати на диск.

Рис. 2.2.1

Після того, як програма запустилась нам потрібно у полі «введіть значення» обрати розмір рівняння, наприклад виберемо маленьке рівняння 2х2

Рис. 2.2.2

Після того, як ввели числа то потрібно натиснути «розв'язати систему» після чого нам відразу ж виводить результат Рис. 2.2.2

Можемо вказати значення і більше ніж попереднє ось наприклад ставимо значення 4.І далі робимо все те що робили с попереднім рівнянням пророблюємо всі ті ж операції…

Рис. 2.2.3

Якщо ввести неправильну або вирішувати не правильне значення буде виводитись ось така помилка яка повідомляє про те, що в системі немає рішень.

Рис. 2.2.4

Для того щоб вийти з програми нам необхідно натиснути кнопку вихід Рис. 2.2.5

Програма призначена для вирішування задач методом Гауса. Програма функціонує на будь-яких сучасних комп’ютерах типу IBM PC і навіть на платформі андроїд. Програма не потребує ні встановлення ні записування просто запуск з ярлика .

Програма запускається за допомогою запуску файлу SysUrr. ехе, який потрібно помістити на носій або комп’ютер. Робота програми досить стабільна і проста і відбувається на інтуїтивному рівні вводиш значення потім необхідні данні тиснеш розв’язати систему і нам виводить результат потім просто тиснемо змінити якщо нам потрібно ввести інші данні або натискання кнопки «ВИХІД» завершує роботу з додатком .

Висновок Розв’язування математичних задач за допомогою персональних комп’ютерів має велике значення, оскільки кожен розв’язок є оперативним та точним. Обчислюючи математичну задачу за допомогою сучасного комп’ютера, зрозуміло, що ймовірність помилкового введення даних в пам’ять ПК є набагато більшою чим ймовірність помилкового обчислення комп’ютером, чим тут практично можна знехтувати. Тоді що вже можна говорити про порівняння ручного обчислення і машинного. Тому надзвичайно важливо самостійно складати програми для виникаючих задач, які потрібно часто рішати. Звичайно головним в написанні програми є правильність її складання, оскільки правильність результатів обчислення в першу чергу залежить від правильності програми.

Дана курсова робота присвячена розробці, проектуванню, написанню та опису програми з використанням процедур та функцій, а саме «Лічильник рівнянь». Він спроектований та описаний на мові програмування Object Pascal в середовищі візуального програмування Borland Delphi.

В ході розробки цього програмного продукту я вперше з тикнувся з проблемами які виникають при розробці власного програмного забезпечення, а саме: створення самої ідеї програми, створення супроводжуючого матеріалу, створенню концепції.

Мою програму налагоджено з використанням різноманітних тестових даних. Прикладом для перевірки працездатності програми було розроблено вручну тест. Результати обчислення вручну та за допомогою комп’ютера повністю співпали. Тому можна вважати цей програмний продукт готовим для практичного застосування.

Я вважаю що поставлені перед собою завдання, в цій курсовій роботі повністю розкритими і бездоганно виконаними .

Список використаної літератури

1. Карованова Т. П. Інформатика: основи алгоритмізації та програмування. — К. :Генеза, 2006. — 286 с.

2. Культин Н. Б. «основы прорамирования в Delphi 7». — СПб.:БХВ-Петербург

3. Фаронов В. В. Delphi 6. Учебный курс. _ М.:Издатель Молгачева С. В., 2001._672 с.

4. Гофман В. Э., Хомоненко А. Д. Delphi 6. -СПб.:БХВ-Петербург, 2001._1152с.

5. Фаронов В. В., Шумаков П. В. Delphi 5. Руководство разработчика баз данных. _ М.:Нолидж, 2000.-640 с.

6. Глинський Я. М., Анохін В. Є., Ряжська В. А. Паскаль. TurboPascal i Delphi. Навчальнийпосібник. — Львів: СПД Глинський, 2007. — 192 с.

7. Демків І. І., Каленюк П. І., Клюйник І. І., Кравець І. Т., Петрович Р. Й. Основи програмування в середовищі Турбо-Паскаль.

8. Сорокин А.В.Delphi. Разработка баз данных. — СПб: Питер, 2005. 477 с.

9. Сухарев М. Delphi. Полное руководство. Включая версию 2010 (+DVD).

— М: Наука и техника, 2010. — 1035 с.

10. Баженова И. Ю. Delphi 7. самоучитель программиста. — М.: КУДИЦ-ОБРАЗ, 2004. — 448 с.

Інформаційні ресурси

1. http://www.embarcadero.com/ru/products/delphi — Програмування в Delphi

2. http://www.gunsmoker.ru/2009/11/delphi-7-windows-7.html — Програмування в с++ и Delphi

3. http://www.library.vinnitsa.com/ru/books/delphi-7 — Розробка програм різного рівня

4. http://hashcode.ru/questions/tagged/delphi-7/ - Створення компонентів

5. http://vk.com/delphi7 — Форум знавців

6. http://progbook.net/delphi/ Язык програмирования Delphi

7. http://www.realcoding.net/ Програмирование на Delphi

8. http://www.programmersclub.ru Помощ при програмировании на Delphi

Додаток, А Лістинг програми

unit SysUrrU;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics,

Controls, Forms, Dialogs, StdCtrls, ComCtrls, Grids, ExtCtrls;

type

TForm1 = class (TForm) //форма

L1: TLabel; //поле дня назви

Xxx: TButton; //кнопка

Reshi: TButton;

Matrica: TStringGrid; //поле вводу даних

Ramka: TBevel; //панель

L2: TLabel; //поле дня назви

L3: TLabel; //поле дня назви

ButtOK: TButton; //кнопка

ReadN: TEdit;

L4: TLabel; //поле дня назви

procedure XxxClick (Sender: TObject); //процедури вводу та розв’язання

procedure ReshiClick (Sender: TObject); //процедури вводу та розв’язання

procedure FormShow (Sender: TObject); //процедури вводу та розв’язання

procedure MatricaDrawC (Sender: TObject); //процедури вводу та розв’язання

procedure ButtOKClick (Sender: TObject); //процедури вводу та розв’язання

procedure FormCreate (Sender: TObject); //процедури вводу та розв’язання

private

{ Private declarations }

public

Vveli: boolean;{ Public declarations }

Height0,

Width0,

Left0,

n: cardinal; //метод розв’язання

m: real;

x: array [1.20] of real;

a,

ao: array [1.20,1.21] of real;

end;

const

t1 ='Ввести число невідомих 1

t2 ='Система погано обусловлена'+#13+#10+' Можливі 2 варианти:'+#13+#10+'1 — Немае рішень.'+#13+#10+'2 — Число безлімітне';

ErrCap = 'Error!!!';

var

Form1: TForm1;

SourceFile: file of byte;

ResFile: file of byte;

IMF: string;

implementation

{$R *.dfm}

procedure TForm1. FormCreate (Sender: TObject); //ввод даних

begin

n:= 2;

Vveli:= False;

DecimalSeparator:='.';

Left0:=Left;

Height0:= Height;

Width0:=Width;

ReadN.Enabled:= True;

ButtOK.Caption:= 'OK'

end;

procedure TForm1. FormShow (Sender: TObject);

begin

ReadN.SetFocus;

L2.Caption:='';

MatricaDrawC (Owner);

end;

с

procedure TForm1. MatricaDrawC (Sender: TObject); //складання велечин

var

i, j: cardinal;

begin

Matrica.Cells[0,0]: = ' Aij';

for j:=1 to n do Matrica. Cells[j, 0]: = ' '+IntToStr (j);

Matrica.Cells[n+1,0]: = ' Bi';

for j:=1 to n do Matrica. Cells[0,j]: = ' '+IntToStr (j);

for i:=1 to n do

for j:=1 to n+1 do Matrica. Cells[j, i]: =FloatToStrF (ao[i, j], ffFixed, 3,3);

end;

procedure TForm1. ReshiClick (Sender: TObject); // додавання велечин можливих і неможливих

var

i, j, k: cardinal;

S: string;

begin

// n:=StrToInt (ReadN.Text);

if (n<2) or (n>20)then

begin

Application.MessageBox (t1, ErrCap, MB_ICONERROR or MB_OK);

Exit

end;

for i:=1 to n do

for j:=1 to n+1 do

begin

if Matrica. Cells[j, i]='' then a[i, j]: =0 else

begin

try

a[i, j]: =StrToFloat (Matrica.Cells[j, i]);

except

raise Exception. Create ('НЕможлива величина A ('+IntToStr (i)+','+IntToStr (j)+')');

end;

end;

ao[i, j]: =a[i, j];

end;

for k:=1 to n-1 do

begin

m:=Abs (a[k, k]);

for i:=k+1 to n do

begin

if m

begin

m:=Abs (a[i, k]);

for j:=k to n+1 do

begin

x[1]: = a[k, j];

a[k, j]:=a[i, j];

a[i, j]:=x[1];

end;

end;

end;

if m<1E-20 then

begin

raise Exception. Create (t2);

Exit

end;

for i:=k+1 to n do

begin

m:= a[i, k];

for j:=k to n+1 do

a[i, j]: = a[i, j]-a[k, j]*m/a[k, k];

end;

end;

if Abs (a[n, n])<1E-20 then

begin

raise Exception. Create (t2);

Exit

end;

x[n]: =a[n, n+1]/a[n, n];

for k:=n-1 downto 1 do

begin

m:=0;

for j:=k+1 to n do m:=m+a[k, j]*x[j];

x[k]:=(a[k, n+1]-m)/a[k, k];

end;

S:='';

for j:=1 to n do S:=S+' X'+IntToStr (j)+'='+ FloatToStrF (x[j], ffFixed, 3,3);

L2.Caption:=S;

end;

procedure TForm1. XxxClick (Sender: TObject);

begin

Application.Terminate;

end;

end.

Показати весь текст
Заповнити форму поточною роботою