|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Настройка компонента TStringGridДля установки компонента TStringGrid на форму необходимо на странице Additional меню компонентов щелкнуть мышью по пиктограмме . После этого щелкните мышью в нужном месте формы. Захватывая кромки компонента отрегулируйте его размер. В инспекторе объектов значения свойств ColCount и RowCount установите 2 (две строки и два столбца), а FixedCols и FixedRows установите 1 (один столбец и одна строка с фиксированной зоной). Т.к. компоненты StringGrid2 и StringGrid3 имеют только один столбец, то у них: ColCount= 1, RowCount=2, FixedCols=0 и FixedRows=1. По умолчанию в компонент TStringGrid запрещен ввод информации с клавиатуры, поэтому необходимо свойство Options goEditing для компонентов StringGrid1 и StringGrid2 установить в положение True. Текст программы приведен ниже. unit tem4;
interface
uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Grids;
type TForm1 = class(TForm) Label1: TLabel; Edit1: TEdit; Button1: TButton; Button2: TButton; StringGrid1: TStringGrid; StringGrid2: TStringGrid; StringGrid3: TStringGrid; procedure FormCreate(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } public { Public declarations } end;
const Nmax=10; // Максимальная размерность массива Type Mas2 = array[1..Nmax,1..Nmax] of extended; // Объявление типа двумерного массива размерностью Nmax Mas1 = array[1..Nmax] of extended; // Объявление типа одномерного массива размерностью Nmax var Form1: TForm1; A: Mas2; // Объявление двумерного массива B,Y: Mas1; // Объявление одномерных массивов N,i,j: integer;
implementation
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject); begin N:=3; // Размерность массива Edit1.Text:=FloatToStr(N); {Задание числа строк и столбцов в таблицах} StringGrid1.ColCount:=N+1; StringGrid1.RowCount:=N+1; StringGrid2.RowCount:=N+1; StringGrid3.RowCount:=N+1;
{Ввод в левую верхнюю ячейку таблицы названия массива} StringGrid1.Cells[0,0]:='Массив A:'; StringGrid2.Cells[0,0]:='Массив B:'; StringGrid3.Cells[0,0]:='Массив Y:'; {Заполнение верхнего и левого столбцов поясняющими подписями} for i:=1 to N do begin StringGrid1.Cells[0,i]:=' i= '+IntToStr(i); StringGrid1.Cells[i,0]:=' j= '+IntToStr(i); end; end;
procedure TForm1.Button1Click(Sender: TObject); begin N:=StrToInt(Edit1.Text); {Задание числа строк и столбцов в таблицах} StringGrid1.ColCount:=N+1; StringGrid1.RowCount:=N+1; StringGrid2.RowCount:=N+1; StringGrid3.RowCount:=N+1; {Заполнение верхнего и левого столбцов поясняющими подписями} for i:=1 to N do begin StringGrid1.Cells[0,i]:=' i= '+IntToStr(i); StringGrid1.Cells[i,0]:=' j= '+IntToStr(i); end; end;
procedure TForm1.Button2Click(Sender: TObject); var s: extended; begin {Заполнение массива А элементами из таблицы StringGrid1} for i:=1 to N do for j:=1 to N do A[i,j]:=StrToFloat(StringGrid1.Cells[j,i]); {Заполнение массива B элементами из таблицы StringGrid2} for i:=1 to N do B[i]:=StrToFloat(StringGrid2.Cells[0,i]); {Умножение массива А на массив В} for i:=1 to N do begin s:=0; for j:=1 to N do s:=s+A[i,j]*B[j]; Y[i]:=s; {Вывод результата в таблицу StringGrid3} StringGrid3.Cells[0,i]:=FloatToStrf(y[i],fffixed,6,2); end; end;
end. Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.004 сек.) |