4.1.3. Текст модуля UnMas

Unit UnMas;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

StdCtrls, Spin, Grids;


type

TForm1 = class(TForm)

Label1: TLabel;

SpinEdit1: TSpinEdit;

SpinEdit2: TSpinEdit;

Label8: TLabel;

StringGrid1: TStringGrid;

StringGrid2: TStringGrid;

StringGrid3: TStringGrid;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

SpinEdit3: TSpinEdit;

SpinEdit4: TSpinEdit;

Label6: TLabel;

Label7: TLabel;

Button1: TButton;

procedure FormCreate(Sender: TObject);

procedure SpinEdit1Change(Sender: TObject);

procedure SpinEdit2Change(Sender: TObject);

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.DFM}

var

A:array[1..6,1..8] of extended;// объявление двумерного массива A

X:array[1..8] of extended; // объявление одномерного массива X

Y:array[1..6] of extended; // объявление одномерного массива Y

n,m,p,q:integer; // объявление глобальных переменных

procedure TForm1.FormCreate(Sender: TObject);

begin

SpinEdit1.Text:='4'; // начальное значение n

SpinEdit2.Text:='6'; // начальное значение m

SpinEdit3.Text:='2'; // начальное значение p

SpinEdit4.Text:='3'; // начальное значение q

StringGrid1.RowCount:=4; // количество строк массива A

StringGrid1.ColCount:=6; // количество столбцов массива A

StringGrid2.RowCount:=6; // количество строк массива X

StringGrid3.RowCount:=4; // количество строк массива Y

end;

procedure TForm1.SpinEdit1Change(Sender: TObject);

begin

n:=StrToInt(SpinEdit1.Text);// n присваивается содержимое поля редактора

StringGrid1.RowCount:=n; // устанавливается количество строк массива A

StringGrid3.RowCount:=n; // устанавливается количество строк массива Y

end;

procedure TForm1.SpinEdit2Change(Sender: TObject);

begin

m:=StrToInt(SpinEdit2.Text);// m присваивается содержимое поля редактора

StringGrid1.ColCount:=m; // устанавливается количество столбцов массива A

StringGrid2.RowCount:=m; // устанавливается количество строк массива X

end;

procedure TForm1.Button1Click(Sender: TObject);

var

i,j:integer; // объявление локальных переменных

begin

n:=StrToInt(SpinEdit1.Text);

StringGrid1.RowCount:=n;

StringGrid3.RowCount:=n;

m:=StrToInt(SpinEdit2.Text);

StringGrid1.ColCount:=m;

StringGrid2.RowCount:=m;

p:=StrToInt(SpinEdit3.Text);

q:=StrToInt(SpinEdit4.Text);

// Ввод значений из таблицы в массив A

for i:=1 to n do

for j:=1 to m do

A[i,j]:=StrToFloat(StringGrid1.Cells[j-1,i-1]);

for j:=1 to m do // формирование массива X и вывод его значений в таблицу

begin

X[j]:=A[p,j];

StringGrid2.Cells[0,j-1]:=FloatToStrF(X[j],ffFixed,3,1);

end;

for i:=1 to n do // формирование массива Y и вывод его значений в таблицу

begin

Y[i]:=A[i,q];

StringGrid3.Cells[0,i-1]:=FloatToStrF(Y[i],ffFixed,3,1);

end;

end;

end.


4.1.4. Работа с приложением

Запустите созданное приложение. Занесите числовые значения в элементы матрицы A и убедитесь в том, что приложение функционирует в соответствии с заданием.

4.2. Выполнение индивидуального задания

Изучите в приложении 2 описание компонентов StringGrid и DrawGrid.

По указанию преподавателя выберите свое индивидуальное задание. Создайте приложение и протестируйте его работу.

Индивидуальные задания

1. Задана целочисленная матрица A размером NxM. Получить массив B, присвоив его k-му элементу значение 0, если все элементы k-го столбца матрицы нулевые, и значение 1 в противном случае(k=1,2,…,M).

2. Задана целочисленная матрица A размером NxM. Получить массив B, присвоив его k-му элементу значение 1, если элементы k–й строки матрицы упорядочены по убыванию, и значение 0 в противном случае(k=1,2,…,N).

3. Задана целочисленная матрица A размером NxM. Получить массив B, присвоив его k-му элементу значение 1, если k-я строка матрицы симметрична, и значение 0 в противном случае(k=1,2,…,N)..

4. Задана целочисленная матрица размером NxM. Определить k–количество “особых” элементов матрицы, считая элемент “особым”, если он больше суммы остальных элементов своего столбца.

5. Задана целочисленная матрица размером NxM. Определить k–количество “особых” элементов матрицы, считая элемент “особым”, если в его строке слева от него находятся элементы, меньшие его, а справа – большие.

6. Задана символьная матрица размером NxM. Определить k-количество различных элементов матрицы (т.е. повторяющиеся элементы считать один раз).

7. Дана вещественная матрица размером NxM. Упорядочить ее строки по неубыванию их первых элементов.

8. Дана вещественная матрица размером NxM. Упорядочить ее строки по неубыванию суммы их элементов.

9. Дана вещественная матрица размером NxM. Упорядочить ее строки по неубыванию их наибольших элементов.

10. Определить является ли заданная квадратная матрица n-го порядка симметричной относительно побочной диагонали.

11. Для заданной целой матрицы размером NxM вывести на экран все ее седловые точки. Элемент матрицы называется седловой точкой, если он является наименьшим в своей строке и одновременно наибольшим в своем столбце или, наоборот, является наибольшим в своей строке и наименьшим в своем столбце.


Информация о работе «Программирование на Object Pascal в среде Delphi»
Раздел: Информатика, программирование
Количество знаков с пробелами: 62207
Количество таблиц: 3
Количество изображений: 0

Похожие работы

Скачать
49877
5
0

... в среде Delphi). Задачи использовались как с данного сайта, так и из других источников – книг и семинарских занятиях по информатике в МГОУ. Курс завершается разработкой игры. Программное обеспечение: свободно распространяемая версия объектно-ориентированной среды программирования Delphi. Методы обучения: метод проектов, лекции, проблемный метод, частично-поисковый метод. Контроль знаний и умений ...

Скачать
17314
1
5

... // ... if(condition1) { j = 4; goto label1; } // ... for(j = 0; j < 10; j++) { // ... label1: // ... if(condition2) { i = 6; goto label2; } } // ... label2: // ... } 2.2       Разработка программы В среде программирования Borland Delphi создадим новое приложение (пункт меню File New Application). ...

Скачать
135570
16
5

... химических соединений, которые могут представлять ценность как сырье и использоваться в виде дополнения к шахте. 7. заключение В результате дипломного проектирования была разработана программа «АРМ менеджера по продажам в автосалоне «A-Motors», предназначенная для для регистрации и ведения учета продаж автомобилей. Программа предназначена для того, чтобы облегчить рутинный труд менеджера ...

Скачать
3767
0
0

... ситуация другая. Учитель на уроке работает с 10-15 учащимися. Осуществить должный контроль за усвоением материала всеми учащимися, если в классе есть компьютеры, без привлечения автоматизированных средств обучения затруднительно. Автором разработана обучающая программа «Учимся программировать на Паскале». Программа написана на языке Object Pascal в среде Delphi 6 и может работать на компьютерах ...

0 комментариев


Наверх