Напишите "функцию голосования" function Election - Pascal ABC

Формулировка задачи:

Доброго времени суток . Напишите "функцию голосования" function Election (x, y, z:boolean): boolean (Pascal), возвращающую то значение (true или false), которое среди значений ее аргументов x, y, z встречается чаще. Входные данные Вводится 3 числа - x, y и z (x, y и z равны 0 или 1, 0 соответствует значению false, 1 соответствует значению true). Выходные данные Необходимо вывести значение функции от x, y и z. Примеры входные данные 0 0 1 выходные данные 0 я только начал функции и процедуры , прошу подробно расписать заранее спасибо

Код к задаче: «Напишите "функцию голосования" function Election - Pascal ABC»

textual
program zr;
function bool(a:byte):boolean;{Функция преобразования целочисленного значения в логическое}
begin
  if a = 1 then bool := true{Если введенное значение равно единицы, то возвращаем true}
  else bool := false;{Если введенное значение равно нулю, то возвращаем false}
end;
function Election(x,y,z:boolean):boolean;{Собственно сама функция "Голосования"}
var k:byte;{Счетчик значений true}
begin
  k := 0;
  if (x) then k := k + 1;
  if (y) then k := k + 1;
  if (z) then k := k + 1;
  if (k >= 2) then Election := true{Если значение true(1) больше или равно 2, то возвращаем true(1)}
  else Election := false;{В противном случае возвращаем значение false(0)}
end;
var a:byte;
    x,y,z:boolean;
begin
  repeat
    Write('Введите x: ');
    Readln(a);
  until (a = 0) or (a = 1);
  x := bool(a);
  repeat
    Write('Введите y: ');
    Readln(a);
  until (a = 0) or (a = 1);
  y := bool(a);
  repeat
    Write('Введите z: ');
    Readln(a);
  until (a = 0) or (a = 1);
  z := bool(a);
  if (Election(x,y,z)) then Writeln('1')
  else Writeln('0');
  Readln;
end.

9   голосов, оценка 4.000 из 5


СОХРАНИТЬ ССЫЛКУ