SDOTECK HOME

  • ご参考になりましたか?
    SDOTECKブログでは、みなさんからのフィードバックをお待ちしています。 説明が解らなかったり、もっと詳しく解説してほしいポイント・テーマがありましたら、お気軽にsudoteck@gmail.com までメールくださるか、記事にコメントして下さい。
  • -

RF PowerAMP なら

  • RF AMP DESIGN

HEX calc pro 1.00

  • HEX calc pro ver1.00
    エンジニア向けの16進と浮動小数点を混在して入力出来る計算機 。 Version 1.00 高機能な 16進電卓や科学計算電卓はありますが、いちいちモードを切り替えなければならず、最大の問題は16進数と小数点値を同時に使用出来ないことです。
    詳しい説明はここ
    iTunes ではここまで

ATT calc

  • ATT calc ver2.00
    iPhone 用 RF アッテネーター計算ソフトです。  RF開発エンジニアに必要な、 dBm - W 換算機能をはじめ、π型やT型の ATTを 設計する上で、必要な dB値から抵抗値を算出する機能と、 E24系列の抵抗値を 使用したときの減衰量(dB)と整合インピーダンス(Ω) が表示されますので、どの 抵抗値の組み合わせがよいか検討できます。  また、正確な値を必要とする場合に2個のE24系列抵抗を並列接続して理想の値を 求める計算機能も持っています。  操作はピッカーホイールを回すだけですので、実験中でも片手で簡単に操作 できます。

FIL Calc

  •  LPF 計算機
    RFエンジニア向けフィルター計算ソフト LPFやHPFの設計をするときに、いちいちパソコンを起動してフィルタを設計、結果をプリントアウトして、実験室に行ってネットワークアナライザで測定・実験、ちょっと修正したい時にまたパソコンの所にもどって、再計算...というのが結構面倒で、手軽にiPhone で計算できるといいいなと思って作りました。

iPhone APP

  • ATT calc ver2.00
    SDOTECK が開発した iPhone APP の紹介です。 NEWS---SWRproリリース

Amazon

  • AMAZON Books

RAKUTEN

  • RAKUTEN

mujic.jp

  • music.jp
    music.jp

サイト内検索には?

  • -------------------------------
    ◆下の検索機能でこのブログのすべての関連項目を検索出来ます。是非使ってみて下さい。
サイト内検索
ココログ最強検索 by 暴想

SCHEMATICS

BOSE

  • BOSE
    クワイアットコンフォート20

Google

  • Google
無料ブログはココログ

ソフト

2019年4月18日 (木)

How To C [ else]のはなし

Howtoc_if
今回は if( ) .... に対する else のはなしです。
if( xxx ) {
....
}

だけですむ場合はいいのですが、違った場合も処理をしたい時、例えば 7 がアタリの場合

if( A == 7 ){
  print ( " アタリです");
}

だけでは、はずれたときに分からないので

if( A == 7 ){
   print ( " アタリです");
} else {
   print ( " ハズレです");
}

という具合に、 else 以下の {  } のなかに、違うときの処理を書きます。

「じゃあ 4 の時も当たりにしたいときはどうしたらいいでしょうか?
普通に考えると、else { } の中に また if 文を入れれば良いので

if( A == 7 ){
   print ( " アタリです");
} else {
    if( A == 4 ){
       print ( " アタリです");
    } else {
       print ( " ハズレです");
    }
}

さらに、 77 も当たりにしたい場合は

f( A == 7 ){
   print ( " アタリです");
} else {
    if( A == 4 ){
       print ( " アタリです");
    } else {
       if( A == 77 ){
           print ( " アタリです");
        } else {
           print ( " ハズレです");
        }
    }
}

とだんだん見にくくなります。この記述をシンプルにするには

else if という命令を使います。 else と if が まとまった物なので「違うけどこの場合は...」って文で楽です。例をあげると上のプログラムは

if( A == 7 ){
   print ( " アタリです");
} else if( A == 4 ){
   print ( " アタリです");
} else if( A == 77 ){
   print ( " アタリです");
} else {
   print ( " ハズレです");
}

とインデントがすっきりして見やすくなりました。
次回は、さらに見やすくなる 方法を考えましょう。

2019年4月 9日 (火)

How To C if() のはなし

今回も How to C
前回の続きで 今回は if(  ) のはなし

Howtoc_if

条件で計算やプログラムの流れを変えるには

if( xxx ) を使います。

A がもし 10 以上だったら、B を1つ増やし、 Aから 10 引く計算をします。
これは Aが1の位 B が10の位の変数とする場合など良く使いますね。

if( A > 10 ){

   B = B + 1 ;
   A = A -10 ;

}

と書きます。

ここで、前回から使っていたんですが 計算文の最後の " ; "のセミコロンですが、Cでは命令文の最後を示します。
何も書かないで勝手にリターンしたままだと、エラーになります。

