ВУЗ:
Составители:
Рубрика:
- 13 -
равна maxlen; нельзя удалять из пустого списка; необходимо правильно
задавать номер i элемента в списке: 1 ≤ i
≤ last. Проверку условий для
корректной работы со списками реализуем в виде логических функций:
function is_full(var L: list):boolean;
{ возвращает истину, если длина списка максимальна,
иначе – ложь}
begin
is_full:=L.last=maxlen
end; {is_full}
function is_empty(var L: list):boolean;
{ возвращает истину, если список пуст, иначе – ложь}
begin
is_empty:=L.last=0
end; {is_empty}
function is_valid(var L: list;i:integer):boolean;
{ возвращает истину, если в списке есть i-й элемент,
иначе - ложь }
begin
is_valid:=(1<=i) and (i<=L.last)
end; {is_valid}
Опишем также логическую функцию is_present(L, x), проверяющую,
есть ли элемент x в списке L.
function is_present(var L: list; x: elemtype):boolean;
{ возвращает истину, если элемент со значением x
присутствует в списке, иначе – ложь}
var found:boolean;
p:integer;
begin
found:= false;
p:=1;
while not found and (p <= L.last) do
begin
found:= x = L.elems[p];
p:= p+1
end;
is_present:= found
end; {is_present}
Рассмотрим работу этой функции для разных случаев. Если список L пуст
(L.last=0), цикл в теле функции не выполнится ни разу, так как условие
p<=L.last ложно, и функция возвращает значение «ложь». Если элемент со
значением x присутствует в списке, то переменная found после нескольких
повторений тела цикла получит значение «истина», и цикл завершится, так как
равна maxlen; нельзя удалять из пустого списка; необходимо правильно задавать номер i элемента в списке: 1 ≤ i ≤ last. Проверку условий для корректной работы со списками реализуем в виде логических функций: function is_full(var L: list):boolean; { возвращает истину, если длина списка максимальна, иначе – ложь} begin is_full:=L.last=maxlen end; {is_full} function is_empty(var L: list):boolean; { возвращает истину, если список пуст, иначе – ложь} begin is_empty:=L.last=0 end; {is_empty} function is_valid(var L: list;i:integer):boolean; { возвращает истину, если в списке есть i-й элемент, иначе - ложь } begin is_valid:=(1<=i) and (i<=L.last) end; {is_valid} Опишем также логическую функцию is_present(L, x), проверяющую, есть ли элемент x в списке L. function is_present(var L: list; x: elemtype):boolean; { возвращает истину, если элемент со значением x присутствует в списке, иначе – ложь} var found:boolean; p:integer; begin found:= false; p:=1; while not found and (p <= L.last) do begin found:= x = L.elems[p]; p:= p+1 end; is_present:= found end; {is_present} Рассмотрим работу этой функции для разных случаев. Если список L пуст (L.last=0), цикл в теле функции не выполнится ни разу, так как условие p<=L.last ложно, и функция возвращает значение «ложь». Если элемент со значением x присутствует в списке, то переменная found после нескольких повторений тела цикла получит значение «истина», и цикл завершится, так как - 13 -
Страницы
- « первая
- ‹ предыдущая
- …
- 11
- 12
- 13
- 14
- 15
- …
- следующая ›
- последняя »