DIM x AS INTEGER, y AS INTEGERDIM f AS INTEGER, p AS INTEGERCLSFOR x = 0 TO 40 y = x * x + x + 41 IF y MOD 2 = 0 THEN f = -1 ELSE f = 0 p = 3 DO WHILE f = 0 AND p * p <= y IF y MOD p = 0 THEN f = -1 ELSE f = 0 p = p + 2 LOOP IF f = 0 THEN PRINT "x="; x, "y="; y, "Is Prime" ELSE PRINT "x="; x, "y="; y, "Not Prime" END IFNEXT xENDОбнаружился странный эффект qBASIC.Последовательность команд:y:=x^2+x+41 для x=40 присваивает у значение 1681.Для p=41 значение p^2 также равно 1681, но значение выраженияp^2<=y при этом оказывается ложным, хотя p^2 в этом случае должно быть равно у.В связи с этой странностью вместо х^2 использовано х*х, а вместо p^2 использовано р*р.Результат выполнения программы:x= 0 y= 41 Is Primex= 1 y= 43 Is Primex= 2 y= 47 Is Primex= 3 y= 53 Is Primex= 4 y= 61 Is Primex= 5 y= 71 Is Primex= 6 y= 83 Is Primex= 7 y= 97 Is Primex= 8 y= 113 Is Primex= 9 y= 131 Is Primex= 10 y= 151 Is Primex= 11 y= 173 Is Primex= 12 y= 197 Is Primex= 13 y= 223 Is Primex= 14 y= 251 Is Primex= 15 y= 281 Is Primex= 16 y= 313 Is Primex= 17 y= 347 Is Primex= 18 y= 383 Is Primex= 19 y= 421 Is Primex= 20 y= 461 Is Primex= 21 y= 503 Is Primex= 22 y= 547 Is Primex= 23 y= 593 Is Primex= 24 y= 641 Is Primex= 25 y= 691 Is Primex= 26 y= 743 Is Primex= 27 y= 797 Is Primex= 28 y= 853 Is Primex= 29 y= 911 Is Primex= 30 y= 971 Is Primex= 31 y= 1033 Is Primex= 32 y= 1097 Is Primex= 33 y= 1163 Is Primex= 34 y= 1231 Is Primex= 35 y= 1301 Is Primex= 36 y= 1373 Is Primex= 37 y= 1447 Is Primex= 38 y= 1523 Is Primex= 39 y= 1601 Is Primex= 40 y= 1681 Not Prime