初心者による初心者向けプログラミング講座

初心者による初心者向けプログラミング講座

最初はC#から入っていきます~
講座といっても学習記録ですので、「まとめ記事」以外は間違った解釈をしている可能性もあります。ご注意を^^;

Amebaでブログを始めよう!
今日は、多次元配列というものの学習記録です。

--Sample7--


using System;

class Num
{
static void Main()
{

int[,] a = {
{1,2,0},
{4,5,6},
{7,8,9}
};


a[0, 2] = 3;


Console.WriteLine(a[0, 0] + a[0, 1] + a[0, 2]);
Console.WriteLine(a[1, 0] + a[1, 1] + a[1, 2]);
Console.WriteLine(a[2, 0] + a[2, 1] + a[2, 2]);


}
}




--Result7--
6
15
24


画像でやっていたんですが、やっぱりなんとなく面倒だったので。。



インデントをつける方法はわかったんですが、色までは残せませんでした。。



というわけで、文字のフォントは別のことに生かしたいと思います。



余談、class Numberとやると、エラーがでました。


Numと書き換えたら大丈夫でしたので、Numberはいわゆる「予約語」ってやつなんすかね


予約語っていうのは、機械が考えてる意味が決まっているので人間が独自の意味で使ってはいけない文字・・・という風に認識しています。



さて本題。重要事項は今日は2つ。



①多次元配列の宣言(初期化):int[,] = { ~ }(2次元の場合)


今回のメインですね。


コードに「軸」を書き込んだ下の図を見ていただくとわかりやすいかと。




変数名[y座標,x座標]という書き方で、値の位置を指し示す、というわけです。

つまり、この多次元配列(二次元配列)を宣言した瞬間にこの座標平面がぽーんと生成されるイメージですね。



②多次元配列の値参照:変数名[y座標,x座標]([]は値の位置)


今回のa[0,2] = 3を和訳すると「変数aのy座標0,x座標2の位置に3を代入する」

ということになります。

①における座標をイメージできれば簡単に理解できます。

和訳すると、

・配列変数aを
120
456
789
と定義する
・位置(y,x)=(0,2)の変数の箱a[0,2]に3を代入する
・a[0,0]+a[0,1]+a[0,2]の計算結果を表示、改行
・a[1,0]+a[1,1]+a[1,2]の計算結果を表示、改行
・a[2,0]+a[2,1]+a[2,2]の計算結果を表示、改行。




さて、、、実は今回のResultを

123
456
789

という風に表したかったんですが・・・


というわけでいろいろ試行錯誤してみた結果、こうすればできました!!

--Sample8--


using System;

class Number
{
static void Main()
{
int[,] a = {
{1,2,0},
{4,5,6},
{7,8,9}
};

a[0, 2] = 3;

Console.WriteLine(a[0, 0] + "" + a[0, 1] + "" + a[0, 2]);
Console.WriteLine(a[1, 0] + "" + a[1, 1] + "" + a[1, 2]);
Console.WriteLine(a[2, 0] + "" + a[2, 1] + "" + a[2, 2]);


}
}



--Result8--
123
456
789


なんでこういう結論に至れたかというと、「値の型が異なるものの場合はくっつける」という推測をしたからです。


つまり、隣り合う値が整数どうしの足し算の場合は計算してしまうんで、「文字列」を間に挟むという発想です。


文字列「」(何もない)を挟むことでうまくいくんじゃないかな~であたりでした^ ^

和訳すると、
・配列変数aを
120
456
789
と定義する
・位置(y,x)=(0,2)の変数の箱a[0,2]に3を代入する
・a[0,0]とa[0,1]とa[0,2]をくっつけて表示、改行
・a[1,0]とa[1,1]とa[1,2]をくっつけて表示、改行
・a[2,0]とa[2,1]とa[2,2]をくっつけて表示、改行。



今日は以上です。

にほんブログ村 IT技術ブログへ





にほんブログ村 IT技術ブログ IT技術情報へ

なんか今日のは難しそう・・だったけど意外とそうでもなかったです^ ^



今日は、配列変数の学習記録です。


--Sample5--



--Result5--

180+148+200+187+79=18014820018779



初心者向けにしてはわかりづらいサンプルを作ってしまいました。。



申し訳ない。。このコードも初心者が書いてるからですね笑



・・・となり、自分の思っていたのと予想が外れました。



とりあえず



180+148+200+187+79=794



と表示したかったんですが・・・


これは疑問点に残っている+の使い方に関係がありそうです。


しょうがない・・知恵袋で聞いてみるか。


