|
|
Anlaufkontrollstrukturen / Vieleck |
|
Tobrix |

Forum-Newbie
|
 |
Beiträge: 6
|
 |
|
 |
Anmeldedatum: 16.01.18
|
 |
|
 |
Wohnort: München
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 16.01.2018, 15:12
Titel: Anlaufkontrollstrukturen / Vieleck
|
 |
|
 |
|
Hallo an alle im Forum.
Ich bin neu in der Welt des Programmierens, doch in meinem Studium (Bauingenieurwesen) ist es nun leider erforderlich.
Die ersten Aufgaben waren noch möglich, aber die folgende ist nirgends erklärt und deshalb steh ich total auf dem Schlauch. Ich hoffe ihr könnt mir helfen.
Aufgabe:
Schreiben Sie ein Programm, welches für ein allgemeines Polygon (Vieleck) den Umfang und den
Flächeninhalt berechnet (siehe Abb. 1). Der Benutzer soll die Möglichkeit haben, eine beliebige
Anzahl von Eckpunkten durch Eingabe der x- und y-Koordinaten zu definieren. Die x- und yKoordinaten
sollen jeweils als Liste (Vektor) in einer Variablen gespeichert werden. Anschließend
sollen der Umfang und der Flächeninhalt des Polygons berechnet und ausgegeben werden.
Abbildung 1: Vieleck.
Der Umfang U und der Flächeninhalt A eines Polygons mit n Eckpunkten berechnen sich in einer
Schleife über alle Knoten n:
U = *Summenzeichen*(n oben, i=1 unten) *Wurzel*(xi+1 − xi)^2+(yi+1-yi)^2
(i+1 und i stehen im Index)
A=*selbes Summenzeichen* 0.5*(xi − xi+1)(yi + yi+1)
Gehen Sie bei der Bearbeitung wie folgt vor:
1. Erstellen Sie auf Papier oder in geeigneter digitaler Form ein Struktogramm für das zu
erstellende Programm.
2. Implementieren Sie eine Benutzereingabe für die Anzahl der Eckpunkte n. Prüfen Sie anschließend,
ob mindestens 3 Eckpunkte angegeben wurden und lassen Sie andernfalls die
Eingabe wiederholen.
3. Implementieren Sie die Benutzereingabe für die x- und y-Koordinaten mit Hilfe einer forSchleife.
4. Schließen Sie das Polygon, indem Sie einen zusätzlichen Eckpunkt (Index n+1) definieren,
der die gleichen Koordinaten wie der Eckpunkt mit Index 1 hat. Dieser Schritt ist notwendig,
damit die angegeben Formeln korrekt ausgeführt werden können.
5. Berechnen Sie den Umfang U und den Flächeninhalt A mit Hilfe der angegebenen Formeln.
6. Prüfen Sie anhand des Flächeninhalts (positiv oder negativ), ob die Eckpunkte im Uhrzeigersinn
oder gegen den Uhrzeigersinn angegeben wurden.
7. Geben Sie Ihre Ergebnisse mit Hilfe von fprintf aus.
In keinem meiner Skripte ist das erklärt und ich hoffe da kennt sich jemand von euch aus.
Danke schonmal im Vorraus.
|
|
|
|
|
SigiSorglos |

Forum-Century
|
 |
Beiträge: 147
|
 |
|
 |
Anmeldedatum: 24.09.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 16.01.2018, 16:08
Titel:
|
 |
Ich habe für dich mal die zweite und dritte Aufgabe gemacht. Versuche das mal nachzuvollziehen und dann eigenständig weitermachen. Es bringt dir nichts, wenn du einfach die komplett Lösung aus dem Forum kopierst
Falls du Fragen hast, melde dich gerne nochmal.
|
|
|
Tobrix |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 6
|
 |
|
 |
Anmeldedatum: 16.01.18
|
 |
|
 |
Wohnort: München
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 16.01.2018, 17:09
Titel:
|
 |
Also für die schnelle Antwort schonmal vielen Danke
Was soll ich denn bei der ersten Aufgabe grundsätzlich machen?
Das was du mir geschickt hast funktioniert und gibt für mich definitiv Sinn.
Die 4. Aufgabe hab ich auch:
x(anzahlEcken+1)=x(1)
y(anzahlEcken+1)=y(1)
FÜr die beiden Formeln hätte ich das jetzt mal mit for-Schleifen versucht. Bin ich da auf dem Richtigen Weg?
|
|
|
SigiSorglos |

