パソコンオタクは自己表現が下手?

※この記事はあくまでも個人的感想です
愛媛県宇和島市、みんなのパソコン教室代表の松井です。
普段、パソコンやプログラミング、アルゴリズムを教えていると、初対面の方から、「パソコンオタクですよね」って視線をひしひしと感じます。
もちろん、否定はしませんし、年中パソコン触ってます。仕事ですし、好きですから。
世間一般の認識では、パソコンオタクの人って話が下手で自分を表現できないって思われてるような気もしますね。
実際私も人と話すのは、そんなに好きじゃないし、これも全く否定することはできませんが、実は、表現力(言語化力)というのはすごく鍛えられているように思います。
愛媛県宇和島市、みんなのパソコン教室代表の松井です。
普段、パソコンやプログラミング、アルゴリズムを教えていると、初対面の方から、「パソコンオタクですよね」って視線をひしひしと感じます。
もちろん、否定はしませんし、年中パソコン触ってます。仕事ですし、好きですから。
世間一般の認識では、パソコンオタクの人って話が下手で自分を表現できないって思われてるような気もしますね。
実際私も人と話すのは、そんなに好きじゃないし、これも全く否定することはできませんが、実は、表現力(言語化力)というのはすごく鍛えられているように思います。
プログラミング・アルゴリズム学習は表現力を鍛えるのに最適
Atcoderをはじめとする競技オリンピックを学習しているとこのような問題が出てきます。
問題文:
高橋君は、「サイコロを 2 個振る」という行動を N 回行いました。
i 回目の出目は
Di,1 , Di,2
です。
ゾロ目が 3 回以上続けて出たことがあるかどうか判定してください。 より正確には、
Di,1=Di,2
かつ
Di+1,1=D i+1,2
かつ
Di+2,1=D i+2,2
を満たすような
i が少なくとも一つ存在するかどうか判定してください。
制約
3≤N≤100
1≤D
i,j≤6
入力は全て整数
AtCoder Beginner Contest 179 B - Go to Jailより
なかなか書いてあることが理解できないかもしれません。なにをやるべきなのかしっかりと整理していきましょう。
ざっと整理するとこんな感じでしょう。しっかり問題を理解する。そしてそれを自分の言葉で表現するというのが大切になります。
こういう方針でPythonでプログラミングしていきます。※細かいpythonの記述方法の説明は省略します
プログラミングやアルゴリズムを学習することで鍛えられるのは、パソコンの使い方だけではなく、読解力や問題解決能力。表現力(言語化力)などがあげられると思います。
プログラミングであろうとスポーツであろうと。またゲームや遊び、音楽であっても、自分の好きなものに夢中になって、学ぶことができていれば、みんな自信をもって表現することができるようになっていくと思いますけどね。
みんなのパソコン教室宇和島本校ではプログラミングやゲームを通して、パソコンの使い方に慣れていくだけではなく、問題解決能力や表現力を鍛えながら自己肯定感を高めていくお手伝いをさせていただきます。
お問い合わせはこちら
無料プログラミング体験はこちら
問題文:
高橋君は、「サイコロを 2 個振る」という行動を N 回行いました。
i 回目の出目は
Di,1 , Di,2
です。
ゾロ目が 3 回以上続けて出たことがあるかどうか判定してください。 より正確には、
Di,1=Di,2
かつ
Di+1,1=D i+1,2
かつ
Di+2,1=D i+2,2
を満たすような
i が少なくとも一つ存在するかどうか判定してください。
制約
3≤N≤100
1≤D
i,j≤6
入力は全て整数
AtCoder Beginner Contest 179 B - Go to Jailより
なかなか書いてあることが理解できないかもしれません。なにをやるべきなのかしっかりと整理していきましょう。
- サイコロを2つ振る
- 2つのサイコロの目が1,1とか2,2のゾロ目だったら、あたり回数を1増やす
- もしゾロ目以外になったときは、あたり回数を0に戻す(連続して3回ゾロ目が出ることが条件だから)
- 指定の回数(N回)サイコロを振るまでにあたり回数が3になった(ゾロ目が3回連続で出た)ら答えはYesになりそうじゃなければ答えはNoになる
ざっと整理するとこんな感じでしょう。しっかり問題を理解する。そしてそれを自分の言葉で表現するというのが大切になります。
こういう方針でPythonでプログラミングしていきます。※細かいpythonの記述方法の説明は省略します
n = int(input())
d = []
cnt = 0
for _ in range(n):
d.append(list(map(int,input().split())))
for i in range(n):
if d[i][0] == d[i][1]:
cnt += 1
else:
cnt = 0
if cnt >= 3:
break
if cnt >= 3:
print("Yes")
else:
print("No")
プログラミングやアルゴリズムを学習することで鍛えられるのは、パソコンの使い方だけではなく、読解力や問題解決能力。表現力(言語化力)などがあげられると思います。
プログラミングであろうとスポーツであろうと。またゲームや遊び、音楽であっても、自分の好きなものに夢中になって、学ぶことができていれば、みんな自信をもって表現することができるようになっていくと思いますけどね。
みんなのパソコン教室宇和島本校ではプログラミングやゲームを通して、パソコンの使い方に慣れていくだけではなく、問題解決能力や表現力を鍛えながら自己肯定感を高めていくお手伝いをさせていただきます。
お問い合わせはこちら
無料プログラミング体験はこちら