Uses graphabc;
begin
window.Init(0, 0, 800, 600, clwhite);
window.IsFixedSize := true;
var r:=ReadInteger('R=');
var h:=ReadInteger('h=');
pen.Width := 4;
DrawEllipse(100, 100, 100 + r, 100 + r - (r div 2));
line(100, (100 + r - (r div 2) + 100) div 2, 100, ((100 + r - (r div 2) + 100 + h + h) div 2));
line(100 + r, (100 + r - (r div 2) + 100) div 2, 100 + r, ((100 + r - (r div 2) + 100 + h + h) div 2));
DrawEllipse(100, 100 + h, 100 + r, 100 + r - (r div 2) + h);
end.
Я б написала так, в цикл 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>
10 битов, 2 байта, 20 битов, 1010 байтов, 1кбайт