Lesson00 プログラミングをはじめよう

イメージ画像

講義開講前の回ですが、重要な回です。プログラミングの仕方や用語について覚えましょう。

今使うソースコードはここからまとめてダウロードできます。 ダウンロードfile_download

イントロダクション

プログラムって何だろう?

「プログラミング」とは「プログラム」を作る作業のことです。と言われても、「じゃあ、プログラムって何?」と疑問に思ってしまいますよね。
プログラムとは、簡単にいうと「コンピュータにさせる処理(命令)を、順番に書き出したもの」です。

コンピュータは自分で考えることができません。たとえば、一度も泳いだことのない人に「泳いで!」と言うだけではダメですよね。「まずは右手を前に出して、うしろに向かって水を掻いたら、次は左手を……」と教えてあげなければいけません
「泳ぐ」という目的を達成するために、一つ一つの動きを順番に説明する必要があります。これをコンピュータ相手に行うのが「プログラム」です。
人間であれば、なんとなく予想して「次はこうすればいいのかな」と動くことができますが、コンピュータには想像する力がありません。一連の動きを厳密に、コンピュータにも読み取れる形で命令する(=プログラムする)必要があるのです。
プログラミング言語は「言語」と名前が付いているように、英語、フランス語、中国語のような言語です。ただし書き言葉に特化し、コンピュータが理解するためにつくられた人造言語です。

ある本によると広い意味でのプログラミング言語は以下のようなものがあげられています。(『プログラミング言語大全』(技術評論社)より)以下は、厳密にはプログラミング言語と言えないものも含まれていますが、広い意味のプログラミング言語と解釈すれば、ゆうに数百はあると言われています。

  • ActionScript
  • ActiveBasic
  • Ada
  • ALGOL
  • AppleScript
  • Arc/Anaarki
  • Assembly
  • AWK
  • Bash/ShellScript
  • BASIC
  • Batch
  • Borune Shell
  • Brainfuck
  • C
  • C Shell
  • C#
  • C++
  • Clojure
  • cmd.exe
  • Crystal
  • Cython
  • D
  • Dart
  • Deno
  • Eiffel
  • Elixir
  • Emacs Lisp
  • Erlang
  • Excel関数
  • F#
  • F-BASIC
  • FORTRAN
  • Free Pascal
  • Friendly Interactive shell
  • Go
  • Google Apps Script
  • Groovy
  • Hack/HHVM
  • Haskell
  • Haxe
  • HSP(Hot Soup Processor)
  • Java
  • JavaScript
  • JRuby
  • Julia
  • KornShell
  • Kotlin
  • Lazy K
  • Lua
  • LuaJIT
  • MATLAB
  • MicroPython
  • Mint
  • ML
  • MoosScript
  • mruby
  • MSX-BASIC
  • N88-BASIC
  • Nadesiko
  • Nim
  • Node.js
  • Object Pascal/Delphi
  • Objective-C
  • OCaml
  • Octave(GNU Octave)
  • Opal
  • Pascal
  • Perl
  • PHP
  • Piet
  • PL/I
  • PowerShell
  • Processing
  • Prolog
  • PyPy
  • Python
  • R
  • Racket
  • Raku
  • Reason
  • Ruby
  • Rust
  • Scala
  • Scala.js
  • Scheme
  • Scratch
  • sed
  • Simula
  • Smalltalk
  • Standard ML
  • Streem
  • Swift
  • TypeScript
  • Unlambda
  • VBA
  • Vim Script
  • Viscuit
  • Visual Basic
  • WebAssembly
  • Whitespace
  • WSH
  • Xtend
  • Z shell
  • なでしこ
  • アセンブリ
  • コマンドプロンプト
  • バッチファイル

どうですか?びっくりしますね。本講座では、この中にあるPythonというプログラミング言語を学びます。
Pythonは、大学や大学院でもよく使われるプログラミング言語で、データサイエンスやAIなどの分野で使われる今、もっとも人気のあるプログラミング言語の1つです。

