Разработка базы данных для хранения информации данных характеристик товара

Создание баз данных с использованием Database Desktop. Проведение автоматизации рабочего места кассира. Описание входной и выходной информации. Выбор среды реализации, состава и параметров технических средств. Проектирование интерфейса программы.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 22.01.2015
Размер файла 1021,5 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Содержание

Введение

1. Анализ предметной области

2. Описание входной и выходной информации

2.1 Входная информация

2.2 Выходная информация

3. Обоснование выбора среды реализации

3.1 Выбор среды реализации

3.2 Выбор состава и параметров технических средств

4. Построение реляционной базы данных

4.1 Разработка логической и физической модели базы данных

5. Проектирование и реализация интерфейса программы

Заключение

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

Приложение

Введение

В курсовой работе будет разработана программа, которая автоматизирует работу кассира, позволяет автоматически генерировать отчеты в разрезе материально-ответственных лиц, также будут получены навыки по созданию баз данных с использованием Database Desktop.

Разработка программы будет вестись Delphi 7- это среда быстрой разработки, в которой в качестве языка программирования используется строго типизированный объектно-ориентированный язык Delphi.

1. Анализ предметной области

Касса - это подразделение организации, выполняющее кассовые операции с наличными деньгами и денежными ценностями. Для обеспечения надежной сохранности наличных денежных средств и ценностей помещение кассы должно отвечать требованиям по технической укрепленности и оборудованию сигнализацией помещений.

Кассовые операции -- операции с физическими и юридическими лицами по приёму и выдаче наличных денежных средств (банкноты и монеты), осуществляемые предприятиями, организациями, банками. Представляют собой совокупность материально-технических процедур, заключающихся в приёме (инкассация), хранении и выдаче наличных денег. Кассовые операции регулируются нормами финансового права.

2. Описание входной и выходной информации

2.1 Входная информация

Входная информация - это информация, поступающая извне и используемая для её решения.

В качестве входной информации используются 2 базы данных, которые мы создали на Database Deckopt:

- Kassir.db

-Tovar.db

В базе данных Kassir.db входными информациями служат:

-Код кассира

- ФИО

- Адрес

- Оклад

В базе данных Tovar.db входными информациями служат:

- Код товара

- Товар

- Характеристика

2.2 Выходная информация

Выходная информация - это информация, полученная на основе входной информации. Выходной информацией является база данных GurOper1.db.

В нем мы заносим те данные, которые мы используем для подготовки отчета. В результате БД выглядит следующим образом:

Таблица 1

Ostatok na nachala

Kod kassira

Debet

DebetS

Kredit

KreditS

DataOper

Kolic

Ostatok na conec

Summa

Operac

3. Обоснование выбора среды реализации

3.1 Выбор среды реализации

Delphi 7 -- это среда быстрой разработки, в которой в качестве языка программирования используется строго типизированный объектно-ориентированный язык Delphi. Delphi 7 представляет собой полное решение для разработки приложений от проектирования до развертывания по архитектуре, управляемой моделью (MDA), которое позволяет интегрировать моделирование, разработку и развертывание приложений и систем электронного бизнеса для платформы Windows. Delphi 7 содержит развитые библиотеки и инструменты для создания приложений электронного бизнеса и веб-сервисов, полностью интегрирует соответствующие технологии и качественно повышает производительность разработчиков, предоставляя все необходимое для исследования вопросов перехода на Microsoft .NET. Визуальная среда web-разработки Delphi 7 позволяет визуально строить web-приложения и кардинально уменьшает обычные временные затраты, связанные с созданием серверной составляющей приложений, включая управление сессиями в многопользовательском режиме доступа. Включённая в состав Delphi 7 технология проектирования и моделирования приложений UML позволяет эффективно проектировать свои приложения при помощи средств визуального моделирования и реорганизации кода (refactoring). Возможности Delphi 7 по интеграции, реинжинирингу и мгновенной визуализации позволяют создавать высококачественные проекты и тексты программ, применяя готовые шаблоны проектирования и создавая более крупные модели.

