Можно ли из прямоугольного металлического листа размером a*b метров вырезать две прямоугольные заготовки размерами c*d и k*p метров. заготовки можно вырезать только параллельно сторонам листа. программа в паскале.
А) Массиву будут принадлежать 10 случайных чисел, так как задан цикл от 1 до 10, а случайные числа благодаря команде random, так же можно заменить, что есть (101)-50, а это значит, что в значениях массива, будут и отрицательные числа. б) Еще проще, тут уже цикл задан от 1 до 20, то бишь 20 значений для массива(20 цифр), а a[i] := i это значит, то что, массиву будут присвоены числа по порядку от 1 до 20, потому что массив = i в) Тут цикл задан от 1 до 5, и массив каждый раз будет выполнять действие, заданное по условию, то бишь умножить и вычесть, i - каждый раз будет увеличиваться на 1, и получиться, что (2*1-1) (2*2-1), и так число будет увеличиваться до 5.
Uses graphabc; var i, j: integer; ar: array[1..10]of integer; b: boolean;
label l1; begin b := false; for i := 1 to 10 do ar[i] := random(10, 300); l1: b := false; for i := 1 to 10 do for j := 1 to 10 do if((ar[i] = ar[j]) or (abs(ar[i] - ar[j]) < 10)) and (i <> j) then begin b := true; ar[i] := random(30, 300); end; if b = true then goto l1; window.Init(0, 0, 800, 600, clwhite); window.IsFixedSize := true; randomize; lockdrawing; pen.Width := 5; for i := 1 to 10 do begin pen.Color := rgb(random(0, 255), random(0, 255), random(0, 255)); drawcircle(400, 300, ar[i]); redraw; end; end.
б) Еще проще, тут уже цикл задан от 1 до 20, то бишь 20 значений для массива(20 цифр), а a[i] := i это значит, то что, массиву будут присвоены числа по порядку от 1 до 20, потому что массив = i
в) Тут цикл задан от 1 до 5, и массив каждый раз будет выполнять действие, заданное по условию, то бишь умножить и вычесть, i - каждый раз будет увеличиваться на 1, и получиться, что (2*1-1) (2*2-1), и так число будет увеличиваться до 5.
var
i, j: integer;
ar: array[1..10]of integer;
b: boolean;
label l1;
begin
b := false;
for i := 1 to 10 do ar[i] := random(10, 300);
l1:
b := false;
for i := 1 to 10 do
for j := 1 to 10 do if((ar[i] = ar[j]) or (abs(ar[i] - ar[j]) < 10)) and (i <> j)
then
begin
b := true;
ar[i] := random(30, 300);
end;
if b = true then goto l1;
window.Init(0, 0, 800, 600, clwhite);
window.IsFixedSize := true;
randomize;
lockdrawing;
pen.Width := 5;
for i := 1 to 10 do
begin
pen.Color := rgb(random(0, 255), random(0, 255), random(0, 255)); drawcircle(400, 300, ar[i]);
redraw;
end;
end.