Durch C ++ Code auf dem Papier gehen, wie würdest du es tun? [geschlossen]

8

In meiner Programmierklasse haben wir Tests und Tests basierend auf Codebeispielen, die wir durchlaufen müssen, um die endgültige Ausgabe zu bestimmen. In der Regel sind das knifflige Code-Teile und wenn ich realisiere, stecke ich in einer zufälligen Funktion fest und habe keine Ahnung, was ich mache.

Wie durchläuft man den Code auf Papier richtig? Verfolgen von Schleifen, Variablen, Funktionen, alles, es ist verwirrend für mich.

Zum Beispiel, hier ist ein Quiz der Vergangenheit, das ich hatte, das ich zu 100% bekommen habe, aber es hat mich ewig gekostet und war sehr chaotisch:

%Vor%     
eveo 24.03.2013, 23:18
quelle

2 Antworten

0

Übung ist der beste Weg, um Code zu verstehen. Wenn ich versuche, so zu trainieren, versuche ich nicht am Anfang alle Funktionen zu verstehen. Ich fange von main an und gehe wie Debugger Zeile um Zeile alle Variablen beobachten. Wenn dich etwas verwirrt, schreibe einfach alle Variablen auf Papier und markiere jede Änderung. Es gibt jedoch keine Möglichkeit, das Lesen und Verstehen von Code besser und schneller zu lernen als das Training.

    
Dcortez 24.03.2013 23:25
quelle
0

"Denk wie ein Computer"

Sie haben ein Programm und Daten, die das Programm verwendet.

Sie müssen wissen, in welchem ​​Programm Sie sich gerade befinden. Das muss wirklich ein Stack sein, denn wenn Sie eine Methode aufrufen, müssen Sie wissen, wo Sie zurückkommen, wenn die Methode endet.

Sie müssen jede Variable im Auge behalten - natürlich können Variablen lokal für einen Methodenaufruf sein, also sind diese auch wirklich ein Stapel, und da müssen Sie wirklich vorsichtig sein, um sicherzustellen, dass Sie die richtige Instanz ändern einer lokalen Variablen. Globale Variablen sind einfach, da es nur eine Kopie gibt, also können Sie sie in Ihren Stapel legen, aber nur unten.

Um auf Papier zu arbeiten, ist es am einfachsten, den unteren Teil des Stapels oben auf die Seite zu legen und den Stapel nach unten zu vergrößern. Denken Sie daran, dass wenn eine Methode zurückkehrt, lokale Variablen nicht mehr existieren, also rieb sie aus oder markiere den oberen Teil des Stapels auf irgendeine Weise.

Die Dinge werden noch lustiger, wenn Sie Multi-Threading machen ...

    
John3136 24.03.2013 23:31
quelle

Tags und Links