Add tasks for all the new languages

This commit is contained in:
Tina Müller 2016-12-05 23:44:36 +01:00
parent 9dc3c2bb62
commit bba7bfd280
13208 changed files with 134745 additions and 0 deletions

View file

@ -0,0 +1,59 @@
PROGRAM TWELVE_STMS
!$DYNAMIC
DIM PASS%[0],T%[0]
FUNCTION EOR(X,Y)
EOR=(X AND NOT(Y)) OR (NOT(X) AND Y)
END FUNCTION
BEGIN
NSTATEMENTS%=12
!$DIM PASS%[NSTATEMENTS%],T%[NSTATEMENTS%]
FOR TRY%=0 TO 2^NSTATEMENTS%-1 DO
! Postulate answer:
FOR STMT%=1 TO 12 DO
T%[STMT%]=(TRY% AND 2^(STMT%-1))<>0
END FOR
! Test consistency:
PASS%[1]=T%[1]=(NSTATEMENTS%=12)
PASS%[2]=T%[2]=((T%[7]+T%[8]+T%[9]+T%[10]+T%[11]+T%[12])=-3)
PASS%[3]=T%[3]=((T%[2]+T%[4]+T%[6]+T%[8]+T%[10]+T%[12])=-2)
PASS%[4]=T%[4]=((NOT T%[5] OR (T%[6] AND T%[7])))
PASS%[5]=T%[5]=(NOT T%[2] AND NOT T%[3] AND NOT T%[4])
PASS%[6]=T%[6]=((T%[1]+T%[3]+T%[5]+T%[7]+T%[9]+T%[11])=-4)
PASS%[7]=T%[7]=(EOR(T%[2],T%[3]))
PASS%[8]=T%[8]=((NOT T%[7] OR (T%[5] AND T%[6])))
PASS%[9]=T%[9]=((T%[1]+T%[2]+T%[3]+T%[4]+T%[5]+T%[6])=-3)
PASS%[10]=T%[10]=(T%[11] AND T%[12])
PASS%[11]=T%[11]=((T%[7]+T%[8]+T%[9])=-1)
PASS%[12]=T%[12]=((T%[1]+T%[2]+T%[3]+T%[4]+T%[5]+T%[6]+T%[7]+T%[8]+T%[9]+T%[10]+T%[11])=-4)
SUM=0
FOR I%=1 TO 12 DO
SUM=SUM+PASS%[I%]
END FOR
CASE SUM OF
-11->
PRINT("Near miss with statements ";)
FOR STMT%=1 TO 12 DO
IF T%[STMT%] THEN PRINT(STMT%;) END IF
IF NOT PASS%[STMT%] THEN MISS%=STMT% END IF
END FOR
PRINT("true (failed ";MISS%;").")
END ->
-12->
PRINT("Solution! with statements ";)
FOR STMT%=1 TO 12 DO
IF T%[STMT%] THEN PRINT(STMT%;) END IF
END FOR
PRINT("true.")
END ->
END CASE
END FOR ! TRY%
END PROGRAM