FAQ VCL
Математика

:: Меню ::
:: На главную ::
:: FAQ ::
:: Заметки ::
:: Практика ::
:: Win API ::
:: Проекты ::
:: Скачать ::
:: Секреты ::
:: Ссылки ::

:: Сервис ::
:: Написать ::

:: MVP ::

:: RSS ::

Яндекс.Метрика

Как найти сумму n членов ряда натуральных чисел?

// Способ первый
function Summ( AFrom, ATo: Integer ): Integer;
// AFrom - первый член ряда натуральных чисел
// ATo   - последний член ряда натуральных чисел
// n     - количество членов ряда натуральных чисел
var
  i: Integer;
begin
   Result := 0;
   for i := AFrom to ATo do
      Inc( Result, i );
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
   ShowMessage( IntToStr( Summ( 3, 5 ) ) );
end;

// Способ второй
function Summ( AFrom, ATo: Integer ): Integer;
// ( AFrom + ATo ) * n
// -------------------
//          2
// AFrom - первый член ряда натуральных чисел
// ATo   - последний член ряда натуральных чисел
// n     - количество членов ряда натуральных чисел
var
  n: Integer;
begin
   n := ATo - AFrom + 1;
   Result := ( AFrom + ATo ) * n div 2;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
   ShowMessage( IntToStr( Summ( 3, 5 ) ) );
end;


Как решить уравнение вида x-(1/x)=c?

// a1 = c/2
// a2 = a1^2
// a3 = 1+a2
// a4 = a3^(1/2)
//
// x   = a4+a1
// 1/x = a4-a1
function CalcFunction( c: Double ): Double;
var
  a1, a2, a3, a4: Double;
begin
   a1 := c / 2;
   a2 := Sqr( a1 );
   a3 := 1 + a2;
   a4 := Sqrt( a3 );
   Result := a4 + a1;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  x: Double;
begin
   x := CalcFunction( 108 );
   ShowMessage( FloatToStr( x ) );
   // Проверка
   x := x - ( 1 / x );
   ShowMessage( FloatToStr( x ) );
end;


Как вычислить площадь поверхности тетраэдра по известной длине ребра?

uses
  {...,} Math;

// S = a^2 * Sqrt(3)
function GetSurfaceAreaOfTetrahedron(Edge: Extended): Extended;
begin
   Result := Power(Edge, 2) * Sqrt(3);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
   ShowMessage(FloatToStr(GetSurfaceAreaOfTetrahedron(1)));
end;


Как вычислить объем тетраэдра по известной длине ребра?

uses
  {...,} Math;

// V = (a^3 * Sqrt(2)) / 12
function GetVolumeOfTetrahedron(Edge: Extended): Extended;
begin
   Result := (Power(Edge, 3) * Sqrt(2)) / 12;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
   ShowMessage(FloatToStr(GetVolumeOfTetrahedron(1)));
end;


Как вычислить площадь поверхности куба по известной длине ребра?

uses
  {...,} Math;

// S = 6 * a^2
function GetSurfaceAreaOfCube(Edge: Extended): Extended;
begin
   Result := 6 * Power(Edge, 2);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
   ShowMessage(FloatToStr(GetSurfaceAreaOfCube(1)));
end;


Как вычислить объем куба по известной длине ребра?

uses
  {...,} Math;

// V = a^3
function GetVolumeOfCube(Edge: Extended): Extended;
begin
   Result := Power(Edge, 3);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
   ShowMessage(FloatToStr(GetVolumeOfCube(1)));
end;


Как вычислить площадь поверхности октаэдра по известной длине ребра?

uses
  {...,} Math;

// S = 2 * Sqrt(3) * a^2
function GetSurfaceAreaOfOctahedron(Edge: Extended): Extended;
begin
   Result := 2 * Sqrt(3) * Power(Edge, 2);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
   ShowMessage(FloatToStr(GetSurfaceAreaOfOctahedron(1)));
end;


Как вычислить объем октаэдра по известной длине ребра?

uses
  {...,} Math;

// V = (Sqrt(2) / 3) * a^3
function GetVolumeOfOctahedron(Edge: Extended): Extended;
begin
   Result := (Sqrt(2) / 3) * Power(Edge, 3);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
   ShowMessage(FloatToStr(GetVolumeOfOctahedron(1)));
end;


Как вычислить площадь поверхности додекаэдра по известной длине ребра?

uses
  {...,} Math;

// S = 3 * Sqrt(25 + 10 * Sqrt(5)) * a^2
function GetSurfaceAreaOfDodecahedron(Edge: Extended): Extended;
begin
   Result := 3 * (Sqrt(25 + 10 * Sqrt(5))) * Power(Edge, 2);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
   ShowMessage(FloatToStr(GetSurfaceAreaOfDodecahedron(1)));
end;


Как вычислить объем додекаэдра по известной длине ребра?

uses
  {...,} Math;

// V = (15 + 7 * Sqrt(5)) / 4 * a^3
function GetVolumeOfDodecahedron(Edge: Extended): Extended;
begin
   Result := ((15 + 7 * Sqrt(5)) / 4) * Power(Edge, 3);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
   ShowMessage(FloatToStr(GetVolumeOfDodecahedron(1)));
end;