Forum-Century
|
 |
Beiträge: 147
|
 |
|
 |
Anmeldedatum: 24.09.14
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 16.01.2018, 17:17
Titel:
|
 |
|
|
Tobrix |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 6
|
 |
|
 |
Anmeldedatum: 16.01.18
|
 |
|
 |
Wohnort: München
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 17.01.2018, 07:37
Titel:
|
 |
Danke für die Hilfe ich habs geschafft
|
|
|
TUM |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 21.01.2018, 13:07
Titel: Polygon
|
 |
|
 |
|
SigiSorglos hat Folgendes geschrieben: |
Ich habe für dich mal die zweite und dritte Aufgabe gemacht. Versuche das mal nachzuvollziehen und dann eigenständig weitermachen. Es bringt dir nichts, wenn du einfach die komplett Lösung aus dem Forum kopierst
Falls du Fragen hast, melde dich gerne nochmal. |
Hallo,
weiß vielleicht jemand wie man bei diesem Programm nun eine Erweiterung hinzufügt, sodass man nach der Ausgabe der Ergebnisse noch eine Abfrage machen kann ob noch ein Punkt hinzugefügt oder gelöscht werden soll. Das Programm soll auch beendet werden können.
So soll man dabei vorgehen:
1. Fügen Sie nach der Ausgabe der Ergebnisse eine Abfrage in ihren Code ein, die den
Nutzer fragt, was als nächstes getan werden soll. Implementieren Sie die Benutzerabfra-
ge:
'
Was wollen Sie jetzt machen? (0: Programm beenden, 1: Knoten löschen
, 2: Knoten einfügen)
'
. Verwenden Sie hierfür eine
while
-Schleife, die abbricht, sobald
der Benutzer
0
eingibt. Die Auswertung der Benutzereingabe selbst soll später implementiert
werden (siehe Punkt 3).
2. Implementieren Sie für das Einfügen und Löschen von Knoten jeweils eine Funktion:
knoten_loeschen
und
knoten_einfuegen
. An beide Funktionen übergeben Sie die Felder
x
,
y
und die aktuelle Anzahl der Knoten.
In der Funktion
knoten_einfuegen
soll die Eingabe der Koordinaten des neuen Kno-
tens sowie die Abfrage der Knotennummer, nach welcher der neue Knoten eingefügt
werden soll, implementiert werden.
In der Funktion
knoten_loeschen
muss entsprechend die Knotennummer des zu
löschenden Knotens abgefragt werden.
Aktualisieren Sie anschließend innerhalb ihrer neuen Funktionen die Felder
x
,
y
sowie
die Anzahl der Knoten.
3. Fügen Sie nun in ihre Benutzerabfrage den Aufruf der externen Funktionen in einer
switch
case
Kontrollstruktur ein.
4. Geben Sie anschließend den neuen Umfang und den neuen Flächeninhalt mit Hilfe der bereits
ausgelagerten Funktionen
poly_umfang
und
poly_flaeche
aus. Denken Sie beim Löschen
daran, dass der Polygonzug geschlossen sein muss und behandeln Sie den Sonderfall
Löschen
von Knoten 1
entsprechend.
5. Plotten Sie die eingegebenen Knoten nach jeder abgeschlossenen Modifikation zur visuellen
Kontrolle.
Hoffentlich kann jemand helfen.
Bin schon am verzweifeln
Danke im Voraus
|
|
|
Tobrix |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 6
|
 |
|
 |
Anmeldedatum: 16.01.18
|
 |
|
 |
Wohnort: München
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 21.01.2018, 16:23
Titel:
|
 |
Da ich eins zu eins das selbe Problem habe denke ich du gehst auch auf die TUM?
|
|
|
Tobrix |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 6
|
 |
|
 |
Anmeldedatum: 16.01.18
|
 |
|
 |
Wohnort: München
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 21.01.2018, 16:41
Titel:
|
 |
das ist schonmal die 1. Aufgabe
|
|
|
Tobrix |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 6
|
 |
|
 |
Anmeldedatum: 16.01.18
|
 |
|
 |
Wohnort: München
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 21.01.2018, 16:46
Titel:
|
 |
So sieht meine Funktion bisher aus
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|