プログラムの動きを体験しながら学ぼう

  • 実際にプログラムを書いて、プログラムの動きを体験しましょう。
  • ここでは、5,6年生向けのテキスト言語でプログラミングで使う考え方を紹介しています。

順次処理

  • コンピュータが命令を1つずつ順番に実行することを「順次処理」といいます。順次処理は、プログラムの基本的な動きの1つです。
  • たとえば、折り紙でツルを作るとき、順序よく紙を折る必要があります。順序よく折ると上手く作ることができますが、順序を間違えてしまうと違うものができてしまいます。
  • コンピュータの命令も、同じように順序が大切です。順序よく命令してあげるとうまく動いてくれます。
  • 次の2つのプログラムは、2つだけ命令の順番を変えたものです。実行して違いを確認してみましょう。
    • プログラム(1)
      進む(1)
      左回り(90)
      進む(1)
      左回り(90)
    • プログラム(2)
      進む(1)
      左回り(90)
      左回り(90)
      進む(1)

2018/11/12 14:47 · kameta

反復処理

  • 複数の命令を1つのまとまりとして、繰り返し実行することを「反復処理」といいます。反復処理は、プログラムの基本的な動きの1つです。
  • 次の(1)と(2)のプログラムを見てみましょう。(1)は命令を順番に書いたプログラムで、(2)は2つの命令を1つのまとまりとして繰り返すように書いたプログラムです。どちらも同じ動きをします。
  • (1)のプログラムのように同じ命令を何度も書くとプログラムが長くなってしまいますが、(2)のように、命令を繰り返して実行するとプログラムを短くすることができます。
    • 三角形をかくプログラム(1)
      進む(1)
      左回り(120)
      進む(1)
      左回り(120)
      進む(1)
      左回り(120)
    • 三角形をかくプログラム(2)
      ここから3回
       進む(1)
       左回り(120)
      をくり返す

2018/11/12 14:47 · kameta

分岐処理

  • 条件によって実行する命令を変えることを「分岐処理」といいます。分岐処理は、プログラムの基本的な動きの1つです。
  • 次のプログラムは、好きな数字の値が3だったら、画面に「3です!」と表示するプログラムです。
    • プログラム
      好きな数字←3
      もし 好きな数字 = 3 ならば
       ”3です!” を表示する
      を実行する

2018/11/12 14:47 · kameta

変数

  • プログラムでは、入力された値や計算した値を覚えておくことができます。
  • 1つの変数は1つの値を覚えます。変数の名前は自分で決めることができます。
    • 変数に数を覚えさせて、その数を画面に表示するプログラム
      へんすう1←10
      へんすう2←20
        
      へんすう1 を表示する // 10と表示される
      へんすう2 を表示する // 20と表示される
  • 変数に他の値を覚えさせることもできます。元の値は新しい値に上書きされます。
    • へんすう1の値を上書きするプログラム
      へんすう1←10
      へんすう2←20
      へんすう1←30
        
      へんすう1 を表示する // 30と表示される
      へんすう2 を表示する // 20と表示される

2018/11/12 14:47 · kameta

配列

  • 配列はいくつかのデータを1列に並べたもので、プログラムで複数のデータを扱いたいときに利用します。
  • 配列に入っているデータを「要素」といいます。配列の要素には番号が付いています。
  • 次の図では、「好きな数字」という名前の配列の要素に「12, 32, 23, 14, 5」の数を入れています。
    • 配列を作るプログラム
      好きな数字[]←{12, 32, 23, 14, 5}
  • 配列の要素は、配列の名前と番号で指定します。
  • たとえば、「32」を取り出したい場合は、「好きな数字」の「2番目」にあるので、次のようなプログラムになります。
    • 好きな数字[2]の値を画面に表示するプログラム
      好きな数字[]←{12, 32, 23, 14, 5}
      好きな数字[2] を表示する
  • 配列の要素に値を上書きする場合も、配列の名前とその数がある場所を組み合わせて指定します。
  • たとえば、好きな数字[2]の「32」を「999」にする場合は、次のようなプログラムになります。
    • 好きな数字[2]の値を「999」に上書きして画面に表示するプログラム
      好きな数字[]←{12, 32, 23, 14, 5}
      好きな数字[2] を表示する
      好きな数字[2]←999
      好きな数字[2] を表示する
  • 配列の要素を使って計算をすることもできます。
  • たとえば、好きな数字[1]の「12」と好きな数字[4]の「14」を足し算した結果を表示する場合は次のようなプログラムになります。
    • 好きな数字[1]と好きな数字[4]の足し算の結果を表示するプログラム
      好きな数字[]←{12, 32, 23, 14, 5}
      好きな数字[2] を表示する
      好きな数字[2]←999
      好きな数字[2] を表示する
      好きな数字[1]+好きな数字[4] を表示する

2018/11/12 14:47 · kameta

関数

  • 関数は処理手順に名前を付けたものです。
  • プログラミングでは、複数の命令を組み合わせて関数を作成し、利用することができます。
  • たとえば、階段をかくプログラムを1つにまとめて「階段かく()」という関数を作る場合は、次のようなプログラムになります。
    • 「階段かく()」という関数を作るプログラム
      階段かく() とは
        進む(1)
        左回り(90)
        進む(1)
        右回り(90)
        進む(1)
      である
  • 「階段かく()」を実行するときは、次のようなプログラムになります。
    • 「階段かく()」を実行するプログラム
      階段かく()
  • 三角形をかくプログラムを1つにまとめて「三角かく()」という関数を作る場合は、次のようなプログラムになります。
    • 「三角かく()」という関数を作るプログラム
      三角かく() とは
       ここから3回
        進む(1)
        左回り(120)
       をくり返す
      である
  • 「三角かく()」を実行するときは、次のようなプログラムになります。
    • 「三角かく()」を実行するプログラム
      三角かく()
  • 関数には、値を与えるとその値を利用して処理を行うものがあります。
  • たとえば、先ほどの「三角かく()」は、何回実行しても同じ大きさの三角形がかかれます。進む距離を関数に与えて、その値を指定できるようにすると、次のようなプログラムになります。
    • 進む距離を自分で指定できる関数を作るプログラム
      三角かく(距離) とは
       ここから3回
        進む(距離)
        左回り(120)
       をくり返す
      である
  • 進む距離は、関数を実行するときに指定します。()の中に書かれた値が、距離として利用されます。このように関数に渡す値を「引数(ひきすう)」といいます。
    • 「三角かく(n)」を実行するプログラム
      三角かく(10)
  • 関数には1つ以上の引数を指定することもできます。
  • 次のプログラムは、2つの引数を足し算して、その結果を画面に表示するものです。関数を実行するときに渡した「7」は「値1」として、「8」は「値2」として関数の中で扱われます。
    • 2つの引数の値で足し算をする関数を定義する
      足し算(値1、値2)とは
       結果←値1+値2
       結果 を表示する
      である
        
      // 関数の実行
      足し算(7、8)
  • 関数による処理の結果を呼び出したプログラムに戻して使うこともできます。戻る値を「戻り値」といいます。
  • 次のプログラムでは、足し算した結果を返す関数を定義しています。実行する際には、足し算(7、8)の結果を「計算結果」に入れて、計算結果を画面に表示しています。
    • 2つの引数の値で足し算した結果を返す関数を定義する
      足し算(値1、値2)とは
       値1+値2 を返す
      である
        
      // 関数の実行
      計算結果←足し算(7、8)
      計算結果 を表示する

2018/11/12 14:47 · kameta
  • training.txt
  • 最終更新: 2019/03/10 23:55
  • by kameta