Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   4-Eck-Typ herausfinden (https://www.delphipraxis.net/1745-4-eck-typ-herausfinden.html)

CalganX 20. Dez 2002 19:26


4-Eck-Typ herausfinden
 
Hi,
also, ich bin derzeit dabei ein Programm zu schreiben, dass nach Eingabe der Informationen ausgegeben wird, um welche Art von 4-Eck es sich handelt. Leider funzt es nicht. Ich habe folgende Struktur:

Code:
wenn auch wirklich 4-Eck [Winkelsummensatz] {
 wenn (Seiten a und c parallel) oder (Seiten b und d parallel) [Wechselwinkelsatz] {
  zumindest ein Trapez
  wenn (Seiten a und c parallel) und (Seiten b und d parallel) [WeWiSa] {
   zumindest ein Parallelogramm
   wenn (Seiten a und c gleichlang) oder (Seiten b und d gleichlang) {
    zumindest ein Rechteck
    wenn (Seiten a und b gleichlang) und (Seiten c und d gleichlang) {
     Quadrat
    }
   }
  }
 }
}
Bis dahin bin ich, aber es wird manchmal das falsche ausgegeben. Liegt's an der Struktur?

Chris

sakura 20. Dez 2002 19:58

Re: 4-Eck-Typ herausfinden
 
Code:
wenn auch wirklich 4-Eck [Winkelsummensatz] {
 wenn (Seiten a und c parallel) oder (Seiten b und d parallel) [Wechselwinkelsatz] {
  zumindest ein Trapez
  wenn (Seiten a und c parallel) und (Seiten b und d parallel) [WeWiSa] {
   zumindest ein Parallelogramm
   wenn (Seiten a und c gleichlang) [color=#ff0022]oder [/color] -> [color=#2200ff]und [/color](Seiten b und d gleichlang) [color=#1900ff]und (rechter Winkel zwischen Seite ab und bc)[/color] {
    zumindest ein Rechteck
    wenn (Seiten a und b gleichlang) [color=#f60000]und (Seiten c und d gleichlang)[/color] {
     Quadrat
    }
   }
  }
 }
}
Rot weg, blau dazu und die Lösung Du hast im Nu'

nailor 20. Dez 2002 21:52

jup, sakuras musste stimmen

CalganX 21. Dez 2002 11:07

Hi,
danke, dass hat geklappt!

Chris

[Flox]Cauchy 27. Dez 2002 10:04

Und was ist mit:
- Raute (alle Seiten gleich lang)
- allgemeiner Drachen (eine Diagonale halbiert die andere)
- symmetrischer Drachen (Diagonalen stehen senkrecht aufeinander, die eine halbiert die andere)
- allgemeines Trapez (zwei Seiten parallel)
- symmetrisches Trapez (zwei Seiten parallel, Verbindungslinie der Seitenmitten steht senkrecht auf den Seiten)
? Nur so als Hinweis ... ;-) *g*
CU, [Flox]Cauchy

[Flox]Cauchy 27. Dez 2002 10:32

Ich hab' mir mal was überlegt:
Code:
alpha := winkel(a, b)
beta := winkel(b, c)
gamma := winkel(c, d)
delta := winkel(d, a)
wenn alpha+beta+gamma+delta = 360
  acpar := parallel(a, c)
  bdpar := parallel(b, d)
  wenn acpar und bdpar
    wenn alpha = 90
      wenn länge(a) = länge(b)
        "Quadrat"
      sonst
        "Rechteck"
    sonst
      wenn länge(a) = länge(b)
        "Raute"
      sonst
        "Parallelogramm"
  sonst wenn nicht(acpar oder bdpar)
    e := {Diagonale von A nach C}
    f := {Diagonale von B nach D}
    wenn halbiert(e, f) oder halbiert(f, e)
      wenn senkrecht(e, f)
        "symm. Drachen"
      sonst
        "allg. Drachen"
    sonst
      "allg. Viereck"
  sonst
    wenn (acpar und (länge(b) = länge(d)) oder (bdpar und (länge(a) = länge(c))
      "symm. Trapez"
    sonst
      "allg. Trapez"
sonst
  "Kein Viereck!"
Ich hoffe, daß das hilft und nicht zu kompliziert ist. ;-)
CU, [Flox]Cauchy


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:53 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz