Автор работы: Пользователь скрыл имя, 06 Декабря 2012 в 19:09, лабораторная работа
Цель: 1. Закрепить знания возможностей языка программирования для реализации вычислительного процесса
2. Привить практические навыки разработки программ
3. Получить дальнейшие навыки по отладке и тестированию программ.
4. Воспитать чувства дисциплинированности и исполнительности.
МИНИСТЕРСТВО ЭНЕРГЕТИКИ И УГОЛЬНОЙ ПРОМЫШЛЕННОСТИ
Севастопольский национальный униВЕРситЕт
ядерной энергии И промышленности
Лабораторная работа №1
по дисциплине
«Алгоритмизация и
на тему: «Разработка приложений для решения СЛАУ»
Выполнила :
Студентка 124 класса
Лемак Виктория
Проверила:
Сушкова Ю. А.
Тема: «Разработка приложений для решения СЛАУ»
Цель: 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:=
StringGrid1.RowCount:=
StringGrid2.RowCount:=
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(
for i:=0 to n-1 do
b[i+1]:=strtofloat(
//Прямой ход - исключение переменных
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.
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.
Вывод: в данной лабораторной работе мы научились разрабатывать алгоритм и программы для решения СЛАУ. Закрепили знания возможностей языка программированиям для реализации вычислительного процесса .