Skip to content

Commit 5af0fcb

Browse files
committed
1-get-angle-type.js committed
1 parent 3372770 commit 5af0fcb

File tree

1 file changed

+41
-0
lines changed

1 file changed

+41
-0
lines changed

Sprint-3/1-implement-and-rewrite-tests/implement/1-get-angle-type.js

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
/**
2+
* Original file:
3+
*
14
// Implement a function getAngleType
25
//
36
// When given an angle in degrees, it should return a string indicating the type of angle:
@@ -35,3 +38,41 @@ function assertEquals(actualOutput, targetOutput) {
3538
// Example: Identify Right Angles
3639
const right = getAngleType(90);
3740
assertEquals(right, "Right angle");
41+
*
42+
* End of original file
43+
*/
44+
45+
// Implement a function getAngleType
46+
//
47+
// When given an angle in degrees, it should return a string indicating the type of angle:
48+
// - "Acute angle" for angles greater than 0° and less than 90°
49+
// - "Right angle" for exactly 90°
50+
// - "Obtuse angle" for angles greater than 90° and less than 180°
51+
// - "Straight angle" for exactly 180°
52+
// - "Reflex angle" for angles greater than 180° and less than 360°
53+
// - "Invalid angle" for angles outside the valid range.
54+
55+
// Assumption: The parameter is a valid number. (You do not need to handle non-numeric inputs.)
56+
57+
function getAngleType(angle) {
58+
// Check for invalid angles first (angles ≤ 0 or ≥ 360)
59+
if (angle <= 0 || angle >= 360) {
60+
return "Invalid angle";
61+
}
62+
63+
// Check for specific angle types
64+
if (angle < 90) {
65+
return "Acute angle";
66+
} else if (angle === 90) {
67+
return "Right angle";
68+
} else if (angle < 180) {
69+
return "Obtuse angle";
70+
} else if (angle === 180) {
71+
return "Straight angle";
72+
} else { // angle > 180 and < 360 (already validated above)
73+
return "Reflex angle";
74+
}
75+
}
76+
77+
module.exports = getAngleType;
78+

0 commit comments

Comments
 (0)