論理式の結果を求めたいのですが、論理回路図はかけるんですが、簡略化したりする方法が解りません・・・。貴重な時間を割いていただいて申し訳ありませんが、教えてください!よろしくお願いいたします。

1)論理式の結果を求めなさい。
 1)A・0=
 2)A+A=
 3)A・A(Aの上のみに棒がついている)=
 4)A+A(Aの上のみに棒がついている)=
 5)1・A=
 6)A+A(両方のAにまたがった棒がついている)=

2)論理式を簡略化しなさい。
 1)A・B+A=
 2)A・B+B=
 3)(A+B)・B・C(Cの上のみに棒がついている)=
 4)A(Aの上のみに棒がついている)・B・C(Cの上のみに棒がついている)+A(Aの上のみに棒がついている)・B・C

簡略化というのは吸収の定理とかを当てはめるということでしょうか??
すみませんが教えてください。よろしくお願いいたします。

A 回答 (4件)

こんばんは。


久々に参考書を片手に解いてみました。

※論理否定演算子は“ ̄”で表しました。

1)
 1)A・0 = 0
 2)A+A = A
 3)A・A ̄ = 0
 4)A+A ̄ = 1
 5)1・A = A
 6)A+A(両方のAにまたがった棒がついている)= A ̄

2)
 1)A・B+A = A (吸収則より)
 2)A・B+B = B (吸収則より)
 3)(A+B)・B・C ̄ = A・B・C ̄ + B・B・C ̄
   = A・B・C ̄ + B・C ̄
   B・C ̄ をXと置き換える
   = A・X + X
   吸収則より
   = X
   = B・C ̄

 4)A ̄・B・C ̄+A ̄・B・C
   A ̄・B をXと置き換える
   = X・C ̄ + X・C
   分配則より
   = X・(C ̄+C)
   = X
   = A ̄・B

> 簡略化というのは吸収の定理とかを当てはめるということでしょうか??

そうです。出来るだけ式を単純にすることです。
でも、2)の1)の問題などは、具体的に、
Aに“1”や“0”を当てはめて考えれば、
公式を丸暗記せずに解けると思います。

勉強、頑張って下さい。
    • good
    • 0
この回答へのお礼

参考書を片手にやっていただいたとのこと、有難うございます。それにしても考えれば考えるほどややこしくなっていたのに解説していただき本当に分かりやすかったです。有難うございました!

お礼日時:2001/08/21 01:09

2)の3)は


吸収則
A・(A+B)=A
を用いて

(A+B)・B・Cバー
=B・Cバー

ではダメでしょうか?
    • good
    • 0
この回答へのお礼

有難うございます。私の書き方がまずいのに・・・参考にさせていただきます!
有難うございました!

お礼日時:2001/08/21 01:08

う、スペースが圧縮されているのに


うっかり書き込んでしまった(^^;

.は空白と思ってください。

......_
3)A・A= 0
......_
4)A+A= 1
...____..._
6)A+A= A

................_
3)(A+B)・B・C= ?
分かりません(^^; 問題あってますか?
..._....._.._.........._......_........._.........._
4)A・B・C+A・B・C = A・B・(C+C) = A・B・1 = A・B
    • good
    • 0

等幅のフォントで見てください。



・ 論理積
0・0 = 0
0・1 = 0
1・0 = 0
1・1 = 1
+ 論理和
0+0 = 0
0+1 = 1
1+0 = 1
1+1 = 1

1)A・0= 0
2)A+A= A
_
3)A・A= 0
_
4)A+A= 1
5)1・A= A
____ _
6)A+A= A

通常の数式と同様に結合,分配等が可能です。

1)A・B+A= A・(B+1) = A
2)A・B+B= B・(A+1) = B
_
3)(A+B)・B・C= ?
分かりません(^^; 問題あってますか?
_ _ _ _ _ _ _
4)A・B・C+A・B・C = A・B・(C+C) = A・B・1 = A・B
    • good
    • 0
この回答へのお礼

有難うございます!それにしても難しい・・・
がんばってもう一度確認してみます。問題間違ってるかもしれませんねぇ。

お礼日時:2001/08/21 01:07

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qx y f ←このような真理値表から 0 0 0 論理式を得る時に演算結果 0 1 1 が1となるよ

