マガジンのカバー画像

プログラミングのピ

16
どのプログラミング言語から始めたらいいの?と思った時に読んでほしいかんたん講座。すこしずつ、ゆっくりと一歩一歩。 プログラミングに興味をもったお子様、親御さんに向けた基礎講座を…
運営しているクリエイター

2023年9月の記事一覧

論理型は使い倒せ : 条件分岐に使っている比較演算と論理値の区別ついてますか

こんにちは。 今回は、新人研修の講師時期にときどき気になったことを書いてみます。 分岐については皆さんすんなりと理解できてると思いますが、その条件に使う論理値、論理型という最高にシンプルで強力な道具についての理解が浅いところが見られます。油断しないで早めに味方につけといた方が良いぞ。 ということで、今日は論理値の使い方をひとつ見て理解度を確認しようという話です。 今回はブロックと共にjavascript(typescriptだけど)に変換されたコードも併記しておきます。

1日目。超短いプログラムを見るだけの日

こんにちは。 プログラミングに興味を持たれましたか? 吾輩、プログラミング歴40+年で(メーカーで後年は新人教育担当したり、親子プログラミング教室のボランティアしたり)プログラミング好き定年退職者がプログミング好きかもなお子様と保護者の方、あるいは同志退職者、はたまたものづくりとかプログラミングな道に就職しようかなと考え始めた方々に、ちょっぴりでも道案内ができたらと思い書き始めております。 善は急げ、考える前にさっそく始めてしまいましょう。 今日伝えたいこと プログラ

2日目。3行に増えたプログラムを見るだけの日

こんにちは。昨日のは簡単でしたか? 最初はゆっくりいきますよ。今日は昨日の復習です。 今日伝えたいこと 昨日と同じです。 昨日覚えたことを思い出しましょう。 プログラムにはあらかじめ決められた入口があります 対象となるものに対して実行してもらいたいことを、短い命令に分けて順番に並べたものをプログラムといいます 今日のプログラム 今日は3つLEDをつけましょう。 プログラムを実行すると Bボタンを押すと、真ん中と、その右と、その右のLEDの3つが光ります。 プ

3日目。超短いプログラムを書いてみる日 プログラムして実行だ!

こんにちは。 さぁ、プログラミングして実行しましょう。 昨日の記事の予告に書いたサイトを開いて、この下の動画を見て同じようにブロックを並べていってね。 今日伝えたいこと makecodeという開発環境を使ってmicro:bitをプログラミングしましょう。 今日は1日目で読んでもらったプログラムを作って実行します。 動画を見て真似しながら次のことを実感してください。 プログラミングってこういう事か 実行するってこんなことかぁ 今日のプログラム 1つだけLEDをつけ

4日目。変数は名前が命。hogeとか真似してると上手くなれないから注意ね。

こんにちは。今日は変数。 これでプログラムっぽくなる。 プログラムにバグはつきもの。今はわからなくても、長いプログラムを書くようになると誰もが経験するよ。変数は簡単に理解できるけど、バグの元でもあるのでよーく考えて名前をつける習慣づけがとても大切。って絶対忘れるけど、今日はそれだけ覚えてってください。 今日伝えたいこと 変数は名前付けがとっても大切と覚えましょう 変数とは、値に名前をつけたもののことです 数学の変数のように値を記憶する機能と、値を区別して扱いやすくする

5日目。デバッグのはなし

こんにちは。 今日は毛色を変えてデバッグの話をすこしだけしてみます。 今日伝えたいこと 作ったプログラムが正しく動くかをテストして、間違っているところがあれば直す作業をデバッグといいます。 ほとんどの開発環境にはデバッガというデバッグを助ける機能がついています。makecodeにもデバッガがあることを覚えましょう。今日は簡単なところだけ紹介しますので「デバッガ」という名前だけ覚えてください。 昨日の宿題の回答例 y座標の変数をyとして追加して使いました。 デバッガ

6日目。ボタンを押したらLEDがうごくぞ

こんにちは。 今日はLEDを砲台にみたてて、左右に動かす。です。 昨日のは動かしてみました? LEDの位置を一番下にしたらちょっと (インベーダーゲームの)砲台っぽく見えたので、今日はLEDの動きをそれっぽいものに変えてみるというのをやりましょう。 昨日のプログラム(再掲) 今日伝えたいこと ・いきなりプログラムを直し始めないこと。  問題をきちんと理解して、今の動きをよく観察して、その動きの原因を推察して、こうすればできるだろうと仮説を立ててから、プログラムを書いて

