Помощь в написании студенческих работ
Антистрессовый сервис

Выводы. 
Обработка матриц

РефератПомощь в написанииУзнать стоимостьмоей работы

Проверка если стобцов нечетное число, то средний столбец остается без изменений. Зуев Е. А. Программирование на языке 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.

Показать весь текст
Заполнить форму текущей работой