![]() |
CSCI A201/A597Lecture Notes 12 Spring 2000 |
| The grid: | |
|
public class Practical {
public static void main(String[] args) {
int size = Integer.parseInt(args[0]), 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();
}
}
}
|
|
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?
In class we will discuss these "atomic" patterns, and how we can combine them to obtain more complicated patterns such as these:
| |
| 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 | 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 turned ON if pattern 1 matches OR pattern 24 matches OR pattern 22 matches OR pattern 3 matches |
|
|
| Uppercase A: (20) OR (3) OR (18) | Uppercase R: (22) || (1) || (14) || (2) || (9) |