Написать программу, выводящую таблицу истинности логической функции - C#

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток! Помогите, пожалуйста, решить задачу: Напишите программу, выводящую таблицу истинности логической функции (a and not b) or c [ and - логическое умножение not - отрицание or - логическое сложение ]

Решение задачи: «Написать программу, выводящую таблицу истинности логической функции»

textual
Листинг программы
using System;
using System.Reflection;
 
namespace cyb36 {
    class Program {
        static bool f(bool a, bool b, bool c) {
            return (a && !b) || c;
        }
        static void Main(string[] args) {
            //сведения о методе
            MethodInfo inf= typeof(Program).GetMethod("f",BindingFlags.Static|BindingFlags.NonPublic);
            //Количество параметров (если будут не булевы, то глюкнет)
            int cnt=inf.GetParameters().Length;
            int max=1;
            //Шапка
            for(int i=0;i<cnt;i++){
                Console.Write("{0,9}", (char)('a' + i));
                max*=2;
            }
            Console.WriteLine("{0,9}", "rez");
            
            //Строка
            for(int i = 0; i < max; i++) {               
                object[] param=new object[cnt];
                int k=i;
                for(int j = 0; j < cnt; j++) {
                    param[j] = k % 2 == 0 ? true : false;
                    Console.Write("{0,9}", param[j]);
                    k /= 2;
                }
                Console.WriteLine("{0,9}",inf.Invoke(null, param));
            }
                
 
            Console.ReadLine();
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4 из 5
Похожие ответы