Database Desktop - это утилита, во многом похожая на Paradox, которая поставляется вместе с Delphi для интерактивной работы с таблицами различных форматов локальных баз данных - Paradox и dBase, а также SQL-серверных баз данных InterBase, Oracle, Informix, Sybase (с использованием SQL Links).

3.2 Выбор состава и параметров технических средств

Для решения задачи необходим состав следующих технических средств:

- Процессор Pentium с частотой 1.8 ГГц и выше;

- Минимальный объем оперативной памяти - 256 Мбайт. Рекомендуемый - 1 Гбайт и выше;

- Жесткий диск с объемом свободного пространства не менее 10 Гбайт при минимальной конфигурации и до 20 Гбайт при полной установке;

- Операционная система Microsoft Windows XP SP2 (или выше);

- Разрешение 1024x768 или 1280х1024;

- Устройство для чтения компакт-дисков.

4. Построение реляционной базы данных

4.1 Разработка логической и физической модели базы данных

Построение логической модели осуществим с помощью программного средства ERWin 4.0.

Программа ERWin- средство концептуального моделирования БД.

Выберем тип модели Logical/Physical, и на логическом уровне определим:

- сущности,

- связи между ними,

Результат построения Логической модели представлен на рис.1, а Физическая модель изображена на рис.2.

Рис.1. Логическая модель

В построенной модели используется следующий вид связи - не идентифицирующая связь, типа «один ко многим». Значит, что один экземпляр одной сущности связан с множеством экземпляров другой сущности.

Рис. 2. Физическая модель

5. Проектирование и реализация интерфейса программы

Представленный курсовой проект содержит следующий перечень форм:

- Form1;

- Data Module;

Data Module- это средство для эффективной работы с базами данных.На форме Data Module установлены компоненты для работы с базами данных.В данном случаи это компоненты:

- Table(контейнеры для размещения БД)

- DataSource(связующие компоненты)

В результате мы получаем следующий вид для формы Data Module:

Рис. 3. Форма Data Module

На Form 1 будут находиться основные элементы, а Data Module предназначен для эффективной работы с БД.

На Form1 представлены следующие компоненты:

- DBGrid (специальная таблица для базы данных)

-Button (командная кнопка для реализации в программе команд)

-Edit (основной компонент для ввода)

