inf1339
you want to build a number displaying machine
W | X | Y | Z |
---|---|---|---|
1 | 1 | 1 | 1 |
1 | 1 | 1 | 0 |
1 | 1 | 0 | 1 |
1 | 1 | 0 | 0 |
1 | 0 | 1 | 1 |
1 | 0 | 1 | 0 |
1 | 0 | 0 | 1 |
1 | 0 | 0 | 0 |
0 | 1 | 1 | 1 |
0 | 1 | 1 | 0 |
0 | 1 | 0 | 1 |
0 | 1 | 0 | 0 |
0 | 0 | 1 | 1 |
0 | 0 | 1 | 0 |
0 | 0 | 0 | 1 |
0 | 0 | 0 | 0 |
4 variables → 24 = 16 rows
start with 8 1s and 8 0s in left-most column
W | X | Y | Z |
---|---|---|---|
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
then alternating groups of 4
and then groups of 2 and then 1.
Bottom ten rows correspond to our ten keys
1
2
3
4
5
6
7
8
9
0
A
G
D
F
E
B
C
W | X | Y | Z |
---|---|---|---|
1 | 1 | 1 | 1 |
1 | 1 | 1 | 0 |
1 | 1 | 0 | 1 |
1 | 1 | 0 | 0 |
1 | 0 | 1 | 1 |
1 | 0 | 1 | 0 |
1 | 0 | 0 | 1 |
1 | 0 | 0 | 0 |
0 | 1 | 1 | 1 |
0 | 1 | 1 | 0 |
0 | 1 | 0 | 1 |
0 | 1 | 0 | 0 |
0 | 0 | 1 | 1 |
0 | 0 | 1 | 0 |
0 | 0 | 0 | 1 |
0 | 0 | 0 | 0 |
1
2
3
4
5
6
7
8
9
0
A | B | C | D | E | F | G |
---|---|---|---|---|---|---|
W | X | Y | Z |
---|---|---|---|
1 | 1 | 1 | 1 |
1 | 1 | 1 | 0 |
1 | 1 | 0 | 1 |
1 | 1 | 0 | 0 |
1 | 0 | 1 | 1 |
1 | 0 | 1 | 0 |
1 | 0 | 0 | 1 |
1 | 0 | 0 | 0 |
0 | 1 | 1 | 1 |
0 | 1 | 1 | 0 |
0 | 1 | 0 | 1 |
0 | 1 | 0 | 0 |
0 | 0 | 1 | 1 |
0 | 0 | 1 | 0 |
0 | 0 | 0 | 1 |
0 | 0 | 0 | 0 |
1
2
3
4
5
6
7
8
9
0
A | B | C | D | E | F | G |
---|---|---|---|---|---|---|
W | X | Y | Z |
---|---|---|---|
1 | 1 | 1 | 1 |
1 | 1 | 1 | 0 |
1 | 1 | 0 | 1 |
1 | 1 | 0 | 0 |
1 | 0 | 1 | 1 |
1 | 0 | 1 | 0 |
1 | 0 | 0 | 1 |
1 | 0 | 0 | 0 |
0 | 1 | 1 | 1 |
0 | 1 | 1 | 0 |
0 | 1 | 0 | 1 |
0 | 1 | 0 | 0 |
0 | 0 | 1 | 1 |
0 | 0 | 1 | 0 |
0 | 0 | 0 | 1 |
0 | 0 | 0 | 0 |
1
2
3
4
5
6
7
8
9
0
A | B | C | D | E | F | G |
---|---|---|---|---|---|---|
e.g., A=!WXYZ + W!X!Y!Z + WX!Y!Z
W!X!YZ +
W!X!YZ +
!W!X!Y!Z
!W!XY!Z +
!WX!YZ +
!WXYZ +
W!X!Y!Z +
!W!XYZ +
!WXY!Z +
A=
W | X | Y | Z |
---|---|---|---|
1 | 1 | 1 | 1 |
1 | 1 | 1 | 0 |
1 | 1 | 0 | 1 |
1 | 1 | 0 | 0 |
1 | 0 | 1 | 1 |
1 | 0 | 1 | 0 |
1 | 0 | 0 | 1 |
1 | 0 | 0 | 0 |
0 | 1 | 1 | 1 |
0 | 1 | 1 | 0 |
0 | 1 | 0 | 1 |
0 | 1 | 0 | 0 |
0 | 0 | 1 | 1 |
0 | 0 | 1 | 0 |
0 | 0 | 0 | 1 |
0 | 0 | 0 | 0 |
1
2
3
4
5
6
7
8
9
0
A | B | C | D | E | F | G |
---|---|---|---|---|---|---|
W!X!YZ +
W!X!YZ +
!W!X!Y!Z
!W!XY!Z +
!WX!YZ +
!WXYZ +
W!X!Y!Z +
!W!XYZ +
!WXY!Z +
A=
W | X | Y | Z |
---|---|---|---|
1 | 1 | 1 | 1 |
1 | 1 | 1 | 0 |
1 | 1 | 0 | 1 |
1 | 1 | 0 | 0 |
1 | 0 | 1 | 1 |
1 | 0 | 1 | 0 |
1 | 0 | 0 | 1 |
1 | 0 | 0 | 0 |
0 | 1 | 1 | 1 |
0 | 1 | 1 | 0 |
0 | 1 | 0 | 1 |
0 | 1 | 0 | 0 |
0 | 0 | 1 | 1 |
0 | 0 | 1 | 0 |
0 | 0 | 0 | 1 |
0 | 0 | 0 | 0 |
1
2
3
4
5
6
7
8
9
0
A | B | C | D | E | F | G |
---|---|---|---|---|---|---|
W!X!YZ +
W!X!YZ +
!W!X!Y!Z
!W!XY!Z +
!WX!YZ +
!WXYZ +
W!X!Y!Z +
!W!XYZ +
!WXY!Z +
A=
W | X | Y | Z |
---|---|---|---|
1 | 1 | 1 | 1 |
1 | 1 | 1 | 0 |
1 | 1 | 0 | 1 |
1 | 1 | 0 | 0 |
1 | 0 | 1 | 1 |
1 | 0 | 1 | 0 |
1 | 0 | 0 | 1 |
1 | 0 | 0 | 0 |
0 | 1 | 1 | 1 |
0 | 1 | 1 | 0 |
0 | 1 | 0 | 1 |
0 | 1 | 0 | 0 |
0 | 0 | 1 | 1 |
0 | 0 | 1 | 0 |
0 | 0 | 0 | 1 |
0 | 0 | 0 | 0 |
1
2
3
4
5
6
7
8
9
0
A | B | C | D | E | F | G |
---|---|---|---|---|---|---|
W!X!YZ +
W!X!YZ +
!W!X!Y!Z
!W!XY!Z +
!WX!YZ +
!WXYZ +
W!X!Y!Z +
!W!XYZ +
!WXY!Z +
A=
W | X | Y | Z |
---|---|---|---|
1 | 1 | 1 | 1 |
1 | 1 | 1 | 0 |
1 | 1 | 0 | 1 |
1 | 1 | 0 | 0 |
1 | 0 | 1 | 1 |
1 | 0 | 1 | 0 |
1 | 0 | 0 | 1 |
1 | 0 | 0 | 0 |
0 | 1 | 1 | 1 |
0 | 1 | 1 | 0 |
0 | 1 | 0 | 1 |
0 | 1 | 0 | 0 |
0 | 0 | 1 | 1 |
0 | 0 | 1 | 0 |
0 | 0 | 0 | 1 |
0 | 0 | 0 | 0 |
1
2
3
4
5
6
7
8
9
0
A | B | C | D | E | F | G |
---|---|---|---|---|---|---|
W!X!YZ +
W!X!YZ +
!W!X!Y!Z
!W!XY!Z +
!WX!YZ +
!WXYZ +
W!X!Y!Z +
!W!XYZ +
!WXY!Z +
A=
W | X | Y | Z |
---|---|---|---|
1 | 1 | 1 | 1 |
1 | 1 | 1 | 0 |
1 | 1 | 0 | 1 |
1 | 1 | 0 | 0 |
1 | 0 | 1 | 1 |
1 | 0 | 1 | 0 |
1 | 0 | 0 | 1 |
1 | 0 | 0 | 0 |
0 | 1 | 1 | 1 |
0 | 1 | 1 | 0 |
0 | 1 | 0 | 1 |
0 | 1 | 0 | 0 |
0 | 0 | 1 | 1 |
0 | 0 | 1 | 0 |
0 | 0 | 0 | 1 |
0 | 0 | 0 | 0 |
1
2
3
4
5
6
7
8
9
0
A | B | C | D | E | F | G |
---|---|---|---|---|---|---|
W!X!YZ +
W!X!YZ +
!W!X!Y!Z
!W!XY!Z +
!WX!YZ +
!WXYZ +
W!X!Y!Z +
!W!XYZ +
!WXY!Z +
A=
W | X | Y | Z |
---|---|---|---|
1 | 1 | 1 | 1 |
1 | 1 | 1 | 0 |
1 | 1 | 0 | 1 |
1 | 1 | 0 | 0 |
1 | 0 | 1 | 1 |
1 | 0 | 1 | 0 |
1 | 0 | 0 | 1 |
1 | 0 | 0 | 0 |
0 | 1 | 1 | 1 |
0 | 1 | 1 | 0 |
0 | 1 | 0 | 1 |
0 | 1 | 0 | 0 |
0 | 0 | 1 | 1 |
0 | 0 | 1 | 0 |
0 | 0 | 0 | 1 |
0 | 0 | 0 | 0 |
1
2
3
4
5
6
7
8
9
0
A | B | C | D | E | F | G |
---|---|---|---|---|---|---|
W!X!YZ +
W!X!YZ +
!W!X!Y!Z
!W!XY!Z +
!WX!YZ +
!WXYZ +
W!X!Y!Z +
!W!XYZ +
!WXY!Z +
A=
W | X | Y | Z |
---|---|---|---|
1 | 1 | 1 | 1 |
1 | 1 | 1 | 0 |
1 | 1 | 0 | 1 |
1 | 1 | 0 | 0 |
1 | 0 | 1 | 1 |
1 | 0 | 1 | 0 |
1 | 0 | 0 | 1 |
1 | 0 | 0 | 0 |
0 | 1 | 1 | 1 |
0 | 1 | 1 | 0 |
0 | 1 | 0 | 1 |
0 | 1 | 0 | 0 |
0 | 0 | 1 | 1 |
0 | 0 | 1 | 0 |
0 | 0 | 0 | 1 |
0 | 0 | 0 | 0 |
1
2
3
4
5
6
7
8
9
0
A | B | C | D | E | F | G |
---|---|---|---|---|---|---|
W!X!YZ +
W!X!YZ +
!W!X!Y!Z
!W!XY!Z +
!WX!YZ +
!WXYZ +
W!X!Y!Z +
!W!XYZ +
!WXY!Z +
A=
W | X | Y | Z |
---|---|---|---|
1 | 1 | 1 | 1 |
1 | 1 | 1 | 0 |
1 | 1 | 0 | 1 |
1 | 1 | 0 | 0 |
1 | 0 | 1 | 1 |
1 | 0 | 1 | 0 |
1 | 0 | 0 | 1 |
1 | 0 | 0 | 0 |
0 | 1 | 1 | 1 |
0 | 1 | 1 | 0 |
0 | 1 | 0 | 1 |
0 | 1 | 0 | 0 |
0 | 0 | 1 | 1 |
0 | 0 | 1 | 0 |
0 | 0 | 0 | 1 |
0 | 0 | 0 | 0 |
1
2
3
4
5
6
7
8
9
0
A | B | C | D | E | F | G |
---|---|---|---|---|---|---|
W!X!YZ +
W!X!YZ +
!W!X!Y!Z
!W!XY!Z +
!WX!YZ +
!WXYZ +
W!X!Y!Z +
!W!XYZ +
!WXY!Z +
A=
W!X!YZ +
!W!X!Y!Z
!W!XY!Z +
!WX!YZ +
!WXYZ +
W!X!Y!Z +
!W!XYZ +
!WXY!Z +
A=
W!X!YZ +
!W!X!Y!Z
!W!XY!Z +
!WX!YZ +
!WXYZ +
W!X!Y!Z +
!W!XYZ +
!WXY!Z +
A=
yz wx |
00 | 01 | 11 | 10 |
00 |
|
|
|
|
01 |
|
|
|
|
11 |
|
|
|
|
10 |
|
|
|
|
W | X | Y | Z | A | |
---|---|---|---|---|---|
- | 1 | 1 | 1 | 1 | |
- | 1 | 1 | 1 | 0 | |
- | 1 | 1 | 0 | 1 | |
- | 1 | 1 | 0 | 0 | |
- | 1 | 0 | 1 | 1 | |
- | 1 | 0 | 1 | 0 | |
9 | 1 | 0 | 0 | 1 | |
8 | 1 | 0 | 0 | 0 | |
7 | 0 | 1 | 1 | 1 | |
6 | 0 | 1 | 1 | 0 | |
5 | 0 | 1 | 0 | 1 | |
4 | 0 | 1 | 0 | 0 | |
3 | 0 | 0 | 1 | 1 | |
2 | 0 | 0 | 1 | 0 | |
1 | 0 | 0 | 0 | 1 | |
0 | 0 | 0 | 0 | 0 |
var a =
!x && !z
||
w
y
(x && z)
!x &&
!x
(!x && !z)
||
||
x && z
x &&
x
JavaScript Tip Sheet
not is ! before a variable or expression
and is &&
or is ||
(!W!X!Y) + Z + (!XZ) (!W !X !Y) + Z + (!X Z) (!W && !X && !Y) + Z + (!X && Z) (!W && !X && !Y) || Z || (!X && Z)
Show Solution
HTML buttons for keypad
HTML table for 7 segment display
HTML
CSS
JS
behind the scenes code
dec2bcd(dec)
bools2chars(a,b,c,d,e,f,g)
illuminate (ssd)
code we'll change
https://codepen.io/
team/DanR/pen/dyRqVxG
!X!Z
XZ
!X!Z+W
Y+XZ
!X!Z+W+Y+XZ
!X!Z
XZ
!X!Z
W
+
Y
XZ
+
<table></table>
<tr></tr>
<td></td>
table
table row
table data element (cell)
Example
<table>
<tr>
<td>A</td>
<td>B</td>
<td>C</td>
</tr>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
</tr>
<tr>
<td>4</td>
<td>5</td>
<td>6</td>
</tr>
</table>
A | B | C |
1 | 2 | 3 |
4 | 5 | 6 |
Example
<table>
<tr class="h10">
<td class="w10"></td>
<td class="w30 red">A</td>
<td class="w10"></td>
</tr>
<tr class="h30">
<td class="h30 w10 red">F</td>
<td class="h30 w30"></td>
<td class="h30 w10 red">B</td>
</tr>
<tr class="h10">
<td class="w10"></td>
<td class="w30 red">G</td>
<td class="w10"></td>
</tr>
</table>
A | ||
F | B | |
G |
.red {background-color: red;}
.clear {background-color: white;}
.h10 {height: 10px;}
.w10 {width: 10px;}
.h30 {}
.w30 {width: 30px;}