Назад | Начало урока | Вперед
Содержание

Глава 3

Задача 3.7 "Голосование "

В административный совет входят три директора, за каждым из которых закреплен переключатель с положением Да/Нет. Когда производится голосование, загорается лампочка, если большинство проголосовали "За". Цепь, которая обеспечивает ее включение, можно представить в виде булевой функции:

L = a&(b|c)|b&c

Напишите программу, которая выводит таблицу, содержащую альтернативные значения да/нет для a, b и c, а так же значения L, используя метод, возвращающий булево значение.

Решение

Напишем функцию vote(), которая возвращает значение в зависимости от условия if. В условие поместим вышеуказанное булевое выражение:

boolean vote (boolean a, boolean b, boolean c){

boolean L;
if (a&(b|c)|b&c){
L = true;
}
else{
L = false;
}
return L;
}

Используя эту функцию выведем несколько вариантов принятия решений в качестве теста.

Код программы:


import java.text.*;
import javagently.*;
import java.util.*;
import java.io.*;

class Voting {

boolean vote (boolean a, boolean b, boolean c){

boolean L;
if (a&(b|c)|b&c){
L = true;
}
else{
L = false;
}
return L;
}

boolean a2 = true;
boolean b2 = true;
boolean c2 = true;
boolean L ;

Voting (){

// 1 case
L = vote(a2,b2,c2);
System.out.println(" a = " + a2 + "; b = " + b2 + "; c = " + c2 + "; Result = " + L);

// 2 case
a2 = true;
b2 = true;
c2 = false;
L = vote(a2,b2,c2);
System.out.println(" a = " + a2 + "; b = " + b2 + "; c = " + c2 + "; Result = " + L);

// 3 case
a2 = true;
b2 = false;
c2 = false;
L = vote(a2,b2,c2);
System.out.println(" a = " + a2 + "; b = " + b2 + "; c = " + c2 + "; Result = " + L);

// 4 case
a2 = false;
b2 = true;
c2 = false;
L = vote(a2,b2,c2);
System.out.println(" a = " + a2 + "; b = " + b2 + "; c = " + c2 + "; Result = " + L);

}


// All programs must have a main method
public static void main (String [ ] args) {

// Start the program running from its constructor
new Voting();
}

}


Результат :

a = true; b = true; c = true; Result = true
a = true; b = true; c = false; Result = true
a = true; b = false; c = false; Result = false
a = false; b = true; c = false; Result = false


Назад | Начало урока | Вверх | Вперед
Содержание

Hosted by uCoz