Pythonの特徴

meg01

こんにちは!

今回はPython(パイソン)を使ったプログラミングを学んでいきます。

パイソン…?

gaku10

プログラミングってゲームやアプリを動かすためのものですよね。

mana04
meg15

そうですね。コンピュータに命令を伝えるための言語が「プログラミング言語」です。それにはたくさん種類があって今回学ぶのは「Python(パイソン)」という言語です。

たくさん種類がある…

Pythonはどんなときに使われるプログラミング言語なんですか?

mana15
meg04

いい質問ですね!プログラミング言語には得意分野があって,Pythonは「AI」の開発で使われることが多いんですよ。

へぇ~最近よく聞く「AI」はPythonでつくられていることが多いのか!

gaku02
meg15

AIの開発だけではなく,Webアプリケーションなど,幅広く使える言語でもあります。

ってことは,Pythonが使えるようになるとつくれるものが増えるってことですね!

mana10
meg04

その通り!

ではさっそく簡単なものから体験してみましょう!

プログラミングの体験

プログラミングって,一瞬で計算してくれたりするんですよね。

mana01

計算と言えば,弟が九九の勉強を小学校でしているけれど,九九の計算もプログラムでできたりするのかな。

gaku05
meg01

プログラムをつくることで,九九はもちろん,人間にはできないような大量の計算をすることもできますよ。

まずは九九のプログラムからみていきましょうか。

  • for i in range(1, 10, 1):
  •   print(2 * i)
blackboard bar
meg08

このプログラムは九九の2の段の答えを表しています。

リンク

画面右下にある「プログラム」ボタンを押して, 上のプログラムをコピー&ペーストし,「実行」ボタンを押してみましょう。

リンク

ほんとだ,2の段の計算結果が表示されたよ。

gaku11
meg20

詳しい説明はあとでするので,ここではこんなことができるんだ,という理解だけで大丈夫ですよ。

print(2 * i)

は,2にある数(i)をかける計算をした結果を表示してね,というプログラムです。

また,ある数(i)は,

for i in range(1,10,1)

の部分で,1からスタートして10未満まで1ずつ増えていく数,という意味です。

meg15

いまのコードを消して,今度は次のプログラムをコピーし,実行ボタンを押してみましょう。何が表示されるでしょうか。

  • for i in range(1, 10, 1):
  •   for j in range(1, 10, 1):
  •     print(i * j, end = " ")
  •   print()
blackboard bar

すごい!一瞬で九九の計算が表示されたよ!

gaku02

たった4行のプログラムを書いただけで九九の計算を全部するようにコンピュータに命令したってこと?

mana02
meg01

その通り。

かける数,かけられる数,それぞれ1から9まで,1ずつ増やしていきながらかけ算した結果を表示させなさいって命令したのよ!

僕でもこんなプログラムが書けるようになるかな…?

gaku10
meg08

それぞれのコードにどんな意味があるのか,これから順番に学習していきましょう!

アルゴリズム

meg01

プログラムを書く前に,「アルゴリズム」って聞いたことはありますか?

聞いたことはあるけれど,説明しろって言われたら難しいな…

gaku07

そうね…「手順」みたいな感じかな?

mana09
meg15

「手順」で大体あっていますよ!正確に言うと,「問題を解決するための方法や手順」のことをアルゴリズムと言います。

meg15

このアルゴリズムをコンピュータが実行できる形式にしたものがプログラムですね。

つまり,さっきの九九表のプログラムでいうと…九九表を表示させたいっていうのが解決したい問題で…

gaku10

そのための手順が,かける数,かけられる数を1ずつ増やしながらかけ算していくってことね!

mana10
meg01

そう!

1ずつ増やしながら…の部分をアルゴリズムと言い,それをPythonで書いたものがプログラムですね。

meg01

実は,このアルゴリズムは3つの構造ですべて考えることができるんですよ。

3つの構造?

gaku10
meg15

3つの構造とは,「順次」,「分岐」,「反復」です。

アルゴリズムの3つの構造

  • ◆ 順次構造
  •  1つの処理が終了したら,次の処理に進む構造

  • ◆ 分岐構造
  •  ある条件によって2つの処理のどちらかを選択して実行する構造

  • ◆ 反復構造
  •  ある条件を満たすまで処理を繰り返し実行し,条件を満たしたら次に進む構造

blackboard bar
meg08

あらゆるプログラムがこの「順次」「分岐」「反復」を組み合わせることでできあがっています。

こんなイメージで表せます。

順次・分岐・反復

そうなの?!

この3つ以外のことはプログラムに書かれていないってことなのね!

mana02

なんだかプログラミングが簡単そうに思えてきたぞ…笑

gaku15
meg08

これから,実際にこの3つのプログラムを書いて,どういうものなのかもう少し理解するようにしましょう。

unfold_more 拡大