Вариант с заполнением с клавиатуры. ---------------------------------------------------------- var A: array [1..10] of real; i: byte; mult: real; begin mult := 1; for i := 1 to 10 do begin write('Введите A[',i ,'] = '); readln(A[i]); end; writeln('Сгенерированный массив.'); for i := 1 to 10 do begin write(A[i]:1:2); write(' '); if (A[i] > 0.00) and (A[i] < 1.00) then mult := mult * A[i]; end; writeln; if mult <> 1 then writeln('Произведение = ', mult:2:4) else writeln('Элементы в диапазоне от 0 до 1 отсутствуют.'); end.
---------------------------------------------------------- Вариант с случайным заполнением. ---------------------------------------------------------- var A: array [1..10] of real; i: byte; mult: real; begin mult := 1; randomize; writeln('Сгенерированный массив.'); for i := 1 to 10 do begin A[i] := random*10; write(A[i]:1:2); write(' '); if (A[i] > 0.00) and (A[i] < 1.00) then mult := mult * A[i]; end; writeln; if mult <> 1 then writeln('Произведение = ', mult:2:4) else writeln('Элементы в диапазоне от 0 до 1 отсутствуют.'); end.
Тут необходимо помнить несколько основных правил: Если в примере отсутствуют скобки и присутствуют операции - только сложение и вычитание, либо только умножение и деление - в этом случае все действия осуществляются по порядку слева на право. Например, 5+8-5=8(выполняем все по порядку - к 5 прибавляем 8, а затем отнимаем 5) Если в примере присутствуют смешанные операции - и сложение, и вычитание, и умножение, и деление, то в первую очередь выполняем операции умножение и деление, а затем только сложение или вычитание. Например, 5+8*3=29 (сначала 8 умножаем на 3, а затем прибавляем 5) Если в примере имеются скобки, то вначале выполняются действия в скобках. Например, 3*(5+8)=39 (сначала 5+8, а затем умножаем на 3)
----------------------------------------------------------
var
A: array [1..10] of real;
i: byte;
mult: real;
begin
mult := 1;
for i := 1 to 10 do
begin
write('Введите A[',i ,'] = ');
readln(A[i]);
end;
writeln('Сгенерированный массив.');
for i := 1 to 10 do
begin
write(A[i]:1:2);
write(' ');
if (A[i] > 0.00) and (A[i] < 1.00) then
mult := mult * A[i];
end;
writeln;
if mult <> 1 then
writeln('Произведение = ', mult:2:4)
else
writeln('Элементы в диапазоне от 0 до 1 отсутствуют.');
end.
----------------------------------------------------------
Вариант с случайным заполнением.
----------------------------------------------------------
var
A: array [1..10] of real;
i: byte;
mult: real;
begin
mult := 1;
randomize;
writeln('Сгенерированный массив.');
for i := 1 to 10 do
begin
A[i] := random*10;
write(A[i]:1:2);
write(' ');
if (A[i] > 0.00) and (A[i] < 1.00) then
mult := mult * A[i];
end;
writeln;
if mult <> 1 then
writeln('Произведение = ', mult:2:4)
else
writeln('Элементы в диапазоне от 0 до 1 отсутствуют.');
end.
Если в примере отсутствуют скобки и присутствуют операции - только сложение и вычитание, либо только умножение и деление - в этом случае все действия осуществляются по порядку слева на право.
Например, 5+8-5=8(выполняем все по порядку - к 5 прибавляем 8, а затем отнимаем 5)
Если в примере присутствуют смешанные операции - и сложение, и вычитание, и умножение, и деление, то в первую очередь выполняем операции умножение и деление, а затем только сложение или вычитание.
Например, 5+8*3=29 (сначала 8 умножаем на 3, а затем прибавляем 5)
Если в примере имеются скобки, то вначале выполняются действия в скобках.
Например, 3*(5+8)=39 (сначала 5+8, а затем умножаем на 3)