Отчет о производственнойпрактике
Задание напрактику
Производственнаяпрактика студентов по специальности «Программное обеспечение вычислительнойтехники и автоматизированных систем» является неотъемлемой частьюучебно-воспитательного процесса и имеет целью приобретение студентамипрактических навыков и умений производственной деятельности на предприятиях, вучреждениях и организациях, на основе применения теоретических знаний,полученных бизнес-колледже. Производственная практика завершает 2‑й курсобучения студентов.
Объектамипрофессиональной деятельности техника по специальности «Программное обеспечениевычислительной техники и автоматизированных систем» являются информационныесистемы и сети, а также программное обеспечение и сопровождение.
В процессепроизводственной (профессиональной) практики техник информационных системдолжен закрепить и углубить знания, полученные в процессе обучения, приобрестиумения и навыки работы по всем видам профессиональной деятельности. Должензакрепить навыки и овладеть умениями: адаптации программного продукта кконкретной системе автоматизированной обработки информации, работы в заданномоперационном и / или телекоммуникационном окружении, практическихсредств конкретных технических средств информатизации.
Введение
Необходимосделать программу для старших менеджеров казино «Тамбовский Волк»,рассчитывающую результаты всех игровых столов за рабочий день, независимо отколичества клиентов и количества дилеров. Программа должна рассчитыватьполученные результаты и сохранять их в отдельные файлы, которые легко можнобудет распечатывать через принтер. Результаты каждого дилера должны сохранятьсяотдельно, для расчета заработной платы, и премий за крупные выигрыши.Необходимо, чтобы через программу можно было, как добавить нового дилера (приподачи заявления на работу), так и удалить уже имеющегося (при увольнении), повозможности желательно учесть то, что при восстановлении старого дилера, егорезультаты и категория не должны быть утеряны.
Описаниедеятельности предприятия
В 1994-омгоду было принято решение построить (арендовать) помещение для новогоразвлекательного центра г. Тамбова. Появилось казино «Тамбовский Волк» в1999 году Директором данного заведения является Сидоров В.В. Черезпол года открылось казино «Атлантида». В обоих центрах находились: казино,ресторан и танцпол. В каждом казино находился дополнительный бар. Остановимсяболее подробно на казино «Тамбовский Волк». Данное заведение сразу послеоткрытия составило конкуренцию остальным игорным домам г. Тамбова иобласти за счет отличного обслуживания клиентов и разновидности предлагаемыхазартных игр. Казино предлагает своим клиентам 7 видов покера (пяти карточный собменом Oasis Poker, шести карточный Oasis Poker, русский покер, техасский покер, семи карточный Oasis Poker, и два Oasis покера для дорогихстолов), Blackjack и Американскую рулетку. На данный момент казино «Тамбовский Волк»имеет большое количество постоянных клиентов, несмотря на открытие нового казино.
Описаниеиндивидуальной работы
Моя программанаписана специально для казино «Тамбовский волк» и предназначена дляпостоянного расчета расчёта денежных средств на игровых столах.
Принципработы программы:
В менюnew/del Dealer вводятся данные дилеров (фамилия и имя) после чего они вводятсяв общий список дилеров. Здесь же вы нашли данный help‑файл. Меню exit –есть ни что иное как выход из программы. В ComboBox’e выбираются дилера,пришедшие на работу, они автоматически попадают в список и по окончаниирабочего дня их результаты будут сохранены в файле (С:\rez\…).
Посмотретьсписок дилеров можно нажатием на кнопку Checkbox «View dealer’s list». В началерабочего дня запускается программа, по нажатию на кнопку «Money» появляетсятаблица для ввода данных (денежных средств) с расчетом на каждые 20 минут.
По нажатию накнопку «Dealers» появляется такая же таблица, но с номерами дилеров которыевводятся по порядку в зависимости от того, как были выбраны в начале смены. Походу всего рабочего дня заполняются обе таблицы после полного заполнениянажимается кнопка «Total», при нажатии рассчитывается результат каждого дилера,записывается в файл с его фамилией и расширением «.rez». Общий итог днязаписывается в ту же папку но в файл без названия так же с расширением».rez».
Приложение1
Программаиспользует два юнита (fil и Unit2) первый – главный, второй используется только при добавлениинового дилера или при его увольнении
Код программыи интерфейс программы:
unit fil;
/>
interface
uses
Windows,Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,StdCtrls, Buttons, Grids, XPMan, ComCtrls, Menus;
type
TForm1= class(TForm)
BitBtn1:TBitBtn;
StringGrid1:TStringGrid;
Button2:TButton;
StringGrid2:TStringGrid;
StringGrid3:TStringGrid;
ComboBox3:TComboBox;
CheckBox1:TCheckBox;
Button4:TButton;
Button3:TButton;
MainMenu1:TMainMenu;
menu1:TMenuItem;
newDealer1:TMenuItem;
eXIt1:TMenuItem;
ExitProgramm1:TMenuItem;
Memo1:TMemo;
Button1:TButton;
Help1:TMenuItem;
procedureBitBtn1Click (Sender: TObject);
procedureButton2Click (Sender: TObject);
procedureButton4Click (Sender: TObject);
procedureCheckBox1Click (Sender: TObject);
procedureComboBox3Click (Sender: TObject);
procedureFormCreate (Sender: TObject);
procedureButton3Click (Sender: TObject);
procedureExitProgramm1Click (Sender: TObject);
procedurenewDealer1Click (Sender: TObject);
procedureFormClose (Sender: TObject; var Action: TCloseAction);
procedureFormClick (Sender: TObject);
procedureHelp1Click (Sender: TObject);
procedureMemo1Click (Sender: TObject);
procedureButton1Click (Sender: TObject);
procedureFormDblClick (Sender: TObject);
private
{Privatedeclarations}
public
{Publicdeclarations}
end;
var
Form1:TForm1;
implementation
usesMath, Unit2;
{$R*.dfm}
Var
*здесьвводится глобальная переменная для хранения количества дилеров на данный день
z:integer=1;
procedureTForm1. BitBtn1Click (Sender: TObject);
begin
StringGrid1.Visible:= true;
StringGrid2.Visible:= false;
end;
procedureTForm1. Button2Click (Sender: TObject);
begin
StringGrid1.Visible:= False;
StringGrid2.Visible:= True;
end;
procedureTForm1. FormClick (Sender: TObject);
begin
ifStringGrid2. Cells [5,5]='fil' then Button4. Visible:= true;
end;
end.
procedureTForm1. Button4Click (Sender: TObject);
*делаемпроверку программы, данное событие возможно только в том случае, если в stringGrid2 в ячейке [5,5] написанослово «fil» и «клик» по форме (появляется кнопка «GO!!!»)
/>
*принажатии на которую «рандомно» заполняются поля «Dealers» и «Money»:
/>
var
h,l, p, f, x, a: integer;
begin
p:=1;
Randomize;
forf:= 1 to 37
dobegin
forx:= 1 to 5 do begin
a:=(Random((49)+1)*100+Random(200)*50);
StringGrid1.Cells [f, x]:= IntToStr(a);
end;
end;
forl:= 1 to 37 do begin
forh:= 1 to 5 do begin
StringGrid2.Cells [l, h]:= IntToStr(p);
inc(p);
ifp > z‑1 then p:= 1;
end;
end;
end;
procedureTForm1. CheckBox1Click (Sender: TObject);
begin
*даннаяпроцедура используется для показа (скрытия) листа дилеров и их результатов
/>
ifCheckBox1. Checked
thenStringGrid3. Visible:= true
elseStringGrid3. Visible:= false
end;
ProcedureTForm1. ComboBox3Click (Sender: TObject);
Begin
StringGrid3.Cells [0, z]:= ComboBox3. Text;
Inc(z);
End;
ProcedureTForm1. FormCreate (Sender: TObject);
Var
o,x, i, q: integer;
Begin
Button4.Visible:= false;
*здесьзаполняемстрокиComboBoxзагрузкойизфайла«File.txt», расположенноговкорнедискаС
Form1.ComboBox3. Items. LoadFromFile ('c:\file.txt');
i:=0;
forq:=1 to 40
dobegin
*озаглавливаемStringGrid 1, 2, 3.
StringGrid3.Cells [1, q]:= '0';
end;
StringGrid3.Cells [1,0]:= 'total';
StringGrid2.Cells [0,0]:= 'Dealers';
StringGrid1.Cells [0,0]:= 'money';
StringGrid2.ColCount:= 38;
StringGrid2.Cells [0,1]:= 'AR';
StringGrid2.Cells [0,2]:= 'BJ';
StringGrid2.Cells [0,3]:= 'OP1';
StringGrid2.Cells [0,4]:= 'OP2';
StringGrid2.Cells [0,5]:= 'OP3';
StringGrid1.ColCount:=38;
StringGrid1.Cells [0,1]:= 'AR';
StringGrid1.Cells [0,2]:= 'BJ';
StringGrid1.Cells [0,3]:= 'OP1';
StringGrid1.Cells [0,4]:= 'OP2';
StringGrid1.Cells [0,5]:= 'OP3';
foro:= 8 to 20 do begin
forx:= 0 to 2 do begin
Inc(i);
StringGrid1.Cells [i, 0]:= IntToStr (o) + ':' + IntToStr (x*2) + '0';
StringGrid2.Cells [i, 0]:= IntToStr (o) + ':' + IntToStr (x*2) + '0';
end;
end;
end;
procedureTForm1. Button3Click (Sender: TObject);
var
dl:integer;
st,y: string;
fl:TextFile;
sav:TextFile;
q,w, c, s, f, d, r, t, l, p: integer;
begin
w:=0;
forc:= 1 to 36
dobegin
fors:= 1 to 5
do begin
*впеременную «d» берём № дилера
d:=StrToInt (StringGrid2. Cells [c, s]);
*впеременную «f» берём сколько денег было до него
f:=StrToInt (StringGrid1. Cells [c, s]);
*впеременную «t» берём сколько денег осталось после него
t:=StrToInt (StringGrid1. Cells [c+1, s]);
*в находимразницу, и получаем сумму работы дилера
r:= t-f;
*впеременную «l» берём сколько денег было в ячейке StringGrid3 данного дилера доданного момента времени
l:=StrToInt (StringGrid3. Cells [1, d]);
*здесьпросто перезаписываем результат
p:= r+l;
*…иперезаписываем этот результат в ту же ячейку
StringGrid3.Cells [1, d]:= IntToStr(p);
Button3.Enabled:= false;
Button4.Enabled:= false;
end;
end;
forq:= 1 to 40 do begin
w:=w + StrToInt (StringGrid3. Cells [1, q]);
end;\
*сохраняемполученные результаты каждого дилера в отдельном файле в каталоге «Rez» на диске С:\
Fordl:= 1 to z do begin
st:=StringGrid3. Cells [0, dl];
y:=StringGrid3. Cells [1, dl];
assignfile(fl, 'c:\rez\' + st +'.txt');
ifnot fileexists ('c:\rez\' + st +'.txt') then
rewrite(fl)
elseappend(fl);
writeln(fl, y);
closefile(fl);
end;
assignfile(sav, 'c:\rez\.txt');
ifnot fileexists ('c:\rez\.txt') then
rewrite(sav)
elseappend(sav);
writeln(sav, IntToStr(w));
closefile(sav);
*послерасчета выводим сообщение о результате дня
/>
ShowMessage('Результат дня: ' + IntToStr(w));
end;
*процедуравыхода из программы
procedure TForm1. ExitProgramm1Click(Sender: TObject);
begin
ShowMessage('Good Luck!!!');
Hide;
Form1.Close;
Form2.Close;
end;
*процедурасоздания нового дилера, использующая Unit2
procedureTForm1.newDealer1Click (Sender: TObject);
begin
Form1.Visible:= False;
form2.Visible:= true;
Form2.ComboBox1. Items. LoadFromFile ('c:\file.txt');
end;
procedureTForm1. FormClose (Sender: TObject; var Action: TCloseAction);
begin
ShowMessage('Good Luck!!!');
form1. Hide;
end;
*призакрытии программы выводится сообщение:
/>
procedureTForm1. Memo1Click (Sender: TObject);
begin
Button1.Visible:= true;
end;
procedureTForm1. Button1Click (Sender: TObject);
begin
Memo1.Visible:= false;
Button1.Visible:= false;
end;
procedureTForm1. FormDblClick (Sender: TObject);
begin
Button3.Visible:= false;
end;
/>
unitUnit2;
interface
uses
Windows,Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,ComCtrls, StdCtrls, CheckLst;
type
TForm2= class(TForm)
Button1:TButton;
Button2:TButton;
Button3:TButton;
ComboBox1:TComboBox;
Edit1:TEdit;
Edit2:TEdit;
Label1:TLabel;
Label2:TLabel;
procedureButton2Click (Sender: TObject);
procedureFormHide (Sender: TObject);
procedureFormClose (Sender: TObject; var Action: TCloseAction);
procedureButton3Click (Sender: TObject);
procedureButton1Click (Sender: TObject);
private
{Privatedeclarations}
public
{Publicdeclarations}
end;
var
Form2:TForm2;
implementation
usesfil, Math;
{$R *.dfm}
*процедурасоздания нового дилера
procedureTForm2. Button2Click (Sender: TObject);
var
q:string;
w:TextFile;
begin
q:=Edit1. Text + ' ' + Edit2. Text;
Form2.ComboBox1. Items. Add(q);
Form2.Close;
Form1.ComboBox3. Items. Add(q);
AssignFile(w, 'c:\file.txt');
Ifnot FileExists ('c:\file.txt')
ThenRewrite(w)
elseAppend(w);
Writeln(w, Edit1. Text + ' ' + Edit2. Text);
CloseFile(w);
end;
procedureTForm2. FormHide (Sender: TObject);
begin
Form1.Visible:= true;
end;
procedureTForm2. FormClose (Sender: TObject; var Action: TCloseAction);
begin
Form1.Visible:= true;
end;
procedureTForm2. Button3Click (Sender: TObject);
begin
Hide;
end;
procedureTForm2. Button1Click (Sender: TObject);
*процедураудалениядилера
begin
ComboBox1.Items. Delete (ComboBox1. ItemIndex);
ComboBox1.Items. SaveToFile ('c:\file.txt');
form1.ComboBox3. Items. LoadFromFile ('c:\file.txt');
ComboBox1.Items. LoadFromFile ('c:\file.txt');
hide;
end;
end.