土日シリーズ「いろんなコンピューター言語の覚え方」、第3回に、コンピューター言語の覚え方の手順をかきました。
で、今回は、「(3)宣言したデータの処理方法」についてです。
■処理部分
プログラム言語は、値を宣言する部分と、実際に処理を行う部分に大きく分かれます。
そして、処理する部分は、順番に処理する部分と、処理順序を制御する部分(繰り返しや条件によって行ったり行わなかったりする=制御文と呼ばれる)があります。
で、今回やるのは、順番に処理する部分です。
■演算子と関数・メソッド
この順番に処理するものに関しては、+、-、*、/などの演算子と呼ばれるものと、strcpyとかの関数があります。オブジェクト指向の場合は、関数でなくメソッドとなります。
前回、変数を考えた時、文字や数字など、いろんな種類(型)がありました。
演算子の場合、処理を行う対象の型によって、使えるものと使えないものがあったり、作用が異なったりします。
関数やメソッドも、使えるものと使えないものがあったり、作用が異なったりするほか、その対象の型でしかつかえないものがあります。オブジェクト指向の場合、同じ関数名でも、引数の型が違えば、違うものです。
で、関数にしろ、演算子にしろ、その作用対象となるものがあります。
演算子の場合は、演算の前とあとに書く(あと、または前にしか書かないものもある)のがふつうで、関数やメソッドの場合は、引数という形でもちます。
この引数と関数の書き方や、使う前に宣言をするひつようがあるかないかで、各言語が違います。いいかえると、各言語を覚えるには、この関数の書き方を抑える必要があるということです。
■整数・小数の演算子、処理(メソッド・関数など)
一般的に、整数小数に関しては、+-*/などの演算子が、ふつうに使えます
(たいていの言語において。ただし、COBOLは、COMPUTE命令で使い、Addなど、これらを命令で行う方法もあるが)。
そして、数学関係の関数として、三角関数、対数関数などが使える言語が多いです。
言語によって使えるものが違うので注意だったりします。
実務上、四則演算と、割り算のあまり、切り捨て切り上げ四捨五入の方法、数値比較方法を押さえておけば、とりあえず、いいかな(^^)
■文字・文字列の演算子、処理(メソッド・関数など)
文字・文字列の演算に関しては、文字の連結について注意です。
+が連結を表す言語と、連結はちがうもの(.や&など)で表す言語があります。
+でできる場合、型が数字と文字、別れている場合はいいのですが、別れていない場合、
a=1;b=1;a+b=11になってしまうことがあるので、注意です
(このときa+(b+0)や、a+(b+””)でわけたりします)
文字列用に、いろいろな関数があることがおおいです。
なお、実務上、以下の操作をやるには、どうしたらよいかをはじめに抑えておくことがよいとおもいます。
文字列の連結
部分文字列の取り出し(mid,substringのこと)
文字列から、特定の文字列を探す
文字列の置換
文字列の比較
■論理値・その他の演算子、処理(メソッド・関数など)
論理演算といわれる、ANDとOR、そして、シフト(右シフト、左シフト)です。
実務上、これらの操作をおさえておくこと、また、右シフト、左シフトのとき、最上位の桁はどうなるか(同じ言語でもコンパイラによって違う)を押さえておくことが大事なのですが、業務系の人は、あまり使わないので、押さえておかなくてもいいでしょう。
■配列やメモリ処理
ポインタを使ってメモリ処理できる言語があります。
memcpy,memsetなど。それらの言語においては、
メモリ確保
メモリ領域サイズの取得(sizeof)
メモリ解放
メモリセット
メモリへのコピー
メモリの内容比較
をおさえておけばいいかな。。
■構造体、クラスの操作
このほか、操作によっては、構造体、クラス全体に行える操作があります。
ソートとか、(ハッシュ)マップとかです。
(マップ=数学では写像のこと。キー(X)を指定したら値(Y)を返してくれる(=ってことは、一意にきまっているってこと)
ソート方法
マップ方法
値設定方法
などを押さえておく必要があります。
次回は、制御文についてです。