Проверочная работа «Информационные модели» Вариант 2 Задание 1. Построить информационную модель на графах. Потомки Владимира Мономаха Владимир Мономах умер в 1125 г. Он оставил 4 сыновей: Мстислава (год смерти — 1132), Ярополка (1139), Вячеслава Туровского (1154) и Юрия Долгорукого (1157). После Мстислава осталось 3 сына: Изяслав Волынский (1154), Всеволод Новгородский (1138) и Ростис- лав Смоленский (1168). УИзяслава Волынского был сын Мстислав (1170), у Мстислава сын Роман (1205), у Романа — Даниил Галиц- кий (1264). Ростислав Смоленский имел 4 сыновей: Романа (1180), Рюрика (1215), Давида (1197) и Мстислава Храброго (1180). После Романа Ростиславича остался сын Мстислав Киевский (1224), после Мстислава Храброго - сын Мстислав Удалой (1228), Юрий Долго- рукий имел 3 сыновей: Андрея Боголюбского (1175), Михаила (1177) и Всеволода (1212). Сыновьями Всеволода были Константин (1217), Юрий (1238) и Ярослав (1246). У Ярослава Всеволодовича было 3 сына: Александр Невский (1263), Андрей Суздальский (1264) и Ярослав Тверской (1272). Сыновья Александра Невского: Димит. рий Переяславский (1294), Андрей Городецкий (1304) и Даниил Мо. сковский (1303). У Андрея Суздальского был сын Василий (годы его жизни неизвестны), у Ярослава Тверского сын Михаил (1318).
type
Point=record
x,y:real
end;
Line=record
A,B:Point
end;
Triangle=record
A,B,C:Point;
sa,sb,sc:real; { длины сторон }
end;
procedure GetPoint(PointName:char; var M:Point);
begin
Write('Введите координаты точки ',PointName,'(x,y): ');
Read(M.x,M.y)
end;
function LineLength(A,B:Point):real;
begin
LineLength:=sqrt(sqr(B.x-A.x)+sqr(B.y-A.y))
end;
procedure CreateTriangle(var T:Triangle; var l:boolean);
begin
With T do begin
GetPoint('A',A);
GetPoint('B',B);
GetPoint('C',C);
sa:=LineLength(B,C);
sb:=LineLength(A,C);
sc:=LineLength(A,B);
l:=(sa+sb>sc) and (sa+sc>sb) and (sb+sc>sa)
end
end;
function TriangleIsLikes(T1,T2:Triangle):boolean;
var
k1,k2,k3:real;
begin
k1:=T1.sa/T2.sa; k2:=T1.sb/T2.sb;
if k1=k2 then begin
k3:=T1.sc/T2.sc;
TriangleIsLikes:=k1=k3
end
else
TriangleIsLikes:=False
end;
var
T1,T2:Triangle;
legal:boolean;
begin
Writeln('*** Первый треугольник ***');
CreateTriangle(T1,legal);
if legal then begin
Writeln('*** Второй треугольник ***');
CreateTriangle(T2,legal);
if legal then
if TriangleIsLikes(T1,T2) then Writeln('Треугольники подобны')
else Writeln('Треугольники не подобны')
else Writeln('Треугольник невозможно построить')
end
else Writeln('Треугольник невозможно построить')
end.
Например:
В почтовое отделение поступило 45 посылок и 68 писем, которые необходимо рассортировать по индексу, весу (или любому другому критерию, которые придумать должен решающий задачу).
Так же на почту из центрального отделения привезли 30 посылок и 142 письма, которые необходимо рассортировать для почтальонов по принципу (напрмер номера домов, фамилии получателей и вес (объем) посылки, для определения вида доставки, а так же внутри этой подкатегорию сортировки по имени, номеру и т.п.).
Тут можно много сюжетов придумать, думаю вам легче будет это сделать, я лишь предложил направление. Надеюсь полезное.