CSCI A201/A597 and I210

Lab Notes Six

Second semester 2000-2001


Big letters
The minute paper (lab assignment) is in QuizSite, due Monday at the end of the day.

The grid:
public class Patterns {
  public static void main(String[] args) {
    ConsoleReader console = new ConsoleReader(System.in); 
    System.out.print("Enter the size: "); 
    int size = console.readInt(), i, j;
    for (i = 0; i < size; i++) {
      for (j = 0; j < size; j++) {
        if (false) {
          System.out.print("* ");
        } else {
          System.out.print("  ");
        }
      }
      System.out.println();
    }
  }     
}


And now we look at all the patterns.

Pattern 1:

Pattern 2:

(j == 0)
(i == 0)


Pattern 3:

Pattern 4:

(j == (size - 1))
(i == (size - 1))

Pattern 5:

Pattern 6:

((j == 0) && (i <= size/2))
((j == 0) && (i > size/2))

Pattern 7:

Pattern 8:

((i == 0) && (j <= size/2))
((i == 0) && (j > size/2))

Pattern 9: ((j == (size - 1)) && (i <= size/2))


Pattern 10: ((j == (size - 1) && (i > size/2))


Pattern 11: ((i == (size - 1)) && (j < size/2))


Pattern 12: ((i == (size - 1)) && (j > size/2)


Pattern 13:

Pattern 14:

(j == size/2)
(i == size/2)

Pattern 15:

Pattern 16:

15: ((j == size/2) && (i <= size/2))
16: ((j == size/2) && (i > size/2))


Pattern 17:

Pattern 18:

17: ((i == size/2) && (j <= size/2))
18: ((i == size/2) && (j > size/2))


Pattern 19:

Pattern 20:

(i == j)
(i + j == (size - 1))

Pattern 21:

Pattern 22:

21: ((i == j) && (i <= size/2) && (j <= size/2))
22: ((i == j) && (i > size/2) && (j > size/2))

Can either one of these conditions be simplified at all?


Pattern 23:

Pattern 24:

23: ((i + j == (size - 1)) && (i <= size/2) && (j > size/2))
24: ((i + j == (size - 1)) && (i > size/2) && (j <= size/2))

Can either one of these be simplified?


If we have these "atomic" patterns (described above), how we can combine them to obtain more complicated patterns (such as the ones illustrated below):

Uppercase T:
A cell should be turned ON if it appears in the group described by pattern 13 OR if it appears in the group that is described by pattern 2, otherwise the cell is OFF (blank)
Uppercase L:
A cell should be turned ON if it appears in the group described by pattern 13 OR if it appears in the group described by pattern 12
Uppercase E:
If cell is in pattern 1 OR in pattern 2 OR in pattern 4 or in pattern 17 then the cell should be turned ON otherwise leave the cell blank (print a space)
Uppercase W:
Cell to be turned ON if pattern 1 matches OR if pattern 24 matches OR if pattern 22 matches OR if pattern 3 matches, otherwise leave cell blank
Uppercase A:
(20) OR (3) OR (18)
Uppercase R:
(22) || (1) || (14) || (2) || (9)


Last updated: Feb 8, 2001 by Adrian German for A201