Перепишем в более удобный для преобразования эквивалентный вид и сделаем некоторое преобразование с тем, чтобы получить как можно больше отрицаний (из-за использования логики с инверсией - это минимизирует число элементов схемы).
Это таблица истиности над В черточка v C ^ над А черточка v-"или это сложение ^ это умножение над Х бувкой четрточка это другое число если 0 то 1 если 1 то 0 или это "не" а б с над В чёрточка над А чёрточка не В или с не в или с и не а 0 0 0 1 1 1 1 0 0 1 1 1 1 1 0 1 0 0 1 1 1 0 1 1 0 1 1 1 1 0 0 1 0 1 0 1 0 1 1 0 1 0 1 1 0 0 0 1 0 1 1 1 0 0 1 0 ответ пиши короче f(A,B,C)=не В или С и не А =не А
Var a: array [1 .. 10] of integer; i, Count, C, tmpLast, tmpFirst: integer; begin write('Введите число C: '); readln(C); writeln; for i := 1 to 10 do begin write('a[', i, '] = '); readln(a[i]); if a[i] = C then begin Count := Count + 1; tmpLast := i; end; end; writeln; if (Count = 0) then writeln('В массиве нет числа равное С') else begin writeln('В массиве нашлось число, равное С'); if (Count = 1) then writeln('Первое и единственное число в позиции a[', tmpLast, ']') else begin i := 0; repeat i := i + 1; tmpFirst := i; until (a[i] = C); writeln('Первое такое число a[', tmpFirst, ']'); writeln('Последнее такое число a[', tmpLast, ']'); end; end; readln; end.
Перепишем в более удобный для преобразования эквивалентный вид и сделаем некоторое преобразование с тем, чтобы получить как можно больше отрицаний (из-за использования логики с инверсией - это минимизирует число элементов схемы).