差分
この文書の現在のバージョンと選択したバージョンの差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
コンピュータとの関わり [2019/03/04 12:57] kameta [状態遷移図] |
コンピュータとの関わり [2019/03/04 13:21] (現在) kameta [関数] |
||
---|---|---|---|
ライン 10: | ライン 10: | ||
*コンピュータの命令も、同じように順序が大切です。順序よく命令してあげるとうまく動いてくれます。 | *コンピュータの命令も、同じように順序が大切です。順序よく命令してあげるとうまく動いてくれます。 | ||
*次の2つのプログラムは、2つだけ命令の順番を変えたものです。実行して違いを確認してみましょう。 | *次の2つのプログラムは、2つだけ命令の順番を変えたものです。実行して違いを確認してみましょう。 | ||
- | + | ***プログラム(1)**<code> | |
- | **プログラム(1)** | + | |
- | <code> | + | |
進む(1) | 進む(1) | ||
左回り(90) | 左回り(90) | ||
ライン 18: | ライン 16: | ||
左回り(90) | 左回り(90) | ||
</code> | </code> | ||
- | + | ***プログラム(2)**<code> | |
- | **プログラム(2)** | + | |
- | <code> | + | |
進む(1) | 進む(1) | ||
左回り(90) | 左回り(90) | ||
ライン 33: | ライン 29: | ||
*次の(1)と(2)のプログラムを見てみましょう。(1)は命令を順番に書いたプログラムで、(2)は2つの命令を1つのまとまりとして繰り返すように書いたプログラムです。どちらも同じ動きをします。 | *次の(1)と(2)のプログラムを見てみましょう。(1)は命令を順番に書いたプログラムで、(2)は2つの命令を1つのまとまりとして繰り返すように書いたプログラムです。どちらも同じ動きをします。 | ||
*(1)のプログラムのように同じ命令を何度も書くとプログラムが長くなってしまいますが、(2)のように、命令を繰り返して実行するとプログラムを短くすることができます。 | *(1)のプログラムのように同じ命令を何度も書くとプログラムが長くなってしまいますが、(2)のように、命令を繰り返して実行するとプログラムを短くすることができます。 | ||
- | + | ***三角形をかくプログラム(1)**<code> | |
- | **三角形をかくプログラム(1)** | + | |
- | <code> | + | |
進む(1) | 進む(1) | ||
左回り(120) | 左回り(120) | ||
ライン 43: | ライン 37: | ||
左回り(120) | 左回り(120) | ||
</code> | </code> | ||
- | + | ***三角形をかくプログラム(2)**<code> | |
- | **三角形をかくプログラム(2)** | + | |
- | <code> | + | |
ここから3回 | ここから3回 | ||
進む(1) | 進む(1) | ||
ライン 56: | ライン 48: | ||
==== 分岐処理 ==== | ==== 分岐処理 ==== | ||
*条件によって実行する命令を変えることを「分岐処理」といいます。分岐処理は、プログラムの基本的な動きの1つです。 | *条件によって実行する命令を変えることを「分岐処理」といいます。分岐処理は、プログラムの基本的な動きの1つです。 | ||
- | *次のプログラムは、数の値が3だったら、画面に「3です!」と表示するプログラムです。 | + | *次のプログラムは、好きな数字の値が3だったら、画面に「3です!」と表示するプログラムです。 |
- | + | ***プログラム**<code> | |
- | <code> | + | 好きな数字←3 |
- | 数←3 | + | もし 好きな数字 = 3 ならば |
- | もし 数 = 3 ならば | + | |
”3です!” を表示する | ”3です!” を表示する | ||
を実行する | を実行する | ||
ライン 126: | ライン 117: | ||
*もし、りんごを1つ食べると、冷蔵庫にあるりんごは2つ、みかんが5つとなり、どちらも3つ以上ないので条件は成り立ちません。\\ {{:ronria2o5.png?nolink&100|}} {{:ronri3.png?nolink&100|}} | *もし、りんごを1つ食べると、冷蔵庫にあるりんごは2つ、みかんが5つとなり、どちらも3つ以上ないので条件は成り立ちません。\\ {{:ronria2o5.png?nolink&100|}} {{:ronri3.png?nolink&100|}} | ||
*プログラムにすると、次のようになります。 | *プログラムにすると、次のようになります。 | ||
- | + | ***条件が成り立つ場合(論理積)**<code> | |
- | **条件が成り立つ場合(論理積)** | + | |
- | <code> | + | |
りんご←3 | りんご←3 | ||
みかん←5 | みかん←5 | ||
ライン 143: | ライン 132: | ||
*もし、りんごを1つ、みかんを3つ食べると、冷蔵庫にあるりんごは2つ、みかんは2つとなります。どちらも3つ以上ないので、条件は成り立ちません。\\ {{:ronria2o2.png?nolink&100|}} {{:ronri3.png?nolink&100|}} | *もし、りんごを1つ、みかんを3つ食べると、冷蔵庫にあるりんごは2つ、みかんは2つとなります。どちらも3つ以上ないので、条件は成り立ちません。\\ {{:ronria2o2.png?nolink&100|}} {{:ronri3.png?nolink&100|}} | ||
*プログラムにすると、次のようになります。 | *プログラムにすると、次のようになります。 | ||
- | + | ***条件が成り立つ場合(1)(論理和)**<code> | |
- | **条件が成り立つ場合(1)(論理和)** | + | |
- | <code> | + | |
りんご←3 | りんご←3 | ||
みかん←5 | みかん←5 | ||
ライン 153: | ライン 140: | ||
を実行する | を実行する | ||
</code> | </code> | ||
- | + | ***条件が成り立つ場合(2)(論理和)**<code> | |
- | **条件が成り立つ場合(2)(論理和)** | + | |
- | <code> | + | |
りんご←2 | りんご←2 | ||
みかん←5 | みかん←5 | ||
ライン 169: | ライン 154: | ||
*もし、りんごを1つ冷蔵庫に入れると、冷蔵庫にあるりんごは4つとなります。冷蔵庫のりんごは3つではないので条件は成り立ち、画面には「3つではありません。」と表示されます。\\ {{:ronria4.png?nolink&100|}} {{:ronri2.png?nolink&100|}} | *もし、りんごを1つ冷蔵庫に入れると、冷蔵庫にあるりんごは4つとなります。冷蔵庫のりんごは3つではないので条件は成り立ち、画面には「3つではありません。」と表示されます。\\ {{:ronria4.png?nolink&100|}} {{:ronri2.png?nolink&100|}} | ||
*プログラムにすると、次のようになります。 | *プログラムにすると、次のようになります。 | ||
- | + | ***条件が成り立つ場合(論理否定)** <code> | |
- | **条件が成り立つ場合(論理否定)** | + | |
- | <code> | + | |
りんご←4 | りんご←4 | ||
ライン 184: | ライン 167: | ||
*もし、りんごを1つ増やして、みかんを3つ食べると、冷蔵庫にあるりんごは3つ、みかんは2つとなります。りんごだけが3つ以上あるので、条件は成り立ちます。\\ {{:ronria3o2.png?nolink&100|}} {{:ronri1.png?nolink&100|}} | *もし、りんごを1つ増やして、みかんを3つ食べると、冷蔵庫にあるりんごは3つ、みかんは2つとなります。りんごだけが3つ以上あるので、条件は成り立ちます。\\ {{:ronria3o2.png?nolink&100|}} {{:ronri1.png?nolink&100|}} | ||
*プログラムにすると、次のようになります。 | *プログラムにすると、次のようになります。 | ||
- | + | ***条件が成り立つ場合(1)(排他的論理和)**<code> | |
- | + | ||
- | **条件が成り立つ場合(1)(排他的論理和)** | + | |
- | <code> | + | |
りんご←2 | りんご←2 | ||
みかん←5 | みかん←5 | ||
ライン 195: | ライン 175: | ||
を実行する | を実行する | ||
</code> | </code> | ||
- | + | ***条件が成り立つ場合(2)(排他的論理和)**<code> | |
- | **条件が成り立つ場合(2)(排他的論理和)** | + | |
- | <code> | + | |
りんご←3 | りんご←3 | ||
みかん←2 | みかん←2 | ||
ライン 229: | ライン 207: | ||
*プログラムでは、入力された値や計算した値を覚えておくことができます。 | *プログラムでは、入力された値や計算した値を覚えておくことができます。 | ||
*1つの変数は1つの値を覚えます。変数の名前は自分で決めることができます。 | *1つの変数は1つの値を覚えます。変数の名前は自分で決めることができます。 | ||
- | + | ***変数に数を覚えさせて、その数を画面に表示するプログラム** <code> | |
- | + | へんすう1←10 | |
- | **変数に数を覚えさせて、その数を画面に表示するプログラム** | + | へんすう2←20 |
- | へんすう1←10 | + | |
- | へんすう2←20 | + | |
| | ||
- | へんすう1 を表示する // 10と表示される | + | へんすう1 を表示する // 10と表示される |
- | へんすう2 を表示する // 20と表示される | + | へんすう2 を表示する // 20と表示される |
+ | </code> | ||
*変数に他の値を覚えさせることもできます。元の値は新しい値に上書きされます。 | *変数に他の値を覚えさせることもできます。元の値は新しい値に上書きされます。 | ||
- | + | ***へんすう1の値を上書きするプログラム** <code> | |
- | **へんすう1の値を上書きするプログラム** | + | へんすう1←10 |
- | へんすう1←10 | + | へんすう2←20 |
- | へんすう2←20 | + | へんすう1←30 |
- | へんすう1←30 | + | |
| | ||
- | へんすう1 を表示する // 30と表示される | + | へんすう1 を表示する // 30と表示される |
- | へんすう2 を表示する // 20と表示される | + | へんすう2 を表示する // 20と表示される |
- | + | </code> | |
---- | ---- | ||
ライン 255: | ライン 231: | ||
*配列に入っているデータを「要素」といいます。配列の要素には番号が付いています。 | *配列に入っているデータを「要素」といいます。配列の要素には番号が付いています。 | ||
*次の図では、「好きな数字」という名前の配列の要素に「12, 32, 23, 14, 5」の数を入れています。\\ {{::array.png?nolink&300|}} | *次の図では、「好きな数字」という名前の配列の要素に「12, 32, 23, 14, 5」の数を入れています。\\ {{::array.png?nolink&300|}} | ||
- | + | ***配列を作るプログラム**<code> | |
- | **配列を作るプログラム** | + | 好きな数字[]←{12, 32, 23, 14, 5} |
- | 好きな数字[]←{12, 32, 23, 14, 5} | + | </code> |
*配列の要素は、配列の名前と番号で指定します。 | *配列の要素は、配列の名前と番号で指定します。 | ||
*たとえば、「32」を取り出したい場合は、「好きな数字」の「2番目」にあるので、次のようなプログラムになります。 | *たとえば、「32」を取り出したい場合は、「好きな数字」の「2番目」にあるので、次のようなプログラムになります。 | ||
- | + | ***好きな数字[2]の値を画面に表示するプログラム** <code> | |
- | **好きな数字[2]の値を画面に表示するプログラム** | + | 好きな数字[]←{12, 32, 23, 14, 5} |
- | 好きな数字[]←{12, 32, 23, 14, 5} | + | 好きな数字[2] を表示する |
- | 好きな数字[2] を表示する | + | </code> |
*配列の要素に値を上書きする場合も、配列の名前とその数がある場所を組み合わせて指定します。 | *配列の要素に値を上書きする場合も、配列の名前とその数がある場所を組み合わせて指定します。 | ||
*たとえば、好きな数字[2]の「32」を「999」にする場合は、次のようなプログラムになります。 | *たとえば、好きな数字[2]の「32」を「999」にする場合は、次のようなプログラムになります。 | ||
- | + | ***好きな数字[2]の値を「999」に上書きして画面に表示するプログラム** <code> | |
- | **好きな数字[2]の値を「999」に上書きして画面に表示するプログラム** | + | 好きな数字[]←{12, 32, 23, 14, 5} |
- | 好きな数字[]←{12, 32, 23, 14, 5} | + | 好きな数字[2] を表示する |
- | 好きな数字[2] を表示する | + | 好きな数字[2]←999 |
- | 好きな数字[2]←999 | + | 好きな数字[2] を表示する |
- | 好きな数字[2] を表示する | + | </code> |
*配列の要素を使って計算をすることもできます。 | *配列の要素を使って計算をすることもできます。 | ||
*たとえば、好きな数字[1]の「12」と好きな数字[4]の「14」を足し算した結果を表示する場合は次のようなプログラムになります。 | *たとえば、好きな数字[1]の「12」と好きな数字[4]の「14」を足し算した結果を表示する場合は次のようなプログラムになります。 | ||
- | + | ***好きな数字[1]と好きな数字[4]の足し算の結果を表示するプログラム** <code> | |
- | **好きな数字[1]と好きな数字[4]の足し算の結果を表示するプログラム** | + | 好きな数字[]←{12, 32, 23, 14, 5} |
- | 好きな数字[]←{12, 32, 23, 14, 5} | + | 好きな数字[2] を表示する |
- | 好きな数字[2] を表示する | + | 好きな数字[2]←999 |
- | 好きな数字[2]←999 | + | 好きな数字[2] を表示する |
- | 好きな数字[2] を表示する | + | 好きな数字[1]+好きな数字[4] を表示する |
- | 好きな数字[1]+好きな数字[4] を表示する | + | </code> |
---- | ---- | ||
ライン 292: | ライン 266: | ||
*関数は処理手順に名前を付けたものです。 | *関数は処理手順に名前を付けたものです。 | ||
*プログラミングでは、複数の命令を組み合わせて関数を作成し、利用することができます。 | *プログラミングでは、複数の命令を組み合わせて関数を作成し、利用することができます。 | ||
- | *たとえば、三角形をかくプログラムを1つにまとめて「三角かく()」という関数を作る場合は、次のようなプログラムになります。 | + | *たとえば、階段をかくプログラムを1つにまとめて「階段かく()」という関数を作る場合は、次のようなプログラムになります。 |
+ | ***「階段かく()」という関数を作るプログラム**<code> | ||
+ | 階段かく() とは | ||
+ | 進む(1) | ||
+ | 左回り(90) | ||
+ | 進む(1) | ||
+ | 右回り(90) | ||
+ | 進む(1) | ||
+ | である | ||
+ | </code> | ||
+ | *「階段かく()」を実行するときは、次のようなプログラムになります。 | ||
+ | ***「階段かく()」を実行するプログラム**<code> | ||
+ | 階段かく() | ||
+ | </code> | ||
+ | *三角形をかくプログラムを1つにまとめて「三角かく()」という関数を作る場合は、次のようなプログラムになります。 | ||
***「三角かく()」という関数を作るプログラム**<code> | ***「三角かく()」という関数を作るプログラム**<code> | ||
三角かく() とは | 三角かく() とは |