Определите что выведет на экран программа при вызове f 9
11 задание 115 номер не сходится с ответом
АннаФр: 115) Определите, что выведет на экран программа при вызове F(9). procedure F(n: integer); begin if n > 0 then begin F(n – 4); F(n div 2); write(n) end end; У меня получилось 012401201, в ответе 11251249
Поляков: АннаФр пишет: У меня получилось 012401201, в ответе 11251249 Проверьте по программе.
polyakovss: Здравствуйте! F(9)=F(5)F(4)9 F(5)=F(1)F(2)5 F(4)=F(0)F(2)4 F(2)=F(-2)F(1)2 F(1)=F(-3)F(0)1 Учтем, что процедура F(n) "работает" при n > 0. Значит, F(0), F(-3), F(-2) ничего не делают. Их можно вычеркнуть. Теперь идем в обратном порядке: F(1)=F(-3)F(0)1=1 F(2)=F(-2)F(1)2 = F(1)2=1 2=12 F(4)=F(0)F(2)4=F(2)4=12 4=124 F(5)=F(1)F(2)5=1 12 5=1125 F(9)=F(5)F(4)9=1125 124 9=11251249 F(9)=11251249
Определите, что выведет на экран программа при вызове F(9). procedure F(n: integer); begin write(n

Ну ты просто выдумал себе сложности, при вызове F она выведет 9, паскаль не знаю, но точно утверждаю, что это так.
Сначала идёт вывод переменной а потом операции с ней, ничего додумывать не нужно.

Для определения того, что программа выведет на экран при вызове F(9) , давайте разберемся в её работе.
Когда функция F(n) вызывается с аргументом n = 9 , она делает следующее:
Записывает значение n на экран (в данном случае, выводится число 9).
Проверяет условие n > 3 . В данном случае оно выполняется, так как 9 больше 3.
Выполняется блок begin. end , в котором происходят два рекурсивных вызова функции F() :
- Первый вызов: F(9 — 4) , то есть F(5) .
- Второй вызов: F(9 div 2) , то есть F(4) .
Давайте продолжим разбираться с этими вызовами:
- Выводится значение 5 .
- Проверяется условие n > 3 , которое выполняется, так как 5 больше 3.
- Выполняется блок begin. end , в котором происходят еще два рекурсивных вызова:
- F(5 — 4) , то есть F(1) .
- F(5 div 2) , то есть F(2) .
- Выводится значение 1 .
- Проверяется условие n > 3 , которое не выполняется, так как 1 не больше 3. Рекурсивные вызовы в этом случае не происходят.
- Выводится значение 2 .
- Проверяется условие n > 3 , которое не выполняется, так как 2 не больше 3. Рекурсивные вызовы в этом случае также не происходят.
Таким образом, после выполнения всех вызовов функции F() , результатом вызова F(9) будет последовательность чисел, выводимых на экран: 9 5 1 2 .
Важно понимать, что порядок вывода чисел обусловлен порядком выполнения рекурсивных вызовов и их завершением. Так как вызовы делаются до условий, это может привести к изменению обычного порядка вывода результатов, как в данном случае.
Определите, что выведет на экран программа при вызове F(9). procedure F(n: integer); begin write(n); if n > 3 then begin F(n
Ну ты просто выдумал себе сложности, при вызове F она выведет 9, паскаль не знаю, но точно утверждаю, что это так.
Сначала идёт вывод переменной а потом операции с ней, ничего додумывать не нужно.
Ссылки в HTML создаются при помощи тега <a> — от английского слова anchor, то есть якорь.
Синтаксис следующий:
<a href=»адрес ссылки»>. </a>Кроме атрибута href есть и другие атрибуты, которые можно добавить. Часто используется target=»_blank», что приведёт к открытию ссылки в новом окне или вкладке браузера.
1) 16∧2x-1(бит)= 128(Гб)
128(Гб)=1099511627776 (бит)
16∧2x-1(бит)= 1099511627776 (бит)
16∧2x-1(бит)= 16∧10 (бит)
отсюда х= 5,52) 2000*4000=8000000 символов всего
1 символ=1 бит
8000000 бит : 8 =1000000 байт:1024= 976,5625 Кб:1024≈0,9 Мбзапишем условие: в условие сказано, что книга набиралась на компьютере, а мощность компьютерного алфавита равна 256, т.е. N=256, страниц=150, строк=40, символы=60, I-?
Определите, что выведет на экран программа при вызове F(9).
procedure F(n: integer);
begin
write(n);
if n > 3 then begin
F(n – 4);
F(n div 2);
end;
end;
Сложность этой задачи в том, что вывод стоит до условий, а не в нем. Как тогда рассуждать?Ну ты просто выдумал себе сложности, при вызове F она выведет 9, паскаль не знаю, но точно утверждаю, что это так.
Сначала идёт вывод переменной а потом операции с ней, ничего додумывать не нужно.