var
a, i, count, s: integer;
begin
repeat
if(i = 100) then break;
readln(a);
if(abs(a) > 300) then begin
writeln('Число по модулю не может быть > 300.');
continue
end
else if(a mod 9 = 0) and (a <> 0) then begin
inc(count);
s := s + a;
end;
if(a <> 0) then inc(i);
until(a = 0);
writeln('Среднее арифметическое: ', s / count);
end.
Program zadacha;
uses crt;
var a, b, w, k: integer;
x: real;
begin
clrscr;
write ('vvedite a, b, w, k: ');
readln (a, b, w, k);
if k=1 then x:=log2(w-a)
else if k=2 then x:=sqrt(sqr(w)+b*w+a)
else if k=3 then x:=sqrt(w+a)+sqrt(w+b)
else if k>3 then x:=-(a*w)/w
else writeln ('nevernye ishodnye dannye');
writeln ('x=', x:0:4);
readkey;
end.
Тест:
a=2, b=3, w=7, k=1
x=2.3219
40*50=2000 пикселей
каждый пиксель занимает 2^8=8 бит, или 1 байт, то есть мне кажется общим объем:
2000байтов
Function pr(a, b:integer):integer; var tmp:integer;begin if b = 1 then pr := a else begin tmp := pr(a, b shr 1); inc(tmp, tmp); if b and 1 = 1 then inc(tmp, a); pr := tmp; end;<span>end; рекурсивная ф-ия, алгоритм работает гораздо быстрее лобового складывания (хоть с большими числами). Процедура пишется аналогично. (если не допрешь - скажи, сделаю)</span>