Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вопросы по СПО.doc
Скачиваний:
6
Добавлен:
26.09.2019
Размер:
129.54 Кб
Скачать

3. Содержание

Содержание должно включать в себя следующие разделы:

Введение

  1. Анализ требований технического задания.

  2. Разработка блок-схем алгоритмов.

  3. Разработка и описание программы.

  4. Руководство пользователя.

    1. Назначение программы.

    2. Условие работы с программой.

    3. Описание функционирования программы.

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

Заключение.

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

Приложение 1

Министерство образования и науки РФ

Федеральное агентство по образованию

Рыбинская государственная авиационная технологическая

академия им. П. А. Соловьева (РГАТА)

Факультет ФРЭИ

Кафедра Вычислительные системы

Курсовая работа

по дисциплине «Системное программное обеспечение»

на тему:

«Название темы»

Пояснительная записка

Студент группы…… Фамилия И. О.

Преподаватель Фамилия И. О.

Рыбинск, год оформления

Приложение 2

Текст программы «Часы с таймером и будильником»

program Chasi;

uses

Forms,

Unit1 in 'Unit1.pas'

Unit2 in 'Unit2.pas'

Unit3 in 'Unit3.pas'

Unit4 in 'Unit4.pas'

Unit5 in 'Unit5.pas'

Unit6 in 'Unit6.pas';

{$R*.RES}

begin

Application.Initialize;

Application.CreateForm(TForm1, Form1);

Application.CreateForm(TForm2, Form2);

Application.CreateForm(TForm3, Form3);

Application.CreateForm(TForm4, Form4);

Application.CrcateForm(TForm5, Form5);

Application.CreateForm(TAboutBox, AboutBox);

Application.Run;

end.

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, jpeg, StdCtrls, ImgList, Menus, ComCtrls, ExtDIgs;

type

TForm1 = class(TForm)

Timer1: TTimer;

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

mImage: TMenuItem;

OpenPictureDialog1: TOpenPictureDialog;

mAnalog: TMenuItem;

mDigital: TMenuItem;

N5: TMenuItem;

GroupBox1: TGroupBox;

Image1: TImage;

DateTimePicker1: TDateTimePicker;

N6: TMenuItem;

N7: TMenuItem;

N8: TMenuItem;

N11 TMenuItem;

N21 TMenuItem;

N31 TMenuItem;

N9: TMenuItem;

HotKey1: THotKey;

HotKey2: THotKey;

HotKey3: THotKey;

HotKey4: THotKey;

HotKey5: THotKey;

HotKey6: THotKey;

HotKey7: THotKey;

HotKey8: THotKey;

HotKey9: THotKey;

nHelp: TMenuItem;

N10: TMenuItem;

procedure Timer1Timer(Sender: TObject);

procedure N2Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure DateTimePicker1Change(Sender: TObject);

procedure N3Click(Sender: TObject);

procedure mImageClick(Sender: TObject);

procedure mAnalogClick(Sender: TObject);

procedure mDigitalClick(Sender: TObject);

procedure N6Click(Sender: TObject);

procedure N11Click(Sender: TObject);

procedure N21Click(Sender: TObject);

procedure N31Click(Sender: TObject);

procedure N10 Click(Sender: TObject);

procedure nHelpClick(Sender: TObject);

private

{ Private declarations }

procedure PaintClock(Hour, Min, Sec: word);

procedure PaintDigitalClock(Hour, Min, Sec: word);

public

{ Public declarations }

end;

var

Form1 :Tfonn1;

Picture: TPicture;

{tr:TDateTime;}

implementation

uses Unit2, Unit3, Unit4, Unit5, Unit6;

{$R *.DFM}

procedure Tform1.PaintDigitalClock(Hour, Min, Sec: word);

var TimeStr: String;

StrHeight, StrWidth: integer;

begin

{IIpoцeдypa рисования цифровых часов}

{Строка со временем}

TimeStr := intToStr(Hour)+':'+intToStr(Min)+':'+intToStr(Sec);

with Image1.Canvas do

begin

Image1.Canvas.Brush.Color:=clBtnFace;

Image1.Canvas.Brush.Style:=bsSolid;

Image1.Canvas.Pen.Color:=clBlack;

Image1.Canvas.Pen.Style:=psSolid;

Image1.Canvas.Font.Size:=28;

Image1.Canvas.FillRect(Rect(0,0,Width,Height));

StrHeight:= Image1.Canvas.TextHeight(TimeStr);

StrWidth:= Image1.Canvas.TextWidth(TimeStr);

Image1.Canvas.TextOut((Image1.Width div 2) - (StrWidth div 2),

(Image1.Height div 2) - (StrHeight div 2), TimeStr);

end;

end;

procedure Tform1.PaintClock(Hour, Min, Sec : word);

begin

{ Процедура рисования аналоговых часов }

Image1.Picture.Assign(Picture);

Image1.Canvas.Brush.Color:=clBtnFace;

Image1.Canvas.Brush.Style:=bsSolid;

Image1.Canvas.Pen.Style:=psSolid;