x y f ←このような真理値表から
0 0 0 論理式を得る時に演算結果
0 1 1 が1となるような演算対象
1 0 0 の値の論理「積」を求める
1 1 0 とあるのですが、なぜ積
なのでしょう。

またこの表の論理式はf=notx・yらしいのですが、このnotは1でないという意味でのnotですか?

Aベストアンサー

この場合
x, y は 0 または 1 の値を持つ変数、 f は f(x,y) の関数です。


普通の数学を考えると
-a で、 aの正負を反転する とか
|a| で a の絶対値 とか
ありますよね?

not も、 上記のような演算子の仲間です。

Qオートマトン L = {ww^R: w ∈ {a, b}+}の中心の見つけ方

下記のようなオートマトンがあります。

L = {ww^R: w ∈ {a, b}+}
M = (Q, Σ, Γ, δ, q0, z, F)
Q = (q0, q1, q2),
Σ = {a, b},
Γ = {a, b, z},
F = {q2}.

(1)wをスタックに載せるために:
δ(q0, a, a) = {(q0, aa)}
δ(q0, b, a) = {(q0, ba)}
δ(q0, a, b) = {(q0, ab)}
δ(q0, b, b) = {(q0, bb)}
δ(q0, a, z) = {(q0, az)}
δ(q0, b, z) = {(q0, bz)}

(2)どこが文の中心か見つけるために(状態がq0からq1に変わる):
δ(q0, λ, a) = {(q1, a)}
δ(q0, λ, b) = {(q1, b)}

(3)w^Rと一致させるために:
δ(q1, a, a) = {(q1, λ)}
δ(q1, b, b) = {(q1, λ)}

(4)最後に:
δ(q1, λ, z) = {(q2, z)}

とあります。
問題の中にこれを元にしてL = {wcw^R: w ∈ {a, b}*}のnpdaをつくりなさい、
というのがありますが、それは(2)を
δ(q0, c, a) = {(q1, a)} ←cが入力されたらそこが中心
δ(q0, c, b) = {(q1, b)}
に変えて
δ(q0, λ, z) = {(q2, λ)} ←何も入力されなかったら文字を受け付ける(* → +なので)
を付け加えればよいですか? (多分、そうですよね?)

それと、上の(2)がどうやって中心を見つけているのか分かりません。
入力中は何文字入力されるかなんて分かりませんよね。
例えばbaabbaabという文があったとすると最初の四文字でbaabで
「さては中心はbaとabの間だな!」とか勘違いとかしないんですか?
入力がλということは毎回毎回入力がある度にチェックしているということでしょうか?
混乱している私に分かりやすい説明ができる方、どうかお願いします。

下記のようなオートマトンがあります。

L = {ww^R: w ∈ {a, b}+}
M = (Q, Σ, Γ, δ, q0, z, F)
Q = (q0, q1, q2),
Σ = {a, b},
Γ = {a, b, z},
F = {q2}.

(1)wをスタックに載せるために:
δ(q0, a, a) = {(q0, aa)}
δ(q0, b, a) = {(q0, ba)}
δ(q0, a, b) = {(q0, ab)}
δ(q0, b, b) = {(q0, bb)}
δ(q0, a, z) = {(q0, az)}
δ(q0, b, z) = {(q0, bz)}

(2)どこが文の中心か見つけるために(状態がq0からq1に変わる):
δ(q0, λ, a) = {(q1, a)}
δ(q0, λ, b) = {(q1, b)}

(3)w^Rと一致させるため...続きを読む

Aベストアンサー

先の2つの御質問からすると、non-deterministic(非決定的)なPDAを考えているわけですよね。

非決定的なオートマトンでは、「1つの入力系列に対して複数の遷移経路が考えられるが、そのうち1つでも受理状態で遷移が終了する経路が存在すれば、オートマトンはその入力を受理する」と考えます。

baabbaabの例であれば、"b"しか入力されていない状態、"ba"まで入力された状態、...、"baabbaab"まで入力されてしまった状態、のどこで(2)の遷移をやってもいいんです。
そのうち"baab"の状態で(2)の遷移をすれば受理状態で遷移が終了するので、このオートマトンは"baabbaab"を受理するといえるわけです。

