Разработка приложений для решения СЛАУ

Автор работы: Пользователь скрыл имя, 06 Декабря 2012 в 19:09, лабораторная работа

Краткое описание

Цель: 1. Закрепить знания возможностей языка программирования для реализации вычислительного процесса
2. Привить практические навыки разработки программ
3. Получить дальнейшие навыки по отладке и тестированию программ.
4. Воспитать чувства дисциплинированности и исполнительности.

Вложенные файлы: 1 файл

ЛЗ АП.docx

— 18.44 Кб (Скачать файл)

МИНИСТЕРСТВО  ЭНЕРГЕТИКИ И УГОЛЬНОЙ ПРОМЫШЛЕННОСТИ

Севастопольский национальный униВЕРситЕт

ядерной энергии  И   промышленности

 

 

 

Лабораторная  работа №1

по дисциплине «Алгоритмизация и Программирование» 

на  тему:  «Разработка приложений для решения СЛАУ»

 

 

 

 

 

 

 

 

Выполнила :

Студентка 124 класса

Лемак Виктория

Проверила:

Сушкова  Ю. А.

    2012

 

Тема: «Разработка приложений для решения СЛАУ»

Цель:    1. Закрепить знания возможностей языка программирования  для реализации вычислительного процесса

      2. Привить практические навыки разработки программ

    3. Получить дальнейшие  навыки по отладке и тестированию  программ.

    4. Воспитать чувства дисциплинированности и исполнительности.            

 

Вариант 16

Задание: Разработать алгоритм, написать, отладить и выполнить программу для решения систем линейных алгебраических уравнений.

 

Решение

 

unit Unit1;

interface

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,     Dialogs, Grids, StdCtrls,

  Buttons;

const MaxDlina = 10;

type

  Vector = array[1..MaxDlina] of  real;

  Matrix = array[1..MaxDlina] of  Vector;

  TForm1 = class(TForm)

Label1 : TLabel;

Label2 : TLabel;

Label3 : TLabel;

Edit1 : TEdit;

StringGrid1 : TStringGrid;

StringGrid2 : TStringGrid;

ListBox1 : TListBox;

Button1 : TButton;

    BitBtn1: TBitBtn;

    Button2: TButton;

procedure Edit1Change(Sender:TObject);

procedure Button1Click(Sender:TObject);

    procedure Button2Click(Sender: TObject);

private

     { private declarations }

public

     { public declarations }

end;

 

var

   Form1: TForm1;

implementation

 

uses Unit2;

{$R *.dfm}

 

 

procedure TForm1.Edit1Change (Sender:TObject);

begin

  StringGrid1.ColCount:=StrToInt(Edit1.Text);

  StringGrid1.RowCount:=StrToInt(Edit1.Text);

  StringGrid2.RowCount:=StrToInt(Edit1.Text);

end;

 

procedure TForm1.Button1Click (Sender:TObject);

var   a: Matrix;

b,x: Vector;

h: real;

i,j,k,n: integer;

begin

n:=StringGrid1.ColCount;    //размерность системы

for  j:=0 to n-1 do

for  i:=0 to n-1 do

a[i+1,j+1]:=strtofloat(StringGrid1.Cells[j,i]);   //коэффициенты

for  i:=0 to n-1 do

b[i+1]:=strtofloat(StringGrid2.Cells[0,i]);   //правые части

//Прямой ход - исключение  переменных

for  i:=0 to n-1 do

for  j:=i+1 to n do

begin

a[j,i]:=-a[j,i]/(a[i,i]+0.00001);

for  k:=i+1 to n do

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

b[j]:= b[j]+a[j,i]*b[i]

end;

x[n]:=b[n]/a[n,n];

//Обратный ход - нахождение  корней

for  i:=n-1 downto 1 do

begin

h:=b[i];

for  j:=i+1 to n do  h:=h-x[j]*a[i,j];

x[i]:=h/(a[i,i]+0.00001);

end;

//Вывод результата

for  i:=1 to n do

ListBox1.Items.Add('x(' + inttostr(i) + ')=' + floattostrf(x[i],ffFixed,1,3));

end;

 

procedure TForm1.Button2Click(Sender: TObject);

begin

AboutBox.Show;

end;

 

end.

Вывод: в данной лабораторной работе мы научились разрабатывать алгоритм и программы для решения СЛАУ. Закрепили знания возможностей языка программированиям для реализации вычислительного процесса .


Информация о работе Разработка приложений для решения СЛАУ