Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб.Пух.1.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
178.69 Кб
Скачать

3.4 Набор тестов

Если в списке нет повторяющихся элементов, то просто выводится список элементов. Например, в списке с помощью случайной генерации сформировался список элементов: 14; 18; 20; 13. То выведется на экран этот же список.

Если в списке есть два и больше одинаковых элементов и мы хотим перевернуть числа находящиеся между двумя крайними заданными элементами. Например: 6, 6, 17, 9, 6, 3, 5, 19. Получим: 6, 9, 17, 6, 6, 3, 5, 19.

Если дан список: 20, 13, 14, 9, 18, 13. Выведется: 20, 13, 18, 9, 14, 13.

Глава 4. Задача V 1 с

Описать процедуру или функцию, которая: подсчитывает число вершин на n- ном уровне непустого дерева T (корень считать вершиной 0-го уровня).

4.1 Листинг программы

program K_vo_elementov;

type

tl=^Tree;

Tree=Record

data:real;

L,R:tl;

end;

Var

kd:tl;

E,d,sm:real;

s:string;

code:integer;

k,n,m:integer;

Procedure InsTree(n:real;var t:tl);

begin

if t=nil then

begin

new(t);

with t^ do

begin l:=nil;

r:=nil;

data:=n;

end

end

else if n<=t^.data then InsTree(n,t^.l)

else InsTree(n,t^.r)

end;

Procedure PrintTree(t:tl);

begin

if t<>nil then

begin

write(t^.data:1:1,' ');

PrintTree(t^.l);

PrintTree(t^.r);

end;

end;

Procedure Urov(t:tl; var k:integer; n,m:integer);

begin

if t<>nil then

begin

if m=0 then if m=n then k:=1 else k:=0

else if m=n then k:=k+1 else;

Urov(t^.l,k,n,m+1);

Urov(t^.r,k,n,m+1);

end;

end;

begin

writeln('<Enter> - konec vvoda');

writeln('vvodite derevo: ');

kd:=nil;

readln(s);

val(s,d,code);

while s<>'' do

begin InsTree(d,kd);

readln(s); val(s,d,code);

end;

write('n='); readln(n);

Urov(kd,k,n,0);

writeln('k-vo: ',k);

{ PrintTree(kd);}

readln;

end.

4.4 Набор тестов

Например, имеем дерево: 30, 40, 20, 25, 17, 63, 19, 24, 56.

Необходимо узнать число вершин на 2 и 7 уровне.

Число вершин на втором уровне равно 3.

Для проверки изобразим схематично:

Число вершин на 7 уровне равно нулю.

Число вершин на 0 уровне всегда равно 1 (по условию задачи – дерево не пустое).

ВЫВОДЫ

1) Была сделана программа для списков, которая включает в себя создание пустого списка, добавление элемента (в начало списка, в конец списка и после элемента с заданным номером, после ключа (вывод на экран дисплея), удаление элемента из списка (из начала, из конца, удаление элемента с заданным номером, с заданным ключом).

2) Создана программа для кольцевого списка, в которой переворачивались все элементы стоящие между двумя крайними заданными элементами.

3) К третьей задаче представлена программа, которая находит число вершин на n-ном уровне непустого дерева T.