- •Введение
- •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 (hb)then
begin
NumerikArray[j]:=NumerikArray[j]+NumerikArray[l];
NumerikArray[l]:=0;
Go:=true
//mmo2.Lines.Add('***');
end;
end;
end;
end;
end; // 3*5*x-x*3+x*y = +12*x+x*y
{for j:=0 to High(NumerikArray) do
mmo2.Lines.Add(FloatToStr(NumerikArray[j]));}
Temp:='';
Res:='';
for j:=0 to High(NumerikArray) do
begin
if(NumerikArray[j]<>0) then
begin
//mmo2.Lines.Add('***');
Temp:=FloatToStr(NumerikArray[j]);
for l:=0 to High(ElementArray[j]) do
begin
if(ElementArray[j][l]<>'')then
temp:=temp+'*'+ElementArray[j][l];
end;
If(not isPmur(Temp[1]))then
Temp:='+'+Temp;
end;
Res:=Temp+Res;
Temp:='';
end;
{else if(isPM(S[i+1]))then
case S[i+1] of
'+': Delete(S,i+1,1);
end; }
//mmo2.Lines.Add('I :'+IntToStr(i));
//mmo2.Lines.Add('Str:'+S);
//mmo2.Lines.Add('Res:'+Res); //4+(3*х-2*х)-12
Insert(Res, s, I);
if Length(s)>1 then
If(isPm(s[I-1]))then
Delete(S,i-1,1);
//mmo2.Lines.Add('S C:'+S); //
end;
{for j:=Length(S) downto 1 do
if (S[j]='Q') then
begin
S[j]:='0';
end;
S:=Preobr(S);
S:=ScoberU(S);
S:=Sokr(S);
while(Length(S)<>Length(Sokr(S)))do
begin
S:=Preobr(S);
S:=ScoberU(S);
S:=Sokr(S);
end; }
//mmo2.Lines.Add(s);
end;
If(go)then
Break;
end;
{BackStr:='';
for i:=1 to Length(S) do
begin
if(S[i]<>' ') then
BackStr:=BackStr+S[i];
end; }
DelF:=S;
//mmo2.Lines.Add(BackStr);
end;
function TForm1.Sokr(S: String): String;
var
I,h,j,l,k,elem,n,m:integer;
Preo, Temp, Res : string;
nextS,HB,Go:Boolean;
BigElenent : Array of string;
HeaderPer : Array of Char;
NumerikArray : Array of Real;
ElementArray : Array of Array of string;
DataPer : Array of Array of Integer;
begin
//mmo2.Lines.Add(s);
Go:=true;
while(go)do //4+(3*х-2*х)-12 (x+y)^2-x^2
begin
Go:=false;
for i:=1 to Length(S) do
begin
if((S[1]<>'(') and (S[Length(S)]<>')')) then // (-3.1-4.333+2.2*x+4.25*x)
S:='('+S+')';
if(S[i]='(')then
begin
nextS:=True;
for j:=i+1 to Length(S)-1 do
begin
if (s[j+1]='(') then
begin
nextS:=false;
Break;
//mmo2.Lines.Add(IntToStr(j));
end;
if (s[j+1]=')')then
Break;
end;