
親子でプログラミング勉強会ダイジェスト版 (5月8日コミセン)資料
*本資料は札幌市手稲コミュニティセンターでの親子勉強会の資料として作成いたしました。折角ですので一般公開することにしました。

テスト対策のプログラミング重要ルール
ルール 1) 変数名を決めて、中味を決める。
書き方) お財布 = 10000
この文の意味は・・「お財布に 10000 入っています。」という意味なのですがプログラム言語特有のきまりがあります。正確には、中に何が入っていようが入れ替えるというふうに理解してください。なお変数には数値ばかりでなく文字列を入れることもできます。
ルール 2) 計算をする。
書き方例) お財布 = お財布 + 1000
お財布に 1000 を足す。と言う意味です。同様にーなら引き算、✖️なら掛け算です。
例]お財布 = お財布 −500 意味>「お財布から 500 を引く。」
ルール3) 指定された範囲を指定回数繰り返す
お財布赤=1000
お財布青=2000
お財布黄=0
●繰り返し始まり 回数2回
お財布黄=お財布黄+(1000+お財布赤+お財布青)
●繰り返し にもどる
表示せよ(お財布黄)
●マークと●マークの間を2回とおります。お財布黄色はいくらでしょう?
1回目はお財布黄は 1000+1000+2000なので 4000です。
2回目にはお財布黄には既に4000入っているので、既に入っている4000と1000+1000+2000で8000になります。
Pythonでの記載例はこうなります。
red = 1000
blue = 2000
yel = 0
for i in range(2):
yel= yel+(1000 + red + blue) # 注意! 字下げしている
print ( yel )
ルール4)配列
ルールは極めて簡単です。配列とはイメージしてもらうと、表のようなものと思って下さい。
例えば、このようなお財布別の金額一覧表のようなものです。お財布ごとにナンバーが付いていると思って下さい。
(第0列) (第1列) (第2列) (第3列)・・・・ (第n列)
お財布[0] お財布[1] お財布[2] お財布[3] お財布[n]
金額 300 100 200 500 ・・・・・お財布[n]の金額
もうお気づきでしょうが、列は第0列から始まります。言語により1から始まるものもありますが、サンプル問題も、Python, Javascript, VBAのいずれの言語も配列は第0列から始まりますので、0から始まることに慣れておいてください。
まずこのように[ ]型カッコを使って、配列を宣言します。宣言することで、その変数は配列変数となります。
宣言例
お財布=[]
これは配列変数のお財布を宣言し、
お財布[0]=0 お財布[1]=0 お財布[2]=0 ・・・・・・ お財布[n]=0
をあらわします。
お財布=[300,100,200,500]
と書くと、配列変数のお財布を宣言し、
お財布[0]=300 お財布[1]=100 お財布[2]=200 お財布[3]=500
であることを表します。
配列変数も普通の変数と同じく、代入や計算ができます。例えば
お財布[0]=100
お財布[1]=200
お財布[2]=お財布[0]+お財布[1]
print(お財布[2])
配列とループの例題
A=[ ]
L=0
●繰り返し始まり 回数2回
A[L]=A[L]+1
L=L+1
●繰り返し にもどる
print(L , A[0] , A[1] , A[2])
答え:
2, 1,1 , 0
ルール5)if文
if(もし)文の条件式が、yes(はい)の場合の他に加えて、no(いいえ)の場合に何か別の処理をする時の記載ルールです。
no(いいえ)の時は、else:(そうでなければ:)と記載し、次の行の字下げした■印の文が実行されます。
例えば
もし お財布の中身が1000(円)未満なら、500円を加える。
1000円以上入っていれば、200円を引く、という場合は
if お財布<1000:
● お財布=お財布+500 #字下げする。
else:
■ お財布=お財布−200 #字下げする。
次の文
ルール6) while文
次はwhile文です。while文も第1回に説明したfor文の様に、ループ(繰り返し)をするのですが、for文の様に繰り返し回数を指定するのではなく、条件式を満足する間、延々と繰り返す・・・と言うものです。では
while文の具体例です。なお#印より右は文の説明です。
count=0
sum=0
while count < 10 : #countが9 まで繰り返す
count=count+1 #ループ部分なので字下げしてある。
sum=sum+count #ループ部分なので字下げしてある。
print(count , sum)
countは1から9までで、9回ループします。sumは1+2+3+4+5+6+7+8+9です。合計は45です。
ではwhile文の練習問題です。
練習問題) 上の例と比較してみて下さい。
count=0
ss=0
while count < 10 : #countが10未満のとき繰り返す
count=count+1 #ループ部分 countに1を加算。
ss=ss+count*count #ループ部分 *は掛け算のマーク。
print(count , ss)
答え 9 , 285
おわりに
これらのルールだけで、大学入試センターのサンプル問題の第2問(プログラミング問題)が解けます。( ただし「わかる」と「できる」は別物!。)
関連記事リンク
(1)第1回 中学生の大学共通テスト情報Ⅰ対策 ぷろぐらみんぐ脳トレ
(2)中学生の大学共通テスト情報ぷろぐらみんぐ脳トレ 第2回 配列変数
(3)中学生の大学共通テスト ぷろぐらみんぐ脳トレ 第3回 if 文とwhile文
(4)親子でプログラミング勉強会 母親編
(5)親子でIT(アイティー)勉強会 親御さま編