見出し画像

中学生の大学共通テスト情報Ⅰ対策 ぷろぐらみんぐ脳トレ

第1回 はじめに


本投稿はもともとは、「親子IT・プログラミング勉強会」の講習資料として作成したものです。当初は「中学生さん中心の講習」をやりたかったのですが、あまりにも「親子で、それも小学生のお子さんと一緒に!!」というご要望が多く、そのご期待に応えることにしました。とは言え、実際原稿作成を進めていると、このままでも十分に中学生さんのためになるのではないかと考え、タイトルを「中学生の大学共通テスト情報Ⅰ対策 ぷろぐらみんぐ脳トレ」と題し同時に公開することにしました。
さて中学生様には差し迫った、近々話題の大学共通テスト。「情報Ⅰ」が3年後には必須科目になります。今の中学生さんは、はたまた大変だろうと思います。入試環境が「激変」するのですから・・・・。

まずは、大学入試センターや文科省の大学共通テスト情報を調べ、その特徴を分析したところ、テストの3本柱が「IT基礎」と「プログラミング」と「データサイエンス」の3分野でそれぞれの配点割合もほぼ同じくらいのようです。そして今年の高校1年生からいよいよ新課程の情報Ⅰ教科書の登場です。問題を探ってゆくと、これから生徒さんが共通テストをクリアするにはいささか気の毒のようです。塾やプログラミングスクールなどでトレーニングの機会がある中高生はまだ良いのすが・・・。「IT基礎」と「データサイエンス」は高校に入ってから勉強しても間に合うと言えば、間に合いますが・・とはいえ勉強は早いに越したことはありません。
さらに・・・一番の問題はプログラミングです。これはある程度の慣れが必要で、高校でいきなりハイスピードの授業に出会い面食らって、あれよあれよと言うちに苦手科目になってしまうかもしれません。またこれが国公立大学では必須科目になる予定ですから、入試で非常に不利な状況に追い込まれてしまいます。・・・・でも心配ご無用!! このnoteでプログラミング脳トレをすれば万全です。そして情報Ⅰを高得点で逃げ切りましょう。将来は日本経済を支える立派な社会人に成長して下さい。

最初のうちは中学生には、ちょっとレベルが低い!!と思われるかもしてません。そうでしょうか・・読み進めるうちにおわかりいただけると思います。・・・
最後の練習問題 問10はかなり難解です。高校生でも、うなってしまうでしょう。大学共通テストを目指した脳トレですから!!

共通テストに対応できるプログラミング脳は本noteの簡単な『思考パターンの訓練』で十分に対応できます。お母さんや小学校高学年でもわかるように順をおって、やさしい記載を心がけましたので。またパソコンを使わない脳トレなのでお金はかからないし、どこでもできます!さあ共通テスト目指して、頑張りましょう!


さあ!プログラミング脳をつくりましょう。

まずは頭ならしから!!。

Step1-1 表示する・・print文   

プログラミングでは、まずコンピュータに指示する文を書きます。文は上から順番に処理されていきます。
画面に表示するには・・・表示せよ(”表示したい言葉ぺけぺけ”)という感じになります。
これをpythonというプログラミング言語で書くと
print("ぺけぺけ”)
となります。たとえば 画面に「こんにちは」と表示したいなら
こんにちは  という文字列 を表示せよ と言う意味で、次のように文を書きます。
print("こんにちは”) 
お財布 と表示するには・・・・わかりますか?
print("お財布”)  です。
ではではここからが本題です。
print (お財布)と書くとどうでしょう?お財布の前後に ” がありません。
この お財布 という文字は変数として扱われます。変数の場合はその中身が表示されるのです。

ここではお財布の中味を表示するのを
表示せよ(お財布)  と書くことにします。

Step1-2  変数と計算

では変数について説明しましょう。変数とはわかりやすく言うと、数字や文字などが入る、[入れ物]です。この[入れ物]を変数といいます。たとえば  お財布赤 だとか お財布黄 だとか自由に変数を作ります。ただ放送禁止用語みたいに使えない言葉もありますが・・・あまり気にしないでください。

ルール 1)  変数名を決めて、中味を決める。


書き方) お財布 = 10000
    この文の意味は・・「お財布に 10000 入っています。」という意味なのですがプログラム言語特有のきまりがあります。正確には、中に何が入っていようが入れ替えるというふうに理解してください。なお変数には数値ばかりでなく文字列を入れることもできます。今はまだ混乱するので、ここでは数値が入っている変数(数値変数)ということで話を進めたいと思います。

ルール 2) 計算をする。


書き方例) お財布 = お財布 + 1000
   お財布に 1000 を足す。と言う意味です。同様にーなら引き算、✖️なら掛け算です。
例]お財布 = お財布 −500     意味>「お財布から 500 を引く。」

はい、では練習問題です。お財布赤、お財布青、お財布黄の3つの変数があります。

