Writing Math Equations in PERL for HTML

C

cylurian

Hello everyone. I create a lot of math questions with PERL and
display them in html. One item that kills me is using negative signs,
especially for displaying on html. Question is what is the best
efficient way to account for positive and negative (addition and
subtraction) signs when displaying in html? I write many conditional
statements so I can account for the sign (operations). For example,
lets say I have a quadratic: ax^2 + bc + c = 0

And I want a, b and c to be random from -9 to -1 and 1 to 9. When I
print the problem, I have to all the cases for displaying in html.

If (($a >= 1)&&($b >= 1)&&($c >= 1) {

print "$a x<sup>2</sup> + $b x + $c = 0";

}elsif (($a >= 1)&&($b <= 1)&&($c >= 1)) {


print "$a x<sup>2</sup> $b x + $c = 0";

}..... keeps going until I cover all possible combinations with negative
and positive signs. Any suggestions on being more efficient?
 
B

Brian McCauley

Hello everyone. I create a lot of math questions with PERL and
display them in html. One item that kills me is using negative signs,
especially for displaying on html. Question is what is the best
efficient way to account for positive and negative (addition and
subtraction) signs when displaying in html? I write many conditional
statements so I can account for the sign (operations). For example,
lets say I have a quadratic: ax^2 + bc + c = 0

And I want a, b and c to be random from -9 to -1 and 1 to 9. When I
print the problem, I have to all the cases for displaying in html.

If (($a >= 1)&&($b >= 1)&&($c >= 1) {

print "$a x<sup>2</sup> + $b x + $c = 0";

}elsif (($a >= 1)&&($b <= 1)&&($c >= 1)) {

print "$a x<sup>2</sup> $b x + $c = 0";

}..... keeps going until I cover all possible combinations with negative

and positive signs. Any suggestions on being more efficient?

printf "%dx<sup>2</sup>%+dx%+d=0",$a,$b,$c;
 
C

cylurian

Wow, thanks. What can I do if $a = -1 and I want nothing to show, is
there a faster way then doing a separte condition for $a like

if ($a == -1) {
printf "x<sup>2</sup>%+dx%+d=0",$a,$b,$c;
}else {
printf "%dx<sup>2</sup>%+dx%+d=0",$a,$b,$c;
}
 
C

cylurian

Wow, thanks. Is there a way for me to show only a negative for 1
instead of -1. I know of two ways, but is there a better way.

if ($a == -1 {

$a = "-";
}

or

if ($a == -1) {

printf "-x<sup>2</sup>%+dx%+d=0", $b,$c;

}else {

printf "%dx<sup>2</sup>%+dx%+d=0",$a,$b,$c;

}
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,009
Latest member
GidgetGamb

Latest Threads

Top