- •Введение
- •1.Предварительный анализ
- •1.1 Дифференцирование на основе формулы Лагранжа
- •1.2 Дифференцирование на основе формулы Ньютона
- •1.3 Сравнительный анализ методов
- •2.4. Словестное описание алгоритма
- •2.5 Выбор способа организации входных и выходных данных
- •2.6. Интерфейс пользователя
- •2.7. Тестирование
- •2.8. Общая характеристика программы
- •2.9. Обзор подобных программ Обучающая программа по алгебре "Решалка"
- •Программа для решения задач и уровнений по высшей математике "Solver"
- •3. Организационный раздел
- •3.1. Организация рабочего места пользователя
- •3.1.1 Организация света на рабочем месте
- •3.1.2 Площадь одного рабочего места
- •3.1.3. Общие требования к организации рабочих мест
- •3.1.4 Требования к уровням шума и вибрации на рабочих местах
- •3.1.5 Организация режима труда и отдыха при работе с пк
- •Заключение
- •Список использованных источников
- •Приложения
- •Руководство пользователя
- •Общие сведения о программном продукте
- •Краткое описание программного продукта
- •3. Возможные области применения
- •Описание запуска
- •Инструкция по работе с программным продуктом
- •Листинг программного кода
- •Interface
- •Implementation
- •I:integer;
- •I,h,j,l,k,elem,n,m:integer;
- •If(nextS)then
- •If(not isPm(Preo[1]))then
- •If isPm(Preo[j]) then
- •If ((not isPmur(BigElenent[j][h])) and (not isNumber(BigElenent[j][h])))then
- •If (hb)then
- •If(not isPmur(Temp[1]))then
- •Insert(Res, s, I);
- •If(isPm(s[I-1]))then
- •If(go)then
- •I,h,j,l,k,elem,n,m:integer;
- •If(nextS)then
- •If(not isPm(Preo[1]))then
- •If isPm(Preo[j]) then
- •If ((not isPmur(BigElenent[j][h])) and (not isNumber(BigElenent[j][h])))then
- •If (hb)then
- •If isSc(s[I-1]) then
- •If(New)then
- •I,j,l,k,Step,Error,Num1,SavePoint:integer;
- •If(isUr(s[I]))then
- •If(isPmur(s[j]))then
- •If(isUr(Numeric[1]))then
- •If(bl)then
- •If not isPm(s1[1]) then
- •If(bl)then
- •If not isPm(s2[1]) then
- •If isPm(s1[j]) then
- •If isPm(s2[j]) then
- •If(New)then
- •I,j,l,k,Step,Error:integer;
- •Insert('-1*', s, I);
- •If(New)then
- •If (b) then
- •If(New)then
- •If (isPm(s[j]))then
- •If (b) then
- •If(New)then
- •If (isPm(s[j]))then
- •If (b) then
- •If(New)then
- •I,a,k,t:Integer;
If(bl)then
begin
S1:=Copy(S,I+2,J-I-1);
If not isPm(s1[1]) then
begin
k:=k-1;
S1:='+'+S1;
end;
end;
//mmo2.Lines.Add(S1);
for j:=i-2 downto 2 do
begin
if (s[j-1]=')') then
begin
bl:=false;
Break;
end;
if (s[j-1]='(')then
Break;
end;
If(bl)then
begin
S2:=Copy(S,j,I-J-1);
If not isPm(s2[1]) then
begin
k:=k-1;
S2:='+'+S2;
end;
end;
//mmo2.Lines.Add(S1);
//mmo2.Lines.Add(S2);
if (bl) then // (x+2)*(12*x) ((х+1)*(у))
begin
SavePoint:=j;
Delete(S,j,Length(S1)+Length(S2)+1+k);
New:=True;
l:=Length(S1);
k:=0;
for j:=Length(S1) downto 1 do
If isPm(s1[j]) then
begin
SetLength(FirstP, k+1);
FirstP[k]:=Copy(S1, j, l-j+1);
k:=k+1;
l:=j-1;
end;
l:=Length(S2);
k:=0;
for j:=Length(S2) downto 1 do
If isPm(s2[j]) then
begin
SetLength(SecondP, k+1);
SecondP[k]:=Copy(S2, j, l-j+1);
k:=k+1;
l:=j-1;
end;
for j:=0 to High(SecondP) do
for k:=0 to High(FirstP) do
begin
S1:=FirstP[k];
S2:=SecondP[j];
if ((S1[1]='-')and(S2[1]='-'))then
begin
S1[1]:='+';
Delete(S2,1,1);
end
else if ((S1[1]='+')and(S2[1]='-'))then
begin
S1[1]:='-';
Delete(S2,1,1);
end
else if ((S1[1]='-')and(S2[1]='+'))then
begin
S1[1]:='-';
Delete(S2,1,1);
end
else if ((S1[1]='+')and(S2[1]='+'))then
begin
S1[1]:='+';
Delete(S2,1,1);
end;
Block:=Block +S1+T+S2;
//mmo2.Lines.Add(Block);
end;
if (Block[1] = '+') then
Delete(Block,1,1);
Insert(Block, S, SavePoint); // (x+2)*(12+x)
//mmo2.Lines.Add(S);
end;
end
end;
end;
If(New)then
begin
S:=Preobr(S);
Break;
end;
end;
end;
ScoberU:=S;
end;
function TForm1.Preobr(S: String): String;
var