Напишите "функцию голосования" 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»

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.

Объяснение кода листинга программы

  1. Функция bool(a:byte) принимает целочисленное значение a и возвращает логическое значение true или false в зависимости от того, равно ли введенное значение единице или нулю.
  2. Функция Election(x,y,z:boolean) принимает три логических значения x, y и z и возвращает логическое значение true или false.
  3. Переменная k инициализируется значением 0.
  4. Если значение x равно true, то значение k увеличивается на 1.
  5. Если значение y равно true, то значение k увеличивается на 1.
  6. Если значение z равно true, то значение k увеличивается на 1.
  7. Если значение k больше или равно 2, то функция возвращает true.
  8. В противном случае функция возвращает false.
  9. Переменные a, x, y и z инициализируются значениями, введенными пользователем.
  10. Цикл повторяется до тех пор, пока введенное значение не будет равно 0 или 1.
  11. Значение x преобразуется в логическое значение.
  12. Цикл повторяется до тех пор, пока введенное значение не будет равно 0 или 1.
  13. Значение y преобразуется в логическое значение.
  14. Цикл повторяется до тех пор, пока введенное значение не будет равно 0 или 1.
  15. Значение z преобразуется в логическое значение.
  16. Вызывается функция Election(x,y,z).
  17. Если результат функции Election(x,y,z) равен true, то выводится число 1.
  18. Иначе выводится число 0.
  19. Программа завершается вызовом функции Readln().
  20. Цикл повторяется до тех пор, пока введенное значение не будет равно 0 или 1.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4 из 5
Похожие ответы