Question

Control flow graphs

Compte tenu des terminologies ci-dessus pour les graphiques de flux de contrôle de dessin pour tout programme, il est très simple. Par exemple :

While A
if B
do ..
else do ..
end while

Par exemple ci-dessus, tout en faisant la décomposition, je peux dire que c'est

D2 (d1)

c'est-à-dire que pendant et puis à l'intérieur, c'est if-then-else.

Considérant la même situation. Comment pouvez-vous représenter

Continuer et casser les déclarations

Pour toujours FOR statement il n'y a pas de terminologie définie comme pour while et if then else. FOR statement tombe sous while.

Mon professeur dit en théorie, il n'y a rien Break and continue statement Et je n'ai rien trouvé en ligne aussi.

Par exemple :

# include <stdio.h>
int main(){
   float num,average,sum;
   int i,n;
   printf("Maximum no. of inputs\n");
   scanf("%d",&n);
   for(i=1;i<=n;++i){
       printf("Enter n%d: ",i);
       scanf("%f",&num);
       if(num<0.0)
       break;                     //for loop breaks if num<0.0
       sum=sum+num;
}
  average=sum/(i-1);       
  printf("Average=%.2f",average);
  return 0;
}

Le graphique de flux de contrôle pour cela est comme ci-dessous: le nœud a un numéro de ligne écrit: (désolé l'image est latérale)enter image description here

J'ai décomposé ceci comme:

P1;P1;D2(P1;P1;D1);P1

* P1 represents set of statements outside loops

Je ne sais pas si c'est correct. Mes professeurs dit d'utiliser quelque chose comme D22 pour la pause, comme créer un nouveau terme à partir de l'image ci-dessus.

Ma principale question ici est la décomposition. Je sais que j'ai dessiné le CFG correctement, mais la décomposition est-elle correcte selon la première image ?. L'état de pause crée un certain temps comme vous pouvez le voir dans CFG, mais je ne sais pas s'il doit être considéré comme si et je suppose que nous ne pouvons pas, selon mon professeur.

Je travaille là-dessus et je voulais savoir que si quelqu'un a rencontré quelque chose pour la pause et continuer les déclarations pendant la décomposition des graphiques, faites-le moi savoir.

Merci.

PS: S'il vous plaît, faites-le moi savoir, si je ne suis pas clair et si plus d'informations sont nécessaires. Je peux probablement écrire un exemple et télécharger l'image.

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
Non affilié à cs.stackexchange
scroll top