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

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

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

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

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

textual
Листинг программы
  1. using System;
  2. using System.Reflection;
  3.  
  4. namespace cyb36 {
  5.     class Program {
  6.         static bool f(bool a, bool b, bool c) {
  7.             return (a && !b) || c;
  8.         }
  9.         static void Main(string[] args) {
  10.             //сведения о методе
  11.             MethodInfo inf= typeof(Program).GetMethod("f",BindingFlags.Static|BindingFlags.NonPublic);
  12.             //Количество параметров (если будут не булевы, то глюкнет)
  13.             int cnt=inf.GetParameters().Length;
  14.             int max=1;
  15.             //Шапка
  16.             for(int i=0;i<cnt;i++){
  17.                 Console.Write("{0,9}", (char)('a' + i));
  18.                 max*=2;
  19.             }
  20.             Console.WriteLine("{0,9}", "rez");
  21.            
  22.             //Строка
  23.             for(int i = 0; i < max; i++) {              
  24.                 object[] param=new object[cnt];
  25.                 int k=i;
  26.                 for(int j = 0; j < cnt; j++) {
  27.                     param[j] = k % 2 == 0 ? true : false;
  28.                     Console.Write("{0,9}", param[j]);
  29.                     k /= 2;
  30.                 }
  31.                 Console.WriteLine("{0,9}",inf.Invoke(null, param));
  32.             }
  33.                
  34.  
  35.             Console.ReadLine();
  36.         }
  37.     }
  38. }

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


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

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

10   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы