В цикле прибавит 7 к самой себе 9 раз, т.е 7*9=63
Ответ: 63
Сперва разберёмся, какие значения может принимать каждая переменная:
i, k: integer - целые числа
x, y: real - дробные и целые числа
n: char - один символ
z: Vremia_God - Win, Spr, Sum или Otm.
Опираясь на это, получаем следующий ответ:
1-f,d
2-a,e
3-a,e
4-a,c,e
5-b
6-a,c,e
№4
а) 1111001₂= 1×2⁰+1×2³+ 1×2⁴+ 1×2⁵+1 ×2⁶ = 1+8+16+32+64=121₁₀
б) 1000110₂=1 ×2¹+1 ×2²+1× 2⁶=2+4+64=70
№3
136₁₀= 10001000₂
136:2=68 остаток 0
68:2= 34 остаток 0
34:2= 17 остаток 0
17:2= 8 остаток 1
8:2=4 остаток 0
4:2=2 остаток 0
2:2=1 остаток 0
1:2=0 остаток 1 (остатки записываются в ответ снизу в верх)
254₁₀= 11111110₂
254:2= 127 остаток 0
127:2=63 остаток 1
63:2=31 остаток 1
31:2= 15 остаток 1
15:2=7 остаток 1
7:2=3 остаток 1
3:2 =1 остаток 1
1:2=0 остаток 1
Алгоритм такой:
1. Если массив закончился, завершить программу. Иначе к п.2
2. Освободить дырку справа
3. Найти правую границу массива, поставить там метку и вернуться к левой границе массива из оставшихся точек.
4. Вернуться к п. 1.
type
mas = array [1..10] of integer;
var
m : mas;
a,l : integer;
function re () : integer; //Считываем число
var a : integer;
begin
writeln ('Введите число');
readln (a);
Result :=a;
end;
function C(var m : mas; a : integer) : integer; //Разбиваем на числа
var i : integer;
begin
i := 0;
While a > 0 do
begin
i := i +1;
m[i] := a mod 10;
a := a div 10;
end;
Result := i;
end;
procedure wr (a : mas; l : integer); // Вывод массива
var i : integer;
begin
writeln ('Resultat :');
for i := 1 to l do
write (a[i],' ');
end;
procedure sort (var a : mas; l : integer); // перевернуть массив
// т.е 1234 -> 4321
var i,buf : integer;
begin
for i := 1 to l div 2 do
begin
buf := a[l-i+1];
a[l-i+1] := a[i];
a[i] := buf;
end;
end;
begin
a := re();
l := C(m,a);
sort (m,l);
wr (m,l);<span>
end.
на примере числа
125
после выполнения функции C
m[1] = 5 m[2] =2 m[3] =1
после выполнения процедуры Sort
m[1] =1 m[2] =2 m[3] =5
Вывод на экран элементов массива через пробел
1 2 5
</span>