END SHSQ:

MJ = sqrs(I)

IF MJ > 15 THEM JCOL = (MJ - 1) MOD 15+1 ELSE JCOL = MJ K=(I\N)*2+2:L=(I MOD M) * 3 + 2 COLOR JCOL: LOCATE K, L: PRINT USING "##"; MJ;

RETURN SWSQRS:

temp% = sqrs(IC): sqrs(IC) = sqrs(JC): sqrs(JC) = tempt RETURN MESHC:

MC = sqrs(M) FOR I = 0 TO M - 2 tempt = sqrs(I) FOR J=I+1TOM-1

IF temp% > sqrs(J) THEN MC = MC + 1 NEXT NEXT RETURN

7.5. ЗАДАЧА «РАССТАВЬ 8 ФЕРЗЕЙ» Файл QUEENS.BAS

DEFINT I-К

SCREEN 13

CLS

COLOR 2

PRINT " Расставьте на шахматной доске 8 ферзей"

PRINT " так, чтобы они не били друг друга."

PRINT "Используйте клавиши со стрелками и <Enter>, а для выхода q."

SLEEP 5

CLS

DRAW "bm50,5" 'построение шахматной доски

FOR j = 1 TO 8

FOR i = 1 ТО 8 GOSUB drawsqr

NEXT i NEXT j

i = 4: j = 4: DRAW "cl4": GOSUB drawghs DO

v$ = ""

DO: v$ = INKEY$: LOOP UNTIL (v$ = "q" OR LEN(v$) > 1 OR v$ = CHR$(13))

IF v$ = "q" THEN EXIT DO 'выход по запросу пользователя

di = 0: dj = О ' выбор действия

SELECT CASE RIGHT$ (v$ , 1) CASE "P": dj = 1 CASE "M": di = 1 CASE "K": di = -1 CASE "H": dj = -1

END SELECT

IF di = 0 AND dj = 0 THEN ' нарисовать фигуру GOSUB drawque