Смекни!
smekni.com

Методические рекомендации по выполнению курсовой работы по дисциплине “Программирование на языке высокого уровня” (стр. 4 из 8)

3.4.2 Спецификация программы

В разделе спецификация приводится точное название программы и ее состав. Форма спецификации приведена в приложении А. Графы спецификации заполняют следующим образом:

- в графе “Обозначение” указывают обозначение основных программных компонентов;

- в графе “Наименование” - полное наименование соответствующего компонента;

- в графе “Примечание” – дополнительные сведения, относящиеся к записанным в специи-фикации программам.

Пример

Исполняемый файл программы “Игра “Лабиринт” имеет название Labirint.exe и расположен на компакт-диске (дискете) в каталоге Kursov\Labirint. Состав проекта.

3.4.3 Текст программы

Приводится полный листинг программы.

Пример листинга:

unit Unit1;

interface

uses

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

StdCtrls, Buttons, Menus, ExtCtrls;

type

TForm1 = class(TForm)

Image1: TImage;

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

Panel1: TPanel;

Label1: TLabel;

Edit1: TEdit;

Label2: TLabel;

Label3: TLabel;

BitBtn3: TBitBtn;

Label4: TLabel;

BitBtn4: TBitBtn;

BitBtn5: TBitBtn;

BitBtn6: TBitBtn;

BitBtn7: TBitBtn;

BitBtn8: TBitBtn;

Panel2: TPanel;

Memo1: TMemo;

ListBox1: TListBox;

Button1: TButton;

N4: TMenuItem;

N5: TMenuItem;

Label5: TLabel;

procedure BitBtn1Click(Sender: TObject);

procedure Edit1KeyPress(Sender: TObject; var Key: Char);

procedure BitBtn3Click(Sender: TObject);

procedure BitBtn7Click(Sender: TObject);

procedure ListBox1Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure N4Click(Sender: TObject);

procedure N3Click(Sender: TObject);

procedure N5Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var Form1: TForm1;

//Перечисляемый тип для определения направления движения

Type Trend = (nord, ost, zued, west);

// Структура элемента списка

Uk = ^Room;

Room = Record Num: Integer;

Door: Array [Trend] Of Uk;

Next: Uk;

End;

// Структура компонента файла помощи

THelp = Record v: String[100];

otv: Array [1..4] Of String[100];

End;

TNameFile = String[20];

Var Spi, pp, Iroom: Uk;

r: Trend; ff: File Of THelp;

// Spi – указатель на начало списка; pp, Iroom –рабочие указатели;

// r – для определения направления движения;

// ff – файловая переменная для обращения к файлу помощи.

implementation

Uses Unit2, Unit3;

{$R *.DFM}

Function Nroom(Spi: Uk; n: Integer): Uk;

// В списке помещений находим указатель на n - oe

Var q: Uk;

Begin

q:= Spi;

While (q<>nil) and (q^.num<>n) Do q:= q^.next;

Nroom:= q;

End;

procedure TForm1.BitBtn1Click(Sender: TObject);

// Построение связанного списка помещений

Var FileName: TNameFile; f: TextFile;

p: Uk; i, nr: Integer;

begin

FileName:= InputBox(‘План помещений’,’Введите имя файла ‘,’’);

AssignFile(f, FileName);

Reset(f);

//Считываем только номера помещений и составляем связанный список

Spi:= nil;

While not Eof(f) Do

Begin

New(p);

Readln(f, i);

p^.Num:= i;

For r:= nord To west Do p^.Door [r]:= nil;

p^.next:= Spi;

Spi:= p;

End;

//Еще раз считываем из файла, но уже с дверьми

Reset (f);

While not Eof(f) Do

Begin

Read(f, i);

p:= Nroom(Spi, i);

For r:= nord To west Do

Begin Read(f, nr);

If nr = 0 Then p^.Door[r]:= nil

Else p^.Door[r]:= Nroom(Spi, nr);

End;

