LectiaDeInfo.tk
InFormeaza-te!
 

 

Utilizare QuickWatch in  MinGW Developer Studio(ex: QuickSort)

1) se scrie programul in intregime

#include<iostream.h>

int a[20], n;

int pivot(int st, int dr)

{

     int aux, i,j,di,dj;

     i=st;

     j=dr;

     di=0;

     dj=1;

     while(i

     {

           if (a[i]>a[j])

           {

                aux=a[i];

                a[i]=a[j];

                a[j]=aux;

                aux=di;

                di=dj;

                dj=aux;

           }

           i=i+di;

           j=j-dj;

     }

     return i;

}

void dei(int st, int dr)

{

     int p;

     if ( st < dr )

     {

           p=pivot(st,dr);

           dei(st,p-1);

           dei(p+1,dr);

     }

}

int main()

{

     int i;

     cout<<"n=";

     cin>>n;

     for (i=1;i<=n;i++)

     {

           cout<<"a["<

           cin>>a[i];

     }

     dei(1,n);

     cout<<"vectorul sortat este: ";

     for(i=1;i<=n;i++)

           cout<

     return 0;

}

 


 

2) se stabilesc breakpoint-uri(puncte de oprire) la instructiuni valide cu F9 sau Debug->Toggle Breakpoint(un breakpoint se scoate tot cu F9)

-in ex dat in fata lui cout<<"n="; din main

3) un breakpoint are bulina rosie la inceput

4) se apasa F5 sau Debug->Go =>ecranul negru(terminal)

5) incepe rularea programului, peste bulina rosie apare o sageata galbena care stabileste punctul de plecare

6) se deschide fereastra QuickWatch cu Shift+F9 sau Debug->QuickWatch

7) apare o fereastra in care se vor adauga pe rand variabilele de urmarit

8) se trece la instructiunea urmatoare prin F10 sau Debug->Step Over

9) daca se apasa din nou  F10 se permite introducerea datelor in terminal

10) se da valoare lui n=9

11) se trece la instructiunea urmatoare, adica for

12) se apasa F10 =>trece la instructiunea urmatoare

13) se vede in fereastra QuickWatch ca i a devenit 1

14)  se apasa F10 si apare in terminal a[1]

15)  se apasa iar F10 si se poate introduce valoarea lui a[1]=6 apoi Enter

16) valoarea 6 ajunge in vector si sageata galbena revine la for

17) F10, sageata trece la urmatoare instr(adica cout), se vede in QuickWatch ca i devine 2

18) F10 si apare in terminal a[2]=

19) F10 si se poate da valoare, adica 2 apoi se apasa Enter si 2 ajunge in vector

20)  se repeta pt toate valorile vectorului a

21) dupa ce s-a dat si valoare lui a[9]=7 se vad in QuickWatch elementele din vectorul a

22) F10, i este 10 si sageata trece la urmatoarea instr , adica dei(1,n)

PASII DE LA 8-21 POT FI INLOCUITI CU 23

23)  se pune  cursorul in punctul in care vrem sa ajungem si apasam Ctrl+F10 sau Debug->Run to Cursor=>introduc valorile n, a[1]..a[9] si se opreste in fata la dei(1,n)

24) F11 sau Debug->Step Into pt a intra in interiorul functiei  dei

25) sageata galbena a sarit la prima instr din fct dei

26) F10 , se  trece la urm. instr. adica p=pivot(st,dr)

27) se observa in QuickWatch st=1, dr=9

28) F11 pt a intra in interiorul fct pivot

29) cu F10 se trece prin fiecare instr din fct pivot si se observa  modif din QuickWatch

30) F10 pana ultima instr din pivot adica return i

31) F10, sageata galbena ajunge iar in dei la instr dei(st,p-1)

32) F11, s-a ajuns la prima instr din dei

33) F10, sageata trece la p=pivot(st,dr)

          =daca F11, se intra in fct pivot

          =daca F10, se executa instr din pivot fara a vedea  pas cu pas

34) s-a ales F10 , se trece la dei(st,p-1) si p=3

35) F10, se trece la dei(p+1,dr)

36) F10, termina fct dei pt st=1,dr=5

37) F10, se ajunge iar la dei(p+1,dr) cu st=1, dr=9

38) F10, se termina fct dei pt st=1, dr=9, sus in QuickWatch se observa vectorul a

39) F10, se trece in main la cout<<"vectorul sortat este: "

40) F10, se apare mesajul in terminal, sageata galbena trece la instr urm, adica for

41) F10, se trece la instr cout din for

42) F10, se afiseaza prima valoare din vectorul sortat si sageata galbena revine la instr for

43) F10, se trece la instr cout din for, se observa in QuickWatch ca i isi schimba val, i=2

44) F10, se afiseaza urmatoarea val din vectorul sortat

45) F10 pana afiseaza toate valorile

46) F10 si se ajunge la return 0 din main => sfarsit program

 

 

 

 

 

 

Copyright (c)2010 LectiaDeInfo.tk
Powered by: Best Web Hosting and Affiliate Programs Directory. Created with Free Website Builder