Можете дать анализ решения задачи (Словесное описание действий, необходимых для решения...

+753 голосов
6.0m просмотров

Можете дать анализ решения задачи (Словесное описание действий, необходимых для решения этой задачи) по готовому коду. PASCAL Задача звучит так: "Задано число P. Определить количество его четных и нечетных делителей"Вот код:var P,i,kc,kn:integer;beginwrite('P='); //вводим целое числоreadln(P);kc:=0; //четные делителиkn:=0; //нечетные делителиfor i:=2 to P do //от 2 до Pif P mod i=0 then //если n делится на i, это делительif odd(i)then inc(kn) else inc(kc); //нечетный или четныйwriteln('Количество четных делителей=',kc,' нечетных=',kn)end.


Информатика (48 баллов) | 6.0m просмотров
Дан 1 ответ
+80 голосов

Ответ:

  • var P,i,kc,kn:integer;

Объявляем переменные 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.

Конец программы.

(3.7k баллов)