Смекни!
smekni.com

Модель экспертной оценки (стр. 7 из 7)

for l:=1 to M do

begin

if vybor1=name[l] then

begin

b:=1;

for a:=1 to M do

{такое имя уже было введено в данном профиле}

if (vybor1=n1[a]) and ((a-j)<>0) then r:=1;

end;

{имя введенного кандидата не совпадает с ни одним из списка}

if (vybor1<>name[l]) and (l=M) and

(b<>1) then r:=1;

end;

if r=1 then

begin

n1[j]:='';

writeln('Внимательно вводите имена кандидатов');

goto в;

end

else rang[j,s]:=vybor1; {профилькорректен}

end;

if c='0' then

begin

writeln('Количество избирателей в

группе ', s);

readln(many[s]);

contrl:=contrl+many[s];

end

else

contrl:=contrl+1;

s:=s+1;

clrscr;

end; {while}

{Определение оценок Копленда}

z: contrl:=1;

while contrl<=M do

begin

k:=contrl+1;

vybor1:=name[contrl]; vybor2:=name[k];

while k<=M do

begin

i:=1; a:=0; b:=0;

while i<=s do

begin

for j:=1 to M do

if rang[j,i]=vybor1 then l:=j

else

if rang[j,i]=vybor2 then r:=j;

if l<r then a:=a+many[i]

else

if l>r then b:=b+many[i];

i:=i+1;

end;

if a>b then

begin

kopl[contrl]:=kopl[contrl]+1;

kopl[k]:=kopl[k]-1;

end

else

if a<b then

begin

kopl[k]:=kopl[k]+1;

kopl[contrl]:=kopl[contrl]-1;

end;

k:=k+1;

vybor2:=name[k];

end; {while пок}

contrl:=contrl+1;

end; {whileпо contrl}

{определение оценок Борда}

for i:=1 to s do

for j:=1 to M do

begin

for k:=1 to M do

if rang[j,i]=name[k] then r:=k;

bord[r]:=many[i]*(M-j)+bord[r];

end;

victory(kopl, 'Коплендом');

writeln ('Нажмителюбуюклавишу

'); readkey; writeln;

victory(bord, 'Борда');

end.

Результаты работы программы

Самостоятельное внесение профиля.

Введите количество кандидатов: 5

Введите количество избирателей: 9

Введите имена кандидатов

Кандидат 1: а

Кандидат 2: b

Кандидат 3: c

Кандидат 4: d

Кандидат 5: е

Как будет осуществляться занос

информации?

1-отдельными избирателями, 0 –

комитетом: 0

Введите профиль преимуществ

Группа 1

a

b

c

d

e

Количество избирателей в группе 1: 1

Группа 2

c

d

b

e

a

Количество избирателей в группе 2: 4

Группа 3

e

a

d

b

c

Количество избирателей в группе 3: 1

Группа 4

e

a

b

d

c

Количество избирателей в группе 4: 3

Победитель по Копленду с сохранением нейтральности – а

Сумма очков – 2

Победитель по Борду с сохранением нейтральности – е

Сумма очков – 20


Результаты работы программы