Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou
 HomeExploreaza
upload
Upload




INSTRUCTIUNEA GOTO

c


INSTRUCŢIUNEA GOTO

Este o instructiune de salt neconditionat cu formatul:

goto eticheta ;

Controlul executiei programului este transferat la instructiunea eticheta cu eticheta indicata īn instructiunea goto. Atāt instructiunea goto, cāt si eticheta trebuie sa se g& 414e44e #259;seasca īn aceeasi functie.



Instructiunea goto este controversata pentru orice limbaj de programare si utilizarea ei īn exces face ca programul rezultat sa poata fi urmarit, modificat si eventual corectat cu destula greutate, deoarece programul nu mai poate fi parcurs sectional de sus īn jos. Faptul ca limbajul C este structurat ne permite sa evitam folosirea obositoare a instructiunii goto utilizānd instructiunile break, continue si return sau alegānd tehnici de programare structurate.

Totusi, sunt cāteva situatii cānd o instructiune goto si-ar gasi utilitatea, de exemplu la iesirea fortata dintr-o bucla incluse īn alte bucle, caz īn care instructiunea break ne permitea iesirea numai din bucla cea mai inferioara. Īn acest caz, un goto este indicat deoarece evita repetari inutile ale corpului buclei. Dar, cu putin efort din partea programatorului, se poate renunta si la acest goto, dupa cum puteti vedea īn exemplul de mai jos:

Exemplul 3.12.1.

Se cauta valoarea x printre elementele matricii a m n prin cautarea secventionala pe linii:

. . . . . . . . . . . . . . .

for (i = 0; i < m; i + +)

for (j = 0; j < n; j + +)

if (a i j = = x)

goto succes;

/ * insucces */

succes:

/* cautare cu succes x = a i j */

si iata aceeasi secventa de program fara instructiunea goto si fara repetari inutile ale corpului buclei:

for (i = 0, succes = 0; i < m & & succes = = 0; i + +)

for (j = 0; j < n & & succes = = 0; j + +)

if (a i j = = x)

succes = 1;

if (succes)

. . . . . . . . . . . .

/* cautare cu succes x = a i -1 j - 1 */

. . . . . . . . . . . .

else

. . . . . . . . . . . .

/* insucces */

Observati ca fara a folosi variabila suplimentara succes la testul din cadrul instructiunii for s-ar fi executat repetari inutile ale corpului buclei chiar dupa gasirea valorii x prin elementele matricii.

Ţinānd totusi cont de dezavantajele utilizarii instructiunii goto, recomandam sa se evite pe cāt posibil folosirea acesteia.

Toate exemplele din aceasta lucrare sunt fara instructiunea goto.



Document Info


Accesari: 4855
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2024 )