3
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
НАБЕРЕЖНОЧЕЛНИНСКИЙ ГОСУДАРСТВЕННЫЙ
ПЕДАГОГИЧЕСКИЙ ИНСТИТУТ
МАТЕМАТИЧЕСКИЙ ФАКУЛЬТЕТ
КАФЕДРА МАТЕМАТИКИ И МЕТОДИКИ ЕЕ ПРЕПОДАВАНИЯ
АЛГОРИТМЫ С МГНОГОЧЛЕНАМИ
/дипломная работа/
Набережные Челны
2006 год
Содержание
Теория многочленов в определенном отношении похожа на теорию целых чисел, хотя внешне эти две теории не имеют ничего общего. Внутренняя же близость, схожесть этих теорий объясняется тем, что для многочленов, так же как и для целых чисел, можно определить деление и, что еще более важно, деление с остатком.
2.1. Делимость многочленов. Свойства делимости
Многочлен делится на многочлен , если существует такой многочлен , что выполняется равенство
(2.1)
Например, из равенства следует, что делится на многочлен и на многочлен .
Многочлен в равенстве (2.1) определяется однозначно. Если бы существовал многочлен , удовлетворяющий равенству (2.1), то мы получили бы, что
(2.2)
откуда
Но многочлен по условию ненулевой, и в силу утверждения или нулевом является многочлен , т.е. многочлен совпадает с .
Многочлен в равенстве (2.1) называется частным от деления на , а - делителем.
Укажем некоторые основные свойства делимости многочленов.
1. Если делится , а делится на , то будет делиться на .
В самом деле, по условию и , а поэтому .
2. Если и делятся на , то их сумма и разность также делятся на .
Из равенств и вытекает .
3. Если делится на , то произведение на любой многочлен также будет делиться на .
Если , то .
Из 2. и 3. вытекает следующее свойство:
4. Если каждый из многочленов делится на , то на будет делиться и многочлен , где - произвольные многочлены.
5. Всякий многочлен делится на любой многочлен нулевой степени.
Если , а с - произвольное число, не равное нулю, то есть произвольный многочлен нулевой степени, то .
6. Если делится на , то делится и на с, где с - произвольное число отличное от нуля.
Из равенства следует равенство .
7. Многочлены , , и только они будут делителями многочлена , имеющими такую же степень, что и .
Действительно, . То есть делится на .
Если делится на , причем степени и совпадают, то степень частного от деления на должна быть равной нулю, то есть , , откуда .
Отсюда вытекает следующее свойство:
8. Тогда и только тогда многочлены , одновременно делятся друг на друга, если , .
Из 1. и 8. вытекает свойство:
9. Всякий делитель одного из двух многочленов , , где , будет делителем и для другого многочлена.
Свойства делимости многочленов могут быть применены для изучения делимости в множестве целых чисел. Выясним, например, для каких целых чисел n числоявляется простым.
Натуральное число, отличное от 1, называется простым, если оно делится только на 1 и на само себя; целое отрицательное число k называется простым, если число -k простое.
Для ответа на поставленный вопрос заметим, что справедливо равенство
(2.3)
и поэтому число делится на и на Следовательно, оно может быть простым только в случае, когда один из этих делителей равен 1 или -1, т.е. выполняется хотя бы одно из равенств
Остается проверить следующие значения n: 3, 1, 0, -3, -1 и -2. При этих значениях n рассматриваемое число равно соответственно 19, -5, 3, 4, так что искомое множество чисел есть
Может возникнуть вопрос: откуда взялось равенство (2.3)? Как мы догадались, что многочлен таким образом раскладывается на множители? Для нахождения разложений такого типа необязательно прибегать к искусственным группировкам, это можно сделать с помощью теории, которая будет изложена ниже.
Из этого примера видно, что уже для решения задач, связанных с делимостью целых чисел, полезно уметь выяснять, делится ли данный многочлен на некоторый другой многочлен (раскладывается ли на множители).Ответ на такой и многие другие вопросы можно найти с помощью деления многочлена с остатком.
2.2. Деление многочленов с остатком
Для многочленов, как и для целых чисел, существует алгоритм деления с остатком.
Теорема о делении с остатком. Для любых двух многочленов f(x) и g(x) можно найти такие многочлены q(x) и r(x , что
f(x)=g(x)q(x)+r(x),
причем степень r(x) меньше степени g(x) или же r(x)=0. Многочлены q(x) и r(x), удовлетворяющие этому условию, определяются однозначно.
Если разности f(x)-r(x) и обе делятся на g(x), то их разность также делится на g(x). Если бы многочлен s(x) был ненулевым, то он имел бы степень меньшую, чем g(x), и не мог бы тогда делится на g(x). Следовательно, s(x)=0, так что .
В практической деятельности для нахождения частного и остатка применяют способ вычисления, называемый «деление углом». Покажем его на примере.
Пример. Найти частный и остаток от деления на .
1. и
|
Частным от деления на является многочлен , остатком - .
2. и
¦
Частным от деления на является многочлен , остатком - .
Это правило в общем виде можно сформулировать так:
1) разделить старший член многочлена f(x) на старший член g(x) и записать результат «под длинной стороной угла»;
2)умножить g(x) на результат действия 1) и записать произведение под многочленом f(x);
3) вычесть из f(x) записанный под ним многочлен;
4) проверить имеет ли результат действия 3) степень меньшую, чем степень g(x); если да (или результат нулевой), то он является остатком, а под длинной стороной угла записано частное, если нет, то применить к этому результату действие 1), рассматривая его как многочлен f(x).
Я составила программу для нахождения частного и остатка.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids;
type
TForm1 = class(TForm)
SGd1: TStringGrid;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
Button1: TButton;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
i,n,m,step,j,f:integer;
d,l,s:string;
a,a2,b,b2,k:array[0..100] of integer;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
n:=StrToInt(Edit1.Text);
m:=StrToInt(Edit2.Text);
for i:=n+1 downto 1 do begin
a[i]:=StrToInt(SGd1.Cells[n-(i-1),0]);
end;
for i:=m+1 downto 1 do begin
b[i]:=StrToInt(SGd1.Cells[m-(i-1),1]);
end;
s:=f1(x)=;
for i:=n+1 downto 1 do begin
if a[i]<>0 then begin if(a[i-1]<0)or(i=1) then begin
str(a[i],l);
str(i-1,d);
s:=s+l+x^+d;
end
else begin
str(a[i],l);
str(i-1,d);
s:=s+l+x^+d++;
end;
end;
end;
Edit3.Text:=s;
s:=f2(x)=;
for i:=m+1 downto 1 do begin
if b[i]<>0 then begin if(b[i-1]<0)or(i=1) then begin
str(b[i],l);
str(i-1,d);
s:=s+l+x^+d;
end
else begin
str(b[i],l);
str(i-1,d);
s:=s+l+x^+d++;
end;
end;
end;
Edit4.Text:=s;
for j:=N+1 downto 1 do begin
a2[j]:=a[j];
b2[j]:=0;
end;
step:=n-m;
f:=n+2;
for i:=step+1 downto 1do begin
f:=f-1;
k[i]:=a2[f];
for j:=m+1 downto 1do begin
b2[j]:=k[i]*b[j];
end;
for j:=f downto 1 do begin
a2[j]:=a2[j]*b[m+1];
end;
for j:=f downto 1 do begin
a2[j]:=a2[j]-b2[j+1-i];
b2[j]:=0;
end;
end;
s:=h(x)=;
for i:=f downto 1 do begin
if k[i]<>0 then begin if(k[i-1]<0)or(i=1) then begin
str(k[i],l);
str(i-1,d);
s:=s+l+x^+d;
end
else begin
str(k[i],l);
str(i-1,d);
s:=s+l+x^+d++;
end;
end;
end;
Edit5.Text:=s;
s:=r(x)=;
for i:=n downto 0 do begin
if a2[i]<>0 then begin if(a2[i-1]<0)or(i=1) then begin
str(a2[i],l);
str(i-1,d);
s:=s+l+x^+d;
end
else begin
str(a2[i],l);
str(i-1,d);
s:=s+l+x^+d++;
end;
end;
end;
Edit6.Text:=s;
end;
end.
2.3. Наибольший общий делитель многочленов
Пусть даны произвольные многочлены и . Многочлен будет называться общим делителем для и , если он служит делителем для каждого из этих многочленов. Свойство 5. показывает, что к числу общих делителей многочленов и принадлежат все многочлены нулевой степени. Если других общих делителей эти два многочлена не имеют, то они называются взаимно простыми.
В общем же случае многочлены и могут обладать делителями, зависящими от , и введем понятие о наибольшем общем делителе этих многочленов.
Наибольшим общим делителем отличных от нуля многочленов и называется такой многочлен , который является их общим делителем и, вместе с тем, сам делится на любой другой общий делитель этих многочленов. Обозначается наибольший общий делитель многочленов и символом .
Это определение оставляет открытым вопрос, существует ли наибольший общий делитель для любых многочленов и . Ответ на этот вопрос положительный. Существует метод для практического разыскания наибольшего общего делителя данных многочленов, называемый алгоритмом последовательного деления или алгоритмом Евклида.
2.4. Алгоритм Евклида
Алгоритм Евклида - метод для нахождения наибольшего общего делителя двух целых чисел, а также двух многочленов от одного переменного. Он первоначально был изложен в «Началах» Евклида в геометрической форме как способ нахождения общей меры двух отрезков. Алгоритм Евклида для нахождения наибольшего общего делителя, как в кольце целых чисел, так и в кольце многочленов от одного переменного является частным случаем некого общего алгоритма в евклидовых кольцах.
Алгоритм Евклида для нахождения наибольшего общего делителя двух многочленов и состоит в последовательном делении с остатком на , затем на первый остаток , затем на второй остаток и так далее. Так как степени остатков все время понижаются, то в этой цепочке последовательных делений мы дойдем до такого места, на котором деление совершится нацело и процесс остановится. Последний отличный от нуля остаток , на который нацело делится предыдущий остаток , и является наибольшим общим делителем многочленов и .
Для доказательства запишем изложенное в виде следующей цепочки равенств:
(2.4)
Последнее равенство показывает, что служит делителем для . Отсюда следует, что оба слагаемых правой части предпоследнего равенства делятся на , а поэтому будет делителем и для . Далее, таким же путем, поднимаясь вверх, мы получим, что является делителем и для , …, , . Отсюда ввиду второго равенства, будет следовать, что служит делителем для , а поэтому, на основании первого равенства, - и для .
Возьмем теперь произвольный общий делитель многочленов и . Так как левая часть и первое слагаемое правой части первого из равенств делятся на , то также будет делится на . Переходя ко второму и следующему равенствам, таким же способом получим, что на делятся многочлены , , … Наконец, если уже будет доказано, что и делятся на , то из предпоследнего равенства получим, что делится на . Таким образом, на самом деле будет наибольшим общим делителем для и .
Мы доказали, что любые два многочлена обладают наибольшим общим делителем, и получили способ его вычисления. Этот способ показывает, что если многочлены и имеют оба рациональные или действительные коэффициенты, то и коэффициенты их наибольшего общего делителя также будут рациональными или, соответственно, действительными, хотя у этих многочленов могут существовать и такие делители, не все коэффициенты которых рациональны (действительны).
Если есть наибольший общий делитель многочленов и , то, как показывают свойства 8. и 9., в качестве наибольшего общего делителя этих многочленов можно было бы выбрать также многочлен , где - произвольное число, отличное от нуля. Иными словами, их наибольший общий делитель двух многочленов определен лишь с точностью до множителя нулевой степени. Ввиду этого можно условиться, что старший коэффициент наибольшего общего делителя двух многочленов будет всегда считаться равным единице. Используя это условие можно сказать, что два многочлена тогда и только тогда взаимно просты, если их наибольший общий делитель равен единице. В самом деле, в качестве наибольшего общего делителя двух взаимно простых многочленов можно взять любое число, отличное от нуля, но, умножая его на обратный элемент, получим единицу.
Применяя алгоритм Евклида к многочленам с целыми коэффициентами, можем, чтобы избежать дробных коэффициентов, умножить делимое или сократить делитель на любое не равное нулю число, причем не только начиная какое-либо из последовательных делений, но и в процессе самого этого деления. Это будет приводить к искажению частного, но интересующие нас остатки будут приобретать лишь некоторый множитель нулевой степени, что при разыскании наибольшего общего делителя допускается.
Пример. Найти наибольший общий делитель многочленов и .
1. и
Совершим требуемые деления с остатком:
|
|
|
Построение последовательности Евклида закончено. Ее последний член есть наибольший общий делитель исходных многочленов.
2. и
Совершим требуемые деления с остатком:
¦
||
¦
¦
Построение последовательности Евклида закончено. Ее последний член есть наибольший общий делитель исходных многочленов.
Я составила программу для нахождения наибольшего общего делителя двух многочленов:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids;
type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Edit1: TEdit;
Edit2: TEdit;
SGd1: TStringGrid;
Label3: TLabel;
Button1: TButton;
Label4: TLabel;
Edit4: TEdit;
Label5: TLabel;
Label6: TLabel;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
st1,st2:integer;
kof1,kof2,k1,k2:array[0..10] of integer;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var i,j,k_1,st3,l:integer;
sokr:boolean;
k2_2,k1_1:array[0..10] of integer;
begin
st1:=StrToInt(Edit1.Text);
st2:=StrToInt(Edit2.Text);
for i:=0 to st1 do begin
kof1[i]:=StrToInt(SGd1.Cells[i,0]);
k1[i]:=StrToInt(SGd1.Cells[i,0]);
end;
for i:=0 to st2 do begin
kof2[i]:=StrToInt(SGd1.Cells[i,1]);
k2[i]:=StrToInt(SGd1.Cells[i,1]);
end;
while kof2[0]<>0 do begin
repeat
Edit4.Text:=;
k_1:=k1[0];
if k1[0]<>kof2[0] then begin
if (k1[0] mod kof2[0])=0 then begin
for j:=0 to st2 do
k2[j]:=(k1[0] div kof2[0])*kof2[j];
end
else begin
if k2[0]<>1 then
for j:=0 to st1 do
k1[j]:=kof2[0]*k1[j];
if k_1<>1 then begin
for j:=0 to st2 do
k2[j]:=k_1*kof2[j];
end;
end;
end;
for i:=1 to st1 do begin
k1[i-1]:=k1[i]-k2[i];
end;
st1:=st1-1;
until st1<st2;
if k1[0]<>0 then begin //Сокращение
sokr:=true;
for i:=1 to st1 do
if k1[i]<>0 then begin
if (k1[i] mod k1[0])<>0 then sokr:=false;
end;
k_1:=k1[0];
if sokr=true then
for i:=0 to st1 do
k1[i]:=k1[i] div k_1;
end;
for i:=0 to st2 do //Замена многочленов
k2_2[i]:=kof2[i];
for i:=0 to st1 do
k1_1[i]:=k1[i];
for i:=0 to 10 do begin
kof1[i]:=0;
k1[i]:=0;
kof2[i]:=0;
k2[i]:=0;
end;
for i:=0 to st2 do begin
k1[i]:=k2_2[i];
if k1[i]<>0 then
Edit4.Text:=Edit4.Text+IntToStr(k1[i])+x^+IntToStr(st2-i);
if (k2_2[i+1]>0)and(i<st2) then Edit4.Text:=Edit4.Text++;
end;
for i:=0 to st1 do begin
k2[i]:=k1_1[i];
kof2[i]:=k1_1[i];
end;
st3:=st1;
st1:=st2;
st2:=st3;
end;
end;
end.
Используем алгоритм Евклида для доказательства следующей теоремы:
Теорема. Если есть наибольший общий делитель многочленов и , то можно найти такие многочлены и , что
. (2.5)
Можно считать при этом, если степени многочленов и больше нуля, что степень меньше степени , а степень меньше степени .
Доказательство основано на равенствах (2.4). Если учтем, что , и положим , , то предпоследнее из равенств (2.4) даст:
.
Подставляя сюда выражение через и из предшествующего равенства (2.4), получим:
,
где , . Продолжая подниматься вверх по равенствам (2.4), придем к доказываемому равенству (2.5).
Для доказательства второго утверждения теоремы предположим, что многочлены и , удовлетворяющие равенству (2.5), уже найдены, но, например, степень больше или равна степени . Делим на :
,
где степень меньше степени , и подставляем это выражение в (2). Получим равенство:
.
Степень множителя, стоящего при , уже меньше степени . Степень многочлена, стоящего в квадратных скобках, будет в свою очередь меньше степени , так как в противном случае степень второго слагаемого левой части была бы не меньше степени , а так как степень первого слагаемого меньше степени этого произведения, то вся левая часть имела бы степень, большую или равную степени , тогда как многочлен заведомо имеет, при наших предположениях, меньшую степень.
Теорема доказана.
Одновременно получаем, что если многочлены и имеют рациональные или действительные коэффициенты, то и многочлены и , удовлетворяющие равенству (2.5), можно подобрать так, что их коэффициенты будут рациональными или, соответственно действительными.
Применяя доказанную теорему к взаимно простым многочленам, получаем такой результат:
Многочлены и тогда и только тогда взаимно просты, если можно найти многочлены и , удовлетворяющие равенству
. (2.6)
Опираясь на этот результат, можно доказать несколько простых, но важных теорем о взаимно простых многочленах:
Теорема 1. Если многочлен взаимно прост с каждым из многочленов и , то он взаимно прост и с их произведением.
Доказательство. В самом деле, существуют, по (2.6), такие многочлены и , что .
Умножая это равенство на , получаем:
,
откуда следует, что всякий общий делитель и был бы делителем и для ; однако по условию .
Теорема 2. Если произведение многочленов и делится на , но и взаимно просты, то делится на .
Доказательство. Умножая равенство на , получим: .
Оба слагаемых левой части этого равенства делятся на ; на него делится, следовательно, и .
Теорема 3. Если многочлен делится на каждый из многочленов и , которые между собой взаимно просты, то делится и на их произведение.
Доказательство. Действительно, , так что произведение, стоящее справа, делится на . Поэтому, по теореме 2, делится на , , откуда .
Определение наибольшего общего делителя может быть распространен на случай любой конечной системы многочленов: наибольшим общим делителем многочленов называется такой общий делитель этих многочленов, который делится на любой другой общий делитель этих многочленов. Существование наибольшего общего делителя для любой конечной системы многочленов вытекает из следующей теоремы, дающей также способ его вычисления.
Теорема. Наибольший общий делитель многочленов равен наибольшему общему делителю многочлена и наибольшего общего делителя многочленов .
Доказательство. В самом деле, при теорема очевидна. Примем поэтому, что для случая она справедлива, то есть, в частности, уже доказано существование наибольшего общего делителя многочленов . Обозначим через наибольший общий делитель многочленов и . Он будет общим делителем для всех заданных многочленов. С другой стороны, всякий другой общий делитель этих многочленов будет делителем также и для , а поэтому и для .
В частности, система многочленов называется взаимно простой, если общими делителями этих многочленов являются лишь многочлены нулевой степени, то есть если их наибольший общий делитель равен 1. Если , то попарно эти многочлены могут и не быть взаимно простыми.
5.1. Выделение кратных множителей
Если дан многочлен с разложением (5.2) и если через мы обозначим наибольший общий делитель и его производной то (5.3) будет разложением для . Деля (5.2) на (5.3), мы получим:
т.е. получим многочлен, не содержащий кратных множителей, причем всякий неприводимый множитель для , имеющего вообще говоря, меньшую степень и, во всяком случае, содержащего лишь простые множители. Если эта задача для будет решена, то останется определить лишь кратность найденных неприводимых множителей в , что достигается применением алгоритма деления.
Усложняя изложенный сейчас метод, можно сразу перейти к рассмотрению нескольких многочленов без кратных множителей, причем, найдя неприводимые множители этих многочленов, мы не только найдем все неприводимые множители для , но и будем знать их кратность.
Пусть (5.2) будет разложением на неприводимые множители, причем наивысшая кратность множителей есть , . Обозначим через произведение всех однократных множителей многочлена , через - произведение всех двукратных множителей, но взятых лишь по одному разу, и т.д., наконец - произведение всех -кратных множителей, также взятых лишь по одному разу; если при этом для некоторого в отсутствуют -кратные множители, то полагаем . Тогда будет делиться на - тую степень многочлена и разложение (5.2) примет вид
а разложение (5.3) для перепишется в виде
обозначая через наибольший общий делитель многочлена и его производной и вообще через наибольший общий делитель многочленов и , таким путем получим:
……………………………
.
Отсюда
,
……………………………
,
И поэтому, наконец,
, , …,
Таким образом, пользуясь лишь приемами, не требующими знания неприводимых множителей многочлена , а именно взятием производной, алгоритмом Евклида и алгоритмом деления, мы можем найти многочлены без кратных множителей, причем всякий неприводимый множитель многочлена , будет -кратным для .
Пример. Разложить многочлен на кратные множители.
¦
¦
¦
¦
¦
¦
¦
¦
¦
Многочлен имеет разложение в виде .
Я составила программу для разложения многочлена на кратные множители.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids;
type
TForm1 = class(TForm)
Edit1: TEdit;
Label1: TLabel;
SGd1: TStringGrid;
Label2: TLabel;
Button1: TButton;
Label3: TLabel;
SGd2: TStringGrid;
SGd3: TStringGrid;
SGd4: TStringGrid;
Edit6: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
c,i,st1,st2,stiz,n_iz,n_nod,n,m,d_st,step,f:integer;
k,d,s:string;
kof1,kof2,k1,k2,izubst,a,b,a2,b2,buf,est,fxst:array[0..15] of integer;
izub,e,fx:array[0..50,0..50] of integer;
first:boolean;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var i,j,k_1,st3,l:integer;
sokr:boolean;
k2_2,k1_1:array[0..10] of integer;
! | Как писать дипломную работу Инструкция и советы по написанию качественной дипломной работы. |
! | Структура дипломной работы Сколько глав должно быть в работе, что должен содержать каждый из разделов. |
! | Оформление дипломных работ Требования к оформлению дипломных работ по ГОСТ. Основные методические указания. |
! | Источники для написания Что можно использовать в качестве источника для дипломной работы, а от чего лучше отказаться. |
! | Скачивание бесплатных работ Подводные камни и проблемы возникающие при сдаче бесплатно скачанной и не переработанной работы. |
! | Особенности дипломных проектов Чем отличается дипломный проект от дипломной работы. Описание особенностей. |
→ | по экономике Для студентов экономических специальностей. |
→ | по праву Для студентов юридических специальностей. |
→ | по педагогике Для студентов педагогических специальностей. |
→ | по психологии Для студентов специальностей связанных с психологией. |
→ | технических дипломов Для студентов технических специальностей. |
→ | выпускная работа бакалавра Требование к выпускной работе бакалавра. Как правило сдается на 4 курсе института. |
→ | магистерская диссертация Требования к магистерским диссертациям. Как правило сдается на 5,6 курсе обучения. |
Дипломная работа | Формирование устных вычислительных навыков пятиклассников при изучении темы "Десятичные дроби" |
Дипломная работа | Технологии работы социального педагога с многодетной семьей |
Дипломная работа | Человеко-машинный интерфейс, разработка эргономичного интерфейса |
Дипломная работа | Организация туристско-экскурсионной деятельности на т/к "Русский стиль" Солонешенского района Алтайского края |
Дипломная работа | Разработка мероприятий по повышению эффективности коммерческой деятельности предприятия |
Дипломная работа | Совершенствование системы аттестации персонала предприятия на примере офиса продаж ОАО "МТС" |
Дипломная работа | Разработка системы менеджмента качества на предприятии |
Дипломная работа | Организация учета и контроля на предприятиях жилищно-коммунального хозяйства |
Дипломная работа | ЭКСПРЕСС-АНАЛИЗ ФИНАНСОВОГО СОСТОЯНИЯ ООО «АКТ «ФАРТОВ» |
Дипломная работа | Психическая коммуникация |