Image1.Canvas.Pen.Width := 1;

Image1.Canvas.Pen.Color:=clRed;

Image1.Canvas.MoveTo(150,150);

Image1.Canvas.LineTo(150+round(80*sin(Sec*2*Pi/60)),150-round(80*cos(Sec*2*Pi/60)));

Image1.Canvas.Pen.Width:=2;

Image1.Canvas.Pen.Color:=clBlack;

Image1.Canvas.MoveTo(150,150);

Image1.Canvas.LineTo(I50+round(80*sin(Min*2*Pi/60)),150-round(80*cos(Min*2*Pi/60)));

Image1.Canvas.Pen.Width:=3;

Image1.Canvas.MoveTo(150,150);

Image1.Canvas.LineTo(150+round(60*cos(450*3.14/180-(hour*30+

min div 2) *3.14/180)), 150-round(60*sin(450*3.14/180-(hour*30+

min div 2)*3.14/180)));

Image1.Canvas.Pen.Width:= 1;

end;

procedure Tform1.Timer1Timer(Sender: TObject);

var

tr:TdateTime;

Hour, Min, Sec, MSec: word;

aHour, aMin, aSec, aMSec: word;

bHour, bMin, bSec, bMsec: word;

begin

tr:=Time;

DecodeTime(tr, Hour, Min, Sec, MSec);

{ Часы аналоговые, иначе цифровые }

if mAnalog.Checked then

PaintClock(Hour,Min,Sec)

else PaintDigitalClock(Hour,Min,Sec);

DecodeTime(Form4.DateTimePicker1.Time,bHour,bMin,bSec,bMsec);

{Настройка часов }

if Form4.CheckBox1.Checked then

begin

Hour:=bHour; Min:=bMin; Sec:=bSec;

PaintClock(Hour,Min,Sec);

Sec:=Sec+1;

if Sec=60 then begin

sec:=0;

Min:=Min+l;

end;

if Min=60 then begin

Min:=0;

Hour:=Hour+l;

end;

if Hour=24 then Hour:=0;

Form4.DateTimePicker1.Time:=EncodeTime(Hour,Min,Sec,MSec);

if mAnalog. Checked then

PaintClock(Hour,Min,Sec)

else PaintDigitalClock(Hour,Min,Sec);

end;

{ Проверка будильника }

if Form2.CheckBox1.Checked then

begin

DecodeTime(Form2.AlarmClock.Time, aHour, aMin, aSec, aMSec);

if (Hour = aHour) and (Min=aMin) and (Sec=aSec) then

begin

windows.Beep(6000,500);

MessageDlg(Form2.eMessage.Text, mtInformation, [mbOK], 0);

end;

end;

end;

procedure Tform1.N2Click(Sender: TObject);

begin

Form2.ShowModal;

end;

procedure Tform1.FormCreate(Sender: TObject);

begin

Picture := TPicture.Create;

Image1.Picture.LoadFromFile('(фон.bmp');

Picture.Assign(Image1.Picture);

mAnalog.ShortCut:=HotKey1 .HotKey;

mDigital.ShortCut:=HotKey2.HotKey;

N6.ShortCut:=HotKey3.HotKey;

N2.ShortCut:=HotKey4.HotKey;

N3.ShortCut:=HotKey5.HotKey;

N11.ShortCut:=HotKey6.HotKey;

mImage.ShortCut:=HotKey9.HotKey;

N21.ShortCut:=HotKey7.HotKey;

N31.ShortCut:=HotKey8.HotKey;

end;

procedure Tform1.DateTimePicker1Change(Sender: TObject);

Var Hour, Min.Sec, Msec: word;

i:integer;

begin

end;

procedure Tform1.N3Click(Sender: TObject);

begin

Form3.ShowModal;

end;

procedure Tform1.mImageClick(Sender: TObject);

begin

if OpenPictureDialog1.Execute then

begin

Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);

Picture.Assign(Image1.Picture);

end;

end;

procedure Tform1.mAnalogClick(Sender: TObject);

begin

mAnalog.Checked:= True;

mDigital.Checked:= False;

end;

procedure Tform1.mDigitalClick(Sender: TObject);

begin

mAnalog.Checked:= False;

mDigital.Checked:= True;

end;

procedure Tform1.N6Click(Sender: TObject);

begin

Form4.ShowModal;

end;

procedure Tform1.N11Click(Sender: TObject);

begin

Picture:= TPicture.Create;

Image1.Picture.LoadFromFile('Фон1.bmp');

Picture.Assign(Image1 .Picture);

end;

procedure Tform1.N21Click(Sender: TObject);

begin

Picture := TPicture.Create;

Image1.Picture.LoadFromFile(' Фон2.bmp');

Picture.Assign(Image1.Picture);

end;

procedure Tform1.N31Click(Sender: TObject);

begin

Picture:= TPicture.Create;

Image1.Picture.LoadFromFile('Фон3.bmp');

Picture.Assign(Image1.Picture);

end;

procedure TForm1.N10Click(Sender: TObject);

begin

AboutBox.ShowModal;

end;

