Sign in Join
Wiki copytemporary

Area Calculations Library/de: what changed

Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.

Title: Area Calculations Library/de

OldNewLine
1+Eine Bibliothek zur Flächenberechnung.
2+
3+``` pascal
4+unit uFlaeche;
5+
6+{$mode objfpc}{$H+}
7+{$IMPLICITEXCEPTIONS OFF}
8+
9+interface
10+
11+uses
12+ SysUtils;
13+
14+function funFlaecheQuadrat(dblL: double): double;
15+function funEckmassQuadrat(dblL: double): double;
16+function funLaengeQuadrat(dblA: double): double;
17+function funUmfangQuadrat(dblL: double): double;
18+
19+function funFlaecheRechteck(dblL, dblB: double): double;
20+function funEckmassRechteck(dblL, dblB: double): double;
21+function funUmfangRechteck(dblL, dblB: double): double;
22+
23+function funFlaecheRhomboid(dblL, dblB: double): double;
24+function funUmfangRhomboid(dblL, dblB: double): double;
25+
26+function funFlaecheTrapez(dblL1, dblL2, dblB: double): double;
27+function funMittlereLaengeTrapez(dblL1, dblL2: double): double;
28+function funUmfangTrapez(dblL1, dblL2, dblL3, dblL4: double): double;
29+
30+function funFlaecheDreieck(dblL, dblB: double): double;
31+function funUmfangDreieck(dblL1, dblL2, dblL3: double): double;
32+
33+function funHoeheGleichseitigesDreieck(dblL: double): double;
34+
35+function funFlaecheKreis(dblD: double): double;
36+function funUmfangKreis(dblD: double): double;
37+function funRadiusKreis(dblA: double): double;
38+
39+function funFlaecheKreisausschnitt(dblA, dblD: double): double;
40+function funSehnenlaengeKreisausschnitt(dblR, dblA: double): double;
41+
42+function funBogenlaengeKreisabschnitt(dblR, dblA: double): double;
43+function funSehnenlaengeKreisabschnitt(dblR, dblB: double): double;
44+
45+function funBreiteKreisabschnitt(dblR, dblL: double): double;
46+
47+function funFlaecheElipse(dblD1, dblD2: double): double;
48+function funUmfangElipse(dblD1, dblD2: double): double;
49+
50+implementation
51+
52+function funFlaecheQuadrat(dblL: double): double;
53+begin
54+ // dblL ist die Länge
55+ Result := dblL * dblL;
56+end;
57+
58+function funEckmassQuadrat(dblL: double): double;
59+begin
60+ // dblL ist die Länge
61+ Result := (sqrt(2)) * dblL;
62+end;
63+
64+function funLaengeQuadrat(dblA: double): double;
65+begin
66+ // dblA ist die Fläche
67+ Result := sqrt(dblA);
68+end;
69+
70+function funUmfangQuadrat(dblL: double): double;
71+begin
72+ // dblL ist die Länge
73+ Result := 4 * dblL;
74+end;
75+
76+function funFlaecheRechteck(dblL, dblB: double): double;
77+begin
78+ // dblL ist die Länge
79+ // dblB ist die Breite
80+ Result := dblL * dblB;
81+end;
82+
83+function funEckmassRechteck(dblL, dblB: double): double;
84+begin
85+ // dblL ist die Länge
86+ // dblB ist die Breite
87+ Result := sqrt(dblL + dblB);
88+end;
89+
90+function funUmfangRechteck(dblL, dblB: double): double;
91+begin
92+ // dblL ist die Länge
93+ // dblB ist die Breite
94+ Result := 2 * (dblL + dblB);
95+end;
96+
97+function funFlaecheRhomboid(dblL, dblB: double): double;
98+begin
99+ // Rhomboid = Parallelogramm
100+ // dblL ist die Länge
101+ // dblB ist die Breite
102+ Result := dblL * dblB;
103+end;
104+
105+function funUmfangRhomboid(dblL, dblB: double): double;
106+begin
107+ // Rhomboid = Parallelogramm
108+ // dblL ist die Länge
109+ // dblB ist die Breite
110+ Result := 2 * (dblL * +dblB);
111+end;
112+
113+function funFlaecheTrapez(dblL1, dblL2, dblB: double): double;
114+begin
115+ // dblL1 ist die große Länge
116+ // dblL2 ist die kleine Länge
117+ // dblB ist die Breite
118+ Result := ((dblL1 * dblL2) / 2) * dblB;
119+end;
120+
121+function funMittlereLaengeTrapez(dblL1, dblL2: double): double;
122+begin
123+ // dblL1 ist die große Länge
124+ // dblL2 ist die kleine Länge
125+ Result := (dblL1 * dblL2) / 2;
126+end;
127+
128+function funUmfangTrapez(dblL1, dblL2, dblL3, dblL4: double): double;
129+begin
130+ // dblL1 bis dblL4 sind die Längen des Trapezes
131+ Result := dblL1 + dblL2 + dblL3 + dblL4;
132+end;
133+
134+function funFlaecheDreieck(dblL, dblB: double): double;
135+begin
136+ // dblL ist die Länge
137+ // dblB ist die Breite
138+ Result := (dblL * dblB) / 2;
139+end;
140+
141+function funUmfangDreieck(dblL1, dblL2, dblL3: double): double;
142+begin
143+ // dblL1 bis dblL3 sind die Längen des Trapezes
144+ Result := dblL1 + dblL2 + dblL3;
145+end;
146+
147+function funHoeheGleichseitigesDreieck(dblL: double): double;
148+begin
149+ // dblL ist die Länge
150+ Result := 0.5 * sqrt(3) * dblL;
151+end;
152+
153+function funFlaecheKreis(dblD: double): double;
154+begin
155+ // dblD ist der Durchmesser
156+ Result := (PI * (dblD * dblD)) / 4;
157+end;
158+
159+function funUmfangKreis(dblD: double): double;
160+begin
161+ // dblD ist der Durchmesser
162+ Result := PI * dblD;
163+end;
164+
165+function funRadiusKreis(dblA: double): double;
166+begin
167+ // dblA ist die Fläche
168+ Result := sqrt(dblA / PI);
169+end;
170+
171+function funFlaecheKreisausschnitt(dblA, dblD: double): double;
172+begin
173+ // dblD ist der Kreisdurchmesser
174+ // dblA ist der Mittelpunktswinkel
175+ Result := (PI * (dblD * dblD) / 4) * (dblA / 360);
176+end;
177+
178+function funSehnenlaengeKreisausschnitt(dblR, dblA: double): double;
179+begin
180+ // dblR ist der Radius
181+ // dblA ist der Mittelpunktswinkel
182+ Result := 2 * (dblR * (sin(dblA / 2)));
183+end;
184+
185+function funBogenlaengeKreisausschnitt(dblR, dblA: double): double;
186+begin
187+ // dblR ist der Radius
188+ // dblA ist der Mittelpunktswinkel
189+ Result := ((PI * dblR) * dblA) / 180;
190+end;
191+
192+function funSehnenlaengeKreisabschnitt(dblR, dblB: double): double;
193+begin
194+ // dblR ist der Radius
195+ // dblB ist die Breite
196+ Result := 2 * sqrt(dblB * ((2 * dblR) - dblB));
197+end;
198+
199+function funBreiteKreisabschnitt(dblR, dblL: double): double;
200+begin
201+ // dblR ist der Radius
202+ // dblL ist die Sehnenlänge
203+ Result := dblR - (sqrt((dblR * dblR) - ((dblL * dblL) / 4)));
204+end;
205+
206+function funFlaecheElipse(dblD1, dblD2: double): double;
207+begin
208+ // dblD1 ist der Grosse Durchmesser der Elipse
209+ // dblD2 ist der kleine Durchmesser der Elipse
210+ Result := (Pi * dblD1 * dblD2) / 4;
211+end;
212+
213+function funUmfangElipse(dblD1, dblD2: double): double;
214+begin
215+ // dblD1 ist der Grosse Durchmesser der Elipse
216+ // dblD2 ist der kleine Durchmesser der Elipse
217+ Result := (Pi / 2) * (dblD1 + dblD2);
218+end;
219+
220+end.
221+```
222+
223+---
224+*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](/wiki-contact).*

Back to history