というわけで、今回はSample6を主に使って配列変数についての解説をしていきます。


--Sample6--



--Result6--

180+148+200+187+79=794



よし、うまくいきましたね!先に計算させてみました!



さて今回の重要事項は2つ。


①配列変数の宣言、代入→型名 [] 任意の変数名 = {データ1,データ2 ,データ3 ・・・,データn }


これは、宣言と代入を同時に行っているので、「初期化」ですね。


new演算子というのも用いて宣言する方法なんかもあったみたいですが、


覚えてたらまとめ記事のほうに書こうと思います。。


そして、{データ1,データ2 ,データ3 ・・・,データn }の左側のデータから順番に


変数名[0],変数名[1],変数名[2]・・・という変数の箱に代入されていく仕組みです。


何に使うんだろ笑 


まあ確かに同じ種類のものをまとめて定義したりすると整理しやすそう





②配列変数の利用→変数名[配列の番号]を変数と同じように使う


変数名[0],変数名[1],変数名[2]・・・という変数の箱が同時に宣言(今回の場合は初期化)され、それをただの変数と同じようにして使えばよいです。


注意しないといけないのは、0から番号が振られるので、もし5つの値があったら0,1,2,3,4という具合に変数名[0]~変数名[4]まで定義されることですね。変数名[5]を用いるとエラーになります。





では最後に、和訳。


整数型の配列変数aを宣言し、番号0から順番に180、148、200、187、79を代入
整数型の変数Resultを宣言し、a[0]+a[1]+a[2]+a[3]+a[4]の結果を代入
「a[0]+a[1]+a[2]+a[3]+a[4]=」とResultの中身をくっつけて表示


最後の行は少し省略しましたけど、まあ今までのノリでわかると思う・・




今日は以上です~


にほんブログ村 IT技術ブログへ


にほんブログ村 IT技術ブログ IT技術情報へ

今日は文字列についての学習記録です。


--Sample4--



--Result4--


松井秀樹はホームランを507本打った。






インデントがうまくいかなかったので、ちょっと面倒だけど、写真で貼ることにしました。



インデントがあったほうが読みやすいっすよね~余裕があったら前記事のほうも書き直しておきます。



何かいい方法がある人は教えていただきたいですが、皆さん苦労してるみたいですので素人には無理や笑




ちなみに507本は日米通算です←




今回の初出重要事項は2つ。



①string Name(任意の変数名)



intと同じ位置に今度はstringという単語が。



stringは「文字列」を表す変数の型のことです。



つまり、文字列型の情報を格納しておくNameという箱、といった感じです。






②初期化:string 変数名 = "~";



前の記事にもちょこっと出てきたけど、文字列としてパソコンに認識させるには""で囲うことが必要です。



stringは文字列型のデータしか格納できないので、ダブルクオーテーションで囲わなくてはいけないわけです。



まあ、それは前回出てきたからいいとして・・



今回注目するのは前回と少し違う変数の宣言の仕方です。



宣言と代入を同時に行っている感じですね~



宣言と代入を同時に行うことを「初期化」と言います。




今回のコードを和訳してみるとこんななります。



文字列型のNameという変数を宣言して文字列"松井秀樹"を代入
文字列型のResultという変数を宣言して文字列"ホームラン"を代入
整数型のnumberという変数を宣言して整数507を代入
Nameの中身と"は"とResultの中身と"を"とnumberの中身と"本打った。"をくっつけて表示




今回もまあいちおうちゃんと説明はできました。



今日は以上です!


にほんブログ村 IT技術ブログへ


にほんブログ村 IT技術ブログ IT技術情報へ



~残った疑問点メモ~

・Console.
・メソッド
・using
・System
・class
・public
・static
・void
・Main()

・+の利用について


今日は3つ目の記事更新~


だんだん記事書くのも慣れてきました。。


さあ!!アクセス数アップだ!!←



いきなり前記事はコードをがっつり書いてしまいましたが、

using System;

class XXX

{

public static void Main()

{

}

}


この部分はフレーズだと思って今は覚えてください。(XXXは任意の名前)




なぜなら、僕もまだ仕組みが分かっていないので説明していないからです^^;



重要なのは、

public static void Main()

{

}



の{ }部分に書き込む内容です。






さて本題。今日は変数の利用についてです。




--Sample2--


using System;

class Data

{

public static void Main()

{

int a;

int b;

int c;

a = 100;

b = 50;

c = a + b; //※1:値計算の+

Console.WriteLine("a+b=" + c); //※2:言葉をくっつけるよ~の+

}

}



