Assignment 4.1
Post date: Jun 27, 2010 9:20:11 PM
Well this one was simple enough, just a little algebra. It should be noted though that due to the nature of non-floating point integers, this will only work accurately for perfect squares (ie 3 4 5, 5 12 13, etc), otherwise the answer will be rounded to a whole number. For a more accurate answer, simply replace all "int" declarations with "float" declarations.
code:
/***********************************************************************************/
#include "math.h" // include the Math Library
const int a = 3;
const int h = 5;
int b;
void setup() // run once, when the sketch starts
{
Serial.begin(9600); // set up Serial library at 9600 bps
Serial.println("Lets calculate the leg of a right triangle"); //print message (with carriage return, \n)
Serial.print("a = "); //print message without carriage return
Serial.println(a); //print the value of variable a
Serial.print("h = ");
Serial.println(h);
b = sqrt( h*h - a*a ); //a^2 + b^2 = h^2, so b = sqrt of (h^2 - a^2); this assignment sets variable b to that value
Serial.print("b = ");
Serial.println(b);
}
void loop() // we need this to be here even though its empty
{
}
/***********************************************************************************/
Serial monitor output:
Lets calculate the leg of a right triangle
a = 3
h = 5
b = 4