1. Если числа a,b,c,d вводятся с клавиатуры, то их просто нужно проверить на принадлежность интервалу (1;30), но не присваивать им 1! 2. Циклы while не нужны, они зацикливают программу. 3. Так как увеличение значения k и суммы нужно выполнять одновременно, то есть при выполнении условия, то нужно было эти команды заключить в операторные скобки begin ... end Примерный вариант программы:
program z; var a,b,c,d,k,s:integer; begin write('a='); readln(a); write('b='); readln(b); write('c='); readln(c); write('d='); readln(d); k:=0; s:=0; if (a>1) and (a<30) and (a mod 3=0) then begin k:=k+1; s:=s+a; end; if (b>1) and (b<30) and (b mod 3=0) then begin k:=k+1; s:=s+b; end; if (c>1) and (c<30) and (c mod 3=0) then begin k:=k+1; s:=s+c; end; if (d>1) and (d<30) and (d mod 3=0) then begin k:=k+1; s:=s+d; end; if k=0 then writeln(Not solution') else writeln(s/k); end.
1) k=32*40*64= 81920
I= 81920*8= 655360 бит
655360 бит/8= 81920 байт
81920 байт/1024= 80 Кбайт
ответ: 80 Кбайт
2)k=48*40*40= 76800
I=76800*8= 614400 бит
614400 бит/8= 76800 байт
76800 байт/1024= 75 Кбайт
ответ: 75 Кбайт
3)k=64*40*48= 122880
I=122880*8= 983040 бит
983040 бит/8= 122880 байт
122880 байт/1024= 120 Кбайт
ответ: 120 Кбайт
4)k=64*40*64= 163840
I=163840*8= 1310720 бит
1310720 бит/8=163840 байт
163840 байт/1024= 160 Кбайт
ответ: 160 Кбайт