Укажіть фрагмент програми, при якому буде виконуватись тіло ЦИКЛУ. fоr a:=1 to -8 dо ѕ:=sts; fоr a:=0.5 to 3 dо ѕ:=s+10; for a:=1 to 2 do s:=s+1; for a:=4 downto 40 do s:=5*s;
fоr a:=1 to -8 dо ѕ:=sts; - не подходит, так как ошибка в "-8". Оно должно быть положительным.
fоr a:=0.5 to 3 dо ѕ:=s+10; - не подходит, так как переменная "a" должно быть целым.
for a:=1 to 2 do s:=s+1; - подходит.
for a:=4 downto 40 do s:=5*s; - не подходит, так как "downto" уменьшает значение переменной цикла на 1 при каждой итерации цикла. Соответственно 4 - 40 = -36. Ошибка в "40".
const n=1000; {максимальное количество цифр в числе}
type big=record v:array[1..n] of byte; {массив с цифрами числа} m:integer {количество цифр в числе} end;
function Str2Big(s:string):big; {Переводит строковое представление в big} var i,n,k,err: integer; r:big; begin n:=Length(s); r.m:=n; for i:=1 to n do begin Val(s[i],k,err); r.v[i]:=k end; Str2big:=r end;
function Big2Str(p:big):string; {Переводит представление big в строковое} var i,n:integer; c,s:string; begin s:=''; n:=p.m; for i:=1 to n do begin Str(p.v[i],c); s:=s+c end; Big2Str:=s end;
function TruncBig(a:big):big; {Усекает незначащие нули} var i,p,n:integer; r:big; begin n:=a.m; p:=0; while (p<n) and (a.v[p+1]=0) do p:=p+1; for i:=1 to n-p do r.v[i]:=a.v[i+p]; r.m:=n-p; TruncBig:=r end;
function MultBig(a,b:big):big; {Возвращает произведение чисел типа big} var i,j,k,m,n,s:integer; r:big; begin m:=a.m; n:=b.m; for i:=m to m+n do r.v[i]:=0; r.m:=m+n; for j:=n downto 1 do begin if b.v[j]=0 then r.v[j+m+n-1]:=0 else begin k:=0; for i:=m downto 1 do begin s :=a.v[i]*b.v[j]+r.v[i + j]+k; r.v[i+j]:=s mod 10; k:=s div 10 end; r.v[j] := k end end; MultBig:=TruncBig(r); end;
var i:integer; s:string; bi,bs:big; begin bs:=Str2Big('1'); for i:=1 to 200 do begin Str(i,s); bi:=Str2Big(s); bs:=MultBig(bs,bi); end; s:=Big2Str(bs); Writeln(s) end.
Результат 788657867364790503552363213932185062295135977687173263294742533244359449963403342920304284011984623904177212138919638830257642790242637105061926624952829931113462857270763317237396988943922445621451664240254033291864131227428294853277524242407573903240321257405579568660226031904170324062351700858796178922222789623703897374720000000000000000000000000000000000000000000000000
1) I = страницы* кол-во пикселей*глуб.цвета......Подставим данные 1875*1024*8 бит=2*800*600*i i=1875*1024*8/(2*800*600) i=16 бит это значит, что каждый пиксель кодируется 16 битами N=, N - палитра подставим N==65536 цветов
2) Объем=кол-во пикселей* глуб.цвета . Количество пикселей остается прежним, меняется только палитра, а соответственно глубина цвета. Найдем ее в обоих случаях
N= 256=, 32=, i1=8 бит i2=5 бит найдем отношение объемов, оно будет пропорционально отношению гл.цвета, поскольку пиксели сократятся (они и в числ. и в знаменат.) I1/I2=8/5 отношение объемов =1,6. Следовательно, во столько раз уменьшился объем памяти
Объяснение:
fоr a:=1 to -8 dо ѕ:=sts; - не подходит, так как ошибка в "-8". Оно должно быть положительным.
fоr a:=0.5 to 3 dо ѕ:=s+10; - не подходит, так как переменная "a" должно быть целым.
for a:=1 to 2 do s:=s+1; - подходит.
for a:=4 downto 40 do s:=5*s; - не подходит, так как "downto" уменьшает значение переменной цикла на 1 при каждой итерации цикла. Соответственно 4 - 40 = -36. Ошибка в "40".