Figure 8

adjusting = 1;
while(adjusting){
   adjust = 0;
   for(i=0; i<# of input vectors; i++){
      read input vector i and its desired output

      for(j=0; j<# of Adalines in Madaline; j++){
         calculate net i for Adaline j using code segment 1
         calculate output i for Adaline j using code segment 2
      }

      calculate Madaline output using code segment 5

      if(output != target){
         find Adaline k whose output != answer and
                        whose net is closest to 0
         train weights for Adaline k using code segment 3
         adjusting = 1;
      }
   }
}