17.04.2013 Views

Florian Moraru PROGRAMAREA CALCULATOARELOR în limbajul C

Florian Moraru PROGRAMAREA CALCULATOARELOR în limbajul C

Florian Moraru PROGRAMAREA CALCULATOARELOR în limbajul C

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Stil de programare<br />

12. Tehnici de programare <strong>în</strong> C<br />

Comparând programele scrise de diversi autori <strong>în</strong> <strong>limbajul</strong> C se pot constata<br />

diferente importante atât <strong>în</strong> ceea ce priveste modul de redactare al textului sursã<br />

(utilizarea de acolade, utilizarea de litere mici si mari, s.a.), cât si <strong>în</strong> utilizarea<br />

elementelor <strong>limbajul</strong>ui (instructiuni, declaratii, functii, etc.).<br />

O primã diferentã de abordare este alegerea <strong>în</strong>tre a folosi cât mai mult facilitãtile<br />

specifice oferite de <strong>limbajul</strong> C sau de a folosi constructii comune si altor limbaje<br />

(Pascal de ex.). Exemple de constructii specifice <strong>limbajul</strong>ui C de care se poate abuza<br />

sunt:<br />

- Expresii complexe, incluzând prelucrãri, atribuiri si comparatii.<br />

- Utilizarea de operatori specifici: atribuiri combinate cu alte operatii, operatorul<br />

conditional, s.a.<br />

- Utilizarea instructiunilor "break" si “return”.<br />

- Utilizarea de pointeri <strong>în</strong> locul unor vectori sau matrice.<br />

- Utilizarea unor declaratii complexe de tipuri, <strong>în</strong> loc de a defini tipuri intermediare,<br />

mai simple. Exemplu:<br />

// vector de pointeri la functii void f(int,int)<br />

void (*tp[M])(int,int); // greu de citit !<br />

// cu tip intermediar pointer la functie<br />

typedef void (*funPtr) (int,int); // pointer la o functie cu 2 argum intregi<br />

funPtr tp[M]; // vector cu M elemente de tip funPtr<br />

O alegere oarecum echivalentã este <strong>în</strong>tre programe sursã cât mai compacte (cu cât<br />

mai putine instructiuni si declaratii) si programe cât mai explicite si mai usor de<br />

<strong>în</strong>teles. In general este preferabilã calitatea programelor de a fi usor de citit si de<br />

modificat si mai putin lungimea codului sursã si, eventual, lungimea codului obiect<br />

generat de compilator. Deci programe cât mai clare si nu programe cât mai scurte.<br />

Exemplu de secventã pentru afisarea a n <strong>în</strong>tregi câte m pe o linie :<br />

for ( i=1;i

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!