マガジン

  • こどももすなるプログラミングのヒント

  • こどももすなるプログラム

    世田谷区の千歳船橋で、小学生向けのプログラム教室を2年ほど手伝っている、もとソフトウェア技術者です。 はじめは子供たち相手に教えるだけで精一杯でしたが、次第にこれは大人が学んでも役に立つのでは? と思いました。 そこでも初めてプログラムを学んでみようと思う大人の方のためのテキストを作ってみました。 このマガジンでは、問題をときながら少しずつプログラムの基礎が学べるようにしてあります。 プログラムの言語や文法を知らなくても、プログラムってこういうものなんだと興味を持っていただけたらと思います。 対面式の授業ならば、その場で疑問に答えられるのですが、テキストではそうもできないので、考えるヒントを用意しまして。ヒントについては別のマガジンとして公開する予定です。 将来的にはZineとして発行したいなとも思っています。 お手伝いいただけるクリエイターの方がいらっしゃったら、ご連絡ください。

最近の記事

[問題 7-3]のヒント

1.「27643」を100の位で四捨五入しましょう。  (ノートを使って、解き方をメモしながら説いてください) 2.任意の数nをmの位で四捨五入した結果を返す関数「四捨五入する」をプログラムしましょう。 問題にある「27643」を100の位で四捨五入する手順を考えましょう。 まず、「27643」の100の位で四捨五入するので、1の位の数と10の位の数は「0」になります。 27600 次に27600の100の位の数は「6」です。この数が「4」以下の場合は切り捨てます

    • [問題 7-1]のヒント

      1.「初めの数」にある数を足して作られる数列を等差数列といいます。  次の等差数列の9番目の数を求めましょう。   3、7、11、15・・・  (ノートを使って、解き方をメモしながら解いてください) 2.「初めの数」に「ある数」を足して「n番目」の数を返す関数「等差数列」のプログラムを作りましょう。 1についてですが、等差数列について確認しましょう。  7 - 3 = 4  11 - 7 = 4  15 - 11 = 4  ・・・ 3からはじまり、2つの数の間の差

      • [問題 7-2]のヒント

        1.「42」の約数を求めましょう。  (ノートを使って、解き方をメモしながら説いてください) 2.任意の数nの約数を表示する表示するプログラムを作りましょう。 約数を求める問題です。 約数とは、ある整数を整数で割ったときに割り切れる数のことを言います。 6の約数は「1、2、3、6」。5の約数は「1、5」になります。 1の42の約数を見つけるためには、42を1から順に割っていったときに、あまりが0になる数が42の約数となります。  42 ÷ 1 = 42 あまり 0 ←

        • [問題 5-2]のヒント

          1から20までの数字を表示してください。 ただし、3で割り切れる数の場合は数字ではなく「♡」を表示してください。 また、偶数の場合は数字ではなくスマイルのアイコンを表示してください。 なお、3の倍数が偶数の場合は「♡」とスマイルの両方のアイコンを表示してください。 問題を整理します。 1から20までの数字を表示する。 3の倍数の場合 ♡を表示する 2の倍数の場合 スマイルを表示する それ以外の場合 数字を表示する ここで気をつけなくてはならないのは、数字を表示する

        [問題 7-3]のヒント

        マガジン

        • こどももすなるプログラミングのヒント
          10本
        • こどももすなるプログラム
          10本

        記事

          はじめに

          定年目前で退職したあと、以前の会社の知人に誘われて小学生相手のプログラミング教室のサポートをしています。 そこで子どもたちにだしたこれは子どもたちだけじゃなくても、大人のかたもきっと楽しんでもらえると考えるようになりました。

          はじめに

          [問題 5-1]のヒント

          1から20までの数字を表示してください。 ただし、3で割り切れる数の場合は数字ではなく「♡」を表示してください。  ヒント:「あまり」を求めるブロックは計算の中にあります。このブロックと論理の「くらべる」にあるブロックを組み合わせて、3の倍数かどうかを判断してください。 問題を整理します。 1から20までの数字を表示する。 3の倍数の場合 ♡を表示する それ以外の場合 数字を表示する これをプログラムふうに書くと次のようになります。  nをゼロとする  1から20

          [問題 5-1]のヒント

          [問題 4-1]のヒント

          前の章で作った掛け算のプログラムを関数にしてみましょう。 ただし、関数「掛け算をする」は次のように作ってください。  関数の名前は「掛け算をする」とします。  もとのプログラムから、数字1と数字2を渡します。  数字1と数字2を掛けた答えを、もとのプログラムに返します。 ここでは関数名「kakezan」という関数について説明します。 求めるものは、この関数「kakezan」です。 [問題 3-1]でみたように、掛け算のプログラムは  kotae = 0  5回繰り返

          [問題 4-1]のヒント

          [問題 3-1]のヒント

          くりかえし(ループ)と足し算を使って、3×5を求めるプログラムを作ってください。 ここで答えとして求めているものは、掛け算の結果ではありません。ここでは足し算を使って掛け算をするプログラムが求められています。だから 答え = 3 × 5 というプログラムは、足し算を使っていないので正しい答えではありません。 それでは、掛け算がどのようなものかを考えてみましょう。 n×mの掛け算とは「nの塊がm個あります、全部でいくつでしょう」と書くことができます。 問題にある「3 × 5

          [問題 3-1]のヒント

          7.算数をプログラムしよう

           それではこれまで学んできた、ループ、関数、条件分岐、配列を組み合わせて算数の問題を説いてみましょう。それぞれの問題をよく読んで、何を求めたら良いのかをよく考えてからプログラムを作りましょう。 [問題 7-1] 1.「初めの数」にある数を足して作られる数列を等差数列といいます。  次の等差数列の9番目の数を求めましょう。   3、7、11、15・・・  (ノートを使って、解き方をメモしながら解いてください) 2.「初めの数」に「ある数」を足して「n番目」の数を返す関数「等

          7.算数をプログラムしよう

          6.配列:平均点を計算しよう

           一連のデータを配列として扱うことができます。例えば、買いものリストや、購入した品物の金額、テストの点など同じ性質をもったデータを配列として扱うことができます。 たとえば配列を使って1から10の合計を求めるプログラムを次のように作ることができます。 配列は、次のように作ります。 1.変数を作成する  2.「高度なブロック」の「配列」から、 「この要素の配列」を選択する。 3.+-を使って配列の要素を記入する。 (動画: 6.配列を作る) では、配列を使っ

          6.配列:平均点を計算しよう

          5.条件分岐:3の倍数を♡にしよう

           この章では条件分岐(if文)について学びます。  1から10までを繰り返して表示するプログラムを次のように変更してみます。   1から20までを表示します。   ただし、偶数の場合は数字ではなく「♡」のアイコンを表示します。  これを次のように考えてみます  まず、1から20までを表示することを考えます。  これは、3章で見た繰り返しを使います。    最初にnを0とします    1から20まで繰り返す      nに1足す      nを表示する   次にnが偶数

          5.条件分岐:3の倍数を♡にしよう

          4.関数:掛け算計算機を作ろう

           次に、関数について学んでいきます。  前の章で作った掛け算のプログラムですが   3×5   2×7   4×6 と、同じ計算を繰り返すたびにプログラムを書いていては、読みにくくなる上に、プログラムを間違えてしまう可能性があります。  そこで、繰返として使用する処理は、関数としてくくりだすことができます。  関数といえば   y = f(x) です。f を1からxまでの合計を求める「合計を求める関数」という名称の関数とします。このときx=10とした場合、次のように書くこ

          4.関数:掛け算計算機を作ろう

          3.ループ:掛け算を発見しよう

           以下のページでは、プログラムの基本的な処理ループと条件分岐を学びます。また、処理をくくり出してプログラムを読みやすくする関数や、リストというデータ構造についても学んでいきます。  この章では、掛け算を用いて、ループ(繰り返し処理)について [例題] 1から10までの数字を表示してみましょう。  上のように書くこともできますが、繰り返し(ループ)を使うと、もっと簡単に書くことができます。  まず、「ループ」から「くりかえし」のブロックを選択します。  次に、表示する変

          3.ループ:掛け算を発見しよう

          問題 2-3のヒント

          [問題 2-3] 太郎君は鉛筆を5本持っています。お姉さんから、鉛筆を1本もらいました。太郎君の持っている鉛筆は何本でしょう。 問題をよく読んでみましょう。 問題からわかること 太郎君は鉛筆の数は5本 もらった鉛筆の数は1本 求めるものは 太郎君の持っている鉛筆の数 これをプログラムふうに書くと次のようになります。 太郎君は鉛筆の数を5とする もらった鉛筆の数を1とする 太郎君は鉛筆の数 = 太郎君は鉛筆の数 + もらった鉛筆の数 //

          問題 2-3のヒント

          問題 2-2のヒント

          [問題 2-2] 太郎君の家にはりんごが5個あります。おやつにりんごを1個食べたら、残りはいくつでしょう。 問題を読んでわかることと、求めることを整理しましょう。 わかっていること: 太郎君の家にあるりんごは5個 太郎君が食べたりんごの数は1個 求める答えは 残りのりんごの数 引き算の問題です。この問題は、次のように考えることができます。 太郎君の家にあるりんごの数を5とする 太郎君が食べたりんごの数を1とする 答えは、太郎君の家にあるりんごの数から太郎

          問題 2-2のヒント

          問題 2-1のヒント

          [問題 2-1] 太郎君のはみかんを2個食べました。太郎君のお姉さんはみかんを3個食べました。 太郎くんと姉さんで、合わせていくつのみかんを食べたでしょう。 問題を読んでわかることを整理しましょう 太郎君が食べたみかんの数は2個 お姉さんが食べたみかんの数は3個 求めるものは 太郎君が食べたみかんの数と お姉さんが食べたみかんの数の合計 と、なります。 プログラムを書く前に、日本語いてみると次のようになります 太郎君が食べたみかんの数を2とする

          問題 2-1のヒント