> それは(2)を
> ....
> を付け加えればよいですか? (多分、そうですよね?)
そこはそれで合っていると思いますよ。

Qスコーレムの定理の意味 論理式の表現の可能性

 以前、言葉尻の異なる同じような内容の質問をしております。ご容赦ください。
 
 スコーレムの定理によりべき集合公理をもつ公理系にも可算モデルが存在する
 無限体k上のベクトル空間の次元という概念は論理式では表現できない
 ペアノ算術において自然数の非標準モデルが存在する
 といったものから
 モデル側の性質をすべて形式体系で書くことはできないということが結論されているのを見るのですが、自分としてはそのような形式体系で書くことができない性質があるということ、その性質について考えるとことが、なぜ記号を対象とした数学という分野でできるのかということが不思議なのです。
 つまり(あくまで建前上ではですが)、イメージや心象を閉め出して形式的な文字列の変形、生成で議論できるはずの数学においては形式体系、公理系のモデルも結局何らかの形式的な文字列の変形、生成で定義される以外無いはずであって(モデルを決めるというのは形式体系側の記号や述語に、新しい記号や述語を対応させた新しい形式体系を実装として定めるということだと考えています)
例えば
実数の公理系の非可算のモデルの更なる可算モデルを考えると、そもそも非可算モデルとはなんだったのだろうか(何をもって非可算といっていたのだろうか もちろん元の体系内で、ある集合が可算無限の集合と1:1対応のつけられないということが証明できるということをもってなのでしょうが、しかしそれも体系の外に出てみると可算モデルになっていることがあるということならどこまで行っても本当に非可算かどうかを確かめることはできないのではないだろうか つまり何をもって非可算となすという基準が作れないように見え、それならば非可算というもの自体がどういうものかわからないのではないか なら最初の非可算モデルとはいったい何だったんだろうといったように)
ベクトルの次元という概念も表現できる視点があって初めて、ある論理上では表現できないということが分かるのであってその表現できる視点というのも論理式の集合で書かれるしかないのではないか ならば次元という概念も論理式の集合で表現できることになるのでは
標準的な(N,0,1,+,・,<)のNも数学で考えるために論理式で定義されるものなら標準モデルだけを表す公理系があるのではないだろうか もしないならどうやって数学の議論の台に乗せるのだろうか

などといった、おそらく擬似問題に悩んでしまうのです。

 認識といってしまうといきなり怪しい話になってしまい恐縮ですが、「モデル側の性質をすべて形式体系で書くことはできない」ということは一見して数学の論理は、人間の心象、意味内容を全て認識することができないと受け取ってしまいそうになりますが、形式とモデルの関係はそのようなことをいっているのではなく、数学上の話である以上、体系間の関係のことをいっていると思うのですが正確にはどういうことを表しているのかわからないのです。
おおざっぱにいうと論理式で表せない性質があるということをいうためにはその性質を表すことが必要であり、数学においてはそれも論理式で書くことになると思うので、結局どういうことをしているのか混乱しているのです。

 それとも最初に書いたようなことは人間側の推論と論理式での推論の関係(これは本当にイメージ心象と論理式の関係であって、想像上の集合、モデルと形式体系は1:1には対応しない)を、体系同士の関係で表した、まねさせたことから出てきた成果なので
たとえば非可算かどうかを確認する絶対的基準なものがどこにあるかなどと言うことは意味をなさないのでしょうか。つまり実装(モデル)側で、ある論理式(可算性、非可算性に相当する)を証明できるものを可算モデル、非可算モデルという名前を付けているだけであって人間の使う非可算という意味とは(建前上は)関係がないということでしょうか。

 もちろん例えば、自然数といわれればその意味するところはわかりますし、その自然数と同型でないモデルというのも色々なところで図などをつかって解説されている限り同型でないということや、どういうものかということは分かります、ただそれは明らかにイメージに頼ったものであって、厳密な意味での数学ではどうするのだろう(というか論旨式で表せないものを表すとは何だろう)と考え質問いたしました。
メタレベルと対象レベルを区別できてないが故の疑問だと感じているのですが、モデル(実装)にたいしても、その実装は?さらにその実装は?といっていくと結局非可算かどうかを区別できる視点などないのではないかということにならないのでしょうか?