ところで、私たちは母語(このテキストを読んでいる多くの人が日本語だと思います)で話しますが、たまに英語で話したりもしますね。コンピュータの中には、プログラミング言語をコンピュータに通訳してくれる、インタプリタというものがあります。プログラミングは、プログラミング言語を使ってインタプリタとコミュニケーションをとることとも考えることができます。インタプリタに向かってプログラミング言語で文字を使って、話しかけるというイメージです。このインタプリタは間違ったプログラミング言語で話しかけると「エラー」を返します。つまり、「君の言っていることがわからないよ」とインタプリタから言われるわけです。

プログラミングをコンピュータとの対話と考えてください。

イメージ画像

プログラミングは、pythonという言語を使ってpythonインタプリタと対話することです。

1ラズベリーパイについて

本講義では、ラズベリーパイという手のひらに乗るくらいの大きさのコンピュータを使います。ラズベリーパイは、2012年にイギリスのラズベリーパイ財団によって、教育目的で開発された小さなコンピュータです。

ニンテンドースイッチ
ニンテンドースイッチ

ラズベリーパイ4
RaspberryPi4

私たちの身の回りには、様々なコンピュータがあります。例えば一番身近なものは、パソコンかもしれません。ニンテンドーSwitchのようなゲームをするために特化した専用コンピュータもあります。
また普段はあまり意識しませんが、炊飯器や洗濯機にもコンピュータは搭載されています。

ラズベリーパイはパソコンと比べると処理能力は低いのですが、1つの板の上にパソコンのような機能を最低限のせたコンピュータでシングルボードコンピュータと呼ばれています。

本テキストでは、このラズベリーパイというコンピュータを使うことを前提としています。もちろん、WindowsやiPad,ChromeBookでもかまいません。
中でも「ラズベリーパイ4モデルB」のメモリ8ギガモデルというちょっと良いグレードのラズベリーパイを使います。

もともと教育用につくられたコンピュータですので、プログラミングや IoT(この言葉はあとで説明します)についてこれから勉強しようという人にとても勉強しやすくなっています。

ところで、ラズベリーパイって言いにくくないですか?これからは省略して「ラズパイ」と呼びましょう。

ラズベリーパイの準備

ラズパイなどのコンピュータに、ソフトウェア(アプリ)を入れて、使える状態にすることを「インストールする」と言います。皆さんに配布しているラズベリーパイには「ラズベリーパイOS」というコンピュータそのものを動かすための基本ソフト(OS)と、プログラミングするためのソフトウェアと呼ばれる道具が、既にインストールされています。
パソコンもラズパイも、基本ソフト(OS)がインストールされていないと、電源を入れても画面は真っ暗なままで動きません。ラズベリーパイが動くための基本ソフトのことをOSと言います。

まずは下記の機器が揃っていることを確認し、機械をつなぎ、OSをスタートさせるところからはじめましょう。

ラズパイを使うための部品

  • ラズパイ本体+保護ケース
  • 電源ケーブル
  • microSDカード(32G)
  • HDMIケーブル(microHDMIオスーHDMIオス(出っ張っている方をオスといいます))
  • ディスプレイ
  • キーボードとマウス

次の写真を見ながら接続してみてください。

ラズベリーパイのONとOFF

ラズパイの電源をONにすると、コンピュータに電源が入り、その後OSが動くようになります。
OSがなければ電源をいれても画面は真っ暗で、コンピュータは動きません。
このOSが動くようにすることを、起動やブートと言います。

コンピュータを使い終わったら、コンピュータを停止することを覚えないといけません。起動の逆で、まずOSを停止し、コンピュータの電源を切ります。
このOSを停止してコンピュータの電源を切る準備をすることを「シャットダウン」と言います。

