Sign in Join
Wiki copytemporary

Area Calculations Library/de

Deutsch · English

Eine Bibliothek zur Flächenberechnung.

pascal
unit uFlaeche;

{$mode objfpc}{$H+}
{$IMPLICITEXCEPTIONS OFF}

interface

uses
  SysUtils;

function funFlaecheQuadrat(dblL: double): double;
function funEckmassQuadrat(dblL: double): double;
function funLaengeQuadrat(dblA: double): double;
function funUmfangQuadrat(dblL: double): double;

function funFlaecheRechteck(dblL, dblB: double): double;
function funEckmassRechteck(dblL, dblB: double): double;
function funUmfangRechteck(dblL, dblB: double): double;

function funFlaecheRhomboid(dblL, dblB: double): double;
function funUmfangRhomboid(dblL, dblB: double): double;

function funFlaecheTrapez(dblL1, dblL2, dblB: double): double;
function funMittlereLaengeTrapez(dblL1, dblL2: double): double;
function funUmfangTrapez(dblL1, dblL2, dblL3, dblL4: double): double;

function funFlaecheDreieck(dblL, dblB: double): double;
function funUmfangDreieck(dblL1, dblL2, dblL3: double): double;

function funHoeheGleichseitigesDreieck(dblL: double): double;

function funFlaecheKreis(dblD: double): double;
function funUmfangKreis(dblD: double): double;
function funRadiusKreis(dblA: double): double;

function funFlaecheKreisausschnitt(dblA, dblD: double): double;
function funSehnenlaengeKreisausschnitt(dblR, dblA: double): double;

function funBogenlaengeKreisabschnitt(dblR, dblA: double): double;
function funSehnenlaengeKreisabschnitt(dblR, dblB: double): double;

function funBreiteKreisabschnitt(dblR, dblL: double): double;

function funFlaecheElipse(dblD1, dblD2: double): double;
function funUmfangElipse(dblD1, dblD2: double): double;

implementation

function funFlaecheQuadrat(dblL: double): double;
begin
  // dblL ist die Länge
  Result := dblL * dblL;
end;

function funEckmassQuadrat(dblL: double): double;
begin
  // dblL ist die Länge
  Result := (sqrt(2)) * dblL;
end;

function funLaengeQuadrat(dblA: double): double;
begin
  // dblA ist die Fläche
  Result := sqrt(dblA);
end;

function funUmfangQuadrat(dblL: double): double;
begin
  // dblL ist die Länge
  Result := 4 * dblL;
end;

function funFlaecheRechteck(dblL, dblB: double): double;
begin
  // dblL ist die Länge
  // dblB ist die Breite
  Result := dblL * dblB;
end;

function funEckmassRechteck(dblL, dblB: double): double;
begin
  // dblL ist die Länge
  // dblB ist die Breite
  Result := sqrt(dblL + dblB);
end;

function funUmfangRechteck(dblL, dblB: double): double;
begin
  // dblL ist die Länge
  // dblB ist die Breite
  Result := 2 * (dblL + dblB);
end;

function funFlaecheRhomboid(dblL, dblB: double): double;
begin
  // Rhomboid = Parallelogramm
  // dblL ist die Länge
  // dblB ist die Breite
  Result := dblL * dblB;
end;

function funUmfangRhomboid(dblL, dblB: double): double;
begin
  // Rhomboid = Parallelogramm
  // dblL ist die Länge
  // dblB ist die Breite
  Result := 2 * (dblL * +dblB);
end;

function funFlaecheTrapez(dblL1, dblL2, dblB: double): double;
begin
  // dblL1 ist die große Länge
  // dblL2 ist die kleine Länge
  // dblB ist die Breite
  Result := ((dblL1 * dblL2) / 2) * dblB;
end;

function funMittlereLaengeTrapez(dblL1, dblL2: double): double;
begin
  // dblL1 ist die große Länge
  // dblL2 ist die kleine Länge
  Result := (dblL1 * dblL2) / 2;
end;

