Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.05.2012, 19:30   #1
sergei15
 
Регистрация: 28.05.2012
Сообщений: 5
По умолчанию Заданную логическую формулу преобразовать в эквивалентную днф

заданную логическую формулу преобразовать в эквивалентную днф

код преобразует заданную днф в эквивалентную правильную днф. как переделать под мою задачу?

Код:
uses crt;
const n=5;
var
s: string;
M: array[1..n] of string;
len: array[1..n] of integer;
i,k,j: integer;
a,b,c,d,e,st:string;
begin
    clrscr;
    writeln('vvedite ', n,'prostix konunkcii');
    readln(a);
    readln(b);
    readln(c);
    readln(d);
    readln(e);
    M[1]:=a; M[2]:=b; M[3]:=c; M[4]:=d; M[5]:=e;
     { for i:=1 to n do
      begin
      readln(M[i]);
      end;
writeln(M[4]);}
   { k:=5;
    for i:=1 to n do begin
      while k=0 do begin
      write('(',M[i],') ');
      write('or ');
      k:=k-1;
      end;
      end; }
writeln;
writeln;
st:='not ';
  for i:=1 to n do begin
  len[i]:=length(M[i]);
  end;
      for i:=1 to n do begin
      if (M[i]=st+M[i+1]) or (M[i]=st+M[i+2]) or (M[i]=st+M[i+3]) or (M[i]=st+M[i+4])
      then M[i]:='1'; a:=st+M[i]; delete(a,1,len[i]);
      if (M[i] = M[i+1]) or (M[i]=M[i+2]) or (M[i]=M[i+3]) or (M[i]=M[i+4])
      then delete(M[i],1,len[i]);
      end;
       for i:=1 to n do
      write(M[i],' ');
 
 
readln;
end.
sergei15 вне форума Ответить с цитированием
Старый 29.05.2012, 03:30   #2
TinMan
Форумчанин
 
Аватар для TinMan
 
Регистрация: 05.09.2011
Сообщений: 869
По умолчанию

Цитата:
Сообщение от sergei15 Посмотреть сообщение
заданную логическую формулу преобразовать в эквивалентную днф
Что такое днф я знаю. А что такое "логическая формула"? Звучит очень расплывчато.
Предпочитаю на "ты".
TinMan вне форума Ответить с цитированием
Старый 29.05.2012, 06:21   #3
sergei15
 
Регистрация: 28.05.2012
Сообщений: 5
По умолчанию

ввод простых конъюнкций типа х y not y x
sergei15 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Является ли ДНФ совершенной ExploiT243 Помощь студентам 0 11.05.2012 16:24
[Си++ Билдер]Преобразовать математическую формулу в нормальный для компилятора вид mrG0bliN Помощь студентам 7 24.01.2012 19:28
Программа минимизации ДНФ arris90 Помощь студентам 3 08.04.2011 20:47
сравнение двух днф Zln Помощь студентам 0 11.05.2010 16:42
Преобразовать формулу в макрос Viento Microsoft Office Excel 10 23.01.2009 22:35