From 51e3d5fd7ca3095ebac56f90c564c18a857f85e1 Mon Sep 17 00:00:00 2001 From: jjcapparell <“jjcapparell244@gmail.com> Date: Fri, 11 Oct 2024 13:52:46 +0000 Subject: [PATCH 1/9] Editing lesson7.ts with finished functions --- lesson_07/conditionals/src/lesson7.ts | 125 +++++++++++++++++++++++--- 1 file changed, 114 insertions(+), 11 deletions(-) diff --git a/lesson_07/conditionals/src/lesson7.ts b/lesson_07/conditionals/src/lesson7.ts index 52f45df8b..bfb02544c 100644 --- a/lesson_07/conditionals/src/lesson7.ts +++ b/lesson_07/conditionals/src/lesson7.ts @@ -7,7 +7,12 @@ import { computeLexicographicDistance } from "./util.js"; * @return True if the age corresponds to a voting age and false otherwise. */ export function canVote(age: number): boolean { - return false; + if (age>=18){ + return true; + } + else{ + return false; + } } /** @@ -21,10 +26,15 @@ export function compareStrings(a: string, b: string): number { // The distance will be a number less than 0 if string `a` is lexicographically less than `b`, 1 // if it is greater, and 0 if the strings are equal. const distance = computeLexicographicDistance(a, b); - - // TODO(you): Finish this method. - - return 0; + if (distance>0){ + return 1; + } + if (distance<0){ + return -1 + } + else{ + return 0; + } } /** @@ -32,12 +42,70 @@ export function compareStrings(a: string, b: string): number { * scale. See * https://bigfuture.collegeboard.org/plan-for-college/college-basics/how-to-convert-gpa-4.0-scale * for details. - * + * A+ 97-100 4.0 + A 93-96 4.0 + A- 90-92 3.7 + B+ 87-89 3.3 + B 83-86 3.0 + B- 80-82 2.7 + C+ 77-79 2.3 + C 73-76 2.0 + C- 70-72 1.7 + D+ 67-69 1.3 + D 65-66 1.0 + E/F Below 65 0.0 * @param gpa The GPA value. * @return The letter grade ("A+", "A", "A-", "B+", etc.). */ export function convertGpaToLetterGrade(gpa: number): string { - return "F"; + let letterGrade = "N/A"; + if (gpa===4.0){ + letterGrade = "A"; + return letterGrade; + } + else if (gpa>=3.7 && gpa<4.0){ + letterGrade = "A-"; + return letterGrade; + } + else if (gpa>=3.3 && gpa<3.7){ + letterGrade = "B+"; + return letterGrade; + } + else if (gpa>=3.0 && gpa<3.3){ + letterGrade = "B"; + return letterGrade; + } + else if (gpa>=2.7 && gpa<3.0){ + letterGrade = "B-"; + return letterGrade; + } + else if (gpa>=2.3 && gpa<2.7){ + letterGrade = "C+"; + return letterGrade; + } + else if (gpa>=2.0 && gpa<2.3){ + letterGrade = "C"; + return letterGrade; + } + else if (gpa>=1.7 && gpa<2.0){ + letterGrade = "C-"; + return letterGrade; + } + else if (gpa>=1.3 && gpa<1.7){ + letterGrade = "D+"; + return letterGrade; + } + else if (gpa>=1.0 && gpa<1.3){ + letterGrade = "D"; + return letterGrade; + } + else if (gpa>=0 && gpa<1.0){ + letterGrade = "F"; + return letterGrade; + } + else{ + return letterGrade; + } } /** @@ -47,7 +115,15 @@ export function convertGpaToLetterGrade(gpa: number): string { * @return The factorial of n. */ export function computeFactorial(n: number): number { - return 0; + let fact = 0 + if (n>0){ + fact = 1 + for (let i=n; i>=0; i--){ + fact *= i; + } + return fact; + } + return fact; } /** @@ -57,7 +133,14 @@ export function computeFactorial(n: number): number { * @return The sum of all the values. */ export function addNumbers(values: number[]): number { - return 0; + let sum=0; + if (values.length>0){ + for (let i = 0; i=1){ + list.push(0); + } + if (n>=2){ + list.push(1); + } + if (n>=3){ + for (let i=2; i<=n; i++){ + list[i] = list[i-1] + list[i-2]; + } + } + return list; } /** @@ -98,5 +193,13 @@ export function binarySearch( // Else if values[pivotIndex] is greater than the value, then // call `binarySearch(values, start, pivotIndex - 1, value)` and return its value; // Else call `binarySearch(values, pivotIndex + 1, end, value)` and return its value. - return -1; + if (values[pivotIndex]===value){ + return pivotIndex; + } + else if(values[pivotIndex]>value){ + return binarySearch(values, start, pivotIndex-1, value); + } + else{ + return binarySearch(values, pivotIndex + 1, end, value); + } } From 588e812675385cddcac2c6fd1c9f5b6a57ab2395 Mon Sep 17 00:00:00 2001 From: jjcapparell <“jjcapparell244@gmail.com> Date: Fri, 11 Oct 2024 14:19:30 +0000 Subject: [PATCH 2/9] edited list variable to a const --- lesson_07/conditionals/src/lesson7.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lesson_07/conditionals/src/lesson7.ts b/lesson_07/conditionals/src/lesson7.ts index bfb02544c..f9d31ba0f 100644 --- a/lesson_07/conditionals/src/lesson7.ts +++ b/lesson_07/conditionals/src/lesson7.ts @@ -150,7 +150,7 @@ export function addNumbers(values: number[]): number { * @return An array containing the first `n` Fibonacci values. */ export function getFirstNFibonacciNumbers(n: number): number[] { - let list: number[] = []; + const list: number[] = []; if (n>=1){ list.push(0); } From 3138d8559291501c996699ad2f75a1c2089eb912 Mon Sep 17 00:00:00 2001 From: jjcapparell <“jjcapparell244@gmail.com> Date: Fri, 11 Oct 2024 14:41:49 +0000 Subject: [PATCH 3/9] converted for statments into for-of --- lesson_07/conditionals/src/lesson7.ts | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/lesson_07/conditionals/src/lesson7.ts b/lesson_07/conditionals/src/lesson7.ts index f9d31ba0f..e8ad098f2 100644 --- a/lesson_07/conditionals/src/lesson7.ts +++ b/lesson_07/conditionals/src/lesson7.ts @@ -115,10 +115,11 @@ export function convertGpaToLetterGrade(gpa: number): string { * @return The factorial of n. */ export function computeFactorial(n: number): number { - let fact = 0 + let fact = 0; if (n>0){ - fact = 1 - for (let i=n; i>=0; i--){ + fact = 1; + const numbers = Array.from({ length: n }, (_, index) => index + 1); + for (const i of numbers) { fact *= i; } return fact; @@ -151,6 +152,7 @@ export function addNumbers(values: number[]): number { */ export function getFirstNFibonacciNumbers(n: number): number[] { const list: number[] = []; + const indices = Array.from({ length: n - 1 }, (_, index) => index + 2); if (n>=1){ list.push(0); } @@ -158,8 +160,8 @@ export function getFirstNFibonacciNumbers(n: number): number[] { list.push(1); } if (n>=3){ - for (let i=2; i<=n; i++){ - list[i] = list[i-1] + list[i-2]; + for (const i of indices) { + list[i] = list[i - 1] + list[i - 2]; } } return list; From d6c280c74d238cb1851b214f06e2e7cd01a0aae6 Mon Sep 17 00:00:00 2001 From: jjcapparell <“jjcapparell244@gmail.com> Date: Fri, 11 Oct 2024 14:47:22 +0000 Subject: [PATCH 4/9] converted for statments into for-of part 2 --- lesson_07/conditionals/src/lesson7.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lesson_07/conditionals/src/lesson7.ts b/lesson_07/conditionals/src/lesson7.ts index e8ad098f2..e19c4b6d8 100644 --- a/lesson_07/conditionals/src/lesson7.ts +++ b/lesson_07/conditionals/src/lesson7.ts @@ -136,9 +136,9 @@ export function computeFactorial(n: number): number { export function addNumbers(values: number[]): number { let sum=0; if (values.length>0){ - for (let i = 0; i Date: Fri, 11 Oct 2024 15:33:27 +0000 Subject: [PATCH 5/9] fixing factorial function --- lesson_07/conditionals/src/lesson7.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lesson_07/conditionals/src/lesson7.ts b/lesson_07/conditionals/src/lesson7.ts index e19c4b6d8..607c2b14b 100644 --- a/lesson_07/conditionals/src/lesson7.ts +++ b/lesson_07/conditionals/src/lesson7.ts @@ -115,9 +115,8 @@ export function convertGpaToLetterGrade(gpa: number): string { * @return The factorial of n. */ export function computeFactorial(n: number): number { - let fact = 0; + let fact = 1; if (n>0){ - fact = 1; const numbers = Array.from({ length: n }, (_, index) => index + 1); for (const i of numbers) { fact *= i; From 81e55b4ef85fb1bfbced8a4661ac4b758ac161d7 Mon Sep 17 00:00:00 2001 From: jjcapparell <“jjcapparell244@gmail.com> Date: Fri, 11 Oct 2024 15:36:04 +0000 Subject: [PATCH 6/9] fixing fibonacci function --- lesson_07/conditionals/src/lesson7.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lesson_07/conditionals/src/lesson7.ts b/lesson_07/conditionals/src/lesson7.ts index 607c2b14b..b95eaed36 100644 --- a/lesson_07/conditionals/src/lesson7.ts +++ b/lesson_07/conditionals/src/lesson7.ts @@ -152,13 +152,13 @@ export function addNumbers(values: number[]): number { export function getFirstNFibonacciNumbers(n: number): number[] { const list: number[] = []; const indices = Array.from({ length: n - 1 }, (_, index) => index + 2); - if (n>=1){ + if (n>=0){ list.push(0); } - if (n>=2){ + if (n>=1){ list.push(1); } - if (n>=3){ + if (n>=2){ for (const i of indices) { list[i] = list[i - 1] + list[i - 2]; } From 048e7fa304705cc47e39166ab55e6d0365cbcc4d Mon Sep 17 00:00:00 2001 From: jjcapparell <“jjcapparell244@gmail.com> Date: Fri, 11 Oct 2024 15:39:31 +0000 Subject: [PATCH 7/9] fixing fibonacci function pt 2 --- lesson_07/conditionals/src/lesson7.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lesson_07/conditionals/src/lesson7.ts b/lesson_07/conditionals/src/lesson7.ts index b95eaed36..090bc09c6 100644 --- a/lesson_07/conditionals/src/lesson7.ts +++ b/lesson_07/conditionals/src/lesson7.ts @@ -152,13 +152,13 @@ export function addNumbers(values: number[]): number { export function getFirstNFibonacciNumbers(n: number): number[] { const list: number[] = []; const indices = Array.from({ length: n - 1 }, (_, index) => index + 2); - if (n>=0){ - list.push(0); - } if (n>=1){ list.push(1); } if (n>=2){ + list.push(1); + } + if (n>=3){ for (const i of indices) { list[i] = list[i - 1] + list[i - 2]; } From ba18e5d07d6df11a73d75a378e23a397054394f7 Mon Sep 17 00:00:00 2001 From: jjcapparell <“jjcapparell244@gmail.com> Date: Fri, 11 Oct 2024 15:44:23 +0000 Subject: [PATCH 8/9] fixing fibonacci function pt 3 --- lesson_07/conditionals/src/lesson7.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lesson_07/conditionals/src/lesson7.ts b/lesson_07/conditionals/src/lesson7.ts index 090bc09c6..da9555fca 100644 --- a/lesson_07/conditionals/src/lesson7.ts +++ b/lesson_07/conditionals/src/lesson7.ts @@ -152,13 +152,13 @@ export function addNumbers(values: number[]): number { export function getFirstNFibonacciNumbers(n: number): number[] { const list: number[] = []; const indices = Array.from({ length: n - 1 }, (_, index) => index + 2); - if (n>=1){ + if (n>=0){ list.push(1); } - if (n>=2){ + if (n>=1){ list.push(1); } - if (n>=3){ + if (n>=2){ for (const i of indices) { list[i] = list[i - 1] + list[i - 2]; } From 4465a44dc5cbdceefa4b4f103651bab113133843 Mon Sep 17 00:00:00 2001 From: jjcapparell <“jjcapparell244@gmail.com> Date: Fri, 11 Oct 2024 16:03:58 +0000 Subject: [PATCH 9/9] fixing fibonacci function pt 4 --- lesson_07/conditionals/src/lesson7.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lesson_07/conditionals/src/lesson7.ts b/lesson_07/conditionals/src/lesson7.ts index da9555fca..9194ac19e 100644 --- a/lesson_07/conditionals/src/lesson7.ts +++ b/lesson_07/conditionals/src/lesson7.ts @@ -151,14 +151,14 @@ export function addNumbers(values: number[]): number { */ export function getFirstNFibonacciNumbers(n: number): number[] { const list: number[] = []; - const indices = Array.from({ length: n - 1 }, (_, index) => index + 2); - if (n>=0){ - list.push(1); - } + const indices = Array.from({ length: n - 2 }, (_, index) => index + 2); if (n>=1){ list.push(1); } if (n>=2){ + list.push(1); + } + if (n>=3){ for (const i of indices) { list[i] = list[i - 1] + list[i - 2]; }