Introducere in Stiinta Calculatoarelor 2013 | Page 89

mijlocul listei). Subprogramul CautaLogaritmic se bazează pe alte subprograme (funcţii) necesare prelucrărilor: Vida(Lista) care indică dacă lista nu mai are elemente, adică este vidă; Jumate(Lista) indică numărul aflat la jumătatea listei; JumateInf(Lista) extrage jumătatea inferioară iar JumateSup(Lista) extrage jumătatea superioară al listei. CautaLogaritmic(Lista, Tinta) { if (Vida(Lista)) {Afiseaza „Studentul căutat nu există în listă”; return} else { Pivot = Jumate(Lista); if (Pivot == Tinta) {Afișează „Informaţii despre studentul căutat ...” ; return} if (Pivot < Tinta) {Lista = JumateInf(Lista); CautaLogaritmic(Lista, Tinta)} if (Pivot > Tinta) {Lista = JumateSup(Lista); CautaLogaritmic(Lista, Tinta)} } } // final CautaLogaritmic Subprogramul CautaLogaritmic este recursiv (v. 0); simbolurile ==, <, >, sunt operatori relaţionali ”egal”, „mai mare”, „mai mic”, cu rezultat logic (adevărat/fals). 89