Граф - множество вершин и ребер, соединяющих эти вершины. Он несет информацию об элементах системы и связи между ними. Элементы системы изображаются как вершины или узлы графа. Отношения между ними изображаются как ребра или дуги графа. Деревом называют ациклический (то есть между любыми вершинами есть только один путь), связный (то есть от любой вершины графа можно добраться в другую) граф. Корень дерева - это вершина с нулевой степенью захода (то есть в нее не ведут другие ребра). Для неориентированного графа это просто выбранная нами вершина. Ветви - это ребра дерева. Листья дерева - это вершины с нулевой степенью исхода (то есть из них не выходят ребра), т.е. не имеющих поддеревьев. Надеюсь объяснил доступно.
Const n=8; var aNam, aFam, aDat: array[1..n] of string; i: integer;
begin aNam[1]:='Олег'; aFam[1]:='Бубенков'; aDat[1]:='1993'; aNam[2]:='Игорь'; aFam[2]:='Бросов'; aDat[2]:='1991'; aNam[3]:='Тимур'; aFam[3]:='Наружный'; aDat[3]:='1961'; aNam[4]:='Анастасия'; aFam[4]:='Боброва'; aDat[4]:='1985'; aNam[5]:='Михаил'; aFam[5]:='Тапаров'; aDat[5]:='1957'; aNam[6]:='Евгений'; aFam[6]:='Костарева'; aDat[6]:='1992'; aNam[7]:='Мария'; aFam[7]:='Никитин'; aDat[7]:='1977'; aNam[8]:='Ксения'; aFam[8]:='Бабенкова'; aDat[8]:='1978'; writeln('Лица, чьи фамилии начинаются на букву "Б"'); for i := 1 to n do if aFam[i][1] = 'Б' then writeln(aNam[i],' ',aFam[i], ' (', aDat[i], ')') end.
тестовый прогон:
Лица, чьи фамилии начинаются на букву "Б" Олег Бубенков (1993) Игорь Бросов (1991) Анастасия Боброва (1985) Ксения Бабенкова (1978)
Возможна также более "современная" запись программы
const n = 8;
type tP = record Nam: string; Fam: string; Dat: string end;
var M: array[1..n] of tP; i: integer;
begin with M[1] do begin Nam := 'Олег'; Fam := 'Бубенков'; Dat := '1993' end; with M[2] do begin Nam := 'Игорь'; Fam := 'Бросов'; Dat := '1991' end; with M[3] do begin Nam := 'Тимур'; Fam := 'Наружный'; Dat := '1961' end; with M[4] do begin Nam := 'Анастасия'; Fam := 'Боброва'; Dat := '1985' end; with M[5] do begin Nam := 'Михаил'; Fam := 'Тапаров'; Dat := '1957' end; with M[6] do begin Nam := 'Евгений'; Fam := 'Костарева'; Dat := '1992' end; with M[7] do begin Nam := 'Мария'; Fam := 'Никитин'; Dat := '1977' end; with M[8] do begin Nam := 'Ксения'; Fam := 'Бабенкова'; Dat := '1978' end; writeln('Лица, чьи фамилии начинаются на букву "Б"'); for i := 1 to n do With M[i] do begin if Fam[1] = 'Б' then writeln(Nam, ' ', Fam, ' (', Dat, ')') end end.