7日目。関数って何

こんにちは。 今日は関数を学ぼうとおもいますが、その前に昨日の問題、 LEDが伸びて見えるのはなぜだろう。 これは次のLEDが点灯する時に、今のLEDも点灯しているからですね。 だから、次のLEDを点灯する前に、今のLEDを消せば良い。 で、「次の」というのは、「変数xを1増やす」ということなので、1増やす前、すなわち「今の」xを使ってLEDを消灯すれば良い。 移動するように見せられたら、 左側にもどれるプログラムをAボタンに割り当てよう。 「ボタンBが押されたとき

8日目。関数は便利なのだよ

こんにちは。 今日は関数が便利なことをもっと学びましょう。 昨日はここまででした。 Bボタンの方を関数化したのですが、Aボタンはどうしましょうか。 同じように「砲台を左に動かす」関数を作ってみます。 このふたつを比べると、違うところは1箇所だけですよね。 そこをパラメーターとして渡すことで、ひとつの関数にまとめることができます。 次の動画を見てください。 今日はここまで。 次回予告 関数のまとめをやります。 → 9日目。関数よもやま話

9日目。関数よもやま話

こんにちは。 今日は関数について読むだけの日とします。 なお、関数にはまだ「戻り値を返す」機能があり、それを使うと数学の関数のような使い方ができます。後日必要になった時に説明しますね。 関数とは 一連の処理に名前をつけたもの プログラミングはたくさんの小さな関数を作ることと言ってもいいくらい良く作ります 関数を作る時に気にしてほしい点 ・関数やパラメーターに何をするのかが良くわかる名前をつけること ・関数に分けるの面倒くさいなぁと思わないこと 関数を作るタイミング

10日目。ループで弾発射!

こんにちは。 今日は弾を打ち出しましょう。 今日伝えたいこと ・関数分けの例を示したい ・同じようなことを何度も繰り返すときはループを使えばループのなかに1回分の処理を書くだけでOK。とても便利。ということ。 砲台はボタンを押された時に横にひとつ動かしましたが、弾はボタンが押された時にLEDを4回、上に向かって順に動かします。 弾が飛んでいるように見えるプログラム(第1案) 順にコードを追っていきましょう。 yが3は砲台の一つ上の位置です。そこのLEDを点灯し、光

11日目。ループ、ループ

こんにちは。 ループブロックは昨日使ったものの他にあと3つありました。 今日伝えたいこと ・ループの形はひとつではない ・どのループでも結果的に同じ動作をさせられるが、目的によって向き不向きがある 2つ目のループ 違いはオレンジの線で示したところだけですが、昨日使ったループブロックは、今回の問題に使うには繰り返し指定の4が冗長でした。 こちらのループブロックを使った方が良かったです。 こちらのループが一番汎用的なループの形です。論理ブロックをまだ説明していなかったの

12日目。UFO飛来! ようやく条件分岐の出番なのか?!

1日目から読む こんにちは。 とうとうUFOが来ちゃいましたよ。 吾輩、かつては薄暗い喫茶店のテーブルの上に100円玉何枚も積み上げて侵略者から地球を守っていました。45年後に100円玉30枚くらいで似たようなゲームを作って遊べるコンピューターが買えるなんて想像もできずに。 さて、上の動画で示した飛ばし方をプログラムしてください。 どれが一番かんたんに作れるでしょうか?しかしてその根拠は如何に? 今日伝えたいこと ・アルゴリズムという言葉を覚えて欲しい。そしてアル

13日目。UFOの往復飛行、予想よりむずっ💦変数と分岐の増加でおこるむずっ💦

こんにちは。 残った「3.往復」飛行特徴のプログラムを作りましょう。 今日伝えたいこと うまくいかないこともあるけれど、あきらめないでっ💦 まずは観察から 案1 関数に渡ってくる情報としてはxひとつなので、たとえば3が渡ってきた場合、2->3と増えつつある3なのか、4->3と減りつつある3なのかの判断がつきません。 3は4より小さいので、必ず1を加えるブロックの方に進んでしまいます。4と3をひたすら往復するだけの動作となってしまいました。 失敗です。 案1修正版