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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.01.2012, 22:20   #1
Keti
Пользователь
 
Регистрация: 16.12.2011
Сообщений: 11
Печаль Логические операции, таблица истинности (Паскаль)

Здравствуйте, очень-очень-очень нужна ваша помощь...уже второй день мучаюсь... не могу довести до ума((

Задание:
Написать программу для построения таблицы истинности логической функции F. Логическая функция должна быть реализована в качестве функции, принимающей в качестве параметров значения Х1 – Х4. Нулевые значения соответствуют логическому значению “ЛОЖЬ”, а не нулевые — “ИСТИНА”.
F = (X1 xor X3 & X2)+(X4|X3 & X4)+X1

Вот что у меня получилось:

Код:
program lab2;
uses crt;
Var x1,x2,x3,x4,F: Boolean;
begin
Clrscr;
F:=(((x1 XOR X3) AND x2) OR ((NOT x4 AND NOT x3) AND x4) OR x1);
Writeln ('x1':6, 'x2':6, 'x3':6, 'x4':6, 'x1 XOR x3':11, 'x1 XOR x3 & x2':14, 'NOT (x4 x3)':12, 'NOT (x4 x3) & x4':17, 'F':6);
For x1:=false to true do
For x2:=false to true do
For x3:=false to true do
For x4:=false to true do
Writeln (x1:6, x2:6, x3:6, x4:6, (x1 XOR x3):11, (x1 XOR x3 AND x2):14, (NOT x4 AND NOT x3):12, ((NOT x4 AND NOT x3) AND x4):17, F:5);
Readln;
end.
Может быть кто-нибудь подскажет, как сделать так, чтобы в таблице истинности вместо false и true выводились 0 и 1...
Ииии...табличка искомая, пока не очень похожа на табличку, она не вмещается на экране - её я ещё не успела отформатировать.
Заранее спасибо)
Keti вне форума Ответить с цитированием
Старый 07.01.2012, 22:35   #2
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Цитата:
как сделать так, чтобы в таблице истинности вместо false и true выводились 0 и 1
Каких то стандартных функций для этого не слышал

но можно и так

Код:
function BoolToByte (const x: boolean): byte;
begin
    if x = true then BoolToByte := 1
    else BoolToByte := 0;
end;
ну соответствеено в программе
Код:
f := false;
Writeln (BoolToByte(f))
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 08.01.2012, 10:40   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
как сделать так, чтобы в таблице истинности вместо false и true выводились 0 и 1
в TurboPascal достаточно использовать функцию ORD()

ord(false) вернёт ноль
ord(true) вернёт единицу


а ещё хотел бы отметить, что код
Цитата:
Код:
if x = true then
- это масло масляное! достаточно
Код:
if x then
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
таблица истинности ma3k Помощь студентам 2 01.12.2011 18:03
логические операции yk92 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 28.10.2010 09:38
Логические операции AlexandraKr Помощь студентам 0 18.10.2010 15:20
Таблица истинности ket01 Помощь студентам 1 31.01.2010 11:27