Cумма равна 35.
Процедура печатает число, если в неё передается n, большее единицы, и при этом сначала срабатывают две процедуры, вложенные в неё.
Передаётся число 10. Оно больше 1. Начинается процедура от числа 7. Оно больше 1. Начинается процедура от числа 4. Оно больше 1. Начинается процедура от числа 1. Оно не больше 1.
Возвращаемся к числу 4. Начинается f(4 div 2), то есть процедура от числа 2. Оно больше 1. Начинается процедура от числа -1. Оно меньше 1. Начинается процедура от 2 div 2, т.е от 1. Число не больше 1. Обе процедуры для двойки выполнены. Печатается 2.
Обе процедуры для числа 4 тоже выполнены. Печатается 4.
Возвращаемся к числу 7. Выполняется вторая процедура для 7, то есть f(3). Обе её процедуры ничего не печатают. Тогда она сама печатает 3.
Обе процедуры для числа 7 выполнены. Печатается 7.
Теперь к самому первому числу 10. Начинается вторая его процедура, то есть от числа 5. Начинается первая процедура от 5, то есть f(2). Обе процедуры для числа 2 ничего не делают, печатается 2. Вторая процедура от 5 тоже 2. Аналогично печатается 2.
Обе процедуры числа 5 выполнены. Печатается 5.
Обе процедуры числа 10 выполнены. Печатается 10.
Ура! осталось посчитать сумму напечатанного.
2+4+3+7+2+2+5+10=35
Объявляем переменные P,i,kc,kn как целочисленный тип.
beginНачало программы.
write('P='); //вводим целое числоВыводим на экран "P=".
readln(P);Считываем переменную P с клавиатуры и переходим на новую строчку.
kc:=0; //четные делителиПрисваиваем переменной kc, в которой будет храниться количество четных делителей, значение 0.
kn:=0; //нечетные делителиПрисваиваем переменной kn, в которой будет храниться количество нечетных делителей, значение 0.
for i:=2 to P do //от 2 до PОбъявляем цикл с переменной i от 2 до P (до числа, которое мы ввели с клавиатуры).
if P mod i=0 then //если n делится на i, это делитель if odd(i)then inc(kn) else inc(kc); //нечетный или четныйЕсли остаток от деления P на i равен нулю, то есть P делится на i без остатка, то смотрим: если i нечетная, то увеличиваем kn на 1, иначе (то есть если i четная), увеличиваем kc на 1.
writeln('Количество четных делителей=',kc,' нечетных=',kn)Выводим на экран: "Количество четных делителей=", значение переменной kc, " нечетных=", значение переменной kn".
end.Конец программы.
немного не по теме, но надеюсь, того, чего не хватает, ты сможешь дополнить самолично?блага тебе.
Объяснение:
Информатика- один из самых современных областей знаний и наук, также относящаяся к группе знаний, которыми мы пользуемся на чуть ли не постоянной основе и всю свою собственную жизнь, используя те или иные, изученные и освоенные навыки использования и работы.Каждый особенный день сталкиваемся с технологиями и ее последующими, и казалось бы, все основные техники работ и их услуг, цель работ мы прекрасно знаем, но не все понимают, что предмет "Информатика"—не просто сборище базовых знаний о телефонах и ПК устройств, а целый, огромный, много сервисный аккаунт, дающий на все интересующие и интеллектуальные вопросы технологичный и современный ответ.
Все окружающие вокруг нас- потоки и вихри новых глубин информаций, море познания и соответствующего опыта.Логически подумав, можно заключить разумную догадку: Наука Информатика- гениальный и интеллектуальный лидер этого "моря", умеющего умело управлять своим крепким судном и преданным экипажем.
Самое важное, что требуется знать каждому человеку, так это то, что без нашей матушки-Информатики и ее высших пиков достижения в изучении нового и совершенного, не бывало бы и нашей нынешних неодушевленных, верных -друзей, которыми мы регулярно пользуемся и доверяем им свои данные.Если бы не стремительное познание человека в вычислительных науках и личной, дикой любознательности к изучению новых, усовершенствованных понятий, мы бы не достигли культурных и кибернетических характеристик и опыта в ловких, умелых вещах.