Scrigroup - Documente si articole

Username / Parola inexistente      

Home Documente Upload Resurse Alte limbi doc  


AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Goto-uri si etichete

c

+ Font mai mare | - Font mai mic





DOCUMENTE SIMILARE

Trimite pe Messenger
Break
Conversii de tip
PROGRAMAREA STRUCTURILOR DE DATE IN C
RECURSIVITATE probleme rezolvate
Declaratii
Struct (inregistrarea)
Operatori relationali si logici
Constante simbolice
Memoria partajata
PRELUCRARI ASUPRA SIRURILOR DE CARACTERE

TERMENI importanti pentru acest document

Goto-uri si etichete

Limbajul C ofera instructiunea - de care se poate abuza oricit -

goto si etichete pentru ramificare. Formal, goto nu este necesara




niciodata si in practica este aproape intodeauna usor sa scriem

cod fara ea. Noi nu am folosit goto in aceasta carte.

Cu toate acestea, va sugeram citeva situatii in care goto isi

poate gasi locul. Cea mai obisnuita folosire este aceea de a

abandona prelucrarea in anumite structuri puternic imbricate, de

exemplu de a iesi afara din doua bucle deodata. Instructiunea

break nu poate fi folosita deoarece ea paraseste numai bucla cea

mai din interior. Astfel:

for ()

for ()

error:

descurca beleaua

Aceasta organizare este manevrabila daca codul de minuire

a erorii este netrivial si daca erorile pot apare in locuri

diferite. O eticheta are aceeasi forma ca si un nume de varia-

bila si este urmata de doua puncte. Ea poate fi atasata oricarei

instructiuni dintr-o aceeasi functie ca si goto.

Ca un alt exemplu, sa consideram problema gasirii primului



element negativ dintr-un tablou bidimensional. (Tablourile multi-

dimensionale sint discutate in Capitolul 5). O posibilitate este:

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

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

if (v[i][j] < 0)

goto found;

/* nu s-a gasit */

found:

/* s-a gasit la pozitia i,j */

Codul implicind un goto poate fi scris intodeauna fara goto,

chiar daca pretul pentru aceasta este o variabila suplimentara,

sau teste repetate. De exemplu, cautarea in tablou devine:

found = 0;

for (i = 0; i < N && !found; i++)

for (j = 0; j < M && !found; j++)

found = v[i][j] < 0;

if (found)

/* a fost la i-1, j-1 */

else

/* nu a fost gasit */

Cu toate ca nu sintem dogmatici in privinta subiectului, se pare

ca e adevarat ca instructiunea goto ar trebui folosita cu econo-

mie, daca nu chiar deloc.






Politica de confidentialitate



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 624
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2022 . All rights reserved

Distribuie URL

Adauga cod HTML in site