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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.01.2013, 23:52   #1
Ultar
Пользователь
 
Аватар для Ultar
 
Регистрация: 26.01.2013
Сообщений: 13
По умолчанию Доказать тождество.Паскаль

Доказать тождество:

not(x1 and x2)= not(x1) or not(x2)

Код:
 uses crt;
   var x1,x2,k,a,b : boolean;
begin
clrscr;
a:= not(x1 and x2);
b:= not(x1) or not(x2);
if a=b then k:=k+1;
x2:=true; x1:=false;
if a=b then k:=k+1;
if k=4 then writeln('Toshdestvo verno') else writeln('Toshdestvo neverno');
readln;
end.

Последний раз редактировалось Ultar; 28.01.2013 в 23:58.
Ultar вне форума Ответить с цитированием
Старый 29.01.2013, 00:05   #2
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

И что вы хотите?

всё проще намного

Код:
s:= not(x1 and x2)= not(x1) or not(x2);

if s then writeln('Верно') else writeln('НЕверно');

Последний раз редактировалось Вадим Мошев; 29.01.2013 в 00:08.
Вадим Мошев вне форума Ответить с цитированием
Старый 29.01.2013, 00:13   #3
Ultar
Пользователь
 
Аватар для Ultar
 
Регистрация: 26.01.2013
Сообщений: 13
По умолчанию

На самом деле,все намного проще,а я там напридумывал.Спасибо
Ultar вне форума Ответить с цитированием
Старый 29.01.2013, 00:34   #4
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

пожалуйста........
Вадим Мошев вне форума Ответить с цитированием
Старый 07.06.2016, 13:57   #5
АМД
 
Регистрация: 05.12.2015
Сообщений: 3
По умолчанию Неправильное решение

Цитата:
Сообщение от Вадим Мошев Посмотреть сообщение
И что вы хотите?

всё проще намного

Код:
s:= not(x1 and x2)= not(x1) or not(x2);

if s then writeln('Верно') else writeln('НЕверно');
В данном случае проверяется справедливость только при x1 и x2, имеющих значение False, а надо проверять и все остальные случаи.
АМД вне форума Ответить с цитированием
Старый 07.06.2016, 14:03   #6
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Цитата:
Сообщение от АМД Посмотреть сообщение
В данном случае проверяется справедливость только при x1 и x2, имеющих значение False, а надо проверять и все остальные случаи.
А данном случае не говорится какие значения х1 и х2.
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 07.06.2016, 14:04   #7
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Скобки правильно расставь
Код:
s:= not(x1 and x2)= (not(x1) or not(x2));
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 07.06.2016, 14:11   #8
АМД
 
Регистрация: 05.12.2015
Сообщений: 3
По умолчанию

Цитата:
Сообщение от Aleksandr H. Посмотреть сообщение
А данном случае не говорится какие значения х1 и х2.
Под тождеством понимают такое выражение , которое справедливо при любых значениях переменных.
АМД вне форума Ответить с цитированием
Старый 07.06.2016, 14:11   #9
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от АМД Посмотреть сообщение
В данном случае проверяется справедливость только при x1 и x2, имеющих значение False, а надо проверять и все остальные случаи.
Вы хотели что-то такое?

Код:
isTGood := true;
for x1:=False to True do
  for x2:=False to True do begin
     s:= not(x1 and x2)= (not(x1) or not(x2));
     WriteLn(' при x1 = ',x1,' x2 =',x2, ' тождество равно ',s);
     if not s then isTGood := false;
  end;

if  isTGood 
then WriteLn('Тождество было истинным при всех вариантах x1 и x2 => оно верное')
else WriteLn('Тождество не было истинным в некоторых случаях => оно неверное');
Serge_Bliznykov вне форума Ответить с цитированием
Старый 07.06.2016, 14:28   #10
АМД
 
Регистрация: 05.12.2015
Сообщений: 3
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
Вы хотели что-то такое?

Код:
isTGood := true;
for x1:=False to True do
  for x2:=False to True do begin
     s:= not(x1 and x2)= (not(x1) or not(x2));
     WriteLn(' при x1 = ',x1,' x2 =',x2, ' тождество равно ',s);
     if not s then isTGood := false;
  end;

if  isTGood 
then WriteLn('Тождество было истинным при всех вариантах x1 и x2 => оно верное')
else WriteLn('Тождество не было истинным в некоторых случаях => оно неверное');
Однако параметр цикла не во всех компиляторах Pascal может иметь логический тип.

Ну а я так-то ничего не хотел.
Просто наткнулся на неправильное понимание тождества.
Я математик. поэтому не мог мимо этого пройти.
АМД вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как доказать? (мат. логика) Rinat93 Свободное общение 0 20.05.2012 17:29
Доказать, что бд относится к 3 нормальной форме, если нет то к какой mo_Ouse Microsoft Office Access 0 22.12.2011 20:01
Проверить тождество remlena Паскаль, Turbo Pascal, PascalABC.NET 10 05.09.2010 14:59
Как разьяснить\доказать HellMercenaries Свободное общение 15 28.07.2009 15:02
доказать формулой(жел-но в градусах) Равнобедренный тупоугольный треугольник ahtung Microsoft Office Excel 20 24.12.2008 11:44