Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Problem6 #8

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
93 changes: 55 additions & 38 deletions app.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,14 @@
/////////////////////////////////////
/* Problem 1 (this is your demo that we'll solve in class)
Write a function called sum() that takes in two numbers as arguments and then returns an array where the first element is the sum of those numbers, and the second element is a concatenated string that EXACTLY follows this example and uses the values that were input into the function:

"The sum of 4 and 7 is 11."

Test this function by hand in the console to get it working, and when you think it is finished, uncomment the call for the testSum() function below and check the console to see if the test passes.*/

// Write your code here
// Write your code here
function sum(a, b) { //eslint-disable-line
let sumResult =a+b;
return [sumResult,'The sum of 4 and 7 is 11.'];
return [sumResult,`The sum of ${a} and ${b} is ${sumResult}`;
}


Expand All @@ -22,61 +21,81 @@ testSum(4, 7);
/////////////////////////////////////
/* Problem 2
Write a function called multiply() that takes in two numbers as arguments and returns an array where the first element is the product of those numbers, and the second element is a string that EXACTLY follows this example and uses the values that were input into the function:

"The product of 5 and 9 is 45."

Test this function by hand in the console to get it working, and when you think it is finished, uncomment the call for the testMultiply() function and see if the test passes.*/

// Write your code here
function multiply(a, b) { //eslint-disable-line
let output = a *b;
return[output, 'The product of 5 and 9 is 45.'];
let multi = a * b
return [multi, `The product of ${a} and ${b} is ${multi}.`]
}

// Here is the test for multiply(); uncomment it to run it
testMultiply(5,9);

// Once you get the test passing, do an a-c-p cycle and synchronize the code between GitHub and your laptop. Don't forget to create a new branch for your work on the next question!

/////////////////////////////////////
/* Problem 3
Write a function called sumAndMultiply() that takes in three numbers as separate arguments and returns an array where the first element is the sum of those three numbers, the second element is the product of those three numbers, and the third and fourth elements are strings that EXACTLY follow this example and use the values that were input into the function:

Third element: "4 and 7 and 5 sum to 16."
Fourth element: "The product of 4 and 7 and 5 is 140."

IMPORTANT DETAIL: You may not use the arithmetic operators + and * in this function. To do addition, use your sum() function, and to do multiplication, use your multiply() function that you've already created. You're going to have to be resourceful to figure out how to do this. However, you may continue to use the + operator for string concatenation.

Test this function by hand in the console to get it working, and when you think it is finished, uncomment the call for the testSumAndMultiply() function and see if the test passes.*/

// Write your code here
function sumAndMultiply(a, b, c) { //eslint-disable-line
let sum=a+ b + c ;
multiply = a * b * c ;
return[sum ,multiply, '4 and 7 and 5 sum to 16.', 'The product of 4 and 7 and 5 is 140.'];
let sumAb = sum(a,b)[0];
let sumAbc = sum(sumAb,c)[0];
let multAb = multiply(a,b)[0];
let multAbc = multiply(multAb,c)[0];
return [sumAbc , multAbc ,`${a} and ${b} and ${c} sum to ${sumAbc}.` ,`The product of ${a} and ${b} and ${c} is ${multAbc}.` ]
}
// Write your code here
// Write your code here
function sum(a, b) { //eslint-disable-line
let sumResult =a+b;
return [sumResult,`The sum of ${a} and ${b} is ${sumResult}`;
}


// Here is the test for sum(); uncomment it to run it
testSum(4, 7);

// Once you get the test passing, do an a-c-p cycle and synchronize the code between GitHub and your laptop. Don't forget to create a new branch for your work on the next question!

/////////////////////////////////////
/* Problem 2
Write a function called multiply() that takes in two numbers as arguments and returns an array where the first element is the product of those numbers, and the second element is a string that EXACTLY follows this example and uses the values that were input into the function:
"The product of 5 and 9 is 45."
Test this function by hand in the console to get it working, and when you think it is finished, uncomment the call for the testMultiply() function and see if the test passes.*/

// Write your code here
function multiply(a, b) { //eslint-disable-line
let multi = a * b
return [multi, `The product of ${a} and ${b} is ${multi}.`]
}
// Here is the test for multiply(); uncomment it to run it
testMultiply(5,9);
// Here is the test for sumAndMultiply(); uncomment it to run it
testSumAndMultiply(4,7,5);
testSumAndMultiply(4,7,5);

// Once you get the test passing, do an a-c-p cycle and synchronize the code between GitHub and your laptop. Don't forget to create a new branch for your work on the next question!

/////////////////////////////////////
/* Problem 4
Write a function called sumArray() that takes in an array of numbers as its single argument and then returns an array where the first element is the sum of the numbers in the array, and the second element is a string that EXACTLY follows this example and uses the values that were input into the function:

"2,3,4 was passed in as an array of numbers, and 9 is their sum."

IMPORTANT DETAIL: You may not use the arithmetic operator + in this function. To do addition, use your sum() function that you've already created. You're going to have to be resourceful to figure out how to do this. However, you may continue to use the + operator for string concatenation.

Test this function by hand in the console to get it working, and when you think it is finished, uncomment the call for the testSumArray() function and see if the test passes.*/

// Write your code here
let testArray = [2, 3, 4]; //eslint-disable-line
sum= 2+3+4;
function sumArray(_sumArr) { //eslint-disable-line
return[sum, '2,3,4 was passed in as an array of numbers, and 9 is their sum.'];

function sumArray(sumArr) { //eslint-disable-line
let sumA= sum(testArray[0],testArray[1])[0];
let sumB= sum(sumA,testArray[2])[0];
return [sumB,'2,3,4 was passed in as an array of numbers, and 9 is their sum.'];
}

// Here is the test for sumArray(); uncomment it to run it

testSumArray(testArray);
Expand All @@ -86,22 +105,19 @@ testSumArray(testArray);
/////////////////////////////////////
/* Problem 5
Write a function called multiplyArray() that takes an array of numbers as its argument and returns an array whose first element is the product of those numbers, and the second element is a string that EXACTLY follows this example and uses the values that were input into the function:

"The numbers 2,3,4 have a product of 24."

IMPORTANT DETAIL: You may not use the arithmetic operator * in this function. To do multiplication, use your multiply() function that you've already created. You're going to have to be resourceful to figure out how to do this. This function should handle an array containing three elements. However, you may continue to use the + operator for string concatenation.

Test this function by hand in the console to get it working, and when you think it is finished, uncomment the call for the testMultiplyArray() function and see if the test passes.*/

// Write your code here
let multi =2*3*4;
function multiplyArray(_sumArr) { //eslint-disable-line
return[multi,'The numbers 2,3,4 have a product of 24.'];
function multiplyArray(multArr) { //eslint-disable-line
let multA = multiply(testArray[0], testArray[1])[0];
let multB = multiply(multA, testArray[2])[0]
return[multB,'The numbers 2,3,4 have a product of 24.']
}

// Here is the test for multiplyArray(); uncomment it to run it
testMultiplyArray(testArray);

testMultiplyArray(testArray);

// Once you get the test passing, do an a-c-p cycle and synchronize the code between GitHub and your laptop.

Expand All @@ -112,23 +128,24 @@ return[multi,'The numbers 2,3,4 have a product of 24.'];
/////////////////////////////////////
/* STRETCH GOAL: Problem 6
Write a function called multiplyAnyArray() that takes an array of numbers of any length as its argument and returns an array whose first element is the product of those numbers, and the second element is a string that EXACTLY follows this example and concatenates a message using the arguments that were passed into the function:

"The numbers 1,2,3,4,5 have a product of 120."

IMPORTANT DETAIL: You may not use the arithmetic operator * in this function. To do multiplication, use your multiply() function that you've already created. You're going to have to be resourceful to figure out how to do this. However, you may continue to use the + operator for string concatenation.

This function should be dynamic, accepting an array of any length.

Test this function by hand in the console to get it working, and when you think it is finished, uncomment the call for the testMultiplyAnyArray() function and see if the test passes.*/

// Write your code here
let testDynamicArray = [1,2,3,4,5]; //eslint-disable-line
let prod1=1*2*3*4*5;
function multiplyAnyArray(_dynamicArray) { //eslint-disable-line
return[prod1,'The numbers 1,2,3,4,5 have a product of 120.'];

function multiplyAnyArray(dynamicArray) { //eslint-disable-line
let mult1 = multiply(testDynamicArray[0],testDynamicArray[1])[0];
let mult2 = multiply(mult1,testDynamicArray[2])[0];
let mult3 = multiply(mult2,testDynamicArray[3])[0];
let mult4 = multiply(mult3, testDynamicArray[4])[0];
return [mult4, 'The numbers 1,2,3,4,5 have a product of 120.']
}

// Here is the test for multiplyArray(); uncomment it to run it
testMultiplyAnyArray(testDynamicArray);
testMultiplyAnyArray(testDynamicArray);

// Once you get the test passing, do an a-c-p cycle and synchronize the code between GitHub and your laptop. You're done! Submit the link to the repo following the instructions in Canvas.