procedure oddDec(var a,b:integer); //подпрограмме переданы аргументы a и b //процедура для вычитания в нечётном элементе begin; a:=a-b; end;
procedure NotoddInc(var a,b:integer); //подпрограмме переданы аргументы a и b //процедура для сложения в чётном элементе begin; a:=a+b; end;
begin randomize; readln(a); //ввод a readln(b); //ввод b writeln('Array:'); for i:=1 to 10 do //весь массив begin; ar[i]:=random(-20,80); //случайные числа от -20 до 80 включительно write(ar[i]:4); //вывод if odd(i) then oddDec(ar[i],b) else NotoddInc(ar[i],a); {если нечётное, то первая процедура, иначе вторая. Обращаю внимания на то, что элементы меняются сразу после вывода} end; writeln; writeln('Final array:'); //вывод получившегося массива for i:=1 to 10 do write(ar[i]:4); end.
Пример ввода: 20 10 Пример вывода: Array: 10 16 0 60 23 4 22 -20 4 55 Final array: 0 36 -10 80 13 24 12 0 -6 75
1001001001 (двоичн.) Разделим исходный код на группы по 3 разряда. 1001001001 = 001 001 001 001 Затем заменяем каждую группу на код из таблицы. Получаем число: 001 001 001 001 = 1111 (это в восьмиричн.)
Разделим исходный код на группы по 4 разряда. 10010010012 = 0010 0100 1001 2 Затем заменяем каждую группу на код из таблицы. Получаем число: 0010 0100 1001 = 249 (это в шестнадцатирич.)
Для перевода в десятич. необходимо умножить разряд числа на соответствующую ему степень разряда (обозначу степень данным - ^ символом) 1001001001 = 2^9*1 + 2^8*0 + 2^7*0 + 2^6*1 + 2^5*0 + 2^4*0 + 2^3*1 + 2^2*0 + 2^1*0 + 2^0*1 = 512 + 0 + 0 + 64 + 0 + 0 + 8 + 0 + 0 + 1 = 585 (это в десятич.)
Таблицы для перевода находятся в свободном доступе в инете
var
i,a,b:integer;
ar:array[1..10] of integer;
procedure oddDec(var a,b:integer); //подпрограмме переданы аргументы a и b
//процедура для вычитания в нечётном элементе
begin;
a:=a-b;
end;
procedure NotoddInc(var a,b:integer); //подпрограмме переданы аргументы a и b
//процедура для сложения в чётном элементе
begin;
a:=a+b;
end;
begin
randomize;
readln(a); //ввод a
readln(b); //ввод b
writeln('Array:');
for i:=1 to 10 do //весь массив
begin;
ar[i]:=random(-20,80); //случайные числа от -20 до 80 включительно
write(ar[i]:4); //вывод
if odd(i) then oddDec(ar[i],b) else NotoddInc(ar[i],a);
{если нечётное, то первая процедура, иначе вторая. Обращаю внимания на то, что элементы меняются сразу после вывода}
end;
writeln;
writeln('Final array:'); //вывод получившегося массива
for i:=1 to 10 do
write(ar[i]:4);
end.
Пример ввода:
20
10
Пример вывода:
Array:
10 16 0 60 23 4 22 -20 4 55
Final array:
0 36 -10 80 13 24 12 0 -6 75
Разделим исходный код на группы по 3 разряда.
1001001001 = 001 001 001 001
Затем заменяем каждую группу на код из таблицы.
Получаем число:
001 001 001 001 = 1111 (это в восьмиричн.)
Разделим исходный код на группы по 4 разряда.
10010010012 = 0010 0100 1001 2
Затем заменяем каждую группу на код из таблицы.
Получаем число:
0010 0100 1001 = 249 (это в шестнадцатирич.)
Для перевода в десятич. необходимо умножить разряд числа на соответствующую ему степень разряда (обозначу степень данным - ^ символом)
1001001001 = 2^9*1 + 2^8*0 + 2^7*0 + 2^6*1 + 2^5*0 + 2^4*0 + 2^3*1 + 2^2*0 + 2^1*0 + 2^0*1 = 512 + 0 + 0 + 64 + 0 + 0 + 8 + 0 + 0 + 1 = 585 (это в десятич.)
Таблицы для перевода находятся в свободном доступе в инете