【情報科の授業でプログラミング言語Pythonを教える】

Pythonプログラミング
スポンサーリンク

【プログラミング学習 Python編_導入】

みなさんの学校では、どのようなプログラミング学習を導入されていますか?

私が非常勤講師としてやっている中で、2022年を境に、プログラミング学習はPython一択になった実感があります。

それまでは、学校によってさまざまで、VBA、scratch、C、Java、JavaScript、HTML、などを実習してきました。

もちろんプログラミング学習の意図するところは、

「アルゴリズムを理解し、プログラムを組み立てる」

「プログラムを意識することで、問題解決の力を身に着ける」

ということです。ただ、非常勤講師としては各学校でプログラミング学習が異なると、それなりに大変さはありました。

言語によってできる出来ないがあるので、

(あれ?この構文って、この言語では使えないんだっけ?)

なんてこともありましたね。

それが、学習指導要領の改訂とともに、

「情報Ⅰ」

となったことで、教科書内では、いくつかのプログラミング言語の記載はありますが、少なくとも私がお世話になった高校は一律でPython導入となりました。

Pythonを導入するにあたり、各学校の教科主任をはじめ、情報科教員は、使用ソフトウェアや実行環境の確認、動作確認など、準備を整えるのに、相当な時間を要したと思います。

ソフトウェアに関しては、学校の環境にもよるため、一概にこれがいい!

とは言えませんが、フリーで使えて、保存ができて、inputが実行できるものがよいと思います。

(ソフトウェアの中にはinputが使えないものもあって、面白味がなかった)

FREE

今までの高校で使用してきて、問題なく実習できたのは、以下です。

●Google Colaboratory  https://colab.research.google.com/?hl=ja

Googleアカウントが必要(ログイン出来ないとコードを実行できない)。

GoogleDriveに自動保存される。Googleにログインできる環境があれば、どの端末でも操作可能。

エラー表示が分かりやすい。

●PyWeb  https://pyweb.ayax.jp/PyWeb.html

web上で実行できる。ログイン不要。

アカウント登録不要。

一部広告が表示されるが、広告内容に大きな問題なし。

時間制限あるが、ブラウザの再起動で、リスタートできる。

Windowsで実行可。iPadは実行不可(通常の画面は表示されるも、コード入力ができない)。

エラー表示あり。

ドライプに保存可(メモ帳で確認できる)。

学校で使用したときは、生徒の共有フォルダ上に、ショートカットを配布して、ショートカットから起動させていた。

【Python編_実習(初級)】

プログラミング思考

■print( )

print( )の中は、数値、数値の計算、文字列‘’を複合的に実行します。

・文字列は、シングルクォーテーションで文字を囲む

・数値は、シングルクォーテーションは不要

・数値の計算は、計算結果が表示される

・print( )が1行をあらわす

<例1>

print( 123 )

print( 10+20 )

print( 3*4*5 )

print(‘自分の名前’)

print(‘自分の高校名’)

<課題例>

1行目に、「自分のクラス、出席番号、名前」

2行目に、「プログラミング学習にあたっての意気込み(自分の言葉で)」

3行目に、「(生まれてから今日まで何日経過したか計算式で)日数」

を表示させる

3行目は、数値なので、シングルクォーテーションは不要であること

今日まで何日経過したか、を問う(365*16+31+28+31+・・・など)を、自分で考えて計算式を入力させることが目的のためインターネット使用不可

※計算記号(プログラミングで扱う四則演算)は、事前学習が必要です

■変数

a=2

print(a)

で代入の確認

<例1>

a=2

print(a+a)

print(a+30)

print(a*a)

print(a*100/5)

→実行ののち、代入する数値を自分の好きな数字に変更させて、実行結果が変更されることを確認

<例2>

koukou=’自分が通っている高校名’

nen=1

kumi=10

ban=99

namae=’自分の名前’

print(koukou,nen,kumi,ban,namae)

→文字列、数値など、変数を並べるときは半角カンマで区切る

print(koukou,nen,’年’,kumi,’組’,ban,’番’,namae)

→さらに文字列を挟み込むこともできる

<課題例1>

自分の生年月日の数値部分を変数で代入して表示させる

(見本)「私は、〇年◇月△日生まれです」

<課題例2>

「今日の天気は〇」

「最高気温は◇度」

「最低気温は△度」

<課題例2>

「明日の天気は●」

「最高気温は、今日と比べて3度高い◆度」(◇の変数を使って計算式)

「最低気温は、今日と比べて1度低い▲度です」(△の変数を使って計算式)

<課題例3>

円の面積を求める

<課題例4>

自分のBMIと適正体重を求める

→BMIと適正体重の一覧表を表示してあげると、生徒の関心を引くことができる

プログラミング授業

■IF

代入された数値が、偶数か奇数かを問う

<例1>

num=50

if num%2==0:

  print(‘偶数です’)

else:

  print(‘奇数です’)

<例2>

代入された数値が、7の倍数かどうかを問う

<例3>

代入された数値が、80点以上なら優、そうれなければ良とする

<例4>

今日の天気が雨なら、傘を持っていく、そうでなければ、いつも通り登校する

■if~elif

代入された数値が、80点以上なら優、50点以上なら良、それ以外は可とする

<例5>

num=80

if num>=80:

  print(‘優’)

elif num>=50:

  print(‘良’)

else:

  print(‘可’)

<課題例1>

代入された数値が、80点以上なら優、50点以上なら良、30点以上なら可、それ以外は追試とする

<課題例2>

教科①、教科②、教科③など追加して、それぞれの教科の評価や、合計点の評価などを実習させる

■for

<練習1>

for a in range(5):

  print(a)

→range( )内の数値が1つの場合、0から始まって数値―1まで1ずつ増えることを確認

<練習2>

for a in range(3,10):

  print(a)

→range( )内の数値が2つの場合、左の数値から始まって右の数値―1になるまでまで1ずつ増えることを確認

<練習3>

for a in range(5,20,3):

  print(a)

→range( )内の数値が3つの場合、1つめの数値から始まって、2つめの数値―1になるまでまで、3つめの数ずつ増えることを確認

<課題例1>

10から始まって、20(マイナス1)になるまで1ずつ増えるプログラムを作成しなさい

for a in range(10,20):

  print(a)

<課題例2>

100から始まって、0になるまで10ずつ減るプログラムを作成しなさい

for a in range(100,-1,-10):

  print(a)

■while

<練習1>

a=0

while a<=5:

  print(a)

  a=a+1

→初期値(a=0)から、条件式が満たされるまで1ずつ増える

<練習2>

a=10

while a>=0:

  print(a)

  a=a-2

→初期値(a=10)から、条件式が満たされるまで2ずつ減る

ご購読ありがとうございました。

情報科
スポンサーリンク
ひまわり先生をフォローする

コメント

タイトルとURLをコピーしました