uses crt; var a:array[1..10] of real; i:integer; begin for i:=1 to 10 do begin a[i]:=random*9 - 4; end; for i:=3 to 7 do begin writeln('a[',i,']=',a[i]:0:2); end; writeln('Press enter'); readln; end.
Пояснения:
у тебя в условии промежуток [4,5) означает что 5 нельзя включать (скорее всего ошибка).
Есл это не ошибка переписывания условия , то добавляется еще одна линия, и программа получается:
uses crt; var a:array[1..10] of real; i:integer; begin randomize; for i:=1 to 10 do begin a[i]:=random*9 - 4; if(a[i]=5) then a[i]:=4.9999; end; for i:=3 to 7 do begin writeln('a[',i,']=',a[i]:0:2);
end; writeln('Press enter'); readln; end.
Обрати внимание, я еще добавил randomize; команду - она гарантирует, что случайные числа будут именно случайными
по первому заданию:
обычно глубина цвета (не изображения) измеряется в битах.
Посмотрим сколько всего бит у нас есть:
384 килобайта = 384*1024 байт = 393216 байт
в каждом байте 8 бит, значит 393216*8 = 3145728 бит.
теперь посмотрим сколько у нас всего пикселей:
1024*768 = 786432 пикселей.
Посмотрим сколько у нас получается бит на каждый пиксел.
Разделим биты на пикселы:
3145728/786432 = 4 бита на пискел.
4 бита на пискел это 2^4 = 16 цветов.
ответ: глубина цвета изображения 4 бита или 16 цветов.
2ое задание:
Длина кода изображения равна 600 Кб, битовая глубина цвета - 16 битов. Какой размер растра используется для вывода изображения: 640х480 или 1024х768?
у нас есть 600Кб информации.
Посмотрим сколько это бит
600(килобайт)*1024(байт в килобайте)*8(бит в байте) = 4915200 бит.
У нас каждая точка(пиксел) занимает 16 бит
Значит у нас: 4915200/16 = 307200 пикселей.
Посчиатем пикселы для разных разрешений (размеров растра)
640*480=307200
1024*768 = 786432
Значит ответ: размер растра у нас 640*480. (совпадают количества пикселей)
вот код:
uses crt;
var a:array[1..10] of real;
i:integer;
begin
for i:=1 to 10 do
begin
a[i]:=random*9 - 4;
end;
for i:=3 to 7 do
begin
writeln('a[',i,']=',a[i]:0:2);
end;
writeln('Press enter');
readln;
end.
Пояснения:
у тебя в условии промежуток [4,5) означает что 5 нельзя включать (скорее всего ошибка).
Есл это не ошибка переписывания условия , то добавляется еще одна линия, и программа получается:
uses crt;
var a:array[1..10] of real;
i:integer;
begin
randomize;
for i:=1 to 10 do
begin
a[i]:=random*9 - 4;
if(a[i]=5) then a[i]:=4.9999;
end;
for i:=3 to 7 do
begin
writeln('a[',i,']=',a[i]:0:2);
end;
writeln('Press enter');
readln;
end.
Обрати внимание, я еще добавил randomize; команду - она гарантирует, что случайные числа будут именно случайными