2) procedure TForm1.Button1Click(Sender: TObject);
var a: array[1..8] of integer; i:integer;
begin
for i := 1 to 8 do
a[i] := StrToInt(Memo1.Lines[i-1]);
Shape1.Height:=a[1];
Shape2.Height:=a[2];
Shape3.Height:=a[3];
Shape4.Height:=a[4];
Shape5.Height:=a[5];
Shape6.Height:=a[6];
Shape7.Height:=a[7];
Shape8.Height:=a[8];
end;
3) procedure TForm1.Button1Click(Sender: TObject);
var a: array [1..8] of real; b: array [1..8] of TShape; i: integer; min: real;
begin
for i := 1 to 8 do
a[i] := StrToInt(Memo1.Lines[i-1]);
min := a[1];
for i := 1 to 8 do
If a[i] < min Then min := a[i];
b[1] := Shape1; b[2] := Shape2; b[3] := Shape3; b[4] := Shape4;
b[5] := Shape5; b[6] := Shape6; b[7] := Shape7; b[8] := Shape8;
for i := 1 to 8 do
If a[i] = min Then b[i].Brush.Color:= clgreen else b[i].Brush.Color:= clgray;
end;
DIM f AS INTEGER, p AS INTEGER
CLS
FOR 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 IF
NEXT x
END
Обнаружился странный эффект 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 Prime
x= 1 y= 43 Is Prime
x= 2 y= 47 Is Prime
x= 3 y= 53 Is Prime
x= 4 y= 61 Is Prime
x= 5 y= 71 Is Prime
x= 6 y= 83 Is Prime
x= 7 y= 97 Is Prime
x= 8 y= 113 Is Prime
x= 9 y= 131 Is Prime
x= 10 y= 151 Is Prime
x= 11 y= 173 Is Prime
x= 12 y= 197 Is Prime
x= 13 y= 223 Is Prime
x= 14 y= 251 Is Prime
x= 15 y= 281 Is Prime
x= 16 y= 313 Is Prime
x= 17 y= 347 Is Prime
x= 18 y= 383 Is Prime
x= 19 y= 421 Is Prime
x= 20 y= 461 Is Prime
x= 21 y= 503 Is Prime
x= 22 y= 547 Is Prime
x= 23 y= 593 Is Prime
x= 24 y= 641 Is Prime
x= 25 y= 691 Is Prime
x= 26 y= 743 Is Prime
x= 27 y= 797 Is Prime
x= 28 y= 853 Is Prime
x= 29 y= 911 Is Prime
x= 30 y= 971 Is Prime
x= 31 y= 1033 Is Prime
x= 32 y= 1097 Is Prime
x= 33 y= 1163 Is Prime
x= 34 y= 1231 Is Prime
x= 35 y= 1301 Is Prime
x= 36 y= 1373 Is Prime
x= 37 y= 1447 Is Prime
x= 38 y= 1523 Is Prime
x= 39 y= 1601 Is Prime
x= 40 y= 1681 Not Prime