Mulţumiri



Yüklə 1,64 Mb.
səhifə30/118
tarix03.01.2022
ölçüsü1,64 Mb.
#34196
1   ...   26   27   28   29   30   31   32   33   ...   118

Indexul vectorilor


Iteratorii (indecşii) colecţiilor sunt accesaţi folosind operatorul “[]” (paranteze pătrate).

  • Exemple:

Nimic fcCurbă[2].Rotunjeşte(Întreg nIndex);
      1. Enumerare


Enumerările sunt utilizate fără operatori speciali, în cazul când este vorba de un element, sau folosind operatorul “{}” (paranteze acolade), dacă sunt mai multe elemente.

  • Exemple:


//enumerare de instrucţiuni

Dacă(condiţie)

{

rA = rB + rC; //instrucţiunea 1;



rSumă ++; //echivalent cu rSumă = rSumă +1; instrucţiunea 2;

} //Dacă



Altfel

rSumă --; //echivalent cu rSumă = rSumă – 1; instrucţiunea 1;



//enumerare de reali

Punct pMax = {1.0, 12.0, 10.0};

      1. Algoritm


Algoritmii (aparate matematice, proceduri, rutine, funcţii, metode) se vor regăsi în două locuri, sub formă de funcţii (în cazul în care nu sunt conţinuţi într-un corp de clasă) sau metode (în cazul în care se găsesc încapsulaţi în interiorul unei clase).

Algoritmii sunt blocuri de cod care pot returna un obiect dintr-o clasă anume, sau un obiect din clasa specială Nimic, dacă nu returnează nimic (numiţi proceduri în unele limbaje).

Algoritmii sunt scrişi subliniat în culoarea roşu închis şi suplimentar trebuiesc însoţiţi de lista de obiecte care trebuiesc transmise, scrisă folosind operatorul ”()” (între paranteze rotunde). În cazul când această listă este vidă, trebuie chemată cu paranteză rotundă deschisă, urmată de paranteză închisă, pentru a face distincţia între algoritmi şi obiecte.

Algoritmii pot să aibă unii parametri iniţializaţi în momentul definiţiei, ceea ce înseamnă că următoarele chemări ale aceluiaşi algoritm EsteApropiat() sunt valide, vor fi interpretate şi vor avea ca rezultat, ca în exemplul următor:


Boolean EsteApropiat(Real r0 = 0.0, r1= 0.0, rToleranţă = 1e-10)

{

Dacă(r0 – r1 < rToleranţă SAU r1 – r0 < rToleranţă) //echivalent Abs(r1 – r0) < rTol



Întoarce(ADEVĂRAT);

Altfel

Întoarce(FALSE);

} //EsteApropiat





  • Utilizări posibile:

Chemare

Interpretare

Rezultat

EsteApropiat(10.0, 11.0, 2.0)

EsteApropiat(10.0, 11.0, 2.0)

ADEVĂRAT

EsteApropiat(10.0, 11.0)

EsteApropiat(10.0, 11.0, 1e-10)

FALS

EsteApropiat(3.0)

EsteApropiat(3.0, 0.0, 1e-10)

FALS

EsteApropiat(0.0, _, 0.01)

EsteApropiat(0.0, 0.0, 0.01)

ADEVĂRAT

EsteApropiat(_, 11.0)

EsteApropiat(0.0, 11.0, 1e-10)

FALS

EsteApropiat()

EsteApropiat(0.0, 0.0, 1e-10)

ADEVĂRAT
        1. Funcţii


Funcţiile sunt algoritmi liberi, care nu sunt încapsulaţi în interiorul vreunei clase.

  • Exemple:


NimicAnalizează();

Real Max(Real rA, Real rB);

Punct Max(Punct rA, Punct rB);

        1. Funcţii speciale

          1. Dacă şi Dacă-Altfel

Dacă o condiţie este îndeplinită se execută prima enumerare de instrucţiuni, altfel (eventual) a doua enumerare.

Dacă(condiţie){…} [Altfel{…}]
          1. PentruFiecare

Pentru fiecare valoare, începând cu condiţia de start, sfârşind cu condiţia de sfârşit satisfăcută şi incrementând cu condiţia de incrementare, execută o enumerare de instrucţiuni.

PentruFiecare(Condiţie de start = 1; condiţia de sfârşit = 1; condiţia de incrementare = 1) {…}.
          1. PânăCând

Până când este satisfăcută condiţia execută o enumerare de instrucţiuni.

PânăCând(condiţie){…}

Se poate observa că PânăCând(condiţie) ~ PentruFiecare(_, condiţie, _).


          1. Întoarce şi Întoarce(…)

Întoarce opreşte execuţia unui algoritm şi (eventual) întoarce un obiect din clasa returnată de algoritmul respectiv.

Întoarce[(obiect de tipul clasei returnate)];
        1. Metode


Metodele sunt algoritmi specifici unui clase şi sintaxa lor este exact ca aceea de la algoritmi, cu excepţia că având acces la datele încapsulate (private, interioare unei clase), când o metodă este chemată, aceasta trebuie prefixată de numele obiectului respectiv, urmat de un operator “.” (punct).

  • Exemple:

Nimic dsPiesă.Analizează(); Real cCurbă.PuneLa(Întreg nIndex, Punct pPunct);

      1. Yüklə 1,64 Mb.

        Dostları ilə paylaş:
1   ...   26   27   28   29   30   31   32   33   ...   118




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©muhaz.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin