Program Markovsp1;
uses crt;
const
eps=0.001;
var
t,s:real;
i:integer;
begin
writeln('*** alphaues is thinking... ***');
writeln('*** OK ***');
writeln();
writeln('Программа вычисляет частичную сумму ряда ');
writeln(' S=1+1/(2^2)+1/(3^2)+1/(4^2)+... ');
writeln('Вычисление прекратится, когда модуль очередного слагаемого станет меньше 0,001');
используется цикл repeat');
writeln();
s:=0;
i:=1;
repeat
t:=1/((i)*(i));
s:=s+t;
//writeln('i=',i,' T=',t:0:6,' S=',s:0:6);
i:=i+1;
until abs(t)<eps;
writeln('s=',s:0:6,' (pi^2)/6=',(pi*pi)/6:0:6);
writeln('Приближение к (pi^2)/6 равно ',s-(pi*pi)/6:0:6);
end.
Program Markovsp2;
uses crt;
const
eps=0.001;
var
t,s:real;
i:integer;
begin
writeln('*** alphaues is thinking... ***');
writeln('*** OK ***');
writeln();
writeln('Программа вычисляет частичную сумму ряда ');
writeln(' S=1+1/(2^2)+1/(3^2)+1/(4^2)+... ');
writeln('Вычисление прекратится, когда модуль очередного слагаемого станет меньше 0,001');
используется цикл while');
writeln();
s:=0;
i:=1;
t:=1;
while t>eps do
begin
t:=1/(i*i);
s:=s+t;
//writeln('i=',i,' T=',t:0:6,' S=',s:0:6);
i:=i+1;
end;
writeln('s=',s:0:6,' (pi^2)/6=',(pi*pi)/6:0:6);
writeln('Приближение к (pi^2)/6 равно ',s-(pi*pi)/6:0:6);
end.
Для обеспечения конфиденциальности следует использовать однонаправленную функцию. Например, хэш-функцию от личных данных голосующего и его личного ключа, чтобы потом невозможно было отследить его голос по его личным данным.(пункт в). По хэшу невозможно узнать личные данные.
Поскольку хэш-функция однонаправленная, каждый избиратель может использовать эту функцию и получить свой бюллетень (пункт а).
Вторым полем должна быть некоторая переменная, которая обозначает, за кого голосовал человек (например, 1 - власти, 2 - оппозиция, 0 - не явился). Это пункт г.
Пункт д обеспечивается составлением списка перед выборами. Данные хранятся опять же по хэшу для обеспечения конфиденциальности.
Таким образом, получаем алгоритм:
По списку избирателей создаём хэши и записываем их в первое поле. Во второе поле вносится значение по умолчанию = 0.
При явке избиратель получает свой хэш по личным данным, и в соответствии с ним находит своё поле. Во второе поле вносит 1 или 2.
Если такой избиратель не найден, поле не может быть заполнено.
Проверить избиратель может так же. получает хэш по своим данным и собственному ключу. По результату проверяет соответствие.