![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Single |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 14 Пол: Мужской Реальное имя: Anton Репутация: ![]() ![]() ![]() |
Не знаю даже с чего начать
![]() Задача. Написать задачу для булевой функции, для 4 переменных, которая задана таблицей и вывести СДНФ. Значения задаёт пользователь, тоесть Компьютер выводит 0000 пользователь вводит 1. Вывести результат в виде f(x1,x2,x3,x4)=!x1,x2,x3,x4 |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Ну, в данном случае все, что тебе нужно - это четырьмя циклами пробежаться по всем возможным значениям, и проверять, ввел в ответ пользователь 0 или 1. Если 0 - значит, тебя текущая комбинация не интересует. А если 1, то она должна присутствовать в СДНФ, и надо ее запомнить... Ну, вот так как-то:
const
sign: array[0 .. 1] of string = ('!', '');
...
s := '';
for X1 := 0 to 1 do
for X2 := 0 to 1 do
for X3 := 0 to 1 do
for X4 := 0 to 1 do begin
write('F(', X1:2, X2:2, X3:2, X4:2, ') = '); readln(answer);
if answer = 1 then
s := s + (sign[X1]+'X1')+(sign[X2]+'X2')+
(sign[X3]+'X3')+(sign[X4]+'X4') + '+';
end;
writeln('F(X1, X2, X3, X4) = ' + s);
- получишь СДНФ... |
Single |
![]()
Сообщение
#3
|
Новичок ![]() Группа: Пользователи Сообщений: 14 Пол: Мужской Реальное имя: Anton Репутация: ![]() ![]() ![]() |
Спасибо большое, программа работает
![]() |
![]() ![]() |
![]() |
Текстовая версия | 28.07.2025 7:28 |