Мегаобучалка Главная | О нас | Обратная связь


Инструкция пользователя



2019-12-29 199 Обсуждений (0)
Инструкция пользователя 0.00 из 5.00 0 оценок




 

Рассмотрим последовательность действий пользователя при использовании программы для сдвига элементов матрицы. Ему необходимо запустить на выполнение программу, которая называется «ms.exe».

Для удобства запуска программы под управлением Microsoft Windows, можно сделать следующее: щелкните правой кнопкой мыши по Рабочему Столу Windows Þ в появившемся меню выберите Создать Þ Ярлык Þ в появившемся окне в Командной строке набираем путь доступа к программе и нажимаем кнопку Далее Þ в следующем окне назовем наш ярлык Сдвиг и нажимаем кнопку Далее Þ выберите иконку и нажмите кнопку Готово. Теперь у Вас на рабочем столе находится иконка программы.

После запуска пользователь увидит на экране окно, изображенное на рисунке 8.

В верхней строке окна находится главное меню с двумя пунктами:

Файл. Содержит подпункты:

§ Открыть – загрузка матрицы из текстового файла;

§ Выход – закончить работу с программой.

Обработка, содержит один подпункт Начать – запуск алгоритма сдвига элементов матрицы.

Остальную часть окна занимает область вывода матрицы.

Порядок работы:

§ выбрать файл с исходными данными Файл à Открыть;

§ выполнить команду Обработка à Начать для сдвига элементов слоев.

Для хранения матриц используется текстовый файл со следующей структурой:

1 строка – два целочисленных значения n, m из диапазона 1…10 разделенные пробелом – число строк и столбцов матрицы соответственно;

В последующих n строка расположена сама матрица, m целочисленных значений в строке, разделитель – пробел.

Необходимо помнить, что обработке подлежат матрицы максимальной размерности 10´10 элементов.

 

 


Тестовый пример

 

 

 


Заключение

 

Результатом курсового проектирования по дисциплине «Программирование на языках высокого уровня» на тему «Разработка программы для сдвига элементов матрицы по слоям» является разработанная программа для IBM PC совместимых компьютеров, предназначенная для обработки произвольных целочисленных матриц, а также подробное руководство пользователя программой.

В ходе курсового проектирования были выявлены особенности написания программы, разработан алгоритм программы и описан принцип ее работы.

Недостатком программы является ограниченная размерность обрабатываемых матриц.

В теоретической части работы мной были приведены материалы о программирование в среде Delphi.

 

 


Список использованной литературы

 

1. Бобровский С.И. Delphi 7. Начальный курс: Учебное пособие – М.: Диалог – МИФИ, 2002. -416 с.

2. Гофман В.Э. Delphi 7. – Спб.: BHV‑Петербург, 2003. -488 с.

3. Лишнер Рэй. Delphi. Справочник. – М.: БЕК, 2003. -715 с.

4. Поган А.М., Царенко Ю.А. Программирование в Delphi. Просто как дважды два. – М.: Нолидж, 2004. -557 с.

 

 


Приложение. Листинг программы

 

unit Unit1;

interface

uses

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

Dialogs, Menus, Grids, StdCtrls;

type

mas = array [1..100] of integer;

mat = array [1..10, 1..10] of integer;

TForm1 = class(TForm)

MainMenu1: TMainMenu;

N1: TMenuItem;

MOpenFile: TMenuItem;

N4: TMenuItem;

MQuit: TMenuItem;

N6: TMenuItem;

MRun: TMenuItem;

OpenDialog1: TOpenDialog;

StringGrid1: TStringGrid;

procedure MQuitClick (Sender: TObject);

procedure MOpenFileClick (Sender: TObject);

procedure MRunClick (Sender: TObject);

procedure FillGrid (a: mat; n, m: integer);

private

{Private declarations}

public

{Public declarations}

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

const

cc: array [1..10] of TColor = (clBlue, clFuchsia, clGreen,

clLime, clMaroon, clNavy, clOlive,

clRed, clTeal, clYellow);

var

mf: string; // имя файла с матрицей

c: array [1..10, 1..10] of TColor; // массив цветов слоев

a: mat; // заданая матрица

k: integer; // счетчик слоев

procedure Sdvig (var d: mas; n: integer);

// сдвиг массива по часовой стрелке

var

i, l: integer;

begin

if n = 0 then Exit;

l:= d[n];

for i:= n downto 2 do