かなり初歩的な勘違いをしていると思いますが、この方面に明るい方、過去このような疑問を持たれた方、お時間ありましたら解答、解説お願いします

 以前、言葉尻の異なる同じような内容の質問をしております。ご容赦ください。
 
 スコーレムの定理によりべき集合公理をもつ公理系にも可算モデルが存在する
 無限体k上のベクトル空間の次元という概念は論理式では表現できない
 ペアノ算術において自然数の非標準モデルが存在する
 といったものから
 モデル側の性質をすべて形式体系で書くことはできないということが結論されているのを見るのですが、自分としてはそのような形式体系で書くことができない性質があるということ、その性質について考える...続きを読む

Aベストアンサー

最初に書かれている結果は一階述語論理の限界ですね。二階論理あるいはもっと高階の論理を使えば形式化可能ではないでしょうか。高階論理はよく知らないですけど。
あと非加算については、可算の定義が自然数集合との一対一対応が取れることですから、その対応がモデルの中に入らないように制限すれば、モデル外から可算なものでもモデル内では非可算になります。「可算」という概念はこのように絶対的ではない不安定なものなのです。

Qオブジェクト指向における「クラスA have a クラスB」の関係において,クラスBからクラスAのあるメンバ変数だけを触る方法

クラス10~50個の中規模プログラミングに当たって,以下の問題がよく出てきて,
「簡潔な方法はないものか・・・」と悩んでいます.

●前提条件
【・「クラスAに持たれているクラスB( A have a B 関係)において,
  クラスBからクラスAのあるメンバ変数(プロパティ)だけを触りたい」】

この場合,私はよく以下のようにしてしまい,クラス間の独立性を無くしてしまいます.
●方法1:
・クラスBのコンストラクタに「自分の持ち主であるクラスAのオブジェクト」を引数に取り,クラスBの変数(プロパティ)usedClassAとする.

=======
C言語風に書くと,
<code>
public void クラスA{
  クラスB usingClassB = new クラスB(); // 持っているクラスB
  int commonNum = 0;
  public void AddCommonNum(){
      commonNum++;
   }
   ...
   (その他の処理)
   ...
}

public void クラスB{
   class usedClassA;    // 持ち主のクラスA

   // コンストラクタ
   public クラスB(クラスA _usedClassA){
       usedClassA = _usedClassA;
   }
   public void AddCommonNum(){
       _usedClassA.AddCommonNum();
   }
}
<\code>
となります.

この方法の問題点は,クラスAとクラスBに<双方向の依存関係を作っている>ことで,
クラスAの設計(ここではAddCommonNum())が変更されたときに,クラスBの内容を変更しなければならない可能性があることから,拡張性に欠けると考えています.

そこで,他に何かいい実装方法が無いか,
教えていただけないでしょうか?
特に,このような前提条件に汎用的に使える方法だと尚良いです.

クラス10~50個の中規模プログラミングに当たって,以下の問題がよく出てきて,
「簡潔な方法はないものか・・・」と悩んでいます.

●前提条件
【・「クラスAに持たれているクラスB( A have a B 関係)において,
  クラスBからクラスAのあるメンバ変数(プロパティ)だけを触りたい」】

