При решении этого задания надо знать:
A≡B =A*B+¬A*¬B (***)
таблицы истинности:
A B A≡B A+B A*B
0 0 1 0 0
0 1 0 1 0
1 0 0 1 0
1 1 1 1 1
--------------------------------
C учётом формулы (***) представим восьмое (последнее) уравнение в виде:
(x8≡x9)+(x8≡x10)=0; лог. сложение =0, когда оба слагаемых =0;
0' ≡ 1 + 0'≡ 1 = 0 - при х10=1 возможно 1 решение
х8=0 х9 =1
1' ≡ 0 + 1'≡ 0 = 0 - при х10 =0 возможно 1 решение
х8=1 х9=0
подставим полученные решения в седьмое (предпоследнее) уравнение:
(х7≡х8)+(х7≡х9) = 1
0 ' ≡0+ 0' ≡ 1 =1 имеем четыре решения х7 х8
1'≡ 0 + 1'≡ 1 =1 0 0
--------------------------- 0 1
0' ≡ 1 + 0' ≡ 0 =1 1 0
1' ≡ 1 +1 ' ≡ 0 =1 1 1
----------------------------------------------------------------------------------
подставляя из в шестое (сверху) уравнение, действуя аналогичным образом, можно убедиться, что решений (х6 ; х7) станет шесть , их надо подставить в пятое ур=е и тд.
--------------------------------------------------------
№уравнения 8 7 6 5 4 3 2 1
кол. решений 2 4 6 8 10 12 14 16
Ответ 16
Формула указана не ясно в задании, я указал в ответе так как оно более менее смотрится понятно, но вам стоит уточнить. Что до алгоритма, то он выглядит вот таким вот образом. Внимание, первый член данного ряда считается за 0, вам стоит так же уточнить у преподавателя, в задании этого явно не указано, но зачастую такое значение традиционно.
Ошибки в вашем алгоритме:
1. У вас условие k < 0, это значит, что если будет введено k = 0, то алгоритм отработает, но 0 членов быть не может, это не имеет смысла.
2. Цикл у вас выводит значение n-го члена после каждой итерации, а не единожды.
Спасибо за отметку "Лучший ответ" и нажатую кнопочку "спасибо" (:
Var
<span>prin: boolean; </span>
<span>x, y: integer; </span>
<span>begin </span>
<span>readln(x); </span>
<span>readln(y); </span>
<span>if (x <= 0) and (x >= -3) and (y <= x + 3) then </span>
<span>prin := true </span>
<span>else if (x >= 0) and (x <= 3) and (y <= - x + 3) then </span>
<span>prin := true </span>
<span>else if (y <= 0) and (y >= -3) and (abs(x) <= 3) then </span>
<span>prin := true </span>
<span>else </span>
<span>prin := false; </span>
<span>if prin then writeln('принадлежит') else writeln('не принадлежит'); </span>
<span>end.</span>