d[i]:= d [i – 1];

d[1]:= l;

end;

procedure SloiColor (fn, n, m: integer; sd: boolean);

// определение цветов слоев и их сдвиг

var

i, j: integer;

d: mas;

begin

if ((n >= 2) or (m >= 2)) and ((fn < n) and (fn < m)) then

begin

j:= 0;

for i:= fn to m do

begin

c [fn, i]:= cc[k];

j:= j + 1;

d[j]:= a [fn, i];

end;

for i:= fn + 1 to n do

begin

c [i, m]:= cc[k];

j:= j + 1;

d[j]:= a [i, m];

end;

for i:= m – 1 downto fn do

begin

c [n, i]:= cc[k];

j:= j + 1;

d[j]:= a [n, i];

end;

for i:= n – 1 downto fn + 1 do

begin

c [i, fn]:= cc[k];

j:= j + 1;

d[j]:= a [i, fn];

end;

if sd then

begin

Sdvig (d, j);

j:= 0;

for i:= fn to m do

begin

j:= j + 1;

a [fn, i]:= d[j];

end;

for i:= fn + 1 to n do

begin

j:= j + 1;

a [i, m]:= d[j];

end;

for i:= m – 1 downto fn do

begin

j:= j + 1;

a [n, i]:= d[j];

end;

for i:= n – 1 downto fn + 1 do

begin

j:= j + 1;

a [i, fn]:= d[j];

end;

end;

Inc(k);

SloiColor (fn + 1, n – 1, m – 1, sd);

end;

end;

procedure TForm1.MQuitClick (Sender: TObject);

// выход из программы

var

fi: integer;

begin

fi:= Application. MessageBox ('Вы действительно хотите завершить программу?',

'Информация', mb_YesNo); // вывод окна

if fi = IDYes then

Application. Terminate; // выход

end;

procedure TForm1.MOpenFileClick (Sender: TObject);

// открыть файл данных

var

n, m, i, j: integer;

f: textfile;

begin

if OpenDialog1. Execute then

begin

mf:= OpenDialog1. FileName;

MRun. Enabled:= True;

AssignFile (f, mf); Reset(f);

ReadLn (f, n, m);

for i:= 1 to n do

begin

for j:= 1 to m do

Read (f, a [i, j]);

ReadLn(f);

end;

CloseFile(f);

for i:= 1 to n do

for j:= 1 to m do

c [i, j]:= clBlack;

k:= 1;

SloiColor (1, n, m, false);

FillGrid (a, n, m);

end;

end;

procedure TForm1. FillGrid (a: mat; n, m: integer);

// вывод матрицы с заданными цветами элементов

var

i, j: integer;

r: trect;

begin

StringGrid1. Refresh;

for i:= 1 to 10 do

StringGrid1. Cells [i, 0]:= «;

for i:= 1 to 10 do

begin

StringGrid1. Cells [0, i]:= «;

for j:= 1 to 10 do

begin

r:= StringGrid1. CellRect (j, i);

StringGrid1. Canvas. TextOut (r.topleft.x + 1, r. Top + 2, ' ');

end;

end;

for i:= 1 to m do

StringGrid1. Cells [i, 0]:= IntToStr(i);

for i:= 1 to n do

begin

StringGrid1. Cells [0, i]:= IntToStr(i);

for j:= 1 to m do

begin

StringGrid1. Canvas. Font. Color:= c [i, j];

r:= StringGrid1. CellRect (j, i);

StringGrid1. Canvas. TextOut (r.topleft.x + 1, r. Top + 2, IntToStr (a[i, j]));

end;

end;

StringGrid1. Canvas. Refresh;

end;

procedure TForm1.MRunClick (Sender: TObject);

var

i, j, n, m: integer;

f: textfile;

begin

AssignFile (f, mf); Reset(f);

ReadLn (f, n, m);

CloseFile(f);

for i:= 1 to n do

for j:= 1 to m do

c [i, j]:= clBlack;

k:= 1;

SloiColor (1, n, m, true);

FillGrid (a, n, m);

Append(f);

WriteLn(f);

for i:= 1 to n do

begin

for j:= 1 to m do

Write (f, a [i, j]:5);

WriteLn(f);

end;

CloseFile(f);

end;

end.



2019-12-29 199 Обсуждений (0)
Инструкция пользователя 0.00 из 5.00 0 оценок









Обсуждение в статье: Инструкция пользователя

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (199)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.008 сек.)