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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.04.2013, 11:56   #1
Andrewwwww
Новичок
Джуниор
 
Регистрация: 27.04.2013
Сообщений: 2
По умолчанию Составьте таблицу истинности

Ребят, помогите пожалуйста)
Изображения
Тип файла: jpg 1-8-2.jpg (50.2 Кб, 56 просмотров)
Andrewwwww вне форума Ответить с цитированием
Старый 27.04.2013, 13:27   #2
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,306
По умолчанию

А так пойдет?
Код:
uses crt;
type Dat = record
       o1, o2 : boolean;
     end;
function Test(a : boolean; b : boolean; c : boolean) : Dat;
begin
   Test.o1 := (a OR c) AND (a OR b);
   Test.o2 := (NOT (b AND c)) OR (NOT Test.o1);
end;

procedure FOut(a : boolean; b : boolean; c : boolean; d : Dat);
begin
   writeln('+-------+-------+-------++---------+---------+');
   writeln('| ',a:5, ' | ', b:5, ' | ', c:5, ' ||  ', d.o1:5, '  |  ', d.o2:5, '  | ');
end;

var ia, ib, ic : boolean;
    Oi : Dat;

begin
 clrscr;
  writeln('  Вход 1  Вход 2  Вход 3    Выход 1   Выход 2');

  ia := false; ib := false; ic := false;
  Oi := Test(ia,ib,ic);
  FOut(ia, ib, ic, Oi);


  ia := false; ib := false; ic := true;
  Oi := Test(ia,ib,ic);
  FOut(ia, ib, ic, Oi);

  ia := false; ib := true; ic := false;
  Oi := Test(ia,ib,ic);
  FOut(ia, ib, ic, Oi);

  ia := false; ib := true; ic := true;
  Oi := Test(ia,ib,ic);
  FOut(ia, ib, ic, Oi);

  ia := true; ib := false; ic := false;
  Oi := Test(ia,ib,ic);
  FOut(ia, ib, ic, Oi);

  ia := true; ib := false; ic := true;
  Oi := Test(ia,ib,ic);
  FOut(ia, ib, ic, Oi);

  ia := true; ib := true; ic := false;
  Oi := Test(ia,ib,ic);
  FOut(ia, ib, ic, Oi);

  ia := true; ib := true; ic := true;
  Oi := Test(ia,ib,ic);
  FOut(ia, ib, ic, Oi);

  writeln('+-------+-------+-------++---------+---------+');

end.
Если это сложно, то нарисуй таблицу вида:
Код:
Вх 1  Вх 2 Вх 3  ИЛИ 1  ИЛИ 2  И1  И2  НЕ1  НЕ2  ИЛИ
--------------------------------------
0      0     0 ...
0      0     1 ...
...
1      1     1 ...
--------------------------------------
Запиши промежуточные результаты и вуаля ...



Вроде работает ...
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Старый 27.04.2013, 14:21   #3
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,289
По умолчанию

Небольшое сокращение кода ViktorRа (у меня в дельфи не скомпилировалось из-за наличия test.o1 в правой части):
Код:
uses
  crt;
type
  Dat = record
    o1, o2: boolean;
  end;

function Test(a: boolean; b: boolean; c: boolean): Dat;
var
  d: boolean;
begin
  d := (a OR c) AND (a OR b);
  Test.o1 := d;
  Test.o2 := (NOT(b AND c)) OR (NOT d);
end;

procedure FOut(a: boolean; b: boolean; c: boolean; d: Dat);
begin
  writeln('+-------+-------+-------++---------+---------+');
  writeln('| ', a:5, ' | ', b:5, ' | ', c:5, ' ||  ', d.o1:5, '  |  ', d.o2:5,
    '  | ');
end;

var
  ia, ib, ic: boolean;

begin
  clrscr;
  writeln('  Вход 1  Вход 2  Вход 3    Выход 1   Выход 2');

  for ia := false to true do
    for ib := false to true do
      for ic := false to true do
        FOut(ia, ib, ic, Test(ia, ib, ic));

  writeln('+-------+-------+-------++---------+---------+');
  readln;

end.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 27.04.2013, 21:08   #4
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,306
По умолчанию

Прошу простить меня, но программа была шуткой.
Дело было ..., делать было ...

Как изготовить циклы с логическими переменными, сразу что-то не придумал.
Так штааа ..., Ваш пример мне на пользу.



И почему Земля круглая?
Она не круглая, а шарообразная ...
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Реализовать логическую формулу и найти таблицу истинности Alex4844 Помощь студентам 1 01.04.2013 22:14
Реализовать логическую формулу и найти таблицу истинности. Alex4844 Помощь студентам 0 01.04.2013 22:07
Составить таблицу истинности для логического выражения F. NIKALEX1995 Помощь студентам 1 23.12.2012 14:46
Используя for вывести таблицу истинности на языке Си Smart92 Помощь студентам 1 30.05.2011 17:48
Программа выводящая таблицу истинности and-silaev Помощь студентам 2 06.01.2011 18:30