End;

// Подготовка формы для ввода номера начала помещения

label1.Caption:= ‘Введите № комнаты, с которой хотите начать движение’;

Edit1.Visible:= True;

label1.Visible:= True;

Button1.Visible:= True;

end;

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);

// Защита от недопустимых символов (вводятся только цифры)

begin

If not (key in [‘1’..’9']) Then Key:= #27;

end;

procedure TForm1.BitBtn3Click(Sender: TObject);

// Перемещение. BitBtn3 – север; BitBtn4 – запад;

//BitBtn5 – восток; BitBtn6 – юг.

Var aa: String[8]; c: Integer; pp: Uk;

//aa – имя кнопки; c – номер кнопки;

//pp – указатель текущего помещения.

begin

pp:= Iroom;

aa:= (sender as TBitBtn).Name;

c:= StrToInt(Copy(aa,7,1));

Case c of

3: r:= nord;

5: r:= ost;

6: r:= zued;

4: r:= west;

End;

Iroom:= Iroom^.Door[r];

If Iroom = nil Then

Begin ShowMessage(‘Это невозможно!’);Iroom:= pp; End

Else Label3.Caption:= IntToStr(Iroom^.Num);

Label4.Caption:= IntToStr(Iroom^.Num);

If Iroom^.Num = 999 Then

Begin ShowMessage(‘Свобода!!!’);

Panel1.hide; label1.Hide; Button1.Hide;

Exit End;

end;

procedure TForm1.BitBtn7Click(Sender: TObject);

// Вывод содержимого справки в компоненты панели Panel2

Var i: Integer; a: THelp;

Begin

Panel1.Visible:= False;

Panel2.Visible:= True;

Label5.Caption:= IntToStr(Iroom^.Num);

// Устанавливаем указатель текущего компонента файла

Reset(ff); Seek(ff, Iroom^.Num - 1);

Read(ff, a); Memo1.Lines.Add(a.v);

For i:= 1 To 4 Do ListBox1.items[i]:= a.otv[i];

end;

procedure TForm1.ListBox1Click(Sender: TObject);

//Определение направления путем выбора верного ответа в списке

Var r1: Trend;

begin

pp:= Iroom;

Panel2.Visible:= False;

Panel1.Visible:= True;

for r1:= nord To west Do

If ListBox1.ItemIndex = ord(r1) + 1 Then r:= r1;

Iroom:= Iroom^.Door[r];

If Iroom = nil Then

Begin ShowMessage(‘Это невозможно!’);Iroom:= pp; End

Else Label3.Caption:= IntToStr(Iroom^.Num);

Label4.Caption:= IntToStr(Iroom^.Num);

If Iroom^.Num = 999 Then

Begin Writeln(‘Свобода!!!’);

Panel1.hide; label1.Hide; Button1.Hide;

Exit End;

end;

procedure TForm1.Button1Click(Sender: TObject);

// Ввод номера начала помещения

Var nr: Integer; FileName: TNameFile;

// nr – номер помещения для начала движения

// File Name – имя файла помощи

begin

If Edit1.Text = ‘’ Then Exit;

nr:= StrToInt(Edit1.Text);

Iroom:= Nroom(Spi, nr);

If Iroom = nil Then

Begin

ShowMessage(‘Такого помещения нет!’);

Edit1.Text:= ‘’; Label1.Caption:= ‘’;

Exit;

End;

panel1.Visible:= True;

Label3.Caption:= IntToStr(Iroom^.Num);

Label4.Caption:= IntToStr(Iroom^.Num);

FileName:= InputBox(‘Имя файла помощи’, ‘Введите имя файла помощи’,’’);

AssignFile(ff, FileName);

Edit1.Hide; Label1.Hide; Button1.Hide;

end;

procedure TForm1.N4Click(Sender: TObject);

// Переход к форме №2, осуществляющей запись плана помещений на диск.

Begin

Form1.Hide; Form2.Show;

End;

procedure TForm1.N3Click(Sender: TObject);

//Закрыть приложение

begin

Form1.Close; Form2.Close; Form2.Close;

Application.Terminate;

end;

procedure TForm1.N5Click(Sender: TObject);

//Переход к форме №3, осуществляющей запись на диск файла помощи.

begin

Form1.Hide; Form3.Show;

end;

end.

Далее приводятся листинги остальных модулей.

3.4.4 Описание программы

Раздел “Описание программы” согласно ГОСТ 19.402–78* должен содержать следующие подразделы:

· общие сведения;

· функциональное назначение;

· описание логической структуры;

· используемые технические средства;

· вызов и загрузка;

· входные данные;

· выходные данные.

Отдельные разделы можно объединять. Некоторые пункты этого раздела повторяют разделы технического проекта. Такие повторения предусмотрены ГОСТом, так как на этапе рабочего проекта возникают некоторые дополнения или изменения в составе технических средств или программе. Здесь приводятся более конкретные и точные данные.

В подразделе “Общие сведения” должны быть указаны: обозначение и наименование программы; программное обеспечение, необходимое для функционирования программы; языки программирования, на которых написана программа.

В подразделе “Функциональное назначение” должны быть указаны классы решаемых задач и (или) назначение программы и сведения о функциональных ограничениях на применение.

В подразделе “Описание логической структуры” должны быть указаны используемые методы; структура программы с описанием функций составных частей и связи между ними; связи программы с другими программами. Описание логической структуры программы выполняют с учетом текста программы на исходном языке.

В подразделе “Используемые технические средства” должны быть указаны типы ЭВМ и устройств, которые используются при работе программы.

В подразделе “Вызов и загрузка” должны быть указаны способ вызова программы с соответствующего носителя данных, входные точки в программу.

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

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

3.4.5 Тестирование программы

Перечисляются требования, подлежащие проверке при испытании программы, а также порядок и методика их контроля. Приводятся исходные данные для решения контрольного примера и ожидаемые результаты.

Прилагается распечатка решения контрольного примера и снимки экрана с результатами тестирования.

3.5 Внедрение

В разделе описываются (руководство оператора ГОСТ 19.505–79):

· условия выполнения программы;

· выполнение программы;

· сообщения оператору.

В разделе “Условия выполнения программы” должны быть указаны условия, необходимые для выполнения программы (минимальный и/или максимальный состав аппаратурных и программных средств и т.п.).

В разделе “Выполнение программы” должна быть указана последовательность действий оператора, обеспечивающих загрузку, запуск, выполнение и завершение программы. В разделе приводятся сведения для проверки, обеспечения функционирования и настройки программы на условия конкретного применения. Перечисляется порядок и последовательность ввода исходных данных и получения результатов расчета.

В разделе “Сообщения оператору” должны быть приведены тексты сообщений, выдаваемых в ходе выполнения программы, описание их содержания и соответствующие действия оператора.

Содержание разделов допускается иллюстрировать поясняющими примерами, таблицами, схемами.

3.6 Список использованных источников

В разделе перечисляется литература, использованная при выполнении курсовой работы.
В тексте пояснительной записки должны быть приведены ссылки на используемые литературные источники.

Источники нумеруются для того, чтобы на них можно было ссылаться из текста пояснительной записки.

Например:

1. Александр и Наполеон [Электронный ресурс] : История двух императоров / Музей-панорама «Бородинская битва», Интерсофт. — Электрон. дан. — М. : Интерсофт, сор. 1997. — 1 электрон. опт. диск (CD-ROM) : зв., цв.12 см. — Систем. требования: ПК с процессором 486 DX2-66 ; 8 Мб ОЗУ ; Microsof Windows 3.1 или Windows 95 ; 2-скоростной дисковод CD-ROM ; видеокарта SVGA 256 цв. ; зв. карта 16 бит стандарта МРС ; стереоколонки или наушники. — Загл. с этикетки диска.