この場合,私はよく以下のようにしてしまい,クラス間の独立性を無くしてしまいます.
●方法1:
・クラスBのコンストラクタに「自分の持ち主であるクラスAのオブジェクト」を引数に取り,クラスBの変数(...続きを読む

Aベストアンサー

 こんにちは。
 簡単な話、共通のプロパティクラスを作成して、ClassAとClassBが其れを参照したり更新したりすれば、ClassAとClassBは左程依存しないのでは。
 一応C++で、其れらしき事をしてみましたので、参考程度に。

#pragma warning(disable : 4786)
#include<map>
#include<string>

//プロパティオブジェクトココから
struct IVariantHolder
{
  virtual ~IVariantHolder(){ }
};

template<class __TP>
struct CVariantHolder : public IVariantHolder
{
  typedef typename __TP variant;

  explicit CVariantHolder(const variant& val) : m_val(val){}
  ~CVariantHolder(){}

  variant& Get(){ return m_val; }
  const variant& Get() const { return m_val; }
  operator variant&(){ return m_val; }
  operator const variant&() const { return m_val; }
private:
  variant m_val;
};

struct CPropertyData
{
  typedef std::map<std::string, IVariantHolder*> map_t;
  template<class __TP>
  bool AddProperty(const __TP& tp, const std::string& sPropertyName)
  {
    if(GetProperty(sPropertyName))return false;
    return m_map.insert(std::make_pair(sPropertyName, new CVariantHolder<__TP>(tp))).second;
  }
  IVariantHolder* GetProperty(const std::string& sPropertyName)
  {
    return const_cast<IVariantHolder*>(
                static_cast<const CPropertyData&>(*this).GetProperty(sPropertyName)
                     );
  }
  const IVariantHolder* GetProperty(const std::string& sPropertyName) const
  {
    map_t::const_iterator it = m_map.find(sPropertyName);
    return it == m_map.end() ? 0 : it->second;
  }
private:
  map_t m_map;
};

template<class __TP>
static __TP* Lock(CPropertyData* property, const std::string& sPropertyName)
{
  CVariantHolder<__TP>* pVal = dynamic_cast<CVariantHolder<__TP>*>(property->GetProperty(sPropertyName));
  return pVal ? &pVal->Get() : 0;
}
//プロパティオブジェクトココまで

//テスト用の構造体
struct CommonStruct
{
  CommonStruct(long _l, short _s, char _c) : l(_l), s(_s), c(_c){}
  longl;
  shorts;
  charc;
};

//クラスAとクラスBココから
struct ClassB;
struct ClassA
{
  ClassA(ClassB* p, CPropertyData* property) : m_useClassB(p), m_property(property)
  {
    //ココでメンバ変数(プロパティ)の領域を動的に作成する
    m_property->AddProperty(int(0), "commonNum");
    m_property->AddProperty(CommonStruct(4, 2, 1), "commonStruct");
  }
  void DisplayProperty()
  {
    ::printf("%s %d %s\n", "[commonNum : ", *::Lock<int>(m_property, "commonNum"), "]");

    CommonStruct* p = ::Lock<CommonStruct>(m_property, "commonStruct");
    ::printf("%s <%d><%d><%d> %s\n", "[commonStruct <l><s><c> : ", p->l, p->s, p->c, "]");
  }
private:
  ClassB*m_useClassB;
  CPropertyData*m_property;
};

struct ClassB
{
  explicit ClassB(CPropertyData* property) : m_property(property){}
  void AddCommonNum()
  {
    int* pi = ::Lock<int>(m_property, "commonNum");
    (*pi)++;
  }
  void SetCommonStruct(long l, short s, char c)
  {
    CommonStruct* pc = ::Lock<CommonStruct>(m_property, "commonStruct");
    new (pc) CommonStruct(l, s, c);
  }
private:
  CPropertyData*m_property;
};
//クラスAとクラスBココまで

//お試し
int main()
{
  //両方に共通なプロパティオブジェクト
  CPropertyData property;

  //クラスBに渡す
  ClassB b(&property);

  //クラスAにクラスBとプロパティオブジェクトを渡す
  ClassA a(&b, &property);

  //クラスBでプロパティを操作する
  b.AddCommonNum();
  b.SetCommonStruct(10, 20, 30);

  //クラスAでプロパティを表示する
  a.DisplayProperty();
  return 0;
}

 こんにちは。
 簡単な話、共通のプロパティクラスを作成して、ClassAとClassBが其れを参照したり更新したりすれば、ClassAとClassBは左程依存しないのでは。
 一応C++で、其れらしき事をしてみましたので、参考程度に。

#pragma warning(disable : 4786)
#include<map>
#include<string>

//プロパティオブジェクトココから
struct IVariantHolder
{
  virtual ~IVariantHolder(){ }
};

template<class __TP>
struct CVariantHolder : public IVariantHolder
{
  typedef typename __T...続きを読む

Q論理式が真であるか偽であるかの判定問題です。

数学的帰納法を用いた証明問題と全射、単射の証明問題です。

非負整数の集合をN={0,1,2,...}とし、再帰関数f:N→Nを以下で定義する。

f(0)= 0
f(1)= 1
f(n)= f(n-1) + f(n-2) (n≧2のとき)

以下の問に答えなさい

(a)以下の論理式が真であるならば証明しなさい。偽であるならば反例を示しなさい。
(i)∀n∈N( ∀m∈N f(n) = f(m) + f(m+1) )
(ii)∀n∈N( ∃m∈N f(3n) = 2m )

(b)論理式∀n∈M ( n=f(n) )が真となる集合M⊂Nを全て示しなさい。

--------------------------------------------------------------------------

(a)
(1)の論理式の意味は
”Nの範囲を満たす全ての数mを取ると、f(n) = f(m) + f(m+1)は全てのNの範囲のnで成り立つ”という意味で大丈夫でしょうか?
この意味で合っているなら、これはn=0のとき成り立たないので、偽だと思います。

(2)は、”Nの範囲を満たすある数mを取ると、f(3n) = 2mは全てのNの範囲のnで成り立つ”
これは真だと思うのですが、証明の仕方がわかりません。

(b)はM={0,1}だと思います。

どなたか解説をよろしくお願いします。

数学的帰納法を用いた証明問題と全射、単射の証明問題です。

非負整数の集合をN={0,1,2,...}とし、再帰関数f:N→Nを以下で定義する。

f(0)= 0
f(1)= 1
f(n)= f(n-1) + f(n-2) (n≧2のとき)

以下の問に答えなさい

(a)以下の論理式が真であるならば証明しなさい。偽であるならば反例を示しなさい。
(i)∀n∈N( ∀m∈N f(n) = f(m) + f(m+1) )
(ii)∀n∈N( ∃m∈N f(3n) = 2m )

(b)論理式∀n∈M ( n=f(n) )が真となる集合M⊂Nを全て示しなさい。

---------------------------------------------------------------...続きを読む

Aベストアンサー

←A No.1 補足
概ねそんな感じなんだけど…

そこに書かれた内容だけだと
f(3(k+1)) が偶数であることを示しただけで、
f(3(k+1)+1), f(3(k+1)+2) が奇数であることの
理由を省略してしまっている。
【2】を繰り返し使うのが帰納法だから、
f(3(k+1)) だけでなく、
f(3(k+1)+1), f(3(k+1)+2) についても
きちんと漸化しておく必要があると思う。

あと、細かいことだが、
> よってf(3n)=2mは真である。
は、文章がいまいち。
# よって、帰納法により、∃m,f(3n)=2m は真である。
程度には書いたほうがいいような気がする。

あと、本当にどうでもいいことだが、
【1】は、n=0 でも済む。

Qc言語初心者です。 物語を登場人物をA、B、C…と仮定しているのですが、読者にイメージしてもらいやす

c言語初心者です。
物語を登場人物をA、B、C…と仮定しているのですが、読者にイメージしてもらいやすい様に入力した名前でABCを書き換えて物語を表示させることは可能ですか?スキャンF関数などを使うことはなんとなくわかるのですが自分の思いつきでソースを書くのは初めてなので詳しい方教えて下さい!

Aベストアンサー

可能かどうか、なら可能です。
実際にRPGで主人公の名前入力したりしますよね?


まずは、C言語ということは考えずに、やり方を考えましょう。
scanfを使う、とかを最初に決めてしまうと、それに囚われて肝心の「本来やるべきこと」に辿りつけなくなります。
日本語で考えましょう。

1.文字列を入力する
2. 1.を「名前」として記憶する
3.文章の一部を、別に用意した文字列に置き換える
 ※ 「別に用意した文字列」とは、2.の「名前」のこと
4. 3.の結果を出力する

こんな感じでしょうか。
そこから更にそれぞれを細かく決めていきます。

例えば
1. 「キーボード」から入力
2. char nameA[] に保存
3. printf の %s を使って置き換え
4. printf で「画面」に出力

ここまでやって

char nameA[256];
scanf("%s",nameA) ;
printf("私は%sだ。", nameA) ;

とプログラムになります。


ただ、上記の例では、人数と文章が少し増えただけで破綻します。
別の方法を考える必要があります。
ただ、Cが標準で用意している機能は、それほど多くありません。
既存のものを組合せて自作する必要があるでしょう。
(あるいは、誰かが「自作」したライブラリを使わせていただくか)

可能かどうか、なら可能です。
実際にRPGで主人公の名前入力したりしますよね?


まずは、C言語ということは考えずに、やり方を考えましょう。
scanfを使う、とかを最初に決めてしまうと、それに囚われて肝心の「本来やるべきこと」に辿りつけなくなります。
日本語で考えましょう。

1.文字列を入力する
2. 1.を「名前」として記憶する
3.文章の一部を、別に用意した文字列に置き換える
 ※ 「別に用意した文字列」とは、2.の「名前」のこと
4. 3.の結果を出力する

こんな感じでしょうか。
そこから更にそれぞれ...続きを読む

QInputBoxから論理式を得てIF文の論理式に反映したいのですが?

InputBoxで、論理式を入力させて、その論理式が同じマクロ内のIF文の論理式に反映させたいのですが、”型が一致しません”というエラーが出てしまいます。どうすればよいのでしょうか?お教えください。

Aベストアンサー

#3は、次のようにも書き換えることができます。
----------------------------------------------------------------
Dim 論理式 As String
Dim セル As Range

論理式 = InputBox("論理式を入力してください。", "論理式入力", "値 < 30")

For Each セル In Selection
If Evaluate(Replace(論理式, "値", CStr(セル.Value))) Then
セル.Font.ColorIndex = 3
End If
Next

Qax^2+bx+c=0の求解プロセスをDFDで表したいのですが・・・

ax^2+bx+c=0の求解プロセスをDFDで表したいのですが、aが0か、判別式が正か負か0かなどによって、その後の処理が変わってきますよね?
DFDの場合、そのような分岐はどう書けばよいのでしょうか?

Aベストアンサー

もしかしたらすでに解決されているかもしれませんが…

DFDは、本来、そういうレベルの処理をするものではありません。
フローチャートが処理の流れの記述に偏った反省から、
DFDは、処理ではなくデータの流れる方向を記述するものとなっています。
このぐらいの問題規模なら、むしろフローチャートの方が合ってるでしょう。

まあただ「本来向いていない」と言っても、
そちらには書く必要があるのだと想像します。

一応、分岐を表す記号はあります。
+を○で囲んだ記号を、二つの出力の間に書けば、
「二つの出力のどれかになる」ことを表します。
本では「分離」と言っています。
(ただし、デマルコは「基本的に使わないようにした方がよい」と書いています)

また、「プロセス」から複数の矢印を出すだけでもかまわないと思います。
矢印の側に「判別式が正の場合」「負の場合」など注釈を書いておけばいいでしょう。

Q論理式 簡単化2

3入力1出力の論理回路を真理値表を用いて、論理式と論理回路の図示がわからないので、
教えてください。また、その論理式が簡略化出来た時の論理式と論理回路も教えてください。
真理値表(左の3ケタの数値が入力、右の数値が出力を表している。)
000 0
001 0
010 1
011 0
100 0
101 1
110 0
111 1

Aベストアンサー

与えられた一次元真理値表を添付図のような
2次元真理値表のカルノー図に描き直し
出力が1の所をカルノーサークル(1)、(2)で囲い、それぞれ論理式に直して加えてやれば全体の出力の積和型最簡形の論理式が得られます。
この簡略化された論理式と論理回路の例を図にして見ました。

Qメールのタグ(○○)の、件名ではなく本文に文章を書き込んだ状態のメールを作りたいのですが。

メールのタグ(<a href="mailto:"○○@△△>○○@△△</a>)の、件名ではなく本文に文章を書き込んだ状態のメールを作りたいのですが。

サブジェクトに指定の文章を入れる方法は、分かります。
(○○@△△?※○○についての問合せ=subject)

では、メールフォームが立ち上がった状態になった時に

【メールアドレス】
○○@△△
【件名】
※○○についての問合せ

【本文】
・名前

・住所

・電話番号

・メッセージ

と、するのはどうすればいいのでしょうか?
うまく文章がまとまらず、分かりづらいかもしれませんが
教えて下さい。よろしくお願い致します。

Aベストアンサー

bodyだそうです。

参考URL:http://www.tagindex.com/html_tag/link/a_mailto_sub.html


人気Q&Aランキング

おすすめ情報