-
Type the two boolean values --
true
andfalse
-- into your console. -
Use the console to accomplish the following:
- Write an expression using
>
that will evaluate tofalse
- Write an expression using
>
that will evaluate totrue
- Write an expression using
<
that will evaluate tofalse
- Write an expression using
<
that will evaluate totrue
- Write an expression using two numbers and
===
that will evaluate totrue
- Write an expression using two numbers and
===
that will evaluate tofalse
- Write an expression using two strings and
===
that will evaluate totrue
- Write an expression using two strings and
===
that will evaluate tofalse
- Write an expression using
-
Fill in the
???
with the following operators or values to make the statements output the expected Boolean value.12 ??? 78 // => true 24 ??? 16 // => false 45 !== ??? // => true "45" ??? 45 // => false "6" ??? "six" // => true
-
Write a function
oldEnoughToDrink
that takes anage
as an argument and returnstrue
if the person with that age is old enough to drink. -
There's an easy way to figure out how long a string is by adding
.length
to the end of it. Try this out in the console:
"hello".length;
"".length;
"John Doe".length;
Write a function sameLength
that accepts two strings as arguments, and
returns true
if those strings have the same length, and false
otherwise.
- Write a function
passwordLongEnough
that accepts a "password" as a parameter and returnstrue
if that password is long enough -- you get to decide what constitutes long enough.
-
Write a function
bouncer
that accepts a person's name and age as arguments, and returns either "Go home, NAME.", or "Welcome, NAME!" (where NAME is the parameter that represents the person's name) depending on whether or not the person is old enough to drink. -
Write a function
max
that takes two numbers as arguments, and returns the larger one. -
Write a function
min
that takes two numbers as arguments, and returns the smaller one. -
Write functions
larger
andsmaller
that each accept two strings as arguments, and return the larger and smaller strings, respectively.
-
Fill in the
???
with the following operators or values to make the statements output the expected Boolean value.106 ??? 12 // => false "wiz" ??? "wiz" // => true 7 * 7 ??? 49 // => true 12 ??? (24 / 2) // => false (20 % 2) <= ??? // => true (9 / 3) + (5 * 5) === ??? // => true
-
Write the following functions that each accept a single number as an argument:
even
: returnstrue
if its argument is even, andfalse
otherwise.odd
: the opposite of the above.positive
: returnstrue
if its argument is positive, andfalse
otherwise.negative
: the opposite of the above.
-
A couple of other useful built-in mathematical functions are
Math.random
,Math.floor
andMath.ceil
. Look these functions up on MDN to learn how they work, and use them to implement the following functions:-
randInt
: Should accept a single numeric argument (n
), and return a number from0
ton
. -
guessMyNumber
: Should accept a single numeric argument and compare it to a random number between0
and5
. It should return one of the following strings:- "You guessed my number!" if the argument matches the random number.
- "Nope! That wasn't it!" if the argument did not match the random number.
-
-
Is the
!
operator a unary operator, or binary operator? -
Evaluate each of the following expressions first on a whiteboard, and then in a console:
!(2 >= 2) !(4 === 4) !(5 !== 5)
-
Evaluate each of the following expressions first on a whiteboard, and then in a console:
1 > 2 || 2 > 2 || 3 > 2 5 < 5 || 75 < 74
-
This guy named "Joe" keeps blacking out at the bar that your function,
bouncer
(from the previous module), is in charge of; thus, management has decided to add him to the "blacklist" -- modify thebouncer
function from the previous section so that the person named "Joe" is rejected with an appropriate message, regardless of his age. -
Write a function called
scoreToGrade
that accepts a number as a parameter and returns a string representing a letter grade corresponding to that score.For example, the following grades should be returned given these scores:
- 'A' >= 90
- 'B' >= 80
- 'C' >= 70
- 'D' >= 60
- 'F' < 60
function scoreToGrade(score) { // TODO: your code here } scoreToGrade(95); // => 'A' scoreToGrade(72); // => 'C'
-
Modify the
scoreToGrade
function so that it returns'INVALID SCORE'
if the score is greater than100
or less than0
.
-
Think of at least three activities that you enjoy doing outdoors and the range of temperatures and weather patterns (e.g sunny, windy, snowy, rainy, etc.) that are best for these activities. Write a function
whatToDoOutside
that accepts a temperature and condition as parameters and outputs a string of the format: "The weather is ideal for: ACTIVITY" (where ACTIVITY is an actual activity). Make sure to include anelse
that indicates what should be done if the conditions do not match any activities. If you're short on inspiration, here are some ideas:- Snow Sports: snowboarding, skiing
- Water Sports: surfing, sailing, paddle boarding, swimming
- Team Sports: basketball, baseball, football (American or everywhere else), etc.
-
The
guessMyNumber
function from the Booleans & Conditionals module (More Practice section) accepts a guessn
and checks it against a random number from0
to5
-- if the guessn
is greater than5
, output a different message indicating that the guess is out of bounds.- NOTE: It will be helpful to first write a
randInt
function that accepts a numbern
and computes a random integer from0
ton
; then, you can use this function inguessMyNumber
.
- NOTE: It will be helpful to first write a
-
Modify the
scoreToGrade
function so that it returns'A+/A-'
for scores of 98-100/90-92 respectively. Apply the same logic for all other letter grades.
-
The bar that employs our
bouncer
function has decided to do live music on Friday and Saturday nights, and will be admitting those that are over 18 to the bar on those nights; the catch however, is that all who are 21 or older will need to be given a wristband to distinguish them from the minors. Modify yourbouncer
function to handle this situation. -
You should have noticed a large amount of repetitive code when modifying
scoreToGrade
to accommodate+
or-
grades. When we do lots of repetitive things, that's a clear signal that there's a better way. Write a helper functionletterGrade
that accepts two arguments, letter and score, and works as follows:function letterGrade(letter, score) { // your code here } // These are examples of what a *working* function would output. letterGrade('A', 95); // => 'A' letterGrade('A', 91); // => 'A-' letterGrade('B', 88); // => 'B+' letterGrade('monkey', 160); // => 'monkey-'
Finally, use
letterGrade
to remove the repetition inscoreToGrade
. -
It turns out that we can write logical and and logical or in terms of each other and logical not using De Morgan's Laws.
- Write a function
or
that works like||
, but only uses!
and&&
. - Write a function
and
that works like&&
, but only uses!
and||
.
- Write a function
-
Fix each of the following variable declarations in a console -- some are syntactically invalid, some are disobey style guidelines, and some are just weird.
var "animal" = "monkey"; var "monkey" = animal; var x= 15; var y =10; var var = "huh?"; var true = false; var isTenEven = 10 % 2 = 0;
-
Perform the following in the console:
- Create a variable
firstName
and assign your first name to it. - Create another variable,
lastName
, and assign your last name to it. - Have a middle name? If so, repeat the process.
- Now, create a variable
fullName
and assign your full name to it by using the above variables.
- Create a variable
-
For each of the following code blocks, use a whiteboard (or a piece of paper) to reason about what the value of
x
is supposed to be on the last line. Once you have arrived at a conclusion that you are comfortable with, enter the lines into a console and check your answer. Was your hypothesis correct? If not, ensure that you understand why (talk with a classmate, or ask for help).var x = 5; x + 10; x; // => ???
var x = 17; x = (x + 1) / 2; x * 4; x; // => ???
var x = 5; var y = 20; x = y; y = y + 7; x; // => ???
var x = 10; var y = 5; x = (x * 4) - 3; x + 17; x = x + y; x; // => ???
-
Write a function called
counter
that, when invoked, always returns a number that is one more than the previous invocation. For instance:function counter() { // TODO: your code here } counter(); // => 1 counter(); // => 2 counter(); // => 3 // etc.
HINT: You'll need a variable for this. Where should the variable be declared?