-BitBtn (пиктографическая кнопка представляющая собой один из вариантов стандартной кнопки Button.

-DBNavigator (для навигации в таблице DBGrid)

-Label (надпись)

-RadioButton ("радиокнопка" служит для "переключения каналов")

-Date Time Picker(поле ввода даты и времени)

В результате мы получаем следующий вид для формы Form1:

Рис. 4. Форма Form1

После запуска программы мы из базы данных Kassir.db выбираем кассира, выбираем из БД Tovar любой товар, при этом цена автоматически заполняет компонент Edit:

Далее в ручную заполняем Дебет, Кол-во, Кредит, устанавливаем дату, из групп операций выбираем операцию, которую нужно провести и нажимаем на кнопку ОК.

Рис. 5. Выбор товара из БД Tovar на форме Form1

Рис. 6. Заполнение оставшихся компонентов на форме Form1

Кнопка ОК предназначена для добавление операций в журнал операций, которая представляет собой базу данных GurOper1.db, а также получение результата для выполненного процесса.

В результате мы имеем следующий вид:

Рис. 7. Выполнение процесса при нажатии кнопки ОК на форме Form1

Кнопка Отчет кассира предназначен для вывода в excel формат отчет кассира. Этот отчет строится на основе выборке из журнала операции GurOper1. Для вывода мы указываем дату операции и выбираем из базы данных Kassir.db кассира, и если такие есть в журнале операций GurOper1.db, то они выводятся в excel формате.

Рис. 8. Отчет кассира

Кнопка Close предназначена для выхода из программы.

Заключение

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

Разработана база данных для хранения информации данных характеристик товара.

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

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

интерфейс программа database desktop

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

1. Фленов М.Е. Библия Delphi: 2004. - 668с.

2. Петров В.Н. Информационные системы. - СПб.: Питер, 2008.

3. Фаронов В.В. Программирование баз данных в Delphi 7: Учебный курс. - СПб.: Питер, 2004 - 464 с.

4. Карпова Т.С. Базы данных: модели, разработка, реализация. - СПб.: Питер, 2005. - 304с.

5. Ульман Дж., Уидом Дж. Введение в системы баз данных. - М.: Лори, 2006. - 374с.

6. Карпова Т.С. Базы данных: модели, разработка. - СПб.: Питер, 2009, 304 с.

Приложение

Листинг кода главной формы проекта:

unit Unit1;

interface

uses

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

Dialogs, Buttons, StdCtrls, ExtCtrls, DBCtrls, Grids, DBGrids,ComObj, ComCtrls;

type

TForm1 = class(TForm)

DBGrid1: TDBGrid;

DBNavigator1: TDBNavigator;

DBGrid2: TDBGrid;

DBNavigator2: TDBNavigator;

DBGrid3: TDBGrid;

DBNavigator3: TDBNavigator;

GroupBox1: TGroupBox;

Label1: TLabel;

Edit1: TEdit;

Label2: TLabel;

Edit2: TEdit;

Label3: TLabel;

Edit3: TEdit;

Label4: TLabel;

Edit4: TEdit;

Label5: TLabel;

Edit5: TEdit;

GroupBox2: TGroupBox;

RadioButton1: TRadioButton;

RadioButton2: TRadioButton;

RadioButton3: TRadioButton;

Edit6: TEdit;

Edit7: TEdit;

Edit8: TEdit;

Label6: TLabel;

Label7: TLabel;

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

DateTimePicker1: TDateTimePicker;

RadioButton4: TRadioButton;

RadioButton5: TRadioButton;

RadioButton6: TRadioButton;

Button2: TButton;

procedure DBGrid1CellClick(Column: TColumn);

procedure BitBtn1Click(Sender: TObject);

procedure RadioButton3Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

a0:string;

flag :boolean;

n1 : integer;

implementation

uses LAV,Modul1;

{$R *.dfm}

procedure TForm1.DBGrid1CellClick(Column: TColumn);

begin

Edit1.Text:=Ligidov.Tovar.FieldByName('Cena').AsString;

end;

procedure TForm1.BitBtn1Click(Sender: TObject);

Var

a0:string;

a1:string;

a2:string;

// stoim, naz,nar:string;

begin

Ligidov.GurOper1.Insert;

Ligidov.GurOper1.FieldByName('Debet').AsString:= Edit3.Text;

Ligidov.GurOper1.FieldByName('Kredit').AsString:= Edit4.Text;

Ligidov.GurOper1.FieldByName('DatOper').AsString:=DateToStr(DateTimePicker1.Date);

Ligidov.GurOper1.FieldByName('KodKassira').AsString:=Ligidov.Kassir.FieldByName('KodKassira').AsString;

Ligidov.GurOper1.FieldByName('Kolic').AsString:=Edit2.Text;

a0:=CalKuljator(Edit1.Text,Edit2.Text,'*',2);

a0:=ZnakZamena(a0,'.',',');

Ligidov.GurOper1.FieldByName('summa').AsString:=a0;

edit5.Text:=a0;

if radiobutton1.Checked then

begin

Edit7.Text:=a0;

Edit8.Text:=inttostr(0);

a1:='продажа ';

a2:=a1+Ligidov.Tovar.FieldByName('Tovar').AsString;

Ligidov.GurOper1.FieldByName('Operac').AsString:=a2;

end;

if radiobutton2.Checked then

begin

Edit7.Text:=inttostr(0);

Edit8.Text:=a0;

a1:='возврат ';

a2:=a1+Ligidov.Tovar.FieldByName('Tovar').AsString;

Ligidov.GurOper1.FieldByName('Operac').AsString:=a2;

end;

if radiobutton3.Checked then

begin

a2:=edit6.text;

Ligidov.GurOper1.FieldByName('Operac').AsString:=a2;

end;

if radiobutton4.Checked then

begin

Edit7.Text:=inttostr(0);

Edit8.Text:=a0;

a1:='Оклад';

a2:=a1+Ligidov.Kassir.FieldByName('FIO').AsString;

Ligidov.GurOper1.FieldByName('Operac').AsString:=a2;

end;

if radiobutton5.Checked then

begin

Edit7.Text:=inttostr(0);

Edit8.Text:=a0;

a1:='наличка в Банк';

a2:=a1;

Ligidov.GurOper1.FieldByName('Operac').AsString:=a2;

end;

if radiobutton6.Checked then

begin

Edit7.Text:=a0;

Edit8.Text:=inttostr(0);

a1:='погасили долг';

a2:=a1;

Ligidov.GurOper1.FieldByName('Operac').AsString:=a2;

end;

Ligidov.GurOper1.FieldByName('DebetS').AsString:= Edit7.Text;

Ligidov.GurOper1.FieldByName('KreditS').AsString:= Edit8.Text;

Ligidov.GurOper1.Post;

end;

procedure TForm1.RadioButton3Click(Sender: TObject);

begin

edit6.Text:='';

end;

procedure TForm1.Button2Click(Sender: TObject);

Var

dat0,dat1,dat2,G0,s0,k0, kodW,KodPr,a0,a01,a1,a2 :string;

Gir0,Gir1,SGir1,sum0,kol0,Sum1,kol1,Ssum1,Skol1:real;

code, n2,i1,i,s1,s2,s3:integer;

XLApp,Sheet,Colum:Variant;

skold1,skolk1,skold2, skolk2, skold3,skolk3, kold1,kolk1,kold2, kolk2, kold3,kolk3,

d1,sd1,k1,sk1,sk2,d2,k2,sd2,d3,sd3,k3,sk3:real;

begin

With Ligidov do begin

//KodPr1:=Kassir.fieldbyname('KodKassira').AsString;

dat0:='01.01.2000';

a0:=DateToStr(DateTimePicker1.Date);

dat1:=a0;

//a01:=DateToStr(DateTimePicker2.Date);

//dat2:=a01;

XLApp:=CreateOleObject('Excel.Application');

XLApp.Visible:=true;

XLApp.Workbooks.Add(-4167);

XLApp.Workbooks[1].WorkSheets[1].Name:='Оборотка';

Colum:=XLApp.Workbooks[1].WorkSheets['Оборотка'].Columns;

N2:=1;

Colum.Columns[1].ColumnWidth:=5;

Colum.Columns[2].ColumnWidth:=30;

Colum.Columns[3].ColumnWidth:=10;

Colum.Columns[4].ColumnWidth:=15;

Colum.Columns[5].ColumnWidth:=10;

Colum.Columns[6].ColumnWidth:=15;

Colum.Columns[7].ColumnWidth:=10;

Colum.Columns[8].ColumnWidth:=10;

Colum:=XLApp.Workbooks[1].WorkSheets['Оборотка'].Rows;

Colum.Rows[2].Font.Bold:=true;

Colum.Rows[1].Font.Bold:=true;

Colum.Rows[1].Font.Color:=clBlue;

Colum.Rows[1].Font.Size:=12;

Sheet:=XLApp.Workbooks[1].WorkSheets['Оборотка'];

//n2:=0;

Sheet.Cells[n2,1]:='Журнал операций за '+a0 +'+'+Kassir.fieldbyname('FIO').AsString;

iNC(n2);

Sheet.Cells[n2,2]:='Остаток на начала '+a0 ;

Ligidov.SetBase4('GurOper1.DB','DatOper','Debet','','','Summa','Summa','01.01.2000',a0,'50','','',kold1,d1);

Ligidov.SetBase4('GurOper1.DB','DatOper','Kredit','','','Summa','Summa','01.01.2000',a0,'50','','',kold1,d2);

d3:=d1-d2;

Str(d3:13:2,a1);

a1:=Trim(a1);

Sheet.Cells[n2,5]:=a1;

iNC(n2);

//Sheet.Cells[n2,0]:='?? ';

Sheet.Cells[n2,1]:='№№ ';

Sheet.Cells[n2,2]:='Наименование операции';

Sheet.Cells[n2,3]:='Дебет';

Sheet.Cells[n2,4]:=' суммаДебет';

Sheet.Cells[n2,5]:='Кредит';

Sheet.Cells[n2,6]:='суммаКредит';

Sheet.Cells[n2,7]:='Сумма ';

iNC(n2);

s1:=0; s2:=0;s3:=0;

With Ligidov do begin

SetBase4('GurOper1.DB','DatOper','','','','','Summa',a0,a0,'','','',kold1,d1);

Query1.First;

Repeat

//a1:=Query1.fieldbyname('KodTovara').AsString;

//KodPr:=Query1.fieldbyname('KodKassira').AsString;

Sheet.Cells[n2,2]:=Query1.fieldbyname('Operac').AsString;

Sheet.Cells[n2,3]:=Query1.fieldbyname('Debet').AsString;

Sheet.Cells[n2,4]:=Query1.fieldbyname('DebetS').AsString;

Sheet.Cells[n2,5]:=Query1.fieldbyname('Kredit').AsString;

Sheet.Cells[n2,6]:=Query1.fieldbyname('KreditS').AsString;

Sheet.Cells[n2,7]:=Query1.fieldbyname('Summa').AsString;

Sheet.Cells[n2,1]:=IntToStr(n2-2);

s2:=s2+Query1.fieldbyname('DebetS').AsInteger;

s3:=s3+Query1.fieldbyname('KreditS').AsInteger;

s1:=s2-s3;

Query1.Next;

iNC(n2);

until Query1.Eof;

Sheet.Cells[n2,2]:='Итого';

Sheet.Cells[n2,4]:=IntToStr(s2);

Sheet.Cells[n2,6]:=IntToStr(s3);

Sheet.Cells[n2,7]:=IntToStr(s1);

Sheet.Cells[n2+3,7]:='Подпись кассира ___________________________';

Sheet.Cells[n2+5,7]:='Подпись бугалтера _________________________';

end;

Листинг кода формы Data Module проекта:

unit LAV;

interface

uses

SysUtils, Classes, DBTables, DB;

type

TLigidov = class(TDataModule)

DataSource1: TDataSource;

DataSource2: TDataSource;

DataSource3: TDataSource;

DataSource4: TDataSource;

Tovar: TTable;

Kassir: TTable;

GurOper1: TTable;

Query1: TQuery;

Procedure SetBase3(Fils,Datp,Buhp,KodWrkPl,ScetPl,DaTT1,DaTT2,szet,KodWrk,Korenscet:string);

Procedure SetBase4(Fils,Datp,Buhp,KodWrkPl,ScetPl,Kolp,Sump,DaTT1,DaTT2,szet,KodWrk,Korenscet:string; Var Kol1,Sum1:real);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Ligidov: TLigidov;

TekDir:string;

implementation

{$R *.dfm}

Procedure TLigidov.SetBase4(Fils,Datp,Buhp,KodWrkPl,ScetPl,Kolp,Sump,DaTT1,DaTT2,szet,KodWrk,Korenscet:string; Var Kol1,Sum1:real);

Var

TekDir,s,s1,s0,a1,a0:string;

i1:integer;

Koli1, summ1:real;

begin

SetBase3(Fils,Datp,Buhp,KodWrkPl,ScetPl,DaTT1,DaTT2,szet,KodWrk,Korenscet);

//SetBase3(Fils,Datp,KodWrkPl,ScetPl,DaTT1,DaTT2,KodWrk,Korenscet);

Koli1:=0; summ1:=0;

Query1.First;

For i1:=1 to Query1.RecordCount do begin

//Koli1:=Koli1+Query1.FieldByName(Kolp).AsFloat;

summ1:=summ1+Query1.FieldByName(Sump).AsFloat;

Query1.Next;

end;//i

Kol1:=Koli1;

Sum1:=summ1;

end;

Procedure TLigidov.SetBase3(Fils,Datp,Buhp,KodWrkPl,ScetPl,DaTT1,DaTT2,szet,KodWrk,Korenscet:string);

Var

TekDir,s,s1,s0,a1,a0:string;

begin

//TekDir:='C:\Scet60';

DataSource4.DataSet:=Query1;

//Dbgrid1.DataSource:=FDataSource4;

Query1.DatabaseName:=TekDir;

Query1.Close;

Query1.sql.Clear;

Query1.sql.Add('SELECT * FROM '+Fils);

a1:='WHERE ('+Datp+' BETWEEN "'+DaTT1+'" and "'+DaTT2+'")';

Query1.sql.Add(a1);

//if length(BuhP)>0 then Query1.sql.Add('and ('+BuhP+' LIKE "%" ||'+'"'+szet+'" || "%")');

if length(BuhP)>0 then Query1.sql.Add('and ('+BuhP+'="'+szet+'")');

if length(ScetPl)>0 then Query1.sql.Add('and ('+ScetPl+' LIKE "%" ||'+'"'+Korenscet+'" || "%")');

if length(KodWrkPl)>0 then Query1.sql.Add('and ('+KodWrkPl+'="'+KodWrk+'")');

{

a1:='and ('+Datp+' BETWEEN "'+DaTT1+'" and "'+DaTT2+'")';

Form11.Query1.sql.Add(a1);

}

Query1.sql.SaveToFile('sql11.txt');

Query1.open;

end;

Размещено на Allbest.ru


Подобные документы

  • Организация документооборота корпоративного отдела. Описание состава задач, подлежащих автоматизации, входной и выходной информации. Разработка состава и структуры базы данных, описание пользовательского интерфейса. Экономический эффект автоматизации.

    дипломная работа [2,9 M], добавлен 05.12.2011

  • Разработка инфологической модели базы данных "Рабочее место кассира", требования к ее функциональным характеристикам. Создание программы в Delphi. Описание компонентов для реализации графического интерфейса и интерфейса ввода справочника кассиров.

    курсовая работа [2,2 M], добавлен 17.04.2014

  • Обследование предметной области. Проектирование реляционной базы данных: описание входной и выходной информации, перечень сущностей и атрибутов, создание модели, выбор ключей. Разработка и обоснование представлений для отображения результатов выборки.

    курсовая работа [539,0 K], добавлен 12.12.2011

  • Разработка программы для автоматизации расчетов на телефонной станции. Описание входной и выходной информации, комплекс технических средств. Интерфейс конечного пользователя. Проектирование программных модулей представления входных и выходных данных.

    курсовая работа [460,1 K], добавлен 26.06.2015

  • Анализ предметной области с использованием моделей методологии ARIS и разработка ER-диаграммы. Описание входной и выходной информации для проектирования реляционной базы данных. Разработка управляющих запросов и связей между ними с помощью языка SQL.

    курсовая работа [975,2 K], добавлен 30.01.2014

  • Назначение программного модуля (базы данных). Разработка информационной базы данных для колледжа. Поиск пользователями информации о преподавателях и дисциплинах. Анализ входной и выходной информации. Разработка алгоритма работы программы-приложения.

    реферат [513,1 K], добавлен 22.10.2012

  • Описание аппаратных и программных средств, операционной системы. Описание входной и выходной информации. Информационно-логическая модель данных. Схема взаимодействия входной и выходной информации. Расчет трудоемкости и стоимости обработки информации.

    курсовая работа [2,4 M], добавлен 05.07.2015

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

    курсовая работа [2,1 M], добавлен 16.02.2015

  • Требования к программному продукту: базе данных и интерфейсу. Анализ входной, выходной и постоянной информации. Выбор и обоснование выбора среды разработки, программной реализации, описание внутренней среды. Логическая и физическая модель данных.

    курсовая работа [2,1 M], добавлен 04.05.2014

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

    курсовая работа [3,0 M], добавлен 22.12.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.