З новою. думкою і новими словами
Var a: array [1..10] of Integer;
i, min, sum: integer;
begin
for i := 1 to 10 do
begin
a[i] := random(50);
writeln('[', i, '] => ', a[i]);
end;
min := a[1];
for i := 2 to 10 do
if (min > a[i]) then min := a[i];
i := 1;
while ((i <= 10) and (a[i] <> min)) do
begin
sum := sum + a[i];
inc(i);
end;
writeln(sum);
<span>end.</span>
Я б написала так, в цикл while добавим счётчик суммы и произведения, s и p соответственно (Первоначально, s := 0; p := 1). Считаем всё это, пока n > 0. Затем в конце просто выводим сумму и произведение)
program mimi;
var n, p, s:integer;
begin
read(n);
s := 0;
p := 1;
while n > 0 do begin
s := s + n mod 10;
p := p*(n mod 10);
n := n div 10;
end;
writeln(s);
writeln(p);
<span>end.</span>