C/C++ Code in Struktogramm umwandeln
-
Hallo zusammen,
ich bin neu hier. Ich studiere Maschinenbau-Informatik und habe leider noch relativ wenig Ahnung vom Programmierern. Ich habe mir bereits Visual C++ runtergeladen und ein paar Übungen gemacht. Ich hoffe das Ihr mir bei folgender Aufgabe ein wenig unter die Arme greifen könnt.
void Controller::run()
{
do {
wert=sensor.GetValue();
if (wert > 120) {
aktor.on();
}
else {
aktor.off();
}
counter++;
if ( counter >= 100 ){
terminal.sendByte(wert);
}
} while(true)
}Aus dem Code soll ein Struktogramm erstellt werden. Leider bekomme ich den Code bzw. das Programm nicht zum laufen. Habe schon X male probiert aber bekomme es nicht hin. Wenn ich ein lauffähiges Programm hätte könnte ich auch ein Struktogramm erstellen. Vielleicht kann mir ja jemand helfen. Vielen Danke schon mal !
-
Das ist ein Bruchstück eines kleinen Teils eines Programms. Da gibt es weder Struktur noch gibt es etwas, was man zum Laufen bringen kann.
-
1. Du plenkst.
2. RTFM!Im Einzelnen, weil sich in der Vergangenheit Leute nicht entblödet haben, zu behaupten, dass ihre Zeit wertvoller ist als die der Leser:
- Codetags
- Fehlermeldung
- (wenn angebracht und möglich) minimal reduziertes, aber vollständig kompilierbares Beispiel posten.
-
Man muss ein Programm erst zum Laufen bringen und kann dann ein Struktogramm erstellen? Früher hat man das andersrum gemacht - ich glaub ich werde alt.
-
SeppJ schrieb:
Da gibt es weder Struktur noch gibt es etwas, was man zum Laufen bringen kann.
Naja, für ein Struktogramm gibt es da genug "Struktur".
-
Wenn man als Student nicht in der Lage ist, nach Struktogramm zu googeln und dann nach 5 Minuten einlesen diesen Funktionsblock in eines zu übersetzten, dann sollte man lieber etwas anderes machen (möchte hier jetzt niemandem auf den Schlips treten).
P.S.: Es reichen Lineal und Stift.
Falls die Aufgabe lautet eine Software zu programmieren, die C++ Quellcode "parst" und dann Struktogramme dazu zeichnet, dann wird das schon um einiges komplizierter.
P.P.S.: Ihr habt echt super Humor
-
Hallo zusammen,
ich sitze an der gleichen Aufgabe. Die Erstellung eines Struktogramms ist kein Problem. Jedoch sind mir einige Teile des Codes nicht ganz klar. Vielleicht könnt ihr helfen.
1. void Controller::run()
Mein Verständnis: Controller ist die Klasse, run die Methode2. wert=sensor.getValue()
Mein Verständnis: Der Variablen wert wird über getValue ein Wert der Klasse Sensor zugewiesen3. terminal.sendByte(wert)
Mein Verständnis: gute Frage... über sendByte wird wert irgendwo hingeschickt. terminal ist auch eine Klasse, aber den genauen Sinn verstehe ich nicht.4. while (true)
Mein Verständnis: die Abarbeitung erfolgt solange wie die Bedingung erfüllt ist. Aber was genau ist hier "true"? Im Struktogramm muss ja stehen "... = true". Und was an diese Punkte kommt ist mir noch ein RätselDanke für eure Hilfe
Grüße
Annalena
-
Annalena210 schrieb:
1. void Controller::run()
Mein Verständnis: Controller ist die Klasse, run die MethodeOder ein Namespace und Funktion
2. wert=sensor.getValue()
Mein Verständnis: Der Variablen wert wird über getValue ein Wert der Klasse Sensor zugewiesenWenn sensor eine Klasse wäre, müsste es sensor::getValue() lauten. Woher eine Funktion einen Wert nimmt, sieht man, wenn man sich den Code der Funktion anschaut.
3. terminal.sendByte(wert)
Mein Verständnis: gute Frage... über sendByte wird wert irgendwo hingeschickt. terminal ist auch eine Klasse, aber den genauen Sinn verstehe ich nicht.Analog
4. while (true)
Mein Verständnis: die Abarbeitung erfolgt solange wie die Bedingung erfüllt ist. Aber was genau ist hier "true"? Im Struktogramm muss ja stehen "... = true". Und was an diese Punkte kommt ist mir noch ein RätselTrue ist. Nichts weiter.
-
Annalena210 schrieb:
4. while (true)
Mein Verständnis: die Abarbeitung erfolgt solange wie die Bedingung erfüllt ist. Aber was genau ist hier "true"? Im Struktogramm muss ja stehen "... = true". Und was an diese Punkte kommt ist mir noch ein RätselEndlosschleife.
Da muß kein do-while hin.
Das kann, je nach Sprache, auch ein anderes Konstrukt sein.In einem Programmablaufplan wäre das einfach eine Linie zu dem Punkt, an dem das
do
steht.