「だけど、 if( A > 10 ) の中は " ; "は無いし、その行の if( A> 10 ){  の後もないじゃん!」

と言うでしょう。そのとおりです。これら条件式 ....if()の中の文や
その行は(正確に言うとここは { } の中に当たるから)つけません。

別の書き方をすると

if( A > 10 ) {   B = B +1 ;   A = A -10 ; }

と書いてあるのです。つまり、改行やスペース、タブなどは 無視されているのです。
1つの計算式の終わりに " ; " をつけるのです。

*ここでちょっと問題が出ました。 Aが 20 以上の場合に、A がまだ 10  より多くなってしまします。
そこで、if のなかにさらに if を入れることもできます。

if( A > 10 ){
   B = B + 1 ;
   A = A -10 ;

   if( A > 10 ){
       B = B + 1 ;
       A = A -10 ;
    }

}

ここで2回目の if の位置(インデントと言います)がその前の A = A-10; の頭とそろっています。
こうすることによって、これは初めの if の中の if 文だとわかります。


では if( xxx ) じゃなかった場合はどうするのでしょう?

C では else という文を使います。 それは次回

 

2019年4月 7日 (日)

"=="ってなんだ

前回の続き How to C です。

Howtoc
この "=="とイコールが2つならんだのは、前回の "="の代入ではなく
等しい
とう、まさに イコールを表すものです。
なんで "="を2つつけるかと言えば、「もう "="は使っちゃたので」区別のため "=="」なのです。
その辺が Visual Basic との考えの違いで、そちらは「使う場所や、場合が違うので、いいんじゃない}
とおおらかなのか、いい加減なのか マイクロソフトです。
だいたい Visual BAsic は A という変数に 文字で "100" と入れたあと、
A x 10 =
とやると 数値で 1000 と勝手に数値に変換して計算くれる
ある意味柔軟な言語です。
と、話は戻りまして、"=="はどう使われるかというと、条件分岐などで使うのですが、例えば
もし A が 10 だったら、5足して
などというプログラムを
if( A == 10 ) {
    A = A + 5 ;
}
と言う風に書きます。
if(  xxxx ) は、文字どおり 「もし xxxx だったら」という機能でこの ( xxxx ) の中の条件が合った場合、次の { ..... } に囲まれた部分が実行されるのです。
ですから、 Visual Basic みたいに
if( A = 10 ){
   A = A +5 ;
}
と "="を1つしか書かないと、Aに10 を入れる作業を行った後,この式は A = 10 という正しい事を行っているので、そのままエラーにならずに次の
 A= A+5 を常に実行してしまうことになります。
デバッグしていても、エラーにならずに、「よし A= A+5 やってるな」って具合で見過ごすことも多いです。
この条件式 "=="は仲間がいて、大変判りやすいのが

if( A > 10 )  ...... 10より大きい
if( A < 10 )   ..... 10より小さい
は、数学で使うので知ってますね? そして
if( A >= 10 ) .... 10以上(10の時も含む)
if( A <= 10 ) ....  10以下(10の時も含む)
も判るかと思います。ここで、注意なのが
if( A => 10 )
if( A =< 10 ) は、エラーになることです。"="は後づけなのですね。
この仲間に
if(  A != 10 ) .... Aが 10でない場合
があります。不等号で "<>" ってやりたくなりますが、 "!" ノットをつけて
ノットイコール "!=" と書きます。
今回は "=="から、条件分離に使う if ( xxxx ) の事をちょっと入りましたので、次回は この
if( xxxx ) をもうちょっと詳しくやってみます。
この if( xxxx ) が出来て、計算式が出来れば 大抵の計算プログラムは出来ます。
意外と簡単ですが、組み込みCPUプログラムでは、スイッチの入力や表示まで自分で作らないとならないのでそっちの方が大変ですが、最初は多くの機能を使わないでプログラムを書くのが大事ですね。ミスも少ないし...

2019年4月 2日 (火)

How to C

新元号が発表されたと言うのでなんか書こうかと思ったが、つまらないのでしばらくソフトの入門的な話を書こうと思います。

いまさらアッセンブラ関係を書くには忘れてしまったし、C++などは基本よくわからないので、Cの話にします。

私は時々 Visal Basic もやるので、けっこう C と Basicでよく書き方を混同して間違えます。そもそもプログラム言語というのは作った人の都合があるので、普通の算数の文法からして、間違えやすいのですね。まずは今回は

Howtoc
普通の算数で
1+1 を計算するには
1+1 = 2
と計算します。
でも プログラムでは
まず入れ物を用意します。
A とします
これに まず 1を入れます。
算数では  プログラムでは
   1              A =1
これを代入式といいます。
ちっと変なのが、右のものを左に入れることです。
                   1 = A
とは 書けません。
この場合 1を定数(決まった値)
Aを変数といいます。
次に 1を足します。
算数では  プログラムでは
   1 +1             A =A+1
プログラムのほうはなんか変ですね
右辺と左辺が違うのに = があるなんておかしいです。
この = は代入ですのでわかりやすく書くと
新A  ← 旧A + 1 
ということです。
同じ A なのに時間関係が違うのです。
算数(電卓など)では
 1+1 =(もしくはエンターキー) と書くと
2 と表示されますが、
プログラムではどう使うかわからないので
 A
のままです。
たとえば
Print( A ) 
という
Aを印刷(表示)せよ
という操作をすると
Print( A ) 
2
と表示されて分かるわけです。
表示させないとわからないのが困ったもので
ここで、よく間違いは起こります。
ここまで説明した通り
 = 
は、プログラムでは代入すること
右辺の内容を左辺にコピーです。
A という入れ物に B を入れるならば
 A = B 
でオッケーです。
A= 1
A= 1
A= 1
A= 1
A= 1
と何回実行しても
A は1のままですが
A=1
のあとに
A= A+1
A= A+1
A= A+1
A= A+1
A= A+1
とやると
A= 1          // Aは 1
A= A+1      // Aは 2
A= A+1      // Aは 3
A= A+1      // Aは 4
A= A+1      // Aは 5
A= A+1      // Aは 6
となって、新しいAになって中身が増えていくのです。
足し算もちょっとわかって来たかと思います。
しかしながら C では困った記号があるのですね
==
というイコールが2つ続いたやつです。
これは、比較演算子といって全然違う記号です。
よく間違うんですよ
VisualBasic ではこれがなくて
=
が、== と同じ意味なのです。
詳しくは次回