忍者ブログ
RoboCup Junior Japan Rescue Kanto OB

             2005~2013
[163]  [162]  [161]  [160]  [159]  [158]  [157]  [156]  [155]  [154]  [153
一昨日のプログラムの記事の続きです 。

今日はいきなりですが、変数というものについてのお話をしようと思います。


変数とは、まぁ所謂箱です。

プログラム上でいう箱なんです。


まぁ何を入れる箱かというと、具体的には値、即ち数値です。

ROBOLABでいうところのコンテナというやつです。

例えばセンサーの値だったり、時間の値だったり、まぁ色々です。

そういった数字を入れておく箱みたいなものだと思っていてください。


そんでもって変数は計算を行うこともできます。変数内の値を足したり引いたり・・・と色々できます。


また変数にはいくつか種類があって、この種類を型といいます。変数の型には、よく使うもので・・・

説明(簡易)
char 文字の格納に使われる。
int 整数の格納に使われる。 
float 少数の格納に使われる。 
double 少数の格納に使われる。 

このようなものがありますね。

まぁあとはlongとかshortとかbyteとかがあるかな。

変数という概念はC以外でもあっちこっちにあるので、結構言語によって色々な型があったりします。

なので、たくさんの言語を知っていると、こんがらがること必須ですが、その辺りは「慣れ」ですね。


それで変数の使い方ですが、変数は使用する前に、「変数の定義」をしなくてはありません。

これは、コンパイラに「このプログラムではこの変数を使いますよ」ということを教える為のもので、

変数を使う際には必ず変数ごとに必要な作業です。

変数の定義はプログラム上ででき、このように書くと変数の定義ができます。


型 変数名;


型は先程紹介した、intやchar等のところから使いたい型の種類を、選んで書いて

変数名の所には任意の文字を書いてください(半角英数一部記号が使えます。)

但し、最初の文字はアルファベットでないとコンパイルが通りません。

また、大文字、小文字は区別されますが、基本的に小文字を使うのが慣例です。

この辺りの理由はまた今度説明するかもです。


なので例と挙げるとこんな感じ。

int x;

char s;

float a;

double b;


これでint 型の変数xと、char型の変数sと、float型の変数aと、double型の変数bが定義されました。

これで例えば、

x=10;

とすることでxという変数に10という数字を入れることができます。


これを実際のプログラムにすると、

#include "stdio.h"

int main(void)
{
     int x;
     x=10;
     return 0;
}

となります。最初の一行は今はおまじないと覚えていてください。また今度説明します。

プログラムは基本、int main(void)というもので囲われた中に書くことになります。

この辺りも今はおまじないで大丈夫です。

Cには最初の段階だと結構の頻度でおまじないが出てきます。

最初の段階でこのおまじないを理解しようとするとC言語はまず理解できなくなるので

あっちこっちの参考書でも、この辺をおまじないにする傾向は強いようです。

という訳でプログラムの中を説明します。

このプログラムではまずint型の変数xを定義して、そのあとでxに10を代入しています。

それだけの意味のないプログラムです。


(因みにreturn 0;も今の段階ではおまじないです。とりあえず書けば動く。それだけです。)


また変数の値を計算する場合は

足し算なら(x+10の結果をxに代入する)

x=x+10;

引き算なら(x-10の結果をxに代入する)

x=x-10;

かけ算なら(x×10の結果をxに代入する)

x=x*10;

割り算なら(x÷10の結果をxに代入する)

x=x/10;

と書くことができます。

だからこのプログラムだとxの値は

#include "stdio.h"

int main(void)
{
     int x;
     x=10;
     x=x+10;//(この段階でx=20)
     x=x-10;//(この段階でx=10)
     x=x*10;//(この段階でx=100)
     x=x/10;//(この段階でx=10)
     return 0;
}

という訳でこのプログラムだと最終的にxは10になることになります。(あ。戻った(笑))


変数は基本的にこんな感じで使います。また変数の計算の方法や定義の方法はもっと短く書く方法などもありますが


今日はその辺りは省略させて頂きます。

とりあえず最初はこのくらいかな。

次は画面への表示の方法について書いていこうと思います。

(^・ω・)ノRadiumProduction in RoboCup Junior
Comments
※コメントは内容確認後に手動で公開するようにしております。反映までしばらくお待ちください。
Your Name
Title
color
Comment
 


無題
KOYO-Robotリーダー
こんにちは
修学旅行から帰ってきました^^
う~ん、楽しかったのかよくわかりません(苦笑)
変数は帰りの新幹線で読んだ本に書いてありましたが、charは-128~127が値の範囲と書いてあるのですけど
あとフォトICとPSDの使い方の例が載っていました。
2011/06/01(Wed)20:50:43 URL

無題
Luz
KOYO-Robotリーダー様

お疲れ様です。修学旅行はやっぱり王道の京都ですか?

まぁ・・・確かに僕も中学の頃の修学旅行は最後まで意味不明でしたね(笑)

実際の数値にすると範囲としてはそれで合っています。
基本的にプログラムでは文字も数字に置き換えているので結局中身は数字なのです。

この辺りの話もまた今度記事にでも書きますよ。
2011/06/02(Thu)21:33:38

無題
KOYO-Robotリーダー
大阪、奈良、京都の3か所です。
地図があるけどアバウトすぎて道に迷いました、
不正行為が多発しました、おこずかいが五千円までなのに二万円持ってきている人がいました(いいなー欲しいなー)

やっぱそうですか、言語によって違いますね、

なんかレスキューBに出場するかもしれません、配列の使い方が分かってきたのと、直で全国に出場出来るのと、学校から全国大会(日本大会?)に行ったことが無いから、(運動部で)うちの部が最初に行ってやる、という理由です、
僕の学校では全国大会出場と言うことだけでかなり目立ちますから。←せこいとか言わないでね(笑)
2011/06/02(Thu)21:51:50 URL

無題
Luz
KOYO-Robotリーダー様

おぉ。そんなにたくさん(笑)


まぁそれぐらいよくあることですよ。そもそも中学校の修学旅行で額なんて決めてもねぇ・・・

僕の同期では銀行のカード持ってって向こうで自由時間に貯金下ろしている人も結構いましたよ。

おっ。頑張ってきてください♪
別にせこくはないんじゃないですか?

同じ手で直接世界大会に行ったチームとかもこの辺りにいるわけですし。
2011/06/02(Thu)23:01:00

無題
TK
こんにちは。

なるほど、それは僕の事ですね(笑)

まあ、そうなればCospaceは全員そうかw

あ、研修旅行でカードっていいですね、面白そうです(笑)

因みに、僕は来年サッカーに出る予定なので設計が進んでいますが、鉄人レスキュー参加したいですね・・・orz

でも、NXT、正直飽きました・・・w
2011/06/02(Thu)23:30:28 URL

無題
Luz
TK様
こんにちは。
まぁCoSpaceの参加者は全員ちゃんとジャパンオープンに出場した人たちですから全然問題ないですよ。
僕は去年ジャパンオープン無視してますからね・・・(笑)


もってこれるおこづかいの上限というのは、
あくまで持参した現金のことを言いますからね。(きっと)現地調達は問題ない(ような気がします。)

サッカーに出るのに鉄人レスキューというもの面白いですね。まぁまだ今年の鉄人合宿は予定が決まってません。少なくとも大会の前倒しが公式に決定してからになりますかね・・・

只、恐らく会場は変更になるかも知れません。昨年使った夢の島の施設は今避難所になってるんですよね。

ということなのでどうなるかはまだ未定のようです。


NXTは・・・うん。仕方ない(笑)

まぁ初めっからプログラムしたとおりに動いちゃうロボットなんてロボットじゃないですよね。
2011/06/02(Thu)23:50:59

無題
TK
なるほど、そんな感じで話の裏をついていくと(笑)

なんて言ったって、思い出の合宿ですから・・・いろんな意味で(笑)

実際あの合宿のお陰で今の僕がいるわけですから、出るならレスキューですね。
まあ部屋でサッカーの開発もすればいいわけだしw

って言っても、レスキュー用のロボットをどうしようか・・・。
再来年用のをもうつくりはじめようかなあ、大変です。

まあとりあえず今は発表を待ちますかー。

そうですね、やっぱりいろいろなところ(回路設計やはんだ付け)を乗り越えてこそ、僕はやりがいがあると思いますね・・・。

まあ僕がサッカーに今回出場する一番の理由はそれなんですが・・・。
2011/06/03(Fri)00:09:11 URL

無題
Luz
TK様

高専生はこういった発想だけで毎日を生きていますから(笑)


あの合宿・・・正直なんで2日目の夜あんなことになったのか未だに訳がわからない・・・

そうですね。正式な発表がありましたらお伝えしますよ。

でも結構ひとりで全部やるの大変ですよ。特に一人だと、「面白そうだから」なんていって、
あれもこれもーってどんどん変態的な機能が追加されてしまいますからね。
気が付いたら前日・・・なんてことにもなりかねません(笑)
2011/06/03(Fri)21:24:03
カレンダー
02 2024/03 04
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
最新CM
[05/09 ONE RoboCuper]
[05/07 HDD ほしいよー]
[04/21 ブラック3辛]
[12/26 bols-blue]
[06/08 ONE RoboCuper]
かうんた
カウンター カウンター
らじぷろ目次
らじぷろ検索機
プロフィール
HN:
Luz
性別:
男性

PR

忍者ブログ 2007-2021,Powered by Radium-Luz-Lα+-Rescatar in RadiumProduction [PR]


Related Posts Plugin for WordPress, Blogger...