Основные различия между форматами графических файлов состоят в алгоритме кодирования и хранения информации об изображении.
bmp - массив точек поштучно
jpg - массив блоков точек
gif сильно упакованный массив точек а для анимации в несколько слоев
tif - точки без сжатия + возможны слои
png - сжатие +возможна прозрачность
Правильно пишется шестнадцатеричный.
При переводе 2⇒16 число справа налево делится на группы из 4 цифр каждая, затем каждая группа заменяется на шестнадцатеричную цифру:
1000111111₂ = 10 0011 1111₂ = 23F₁₆
При переводе 10⇒12 число надо делить на 12 и выписать остатки от деления в обратном порядке. Остаток 10 заменить на A, остаток 11 - на B
923₁₀ = 64B₁₂
Два последних примера лучше делать за 2 действия: сначала перевести в 10-ю систему счисления, а потом - в 5 (или 12)
79₁₆ = 121₁₀ = 441₅
<span>1050</span>₈<span> = 552</span>₁₀ = 3A0₁₂
На всякий случай я ещё выложу правильное решение второй задачи( во вложении) либо код здесь:
const n=10;
var mas:array[1..n] of integer;
i,x:integer;
begin
x:=1;
for i:=1 to n do
begin
write('Input a[',i,']=');
readln(mas[i]);
x:=x*abs(mas[i]);
end;
writeln('the answer is:', x);readln;
<span>end.
Вариант из первого решения предложенного вам не скомпилируется, потому что не объявлена константа n. Кроме того в нем нет вывода ответа и непонятно, что за числа надо вводить с клавиатуры (в моем примере оно спросит input a[1] = </span>
Var s, n: integer;
begin
s := 2;
for n := 2 to 5 do
s := n + s * 2;
write(s);
end.
Ответ
73
Const
n=15;
var
d:array[1..n] of integer;
i:integer;
begin
//Инициализация и вывод
Randomize;
Writeln('Исходный массив в столбик:');
for i:=1 to n do
begin
d[i]:=Random(-20,18);
Writeln(d[i]:4)
end;
Writeln('Исходный массив в строку:');
for i:=1 to n do Write(d[i]:4);
Writeln;
{
Задание 1. Найдите отдельное количество
отрицательных и положительных элементов массива.
}
begin
var ineg,ipos:integer;
ineg:=0; ipos:=0;
for i:=1 to n do
if d[i]>0 then Inc(ipos)
else if d[i]<0 then Inc(ineg);
Writeln('Задание 1');
Writeln('Количество отрицательных элементов ',ineg,
', положительных- ',ipos)
end;
{
Задание 2. Найдите произведение элементов,
имеющих значение меньше -2
}
begin
var p:integer:=1;
for i:=1 to n do
if d[i]<-2 then p*=d[i];
Writeln('Задание 2');
Writeln('Произведение элементов, меньших -2: ',p)
end;
{
Задание 3. Найдите максимальный элемент массива из элементов,
стоящих на местах, номера которых кратны пяти.
}
begin
var dmax:integer;
i:=10; dmax:=d[5];
while i<=n do begin
if dmax<d[i] then dmax:=d[i];
i+=5
end;
Writeln('Задание 3');
Writeln('Максимальный элемент массива из элементов,');
Writeln('стоящих на местах с номером, кратным 5: ',dmax)
end;
{
Задание 4. Замените отрицательные элементы,
стоящие на нечётных местах на последний элемент массива
}
i:=1;
while i<=n do begin
if d[i]<0 then d[i]:=d[n];
i+=2
end;
Writeln('Задание 4');
Writeln('Отрицательные элементы, стоящие на нечётных местах,');
Writeln('заменены последним элементом массива:');
for i:=1 to n do Write(d[i]:4);
Writeln;
{
Задание 5. Если в массиве имеются нулевые элементы,
то найдите сумму элементов массива, имеющих значение, кратное трем,
иначе выведите на экран положительные элементы массива
}
begin
var sum:integer:=0;
var FlagSum:boolean:=False;
for i:=1 to n do
begin
Flagsum:=(d[i]=0);
if FlagSum then break
end;
Writeln('Задание 5');
if FlagSum then begin
for i:=1 to n do
if (d[i] mod 3)=0 then sum+=d[i];
Writeln('Сумма элементов, имеющих значение, кратное трем: ',sum)
end
else
begin
Writeln('Положительные элементы массива:');
for i:=1 to n do if d[i]>0 then Write(d[i]:4);
Writeln
end
end;
{
Задание 6*. Найти в массиве элементы, кратные 12,
и вывести на экран их номера. Если таких элементов нет,
то вывести сообщение об этом на экран.
}
Writeln('Задание 6*');
begin
var k:integer:=0;
var p:array[1..n] of integer;
for i:=1 to n do
if (d[i] mod 12)=0 then begin Inc(k); p[k]:=i end;
if k>0 then begin
Writeln('Номера элементов массива, кратных 12:');
for i:=1 to k do Write(p[i]:3);
Writeln
end
else Writeln('В массиве нет элементов, кратных 12')
end
end.
<em><u>Тестовое решение:</u></em>
Исходный массив в столбик:
-12
-5
-2
15
-20
13
-4
-2
12
17
12
14
2
3
-20
Исходный массив в строку:
-12 -5 -2 15 -20 13 -4 -2 12 17 12 14 2 3 -20
Задание 1
Количество отрицательных элементов 7, положительных- 8
Задание 2
Произведение элементов, меньших -2: -96000
Задание 3
Максимальный элемент массива из элементов,
стоящих на местах с номером, кратным 5: 17
Задание 4
Отрицательные элементы, стоящие на нечётных местах,
заменены последним элементом массива:
-20 -5 -20 15 -20 13 -20 -2 12 17 12 14 2 3 -20
Задание 5
Положительные элементы массива:
15 13 12 17 12 14 2 3
Задание 6*
Номера элементов массива, кратных 12:
9 11
<em><u>Задание 7*. Выведите на экран одномерный массив,</u></em>
<em><u>раскрасив в нем красным цветом кратные 12 элементы.</u></em>
uses
GraphABC;
const
n=15;
var
d:array[1..n] of integer;
i:integer;
begin
SetWindowSize(800,600);
Randomize;
for i:=1 to n do
begin
d[i]:=Random(-20,18);
if (d[i] mod 12)=0 then begin
SetFontColor(clRed);
Write(d[i]:4);
SetFontColor(clBlack)
end
else Write(d[i]:4)
end;
Writeln
end.