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