Выводы.
Обработка матриц
Проверка если стобцов нечетное число, то средний столбец остается без изменений. Зуев Е. А. Программирование на языке Turbo Pascal 6.0,7.0. — М.: Радио и связь, Веста, 1993. Марченко А. И., Марченко Л. А. Программирование в среде Turbo Pascal 7.0.-К.: Век+, 1999. Сравнение справа от текущего элемента (если он не последний). Сравнение справа от текущего элемента (если он не последний… Читать ещё >
Выводы. Обработка матриц (реферат, курсовая, диплом, контрольная)
В процессе выполнения курсовой работы были выполнено:
- — на первом этапе работы было проанализировано задание и определен перечень вопросов, которые были решены в данной работе, определение того, что, собственно, будет выполнять разрабатываемая программа, не рассматривая конкретную реализацию этих функций;
- — разработка алгоритма разрабатываемой программы;
- — разработка программы и пользовательского интерфейса;
- — произведена отладка программы.
ПЕРЕЧЕНЬ ССЫЛОК
- 1. Абрамов В. Г., Трифонов Н. П., Трифонова Г. Н.
Введение
в язык Паскаль. — М.: Наука, 1988.
- 2. Довгаль С. И., Литвинов Б. Ю., Сбитнев А. И. Персональные ЭВМ: Турбо Паскаль V7.0, объектное программирование, локальные сети. — Киев: Информсиситема сервис, 1993.
- 3. Епанешников А. М., Епанешникова В. А. Программирование в среде Turbo Pascal 7.0.-М.: ДиалогМИФИ, 1999.
- 4. Зуев Е. А. Программирование на языке Turbo Pascal 6.0,7.0. — М.: Радио и связь, Веста, 1993.
- 5. Кандзюба С. П., Громов В. Н. Delphi 7. Базы данных и приложения. Лекции и упражнения. — К.: Издательство «ДиаСофт», 2001.
- 6. Климова Л. М. Pascal 7.0. Практическое программирование. Решение типовых задач. -М.:КУДИУ ОБРАЗ, 2000.
- 7. Марченко А. И., Марченко Л. А. Программирование в среде Turbo Pascal 7.0.-К.: Век+, 1999.
- 8. Фаронов В. В. Turbo Pascal 7.0. Начальный курс. — М.: Нолидж, 2000.
- 9. Методические указания к выполнению курсовой работы по дисциплине «Программирование» /Сост.: Н. С. Семенова, С. А. Сафонова — Северодонецк: Изд-во СТИ ВНУ, 2006. — 37с.
ПРИЛОЖЕНИЯ
Приложение, А Схема алгоритма программы.
Листинг программы.
unit Unit1;
interface.
uses.
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,.
Dialogs, StdCtrls, Grids;
type.
TForm1 = class (TForm).
gbRazmer: TGroupBox;
lbN: TLabel;
lbM: TLabel;
edN: TEdit;
edM: TEdit;
buRazmer: TButton;
gbMatrix1: TGroupBox;
sgMatrix1: TStringGrid;
buRandom: TButton;
gbMatr2: TGroupBox;
sgMatrix2: TStringGrid;
buPerest: TButton;
gbOsob: TGroupBox;
buOsob: TButton;
lbOsob1: TLabel;
lbOsob2: TLabel;
buZapoln: TButton;
sgMatrix3: TStringGrid;
procedure FormCreate (Sender: TObject);
procedure buRazmerClick (Sender: TObject);
procedure buRandomClick (Sender: TObject);
procedure buPerestClick (Sender: TObject);
procedure buOsobClick (Sender: TObject);
procedure buZapolnClick (Sender: TObject);
private.
{ Private declarations }.
public.
{ Public declarations }.
end;
var.
Form1: TForm1;
n, m: integer;
matr1, matr2, matr3: array [1.20, 1.20] of integer;
implementation.
{$R *.dfm}.
procedure TForm1. FormCreate (Sender: TObject);
begin.
Randomize; // включить генератор случайных чисел.
end;
procedure TForm1. buRazmerClick (Sender: TObject);
var i: integer;
begin.
// установить размер матрицы.
n:= StrToInt (edN.Text);
m:= StrToInt (edM.Text);
// визуальное отображение.
sgMatrix1.RowCount:= n+1;
sgMatrix1.ColCount:= m+1;
for i:= 1 to n do.
sgMatrix1.Cells[0, i]: = IntToStr (i);
for i:= 1 to m do.
sgMatrix1.Cells[i, 0]: = IntToStr (i);
sgMatrix2.RowCount:= n+1;
sgMatrix2.ColCount:= m+1;
for i:= 1 to n do.
sgMatrix2.Cells[0, i]: = IntToStr (i);
for i:= 1 to m do.
sgMatrix2.Cells[i, 0]: = IntToStr (i);
sgMatrix3.RowCount:= n+1;
sgMatrix3.ColCount:= m+1;
for i:= 1 to n do.
sgMatrix3.Cells[0, i]: = IntToStr (i);
for i:= 1 to m do.
sgMatrix3.Cells[i, 0]: = IntToStr (i);
end;
procedure TForm1. buRandomClick (Sender: TObject);
var i, j: integer;
begin.
for i:= 1 to n do.
for j:= 1 to m do.
begin.
matr1[i, j]: = random (11);
sgMatrix1.Cells[j, i]: = IntToStr (matr1[i, j]);
end;
end;
procedure TForm1. buZapolnClick (Sender: TObject);
var i, j: integer;
begin.
for i:= 1 to n do.
for j:= 1 to m do.
begin.
matr1[i, j]: = StrToInt (sgMatrix1.Cells[j, i]);
end;
end;
procedure TForm1. buPerestClick (Sender: TObject);
var i, j, k: integer;
begin.
// формирование переставленной матрицы.
for j:= 1 to (m div 2) do.
for i:= 1 to n do.
begin.
matr2[i, j]: = matr1[i, m-j+1];
matr2[i, m-j+1]: = matr1[i, j];
end;
// проверка если стобцов нечетное число, то средний столбец остается без изменений.
if (m mod 2)0 then.
for i:= 1 to n do.
matr2[i, m div 2+1]: = matr1[i, m div 2+1];
// отображение переставленной матрицы.
for i:= 1 to n do.
for j:= 1 to m do.
begin.
sgMatrix2.Cells[j, i]: = IntToStr (matr2[i, j]);
end;
end;
procedure TForm1. buOsobClick (Sender: TObject);
var.
i, j, l, osob1, osob2, k: integer;
fLev, fPrav: boolean;
begin.
// подсчет особых в 1 матрице.
osob1:= 0;
for i:= 1 to n do.
for j:= 2 to m-1 do.
begin.
k:= matr1[i, j];
// сравнение слева от текущего элемента (если он не первый).
begin.
fLev:= true;
for l:= 1 to j-1 do.
if matr1[i, l]>=k then fLev:= false;
end;
// сравнение справа от текущего элемента (если он не последний).
fPrav:= true;
for l:= j+1 to m do.
if matr1[i, l]<=k then fPrav:= false;
if fLev and fPrav then osob1:= osob1+1;
end;
lbOsob1.Caption:= 'Число «особых» элементов в матрице1 = '+ IntToStr (osob1);
// подсчет особых вo 2 матрице.
osob2:= 0;
for i:= 1 to n do.
for j:= 2 to m-1 do.
begin.
k:= matr2[i, j];
// сравнение слева от текущего элемента (если он не первый).
begin.
fLev:= true;
for l:= 1 to j-1 do.
if matr2[i, l]>=k then fLev:= false;
end;
// сравнение справа от текущего элемента (если он не последний).
fPrav:= true;
for l:= j+1 to m do.
if matr2[i, l]<=k then fPrav:= false;
if fLev and fPrav then osob2:= osob2+1;
end;
lbOsob2.Caption:= 'Число «особых» элементов в матрице2 = '+ IntToStr (osob2);
// формирование отсортированной матрицы.
if osob1>= osob1 then.
matr3:= matr1.
else.
matr3:= matr2;
for i:= 1 to n do.
for j:= m downto 2 do.
for l:= 1 to m-1 do.
if matr3[i, l] < matr3[i, l+1] then.
begin.
k:=matr3[i, l] ;
matr3[i, l]: =matr3[i, l+1];
matr3[i, l+1]: =k;
end;
// отображение переставленной матрицы.
for i:= 1 to n do.
for j:= 1 to m do.
begin.
sgMatrix3.Cells[j, i]: = IntToStr (matr3[i, j]);
end;
end;
end.