както так
16,10 и 5
Задание 2.
program prog;
function F(n:integer):integer;
begin
if n<=1 then F:=1
else F:=F(n-1)+F(n-2)
end;
begin
write(F(7))
end.
Вывод программы: 21
Задание 3.
program prog;
function F(n:integer):integer;
begin
if n<=1 then F:=1
else F:=F(n-1)*F(n-2)+2
end;
begin
write(F(5))
end.
Вывод программы: 87
Задание 5.
program prog;
procedure F(n:integer);
begin
write('*');
if n > 0 then begin
F(n-2);
F(n-2);
F(n div 2);
end
end;
begin
F(5);
end.
Вывод программы (34 звёздочки):
Задание 6.
program prog;
procedure F(n: integer);
begin
write('*');
if n > 0 then begin
F(n-3);
F(n-2);
F(n div 2);
F(n div 2);
end
end;
begin
F(6);
end.
Вывод программы (97 звёздочек):
Задание 7.
program prog;
procedure F(n: integer);
begin
write('*');
if n > 0 then begin
write('*');
F(n-2);
F(n-2);
F(n div 2);
end
end;
begin
F(6);
end.
Вывод программы (77 звёздочек):
1) 10111₂ → 27₈ → 23₁₀
2) 10111₂ → 17₁₆ → 23₁₀
3) 15₁₀ → 17₈ → 001111₂
4) 15₁₀ → 0F₁₆ → 00001111₂
Объяснение:
1) в 8-ю СС:
разбиваем двоичное число на разряды по 3 цифры: 010 111₂: 010₂ = 2₈; 111₂ = 7₈.
10111₂ = 2⁴*1 + 2³*0 + 2²*1 + 2¹*1 + 2⁰*1 = 16 + 0 + 4 + 2 + 1 = 23₁₀
2) в 16-ю СС:
разбиваем двоичное число на разряды по 4 цифры: 0001 0111₂: 0001₂ = ₁₆; 0111₂ = 7₁₆
10111₂ = 17₁₆
17₁₆ = 16¹*1 + 16⁰*7 = 16 + 7 = 23₁₀
3) 15₁₀ (mod - остаток от деления, каждый раз делим на 8):
15 mod 8 = 7
1 mod 8 = 1
Остаток от деления записываем в обратном порядке. Получаем: 17₈.
17₈ в 2-ю С: 1₈ = 001₂; 7₈ = 111₂.
4) 15₁₀ (mod - остаток от деления, каждый раз делим на 16):
15 mod 16 = 15 (F)
0 mod 16 = 0
Остаток от деления записываем в обратном порядке. Получаем: 0F₁₆.
0F₁₆: 0₁₆ = 0000₂, F₁₆ = 1111₂. Выходит 00001111₂.
a)16
b)10
c)5
Надеюсь