PHP Exercises: Reads the two adjoined sides and the diagonal of a parallelogram and check whether the parallelogram is a rectangle or a rhombus
PHP: Exercise-62 with Solution
Write a PHP program which reads the two adjoined sides and the diagonal of a parallelogram and check whether the parallelogram is a rectangle or a rhombus.
According to Wikipedia-
parallelograms: In Euclidean geometry, a parallelogram is a simple (non-self-intersecting) quadrilateral with two pairs of parallel sides. The opposite or facing sides of a parallelogram are of equal length and the opposite angles of a parallelogram are of equal measure.
rectangles: In Euclidean plane geometry, a rectangle is a quadrilateral with four right angles. It can also be defined as an equiangular quadrilateral, since equiangular means that all of its angles are equal (360°/4 = 90°). It can also be defined as a parallelogram containing a right angle.
rhombus: In plane Euclidean geometry, a rhombus (plural rhombi or rhombuses) is a simple (non-self-intersecting) quadrilateral whose four sides all have the same length. Another name is equilateral quadrilateral, since equilateral means that all of its sides are equal in length. The rhombus is often called a diamond, after the diamonds suit in playing cards which resembles the projection of an octahedral diamond, or a lozenge, though the former sometimes refers specifically to a rhombus with a 60° angle (see Polyiamond), and the latter sometimes refers specifically to a rhombus with a 45° angle.
Input: Two adjoined sides and the diagonal.
1 ≤ ai, bi, ci ≤ 1000, ai + bi > ci
Visual Presentation:
Sample Solution:
PHP Code:
<?php
// Given values for the sides of a quadrilateral
$e1 = 3;
$e2 = 4;
$di = 5;
// Uncomment the lines below to test with different values
// $e1 = 5;
// $e2 = 5;
// $di = 8;
// Initialize counters for rectangles and rhombuses
$rec = 0;
$dia = 0;
// Check if the given sides form a rectangle using the Pythagorean theorem
if ($e1 * $e1 + $e2 * $e2 === $di * $di) {
$rec++;
}
// Check if the given sides form a rhombus by checking if both sides are equal
if ($e1 === $e2) {
$dia++;
}
// Output the result based on the counts of rectangles and rhombuses
if ($rec > 0) {
echo "This is rectangles.";
}
if ($dia > 0) {
echo "This is rhombus.";
}
?>
Explanation:
- Define Side Lengths:
- The code initializes three variables representing the lengths of the sides of a quadrilateral: $e1 = 3, $e2 = 4, and $di = 5.
- Commented Test Values:
- There are commented lines to test with different values for the sides of the quadrilateral.
- Initialize Counters:
- Two counters are initialized: $rec = 0 for rectangles and $dia = 0 for rhombuses.
- Check for Rectangle:
- The code checks if the lengths satisfy the Pythagorean theorem ($e1^2 + $e2^2 = di^2).
- If the condition is true, it increments the rectangle counter ($rec++).
- Check for Rhombus:
- The code checks if the two side lengths are equal ($e1 === $e2).
- If this condition is true, it increments the rhombus counter ($dia++).
- Output Results:
- If the rectangle counter is greater than zero, it outputs "This is rectangles."
- If the rhombus counter is greater than zero, it outputs "This is rhombus."
Sample Input:
4,5,6
6,6,9
Sample Output:
This is rectangles.
Flowchart:
PHP Code Editor:
Have another way to solve this solution? Contribute your code (and comments) through Disqus.
Previous: Write a PHP program to print mode values from a given a sequence of integers. The mode value is the element which occurs most frequently. If there are several mode values, print them in ascending order.
Next: Write a PHP program to replace a string "Python" with "PHP" and "Python" with "PHP" in a given string.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.
https://w3resource.com/php-exercises/php-basic-exercise-62.php
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics