三角関数_sin cos tan

直角三角形において
角の大きさと関連付けて、辺の比を表している

 

このような直角三角形があった場合、

f:id:koshinRan:20170720005132j:plain

sinθ・cosθ・tanθは以下の様に定義。

どちらが分母か分子を忘れた時、
筆記体で書くと、[ 分母 ] [ 分子 ] の順となる。

f:id:koshinRan:20170720011721j:plain

 

つまり

辺の長さが異なっていても、
比が同じであれば相似である故に、角度θも同じとなる。
sinθ・ cosθ・ tanθも同じ。

言い換えれば、
角度θが同じだとsinθ・ cosθ・ tanθ  は同じ値

ということは、
角度θによってsinθ・ cosθ・ tanθ ( 辺の比 ) が決まる

 

こちらから。
http://www24.atpages.jp/venvenkazuya/math1/trigonometric_ratio1.php
https://sci-pursuit.com/math/tangent.html
https://juken-mikata.net/how-to/mathematics/sin-cos-tan.html

 

以上。

--Memo--

sin 正弦 サイン
cos 余弦 コサイン
tan 正接 タンジェント

Excel_図の反転

今までフリーフォームでやってた…。

  1. 図 or ワードアートを [ 挿入 ] タブから作成。
  2. 作成した図を選択し、[ 書式 ] タブをクリック。
  3. [ 回転 ] をクリックし、反転を選択。
  4. 終わり。

 

( クリックで拡大 )

2.
f:id:koshinRan:20170720000642j:plain

3.
f:id:koshinRan:20170720000723j:plain

 

こちらから。
https://support.office.com/ja-jp/article/Excel-2007-%E3%81%A7%E5%9B%B3%E3%80%81%E5%9B%B3%E5%BD%A2%E3%80%81%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88-%E3%83%9C%E3%83%83%E3%82%AF%E3%82%B9%E3%80%81%E3%81%BE%E3%81%9F%E3%81%AF%E3%83%AF%E3%83%BC%E3%83%89%E3%82%A2%E3%83%BC%E3%83%88%E3%82%92%E5%9B%9E%E8%BB%A2%E3%81%BE%E3%81%9F%E3%81%AF%E5%8F%8D%E8%BB%A2%E3%81%99%E3%82%8B-5bd1e0a3-e7fc-40d9-aca5-bd013c79f6d2

 

以上。

C_ポインタとは

C の書き方は全くもって不明。C ++ を理解するためにまとめた。

 

メモリアドレス指し示すもの
言い方を変えると
・変数の値が格納されている場所を示す、変数のこと。
・プログラムからメモリへ自在にアクセスするためのもの。

C ++ では、「参照」という。
参照:その変数を参照する ( =変数の値を操作したりできる ) 権限。

 


アドレスではなく正しくはポインタ、という件が所々あるが、
アドレスと記述しておく。

 

ex )

a = "Hello";
と書いた場合、
アドレス 9999 Hello が格納。

 

b = &a;
と書いた場合、
b に a のアドレス「9999」 が格納。

f:id:koshinRan:20170718024328j:plain

b が a のポインタ
訳すと
b は a の " Hello " が入っている場所を指し示している

 

c = *b
と書いた場合、
" Hello " が c に格納される。

[ * ] + [ ポインタ ]
で、アドレスに格納されている値を取り出せる

 

 

アドレス演算子    &

& を変数の前につけると、そのアドレスを取り出すことが出来る。
※ 正しくは、アドレスをポインタという形で得ることが出来る。

 

& a
で、a のアドレスを取り出すことができる。
ソースを読むときは、
& a =「 a のアドレス 」

 

間接参照演算子    *

*ポインタ値の前につけると、
そのポインタが指す変数そのものを参照することができる。
(= アドレスに格納されている内容を取り出せる。)

変数そのものでなく、ポインタ値を介して参照するので、
間接参照と呼ばれる。

 

* ( & a )
で、変数 a のアドレスに格納されている内容を取り出せる。

* b
で、b にもアドレスが格納されているから "Hello" が取り出せる。

 

 

上記を踏まえると、

b = & a
b に a のアドレスが格納。 → 9999

a = * ( &a )
a と  * ( &a ) は同じ値。 → Hello

a = *b
a と * b は同じ値。 →Hello

*b を変数 a の分身として扱うことができる。

 

こちらから。
http://www.cc.kyoto-su.ac.jp/~yamada/programming/pointer.html
http://ohmoriws1.ms.kagu.tus.ac.jp/1997/sotsuken/miyakosi/a01.html
http://flute.u-shizuoka-ken.ac.jp/~s-okubo/class/language/004.htm
https://ja.wikipedia.org/wiki/%E3%83%9D%E3%82%A4%E3%83%B3%E3%82%BF_(%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0)
http://www.isc.meiji.ac.jp/~re00079/EX2.2011/20110518.html

 

以上。

---Memo---

int a = 1;
int * x = &a;

&a は ポインタ。
xポインタ型変数 (ポインタ値を格納する変数)。

 


C_アドレス と ポインタ

アドレス

メモリの各バイトにつけられた単なる番地。住所。

 

ポインタ

メモリアドレスを指し示すもの
指し示す変数の全体の場所を、先頭バイトのアドレスで表している。
ex) 全体の場所 → int なら 4 バイトからなるメモリ領域のこと。

さらに、
領域の大きさという情報も含まれている。
指し示すものがどういうのものであるか、という情報もある。

但し、領域の大きさの情報の処理はコンパイル時に行われる。
プログラム実行時には、ポインタはアドレスの情報のみを持つ。

 

 

ポインタ型変数

ex)     int * p;

p はポインタ型変数
ポインタ値をしまっておくポインタ型変数を宣言。
ポインタを型として宣言することが出来る。

ポインタは「指し示すものがどんなの変数か」という情報も
含んでいるので、
ポインタ変数を宣言する時は int 型などと合わせて宣言。
ex) のように明示する必要がある。

 

 

こちらから。
http://www.cc.kyoto-su.ac.jp/~yamada/programming/pointer.html

以上。

 

C++_これらのオペランドと一致する演算子 "<<" はありません

以下のソースを書いたらこのようなエラーが出た。

std::string a = "Hello";
std::cout << a << std::endl;

これらのオペランドと一致する演算子 "<<" はありません
オペランドの型 std::ostream << std::string

 

対処は、
ファイル上部に #include <string> を記述すれば OK 。

 

こちらから。
https://oshiete.goo.ne.jp/qa/9502744.html

以上。

アドレスとは

データの格納位置を示すための住所のようなもの。
番地ともいう。

 

詳しく

変数や配列などの値は、メインメモリ上に記憶されている。
メモリには、場所を表す「アドレス」という連続した通し番号が付いており、
変数名アドレス組み合わせはOS により管理されている。

 

ex)

int a;

このように宣言すると、
整数の値 1 つを格納する場所がメインメモリ上に確保され、
a という名前を使ってこの場所に書き込んだり、参照したりが
出来るようになる。

f:id:koshinRan:20170717225250j:plain

 

メモリ

メモリには、データを格納する場所を示すアドレスがつけられている。

メインメモリ(主記憶):
プログラムやデータを読み出す主たるメモリ。
RAM電源を切ると記憶内容が消えるメモリ。揮発性とういう。

キャッシュ メモリ
メインメモリと CPU との処理を高速化するメモリ。

 

こちらから。
http://www.isc.meiji.ac.jp/~re00079/EX2.2011/20110518.html

以上。

C++ の DLL 作成 (Ver プロジェクト)

C # から使う

1.C ++/CLIDLL (プロジェクト) 作成
  1. C # のプロジェクト作成
    ex) では「 testManaged 」 というプロジェクト名。
  2. [ ソリューション 'testManaged' ]を右クリックし、
    [ 追加 ] >> [ 新しいプロジェクト ] をクリック。
  3. 左のメニューから
    [ Visula C++ ] >> [ CLR ] をクリック。
    左に表示される [ クラスライブラリ ] を選択。
    名前を入力して [ OK ] 。
    ex) では「 testManagedCLI 」 という名。

 

2.C ++ クラス 作成
  1. 作成した C ++/CLI プロジェクトの名前を右クリック
    ex) では「 testManagedCLI 」
  2. [ 追加 ] >> [ クラス ] をクリック。
  3. [ C ++ クラス ]を選択して[ 追加 ] をクリックし、
    クラス名を記入して[ 完了 ] 。
    [ マネージ ] チェックボックスOFF

 

3.C # と C ++ の紐づけ
  1. C # のプロジェクト名を右クリック
    [ 追加 ] >> [ 参照 ] をクリック。
  2. [ プロジェクト ] をクリックし、
    作成した DLL のチェック ボックスON

 

4.ファイルのインクルードDebug 設定
  1. 作成した C ++/CLI プロジェクトの名前を右クリックし、
    [ プロパティ ] をクリック。
  2. 左メニュー から [ C/C ++ ] の[ 全般 ] を選択。
  3. 構成すべての構成
    プラットフォームx64
    を選択し、
    [ 追加のインクルードディレクト ] に「 . 」を記入。
  4. Debug の構成マネージャーを以下の様にする。
    プラットフォームx64
    ビルド:チェック ボックス ON

 

↓ キャプチャ (クリックで拡大)

1.2 _C ++/CLI のプロジェクト作成
f:id:koshinRan:20170716014936j:plain

1.3
f:id:koshinRan:20170716015044j:plain

 

2.1, 2 _C ++クラス作成
f:id:koshinRan:20170716015245j:plain

2.3
f:id:koshinRan:20170716015649j:plain    f:id:koshinRan:20170716015757j:plain

 

3.1 _C# と C ++ の紐づけ
f:id:koshinRan:20170716020003j:plain

3.2
f:id:koshinRan:20170716020237j:plain

 

4.2, 3 _インクルード
f:id:koshinRan:20170716020742j:plain

4.4 _デバッグ
f:id:koshinRan:20170716022953j:plain

f:id:koshinRan:20170716020943j:plain

 

 

こちら参照。
https://code.msdn.microsoft.com/windowsdesktop/VisualC-a1dc1f1d
http://fa11enprince.hatenablog.com/entry/2014/06/20/015808
https://www.ipentec.com/document/document.aspx?page=visual-studio-2015-asp-net-runtime-error-in-64bit

 

以上。