Объяснение:
У функции три переменные, следовательно, количество строк в таблице 2 3 = 8 .
Подсчитаем количество операций и установим порядок их выполнения.
4 5 3 2
F ( A, B, C ) = ( A ↔ C ) →(C + A + B ) .
1
Пять логических операций, следовательно, количество столбцов в таблице истинности – 3+5=8.
A B C A+ B A+ B C + A+ B A↔C F ( A, B, C )
0 0 0 0 1 1 1 1
0 0 1 0 1 1 0 1
0 1 0 1 0 0 1 0
0 1 1 1 0 1 0 1
1 0 0 1 0 0 0 1
1 0 1 1 0 1 1 1
1 1 0 1 0 0 0 1
1 1 1 1 0 1 1 1
Анализ построенной таблицы показывает, что существует набор входных переменных, при
котором функция равна 0. Следовательно, Данная функция не является тождественно-истинной.
Пример. Следующие два высказывания истинны: «неверно, что если магазин А организует
распродажу, то магазин С тоже»; «из двух магазинов В и С организует распродажу только один».
Какие магазины организуют распродажу?
Решение. Запишем эти высказывания с логических операций:
«Неверно, что если магазин А организует распродажу, то магазин С тоже» - F1 ( A, B, C ) = A → C .
«Из двух магазинов В и С организует распродажу только один» - F2 ( A, B, C ) = B ⊕ C .
⎧A → C = 1
Из условия известно, что эти высказывания одновременно истинны, то есть ⎨ .
⎩B ⊕ C = 1
Или ( A → C ) ⋅ ( B ⊕ C ) = 1 . Упростим левую часть равенства:
( A → C) ⋅ (B ⊕ C) = ( A + C) ⋅ (B ⋅ C + B ⋅ C) = A ⋅ C ⋅ (B ⋅ C + B ⋅ C) = A ⋅ C ⋅ B ⋅ C + 1 C ⋅ B ⋅ C .
A ⋅ 24
4 3
0
Сделать это можно так:
while not eof(fr) and (kol=0) do
begin
read(fr, Marshrut);
if (Marshrut.NK.N <> '11')
then write(fr2,Marshrut)
else begin inc(kol); y:=Marshrut; end;
end;
if not eof(fr) then
begin
read(fr, Marshrut);
write(fr2,Marshrut);
end;
if (kol=1) then write(fr2,y);
Дальше нужно просто переписать оставшиеся записи из первого файла во второй. Затем оба файла закрыть, первый файл удалить, а второй переименовать (т.е. назвать его так, как назывался первый файл).
Попробуйте ещё вот такой вариант:
(здесь k1 и k2 - целые, а y - типа )
if (Marshrut.NK.N = '11') then
begin
writeln('... ');
inc(kol);
y:=Marshrut;
k1:=FilePos(fr)-1;
k2:=FilePos(fr);
if not eof(fr) then
begin
read(fr, Marshrut);
seek (fr, k1);
write(fr, Marshrut);
seek (fr, k2);
write (fr, y);
end;
end;