--Result2--

a+b=150


VisualStudioでコードを書いていくとこのような色分けになるんですが、何を意味してるんでしょうね笑




今回初出の重要事項は4つ!


①int a(任意の変数名);


intはinteger(整数)から来ていて、この部分を和訳するなら「整数型の変数aを宣言しました」と訳せます。



変数には必ず型を設定しないといけないみたいですね。



あと、変数を定義することを「変数の宣言」といいます。





②=(イコール)



数学なんかでは"="といえば左辺と右辺が等しい、って考えますが、プログラミングでは少し解釈が異なるみたいです。



和訳すると、「左辺に右辺を代入する」となり、「代入」という考え方になります。



変数を値を格納する箱、という風に考えてその箱の中に値を入れる、ということですね。



ちなみに「演算子」というやつの一種らしい。。



③"~"(ダブルクオーテーション)



これで挟まれた~の部分は「文字列」と認識されます。



今回の実行結果をみてみると、""の中身はそのまま表示し、""がなければその内容中身を表示する(格納されている値を表示する)という意味になりそうです。





④+(プラス)



これも「演算子」の一つ。※1の行にでてきた+は、aとbを足し算する、の意味で使っています。



一方、※2の行にでてきた+は、「"a+b="」と「cの内容中身」をくっつける(くっつけて表示する)という意味で使っています。



()の中と外の違いなのか?でも以下のように書いて実行するとこんななります


--Sample3--


Console.WriteLine(a + b); //※3:値計算の+



--Result3--

150



ちゃんと計算してるんですよね・・・



なんででしょうかね?・・・今日の勉強ではわかりませんでした。疑問点として追加しておきましょう。



とりあえず、今回のコードを和訳してみます。



整数型の変数aを宣言
整数型の変数bを宣言
aに100を代入
bに50を代入

cにa+bの計算結果を代入
文字列「a+b=」とcの内容中身をくっつけて表示



一応理解はできるな・・・



今日は以上です。


にほんブログ村 IT技術ブログへ


にほんブログ村 IT技術ブログ IT技術情報へ


~残った疑問点メモ~

・Console.
・メソッド
・using
・System
・class
・public
・static
・void
・Main()

・+の利用について


書き忘れましたが、実行環境の整え方は他のサイトを参考にしてください。


(・・VisualStudioをダウンロードしただけでしたけど☆)



--Sample1--


using System;

class Hello

{


public static void Main()


{


Console.WriteLine("Hello Ameba!"); //※1:ここに処理を書く!


}





--Result1--


Hello Ameba!






できるだけこんな感じで最初にサンプルコードと結果→それの解説、という具合に行きたいと思います。



サンプルコードは自分で学習したことを応用してできるだけオリジナルでいきます。。





えー普通はね、ここはHello,World!とかHello,C#!とからしいんですが、






まあなんでもいいわけでして、とりあえずアメーバさんにご挨拶です。






これを一つ一つ見ていこうかと思ったんですが・・・





どの入門サイトでも最初はスルーしている内容はここでもスルーします。(つまり自分も知らない^^;)


理解すればいいのは、※1であらわした部分に処理内容を書いていく~ってことです。



つまり、その部分以外はまだ僕も何も知りませんのでご心配なく。。



THE 初心者ですから!!(これ大事)



そしてこのコード内の重要事項。今日は3つ!





①Console.WriteLine("表示させる内容");



これはWriteLineメソッドといいます。「表示して改行」という処理を意味します。


Console.というのはとりあえず決まり文句?程度の認識で^^;


ちなみにWriteメソッドというものもあり、それは「表示する」改行はしない。


メソッド、とは処理を表す用語のようですが、詳しくはまだよくわかりませんのでするーします~









②;(セミコロン)



日本語の「。」と同じようなもので、処理の区切りなんかを表します。








③//(スラッシュ2本)


専門用語で「コメント」と呼ばれます。



プログラムとして読み取られることはなくて、コードを書く人や見る人がわかるようなメモを書き残すというもの。//の後にメモを書いていく感じです。



複数行にまたがる場合はべつの形式があるらしいけど今は省略~







疑問点はまだまだ多いですが、今日は以上です。初心者による初心者向けのC#講座、第1講でした~




にほんブログ村 IT技術ブログへ


にほんブログ村 IT技術ブログ IT技術情報へ


~残った疑問点メモ~

・Console.
・メソッド
・using(なんとなくわかるけど^^;)
・System
・class
・public
・static
・void
・Main()