function funUmfangTrapez(dblL1, dblL2, dblL3, dblL4: double): double;
begin
  // dblL1 bis dblL4 sind die Längen des Trapezes
  Result := dblL1 + dblL2 + dblL3 + dblL4;
end;

function funFlaecheDreieck(dblL, dblB: double): double;
begin
  // dblL ist die Länge
  // dblB ist die Breite
  Result := (dblL * dblB) / 2;
end;

function funUmfangDreieck(dblL1, dblL2, dblL3: double): double;
begin
  // dblL1 bis dblL3 sind die Längen des Trapezes
  Result := dblL1 + dblL2 + dblL3;
end;

function funHoeheGleichseitigesDreieck(dblL: double): double;
begin
  // dblL ist die Länge
  Result := 0.5 * sqrt(3) * dblL;
end;

function funFlaecheKreis(dblD: double): double;
begin
  // dblD ist der Durchmesser
  Result := (PI * (dblD * dblD)) / 4;
end;

function funUmfangKreis(dblD: double): double;
begin
  // dblD ist der Durchmesser
  Result := PI * dblD;
end;

function funRadiusKreis(dblA: double): double;
begin
  // dblA ist die Fläche
  Result := sqrt(dblA / PI);
end;

function funFlaecheKreisausschnitt(dblA, dblD: double): double;
begin
  // dblD ist der Kreisdurchmesser
  // dblA ist der Mittelpunktswinkel
  Result := (PI * (dblD * dblD) / 4) * (dblA / 360);
end;

function funSehnenlaengeKreisausschnitt(dblR, dblA: double): double;
begin
  // dblR ist der Radius
  // dblA ist der Mittelpunktswinkel
  Result := 2 * (dblR * (sin(dblA / 2)));
end;

function funBogenlaengeKreisausschnitt(dblR, dblA: double): double;
begin
  // dblR ist der Radius
  // dblA ist der Mittelpunktswinkel
  Result := ((PI * dblR) * dblA) / 180;
end;

function funSehnenlaengeKreisabschnitt(dblR, dblB: double): double;
begin
  // dblR ist der Radius
  // dblB ist die Breite
  Result := 2 * sqrt(dblB * ((2 * dblR) - dblB));
end;

function funBreiteKreisabschnitt(dblR, dblL: double): double;
begin
  // dblR ist der Radius
  // dblL ist die Sehnenlänge
  Result := dblR - (sqrt((dblR * dblR) - ((dblL * dblL) / 4)));
end;

function funFlaecheElipse(dblD1, dblD2: double): double;
begin
  // dblD1 ist der Grosse Durchmesser der Elipse
  // dblD2 ist der kleine Durchmesser der Elipse
  Result := (Pi * dblD1 * dblD2) / 4;
end;

function funUmfangElipse(dblD1, dblD2: double): double;
begin
  // dblD1 ist der Grosse Durchmesser der Elipse
  // dblD2 ist der kleine Durchmesser der Elipse
  Result := (Pi / 2) * (dblD1 + dblD2);
end;

end.

From the Free Pascal wiki, page "Area Calculations Library/de", as it stood on 2020-08-09 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.

Revision 1, last changed by WikiArchive .

Edited on wiki.freepascal.org by 2 people, 2015–2020

From the official wiki's backup of 26 May 2024: who edited this page there, and when. Edits made there after that date were not recorded, and the earlier versions are not shown here; the main page says why.

WhenWhoWhat changed
OlafCreated page
TrevFixed syntax highlighting (minor)
TrevTrev moved page Flächen/de to Area Calculations Library without leaving a redirect: Rename page in English (minor)
TrevTrev moved page Area Calculations Library to Area Calculations Library/de without leaving a redirect: German page /de (minor)
TrevAdd page template with categories (minor)
TrevRemoved categories in page template (minor)
TrevMinor fixes to code; add missing definitions; remove duped function (minor)
TrevFix incorrect comment (minor)

Talk about this page

Nobody has opened a bench for this page yet. Sign in to open one.