2016-01-25 4 views
1

Ceci est une base question sur l'utilisation de tables de suivi pour aider à une analyse à sec d'un algorithme simple.Comment sécher avec des tables de traçage

Ce que je trouve le plus difficile est quand prendre une nouvelle ligne dans la table de trace? Par exemple, prendre la question suivante:

enter image description here

Voici le tableau d'entiers qu'il applique à: enter image description here

Le tableau suivant de trace est présentée comme on complète une course sèche. Voici la solution:

enter image description here

Je comprends que initialisant les variables Nombre, inférieur & supérieur apparaissent sur la première ligne, mais quand je vais dans la boucle While, je suis tenté de mettre la valeur sur la première ligne aussi, pour la variable Courant. Essentiellement, ce que je suis tenté de le faire:

enter image description here

Pourquoi cette solution exige que la valeur actuelle, qui est de 5, apparaissent sur la deuxième ligne? Je suppose que la question pourrait être reformulée en 'Quand dois-je prendre une nouvelle ligne dans une table de trace? '

Merci.

Répondre

1

Je pense qu'il n'y a pas de façon spécifique de faire une table de traçage, ce qui signifie que vous devez configurer vos règles avant de continuer.
considèrent cet exemple:
enter image description here

et cela aussi:
enter image description here

avez-vous remarqué la différence entre iterator boucle dans chacun. Dans le premier exemple, ils placent la valeur d'initialisation de l'itérateur en première ligne, et dans le deuxième exemple ils placent l'initialisation de l'itérateur de boucle dans la deuxième ligne.
également jeter un oeil à wiki ils ont également mis l'initialisation de la boucle dans la deuxième ligne.
aussi this video a un exemple similaire à ceux que j'ai posté ici et est toujours démarrer l'itérateur de boucle dans la deuxième ligne.
aussi this exemple a une approche totalement différente, qui est chaque ligne de code dans une nouvelle ligne dans la table de trace.
vous pouvez aussi trouver une autre approche différente pour la table de trace here

Enfin:

À mon avis a choisi les règles qui ont du sens pour vous, par exemple:
1 première ligne contiendra les valeurs par défaut les variables.
En ce qui concerne les itérations de boucle, placez l'itérateur de boucle dans la même ligne que les variables affectées par cette itération, comme le deuxième exemple que j'ai posté ci-dessus.
concernant votre question Je pense qu'il est plus clair de mettre première valeur 5 dans la deuxième ligne, de sorte que vous pouvez suivre ce que chaque itération de boucle affectent vos variables d'une manière claire.