Can you think of words...
with horizontal symmetry?
with vertical symmetry?
with 180 degrees rotation symmetry?
What are the LONGEST words in each category? (Common words are preferred.)
Vertical symmetry (about a horizontal axis) seems to work best with capital letters. The longest seems to be CHECKBOOK. (The symmetry of course depends on the font; the two diagonals of the K must meet at the vertical in the middle, for example.) After that come COOKBOOK, BEDECKED and EXCEEDED. Some shorter ones, such as coocoo, work in lower case as well.
Horizontal symmetry (about a vertical axis) seems limited to shorter words. TOOT seems to be the longest, with MOM, MUM, TOT and WOW following behind.
Rotation about 180 degrees seems best with lower-case letters. The longest seems to be dollop, but in order for the symmetry to work, the l's have to be able to slide so that their ascenders don't become descenders. The same problem exists with solos. To eliminate the l problem we have to go to a word as short as suns.
The words the program found are:
A AA AHA AMA AVA AWA BE BECK BECKED BED BEDDED BEDECK BEDECKED BEE BEEBEE BEECH
BI BIB BIBB BIBBED BIBCOCK BICE BID BIDE BIDED BIKE BIKED BIKIE BIO BIOCIDE BO
BOB BOBBED BOBECHE BOCCE BOCCI BOCCIE BOCHE BOCK bod BOD BODE BODED BODICE
BODIED BOO BOOB BOOBED BOOBIE BOOBOO BOOED BOOHOO BOOHOOED BOOK BOOKED BOOKIE
BOX BOXED CEBID CEBOID CEDE CEDED CEDI CEE CHEBEC CHECK CHECKBOOK CHECKED CHEEK
CHEEKED CHI CHIC CHICHI CHICK CHICKEE CHICO CHID CHIDE CHIDED CHOCK CHOCKED
CHOICE CHOKE CHOKED CHOOK COB COBB COCCI COCCIC COCCID COCCOID COCK COCKED COCO
coco COD CODDED CODE CODEBOOK CODEC CODED CODEX COED COHO COKE COKED COO coo
COOCH COOCOO coocoo COOED COOEE COOEED COOK COOKBOOK COOKED COOKIE COX cox COXED
DE DEB DECIDE DECIDED DECK DECKED DECO DECODE DECODED DEE DEED DEEDED DEICE
DEICED DEICIDE DEKE DEKED DEKKO DEX DEXIE DHOBI DIB DIBBED DICE DICED DICK
DICKED DICKIE DID DIDIE DIDO DIE DIED DIKDIK DIKE DIKED DIODE DIOXID DIOXIDE DO
DOBIE DOC DOCK DOCKED DODO DOE dollop DOXIE EBB EBBED ECHE ECHED ECHO ECHOED
ECHOIC ECOCIDE ED EDDIED EDDO EDH EH EIDE EKE EKED EX EXCEED EXCEEDED EXCIDE
EXCIDED EXEC EXODOI HAH HE HEBE HECK HEED HEEDED HEH HEX HEXED HI HIC HICK HID
HIDE HIDED HIE HIED HIKE HIKED HO HOB HOBBED HOBO HOBOED HOCK HOCKED HOD HOE
HOED HOICK HOICKED HOKE HOKED HOOCH HOOD HOODED HOODIE HOODOO HOODOOED HOOK
HOOKED HUH IBEX ICE ICEBOX ICED ICH ICK ID IODIC IODID IODIDE IXODID KEBBIE
KEBBOCK KEBOB KECK KECKED KEEK KEEKED KEX KHI KIBBE KIBBEH KIBBI KIBE KIBEI KICK
KICKED KID KIDDED KIDDIE KIDDO KIKE KOB KOBO KOI KOODOO KOOK KOOKIE MIM MM MOM
MUM nu OBE OBI OBOE OD ODD ODE ODIC OE OH OHED OHO OHO OHO OKE OKEH OOH OOHED
OTTO OX ox OXID OXIDE OXIDIC OXO oxo OXO oxo OXO oxo pod pood SIS solos SOS sos
suns TAT TIT TOOT TOT TUT un VAV WAW WOW wow X x X x X x XEBEC XI YAY
Sorry about the mixture of types--the original output was color coded for the type.
The beginning of the program shows the letter matching used:
' cap horiz
DATA aa, hh, ii, mm, oo, tt, uu, vv, ww, xx, yy
' lc horiz
DATA bd, db, ll, oo, pq, qp, vv, ww, xx
' cap vert
DATA bb, cc, dd, ee, hh, ii, kk, oo, xx
' lc vert
DATA cc, oo, xx
' cap rot
DATA hh, ii, oo, ss, xx, zz
' lc rot
DATA bq, dp, ll, nu, oo, pd, qb, ss, un, xx, zz
DIM capHoriz$(11)
FOR i = 1 TO 11: READ capHoriz$(i): PRINT capHoriz$(i); : NEXT: PRINT
DIM lcHoriz$(9)
FOR i = 1 TO 9: READ lcHoriz$(i): PRINT lcHoriz$(i); : NEXT: PRINT
DIM capVert$(9)
FOR i = 1 TO 9: READ capVert$(i): PRINT capVert$(i); : NEXT: PRINT
DIM lcVert$(3)
FOR i = 1 TO 3: READ lcVert$(i): PRINT lcVert$(i); : NEXT: PRINT
DIM capRot$(6)
FOR i = 1 TO 6: READ capRot$(i): PRINT capRot$(i); : NEXT: PRINT
DIM lcRot$(11)
FOR i = 1 TO 11: READ lcRot$(i): PRINT lcRot$(i); : NEXT: PRINT
OPEN "words.txt" FOR INPUT AS #1
DO
COLOR 7
LINE INPUT #1, w$
'cap horiz
good = 1
w1$ = ""
FOR i = 1 TO LEN(w$)
found = 0
FOR j = 1 TO 11
IF LEFT$(capHoriz$(j), 1) = MID$(w$, i, 1) THEN
found = 1
w1$ = RIGHT$(capHoriz$(j), 1) + w1$
END IF
NEXT
IF found = 0 THEN good = 0: EXIT FOR
NEXT
IF good AND w$ = w1$ THEN
PRINT UCASE$(w$); " ";
END IF
'lc horiz
good = 1
w1$ = ""
FOR i = 1 TO LEN(w$)
found = 0
FOR j = 1 TO 9
IF LEFT$(lcHoriz$(j), 1) = MID$(w$, i, 1) THEN
found = 1
w1$ = RIGHT$(lcHoriz$(j), 1) + w1$
END IF
NEXT
IF found = 0 THEN good = 0: EXIT FOR
NEXT
IF good AND w$ = w1$ THEN
PRINT w$; " ";
END IF
COLOR 9
'cap vert
good = 1
w1$ = ""
FOR i = 1 TO LEN(w$)
found = 0
FOR j = 1 TO 9
IF LEFT$(capVert$(j), 1) = MID$(w$, i, 1) THEN
found = 1
w1$ = w1$ + RIGHT$(capVert$(j), 1)
END IF
NEXT
IF found = 0 THEN good = 0: EXIT FOR
NEXT
IF good AND w$ = w1$ THEN
PRINT UCASE$(w$); " ";
END IF
'lc vert
good = 1
w1$ = ""
FOR i = 1 TO LEN(w$)
found = 0
FOR j = 1 TO 3
IF LEFT$(lcVert$(j), 1) = MID$(w$, i, 1) THEN
found = 1
w1$ = w1$ + RIGHT$(lcVert$(j), 1)
END IF
NEXT
IF found = 0 THEN good = 0: EXIT FOR
NEXT
IF good AND w$ = w1$ THEN
PRINT w$; " ";
END IF
COLOR 14
'cap Rot
good = 1
w1$ = ""
FOR i = 1 TO LEN(w$)
found = 0
FOR j = 1 TO 6
IF LEFT$(capRot$(j), 1) = MID$(w$, i, 1) THEN
found = 1
w1$ = RIGHT$(capRot$(j), 1) + w1$
END IF
NEXT
IF found = 0 THEN good = 0: EXIT FOR
NEXT
IF good AND w$ = w1$ THEN
PRINT UCASE$(w$); " ";
END IF
'lc Rot
good = 1
w1$ = ""
FOR i = 1 TO LEN(w$)
found = 0
FOR j = 1 TO 11
IF LEFT$(lcRot$(j), 1) = MID$(w$, i, 1) THEN
found = 1
w1$ = RIGHT$(lcRot$(j), 1) + w1$
END IF
NEXT
IF found = 0 THEN good = 0: EXIT FOR
NEXT
IF good AND w$ = w1$ THEN
PRINT w$; " ";
END IF
LOOP UNTIL EOF(1)
CLOSE
|
Posted by Charlie
on 2004-05-21 09:48:38 |