Difference between revisions of "Using an Accumulator"

From Progzoo
Jump to: navigation, search
(New page: <p> When using an accumulating variable there are three stages: </p> <dl> <dt>Initialise</dt> <dd> We declare our accumulator and set it to an initial values. </dd> <dt>Update</dt> <dd> In...)
 
(Using an accumulator to count.)
Line 56: Line 56:
 
</prog>
 
</prog>
 
</question>
 
</question>
 +
 +
==Using an accumulator to count on a condition.==
 +
<question className="P" title="Using an accumulator to count.">
 +
<shell lang="java" className="P" import="shells.xml#main"/>
 +
<p class='imper'>Count the number of 1s in  the list</p>
 +
<blurb>
 +
*We initialise to 0.
 +
*We increment the accumulator only if the current value equals 1.
 +
</blurb>
 +
<prog lang="java">
 +
int acc = 0;
 +
for (int i : new int[]{2,7,1,1})
 +
{
 +
  if (i==1)
 +
    acc++;
 +
}
 +
System.out.println(acc);
 +
</prog>
 +
</question>
 +
 
==Using an accumulator to multiply.==
 
==Using an accumulator to multiply.==
 
<question className="P" title="Using an accumulator to multiply.">
 
<question className="P" title="Using an accumulator to multiply.">

Revision as of 00:09, 8 December 2007

When using an accumulating variable there are three stages:

Initialise
We declare our accumulator and set it to an initial values.
Update
Inside the loop we update the accumulator - we take into account the current data item.
Output/use
After the loop our accumulator contains the required value. We use it or output it.

Using an accumulator to add.


  • We initialise to 0.
  • We add to the accumulator.
  • The value printed is the sum 0+2+7+1+1.


[Font] [Default] [Show] [Resize] [History] [Profile]

Using an accumulator to count.


  • We initialise to 0.
  • We increment the accumulator.
  • The value printed is the count: 0+1+1+1+1.


[Font] [Default] [Show] [Resize] [History] [Profile]

Using an accumulator to count on a condition.

Count the number of 1s in the list

  • We initialise to 0.
  • We increment the accumulator only if the current value equals 1.


[Font] [Default] [Show] [Resize] [History] [Profile]

Using an accumulator to multiply.


  • We initialise to 1.
  • We multiply the accumulator.
  • The value printed is the product: 1*2*7*1*1


[Font] [Default] [Show] [Resize] [History] [Profile]

Using an accumulator to find the maximum.


  • We initialise to 0.
  • We take the max.
  • The value printed is the largest:
    max(max(max(max(0,2),7),1),1)


[Font] [Default] [Show] [Resize] [History] [Profile]

Using an accumulator to concatenate.


  • We initialise to "".
  • We concatenate the next value.
  • Each time i gets converted to a string and is put at the end.
  • The answer is ""+2+7+1+1


[Font] [Default] [Show] [Resize] [History] [Profile]

Using two accumulators to find the mean.


  • We initialise both to 0.
  • We add to the sum and increment the count.
  • We divide the sum by the count to get the average.


[Font] [Default] [Show] [Resize] [History] [Profile]

Using an accumulator to calculate.


  • We initialise to 0.
  • We multiply by the radix and add the next digit.
  • By the end the number 2 has been multiplied by 10 three times, the number has been multiplied by 10 twice...
  • 10*(10*(10*2+7)+1)+1


[Font] [Default] [Show] [Resize] [History] [Profile]