Source code for: challenge1_4.php

<html>
<head>
<title>Q7310 Challenge1.4 Using CONDITIONALS & FOR Loops </title>
</head>
<BODY bgcolor="000000"  link="#FFFF00" vlink="#FFFF00" alink="#00FF00"  text="#ececec">

<h1 align="center">
Program #4: FOR Loops
</h1>

<DIV align="center">
<FONT face="arial, helvetica, sans-serif" size=2 color="ececec">

<TABLE width="90%" border=1 cellpadding=10 cellspacing=0>
<TR>
  <TD>

<?php

// INITIALIZE THE ARRAY, $testing
$testing = array(
         
"Program 1.4: ",
"<br>",
" Sums and multiplies all the odd numbers from 1 to 1000, inclusive; ",
"uses only ONE loop; ",
"and displays ALL addition calculations and ONLY multiplication up to Infinity."
         
);


// SET THE MAXIMUM TIMES TO REPEAT: $times
// INITIALIZE THE ARRAY INDEX at 0 (element #1)

$times = count($testing);


// FOR LOOPING
FOR ($x=0; $x < $times; ++$x) {
print
$testing[$x];

}
// ====================================================================
?>


  </TD>
</TR>


<TR>
  <TD>

<?php
// INITIALIZE VALUES

$Tprevious=0;
$Mprevious=1;
$total=0;
$Mtotal=0;
$Mflag=0;
// ERROR PROCESSING FOR $MTOTAL=INFINITY
settype($overflow, 'double');
$overflow = 3.7532741115719E+306 * 301; //Infinity

/* DEBUG
print "<h1> $overflow "; print gettype($overflow); echo "</h1>";
*/

// SETUP HTML TABLE

echo "<TABLE width=90% border=1 align=center>";

    echo
"<TR>";

    echo
"<TD width=20% align=center>";
    echo
"<FONT color='gold'> <b> ODD NUMBER </b> </FONT>";
    echo
"</TD>";
    echo
"<TD width=30% align=center>";
    echo
"<FONT color='gold'> <b> Cumulative ADDITION </b> </FONT>";
    echo
"</TD>";
    echo
"<TD align=center>";
    echo
"<FONT color='gold'> <b> Cumulative MULTIPLICATION </b> </FONT>";
    echo
"</TD>";
    echo
"</TR>";

//SINGLE CALCULATION & PRINTING LOOP
// ODD NUMBER = $counter and will increment by two

FOR ($counter=1; $counter < 1000; $counter +=2){
    echo
"<TR>";
    echo
"<TD align=center>";
    echo
"<b>";
        print
"$counter . ";
    echo
"</b>";
    echo
"</TD>";


// STOP MULTIPLYING AT INFINITY

    
IF ($Mflag == 0) {
        
$Mtotal = $Mprevious * $counter;
    }

    echo
"<TD>";
         
$total = $Tprevious + $counter;
        print
" ($Tprevious + $counter) = $total ";
    echo
"</TD>";
    echo
"<TD>";

// STOP PRINTING MULTIPLICATION AT INFINITY

     
IF ($Mtotal >= $overflow){        
           echo
"&nbsp ";
           
$Mflag=1;
     } ELSE {  

           print
" ($Mprevious X $counter) = $Mtotal ";
     }

// INCREMENT RUNNING TOTALS

       
$Tprevious = $total;
       
$Mprevious = $Mtotal;

// NEXT TABLE ROW
    
echo "</TD>";
    echo
"</TR>";

}
echo
"</TABLE>";
?>

</TD>
</TR>
<TR>
  <TD>
<?php

// PAGE FOOTER INFORMATION *****************************************

?>
   </TD>
</TR>
<TR>
<TD>
SOURCE CODE: Click
<A HREF="http://rrchubbard.org/php/q7310/source1_4.php" target="_blank">
HERE </A>
</TD>
</TR>
</TABLE>
   
</FONT>
</DIV>
[<A href="top" target="_self">Top</A>]
<BR>
  Last Updated
<I>:
  <!-- #BeginDate format:fcAm1m -->Thursday, September 30, 2004  10:59<!-- #EndDate -->
</I>



<P>
  <FONT face="Arial, Helvetica, sans-serif" size="1">
(c) 2004   Robin Y. Mabry Hubbard <A href="mailto:4ascii@marz.com">4ascii@marz.com</A>
  </FONT>
</P>

</body>
</html>

(c) 2004 Robin Y. Mabry Hubbard 4ascii@marz.com