お財布赤=1000
お財布青=2000
お財布黄=0
お財布黄=お財布黄+(1000+お財布赤+お財布青)
表示せよ(お財布黄)

はい簡単ですね。計算式の計算順序は( )を優先します。
ですから( )の中は(1000+1000+2000)です。
お財布黄の中味を表示するは
表示せよ(お財布黄)  と書くことにしたので・・・。
そうすると4000と表示されます。

これをPythonという言語で書くと・・・
red = 1000
blue = 2000
yel = 0
yel = yel+(1000 + red + blue)
print ( yel )
となります。なーんだ 簡単じゃん! そう英文字に慣れればどーってことないのです。

では次に、繰り返し処理(ループ)を覚えましょう。

ルール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 )

ここではループ(繰り返し)の記載はあまり気にしないで下さい。それはプログラミング言語によって書き方は変わりますので・・・。

高等学校情報Ⅰの周辺教材ではPython, Javascript, ExcelVBA の3つの言語が使われています。
ウェブサイトの制御などによく使われる、
Javascriptと言う言語で書くと・・
red = 1000 ;
blue = 2000 ;
yel = 0 ;
for ( let  i= 1 ; i<3 ; i++){
  yel= yel+(1000 + red + blue);
 }
console.log( yel );

ExcelVBAでは
red = 1000 ;
blue = 2000 ;
yel = 0 ;
for  i= 1 to 2
yel= yel+(1000 + red + blue);
 Next
Worksheets("Sheet1").Range("A1").Value = yel

となります。
なお、ExcelVBAはMicrosoftのEXECELという表計算ソフトの中で使われる言語なので、この例では表の一番左上に表示しています。


現段階で2025年以降の必修共通テストで使用するプログラム言語は明確にされていません。またこれまでは工業科などのセンター試験用に「手順記述標準言語(DNCL)」という独自のプログラミング言語が使用されています。とは言え新課程の教科書や指導要領、大学入試センターの各種情報から見て、Pythonは将来有望な言語です。なにせ教員研修用教材にはPythonが使われていますから。いずれにせよ本脳トレをおこなっていれば、どんな言語でも共通テストに対応可能な基礎能力が身につきます。必須科目情報1の共通テストが求めているのは将来現場に出て、必要に応じて自分で調べて対応できるプログラミング基礎能力の育成を求めているからです。

第1回はこんなところで、・・・第2回はループ処理を使った脳トレ100問集です。どんどん脳を鍛えましょう。第3回は分岐処理を予定しています。お楽しみに。さて後ろの練習問題は必ずやってみましょう。問6までは楽勝ですから。問10ができれば天才です!!。

あとがき


本テーマは全10回くらいでまとめるよう予定しています。
共通テストのサンプル問題などから推測すると、配列処理がキーポイントのようで、たぶん必ず出題されるでしょう。そこまでたどり着くにはまだまだかかりそうなので、気長にお付き合いください。・・・なんと言っても配列処理の基礎はループ処理ですから。第2回をお楽しみに!

練習問題)

 なんと表示されるでしょう。
問1)   ちょう簡単!
A=0
A=A+1
A=A+1
A=A+1
A=A+1
print( A )

問2)このぐらいは頭の中でやりましょう。脳トレです。
A=0
B=0
A=A+1
B=B+1
A=A-1
B=B+1
print( A,B)

問3) 問2と似てますね!
A=0
B=0
L=1
A=A+L
B=B+L
A=A-L
B=B+L
print(L,A,B)

問4) 問3と似てますね!
A=0
B=0
L=2
A=A+L
B=B+L
A=A-L
B=B+L
print(L,A,B)

問5) 問3と似てますね!
A=0
B=0
L=3
A=A+L
B=B+L
A=A-L
B=B+L
print(L,A,B)

問6) 問3と似てますね!
A=0
B=0
L=4
A=A+L
B=B+L
A=A-L
B=B+L
print(L,A,B)

問7)  難問です。ループ1回目と2回目で変数をメモしましょう。
   ループが入ってたけでメチャ混乱します!!
A=0
B=0
L=1
●繰り返し始まり 回数2回
     A=A+L
  B=B+L
  A=A-L
  B=B+L
  L=L+1
   ●繰り返し にもどる
print(L,A,B)

結構ハードになりました。一休みしましょう。

問8 問7で下のように4行目の繰り返し回数を3回にしましょう。
  ●繰り返し始まり 回数3回

問9 問7で4行目の繰り返し回数を4回にしましょう。
  ●繰り返し始まり 回数4回

問10)  難問です。ループ1回目と2回目と3回目で変数をメモしてよいです。  注)5,6行目の*は掛け算のマークです。
   
A=1
B=1
L=1
●繰り返し始まり 回数3回
    A=A*L
   B=B*L
   A=A-L
   B=B+L
   L=L+1
   ●繰り返し にもどる
print(L,A,B)

ヒント繰り返し1回目でAは0 Bは2です。2回目では最初Lには2が入っています。・・・・




この記事が気に入ったらサポートをしてみませんか?