Boolean values are those which have a value of true or false. (cf. “4.1. Data types” and “Boolean operators and comparison operators”.) Given two boolean values, we can perform and/or operations or conjunction/disjunction operations:
Write a program that reads several and/or conjunction/disjunction operations and prints their result.
Input will consist of several lines each containing
p, an operator
x and a boolean
separated by a single space.
q are either of the strings
and the operator
x is either of the strings
For each line of input,
there should be a line of output
containing a line with the result of the given input operation.
true and false false or true
The submitted program should contain the
that receive two boolean as arguments and return a boolean.
Please refer to the information for the chosen language:
def conjunction(p, q): and
def disjunction(p, q):
int conjunction(int p, int q); and
int disjunction(int p, int q);
conjunction, disjunction :: Bool -> Bool -> Bool
bool conjunction(bool p, bool q); and
bool disjunction(bool p, bool q); (see hint below)
public static bool Conjunction(bool p, bool q) and
public static bool Disjunction(bool p, bool q)
in a public class
public static boolean conjunction(boolean p, boolean q) and
public static boolean disjunction(boolean p, boolean q)
in a public class
function conjunction(p,q) and
function conjunction (p, q) and
function disjunction (p, q)
def conjunction(p, q) and
def disjunction(p, q)
Comparing strings to arrive at a bool. You can use string equality to create a boolean value from strings.
In Python and Haskell,
you can compare strings
s2 using the equality operator:
s1 == s2
This operator also works with literal strings:
str == "hello"
In C, you can compare strings using the
strcmp(s1, s2) == 0
When the result of
strcmp is 0 that means the given strings are equal.
strcmp function also works with literal strings:
strcmp(str, "hello") == 0
What are booleans? Read both “4.1. Data types” and “Boolean operators and comparison operators” sections of the Computer Science by Example book for an explanation of what are booleans and how to use them in programming.
Beware of the data types.
Users of Python and dinamically-typed languages beware.
disjunction functions will be tested
with proper boolean values as their arguments
and not with booleans encoded in strings.
This is similar to how the
of earlier exercises add1 and add
does take proper integer values
and not integer values encoded as strings.
there is a distinction between the boolean value
and the string
Confusingly enough, in Python
'False' has a boolean value of
>>> bool('False') True
This comes from the fact that in Python,
boolean conversion from strings defaults to treating
empty strings as
False-valued and non-empty strings as
This similar to the distinction between
12 and the string
C++ namespace conflicts.
If you are facing namespace conflicts locally, read on.
Starting with C++17,
std namespace does export two names called
In this exercise,
you should avoid
using namespace std;
and import required
std symbols one by one:
using std::cin; using std::cout;
Or, you can simply prefix all uses with
Copyright © 2020-2021 Rudy Matela
All rights reserved