3.1.6 Моделирование иерархических данных и рекурсивных связей Создайте две ERD-диаграммы, иллюстрирующие указанную ситуацию. Постройте одну диаграмму в виде иерархической структуры, а другую — в виде рекурсивной.
Компания Curves Dynamics продает свою продукцию на всей территории США. Вся территория разделена на четыре главных региона продаж: северный, восточный, южный и западный. Каждый регион продаж имеет уникальный код. Регионы продаж состоят из торговых округов. Например, западный регион включает в себя округа Скалистые горы, Северо-западный, Тихоокеанское побережье и Тихоокеанский. Каждый округ имеет уникальный код.
Округа состоят из торговых территорий. Округ Скалистые горы включает в себя три территории: Вайоминг–Монтана, Колорадо и Юта–Нью-Мексико. Северо-западный округ состоит из двух территорий: Вашингтон и Орегон–Айдахо. Округ Тихоокеанское побережье включает в себя две территории: Калифорния и Невада. Тихоокеанский округ включает в себя территорию Гавайских островов и территорию Аляски. Каждая территория имеет уникальный код.
Каждая торговая территория разделена на торговые зоны. Например, Колорадо включает в себя две торговые зоны: Передний край и Западный склон. Каждая торговая зона имеет уникальный код.
Каждый специалист по продажам отвечает за одну или несколько торговых зон и имеет определенную квоту продаж. Каждый менеджер по продажам отвечает за один или несколько торговых округов, а руководители отделов продаж отвечают за один или несколько регионов. Каждый менеджер по продажам отвечает за территории в составе своих округов. Области ответственности сотрудников не пересекаются. За торговую зону всегда отвечает один специалист по продажам. Точно так же не пересекаются области ответственности менеджеров и руководителей отделов. Специалисты по продажам, менеджеры и руководители периодически уходят в отпуск или получают специальные задания и не отвечают за торговую зону. Каждый сотрудник, относящийся к торговому персоналу, имеет уникальный идентификатор.
1.
program n1;
var
k, s: integer;
a: array [1..8] of integer;
begin
for k := 1 to 8 do readln(a[k]); // с клавиатуры вводится массив из 8
s := 0; элементов
for k := 1 to 8 do
if a[k] < 0 then s := s + a[1]; // в цикле 4 раза к s прибавляют 1-ый элемент
writeln(s); // выводится s
end.
ответ: 4(т.к 1-ый элемент массива 1 и в нём 4 отрицательных элемента)
2.
Надо строку if a[k] < 0 then s := s + a[1];
Заменить на строку if a[k] < 0 then s := s + a[k];
Объяснение:
program max_elementarray ;
var i, max : integer ;
a : array [1..10] of integer;
begin
for i : = 1 to 10 do
begin
readln(a[i]);
end;
max : = a[1];
for i : = 2 to 10 do
if a[i]> max then max : = a[i];
writeln('max element of array = ',max) ;
readln ;
end.