procedure TForm1.nRucClick(Sender: TObject);

begin

Form5.ShowModal;

end;

end.

unit Unit2;

interface

uses

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

ComCtrls, Menus, StdCtrls;

type

TForm2 = class(TForm)

AlarmClock: TDateTimePicker;

Label1: TLabel;

Label3: TLabel;

eMessage: TEdit;

CheckBox1: TCheckBox;

procedure AlarmClockChange(Sender: TObject);

private

{ Private declarations}

public

{Public declarations}

end;

var

Form2: TForm2;

implementation

{$R*.DFM}

procedure TForm2.AlarmClockChange(Sender: TObject);

var Hour, Min, Sec, MSec: word;

i:integer;

tr:TdateTime;

begin

end;

end.

unit Uni3;

interface

uses

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

ComCtrls, StdCtrls, ExtCtrls;

type

TForm3 = class(TForm)

Timer1:TTimer;

btStartStop: TButton;

Label1:TLabel;

Edit1: TEdit;

Label2: TLabel;

Edit2: TEdit;

Label3: TLabel;

Edit3: TEdit;

Label4: TLabel;

Edit4: TEdit;

Label5: TLabel;

Timer2: TTimer;

Edit5: TEdit;

Edit6: TEdit;

Edit7: TEdit;

Label6: TLabel;

Label7: TLabel;

Label8: TLabel;

Label9: TLabel;

procedure btStartClick(Sender: TObject);

procedure Timer1Timer(Sender: TObject);

procedure Timer2Timer(Sender: TObject);

private

{ Private declarations }

public

{Public declarations}

end;

var Form3: TForm3;

Hour3, Min3, Sec3, MSec3: word;

Button1:TButton;

implementation

{$R*.DFM}

procedure TForm3.btStartClick(Sender: TObject);

var i: integer;

tr3, t: TdateTime;

begin

if Timer1.Enabled then

begin

Timer1.Enabled:= False;

btStart.Caption:= '3anycк';

end

else

begin

Timer1.Enabled:= true;

end;

end;

procedure TForm3.Timer1Timer(Sender: TObject);

var Hour, Min, Sec: integer;

begin

Hour: = StrToInt(Edit2.Text);

Min:= StrToInt(Edit3.Text);

Sec:= StrToInt(Edit4.Text);

if Sec=0 then

begin

if Min=0 then

begin

Hour:=Hour-1;

Min:=59;

Sec:=59;

end

else

begin

Min:=Min-1;

Sec:=59

end

end

else

Sec:=Sec-1;

Edit2.Text:=IntToStr(Hour);

Edit3.Text:=IntToStr(Min);

Edit4.Text:=IntToStr(Sec);

if (Hour=0) and (Min=0) and (Sec=0) then

begin

if Timer2.Enabled then

begin

Timer2.Enabled:= False;

btStart.Caption:= '3anycк';

end

else

begin

Timer2.Enabled:= true;

Timer1.Enabled:= False;

windows.Beep(6000,500);

end;

end;

end;

procedure TForm3.Timer2Timer(Sender: TObject);

var Hour, Min, Sec: integer;

begin

Hour:= StrToInt(Edit5.Text);

Min:= StrToInt(Edit6.Text);

Sec:= StrToInt(Edit7.Text);

if Sec=0 then

begin

ifMin=0 then

begin

Hour:=Hour-1;

Min:= 59;

Sec:= 59;

end

else

begin

Min:= Min-1;

Sec:=59

end

end

else

Sec:= Sec-1;

Edit5.Text:= IntToStr(Hour);

Edit6.Text:= IntToStr(Min);

Edit7.Text:= IntToStr(Sec);

if (Hour=0) and (Min=0) and (Sec=0) then

begin

Timer2.Enabled:= False;

btStart.Caption:= '3anycк';

windows.Beep(6000,500);

MessageDlg(Form3.Edit1.Text, mtInformation, [mbOK], 0);

end

end;

end.

unit Unit4;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Menus, StdCtris, ComCtrls, ExtCtrls;

type

TForm4 = class(TForm)

DateTimePicker1: TDateTimePicker;

Label1:TLabel;

CheckBoxl: TCheckBox;

private

{Private declarations}

public

{Public declarations}

end;

var

Form4: TForm4;

implementation

{$R*.dfm}

end.

unit Unit5;

interface uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls;

type

TForm5 = class(TForm)

Panel1:TPanel;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Label7: TLabel;

Button1:TButton;

Label8: TLabel;

Label9: TLabel;

Label10: TLabel;

Label11: TLabel;

Label12: TLabel;

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form5: TForm5;

implementation

{$R *.dfin} end.

unit Unit6;

interface

uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls, Buttons, ExtCtrls;

type

TAboutBox = class(TForm)

Panel1:TPanel;

ProductName: TLabel;

Version: TLabel;

Copyright: TLabel;

Comments: TLabel;

OKButton: TButton;

private

{Private declarations}

public

{Public declarations}

end;

var

AboutBox: TAboutBox;

implementation

{$R*.DFM}

end.

2