パソコンと同じように、ラズベリーパイでもON/OFFを正しい方法で行わないと、最悪ラズパイが壊れたり、起動しなくなります。
左上のイチゴのマークをクリックすると次のようなメニューがでるので、「Shutdown」を選択します。

     ON 電源スイッチを入れる。
     OFF 画面からシャットダウンを選択する。

ソースコードの書き方

mu(ミュー)エディタ

プログミング言語で書かれた、コンピュータプログラムを表現する文字のことを「ソースコード」または「ソース」と言います。皆さん、テレビドラマでハッカーが黒い画面にカタカタと文字を打っているところ、見たことありませんか?あの画面の中に出ている文字が「ソースコード」です。

ソースコードはWordやGoogleドキュメントのような文章作成ソフトでは書きません。こういった文章作成ソフトは文字の大きさを変えたり、画像を張り付けたり、時にはアニメーションができますが、そういった機能は全くない、単に文字が打てて、表示ができるだけのプログラミングに特化したエディタと呼ばれるものを使います。

本講座では、ソースコードを書くために、以下のmuというエディターを使います。muは無料で使えるソースコードを書くためのソフトウェアです。
ラズベリーパイにはインストールされています。
WindowsやMacの人はここ(mu エディターのサイト)からダウンロードしてインストールします。

では、ここで先生からmuのインストール方法とその使い方をデモするのでみてください。

ソースコードの書き方のルール

ソースコードの書き方にはルールがありますが、重要なことをここにあげましょう。

  • プログラムの命令は半角の英数字で書かねばなりません。
  • プログラムは上から下に処理が行われます。つまり、上に書かれている命令のほうが、下に書かれている命令よりも先に処理されます。
  • プログラムの単語と単語の間には半角のスペースを自由にはさむことができます。
  • 命令の行と行との間には空行をいくつも挟むことができます。つまり、空行は処理上、無視されます。
  • 先頭が#で始まる行は処理されず無視されます。これを利用してソースの中にメモを書くことができます。ソースの中に書くメモをコメントと言います。

pythonというプログラミング言語はコンピュータの中のpythonインタプリタが解釈します。pythonインタプリタが理解できない文法で命令した場合、シンタックスエラーが返ってきます。
ソースコードを実際にPythonインタプリタに伝え、動かすことを、「実行」と言います。

文字を表示してみよう

では、皆さんmuを起動して、次のコードを打ち込んでみましょう。
はじめに、一番左の「モード」のボタンを押してモードがPython3になっているか確認します。なっていなければPython3にします。

(hello_python.py)
1
print("これははじめてのprint関数です!")

このソースコードを実行すると、「はじめてのprint関数です」という文字が画面に現れます。左から5番目の三角の実行というボタンをクリックしてみましょう。

ソースコードに文字を表示させるという命令はこれからよく使いますが、表示される場所は、「標準出力」という場所で、このmuでは標準出力は、下の部分になります。

みなさんも、実行のボタンを押して、文字が表示されるかどうか確認してみましょう。

本日のキーワード

最後に本日出てきたキーワードをおさらいしましょう。

本日のキーワード

  • 起動
  • ブート
  • シャットダウン
  • ソースコード
  • muエディタ(phythonCodeエディタ)
  • OS(基本ソフト)
  • ホームディレクトリ(マルチユーザーシステムのコンピュータのディレクトリ)

大人のあなたへ

注意

m.PIMEが用意したものでなく、オンラインショップなどで独自にラズベリーパイを購入される場合は、以下のことにご注意ください。

  • Raspberry Piは正確にはRaspberry Pi4 モデルB メモリ8Gのモデルを本講義では採用しています。メモリ4Gモデルでも動作を確認していますが、Raspberry3等では今後本テキストとは内容が異なることがあります。
  • 電源は、定格5V / 3A DCまたは最低5.1V / 3A DC(最低1A)で、USB-TypeC PD対応の電源をお使いください。通常のスマホなどのAC⇔DCの変換アダプタでは動かない、あるいは、不安定になることがあります。
  • ケースはファンのあるものを強く推奨します。