今日の流れ

9:45~9:50今日の流れとあいさつ
9:50~10:00競技プログラミングサイトatcoderの紹介
10:00~10:35while(繰り返し)と型の説明
10:45~11:30今まで習ったことを生かしてatcoderに挑戦
11:30~感想とあいさつ
atcoder(アットコーダー)とは

世界最高峰の競技プログラミングサイトの一つで、オンラインコンテストで競い合ったり、5000をこえる過去問にチャレンジできます。初心者のための教材も充実しているので、1か月あればすぐにコンテストに挑戦できます。

while文とは


for文と同じように、「くりかえし処理」ができる文。違いは、while文は「条件を満たす限りずっと繰り返す」→if文に近い

Pythonでのwhile文の書き方

while 条件式:  #条件式が正しければ処理をくりかえし、正しくなければwhile文の次の操作に移る
    処理
         #条件式→処理→条件式→処理→…のイメージ

型とは

  
  「データの種類」のこと:例 整数(int)、文字列(str)など
  型ごとにできる操作とできない操作があるので使い分けが大事(数字の足し引きなど)
  また、条件式の中の==や>などは同じ型同士でしか使えない
  変数がどの型になるかはPythonを使うなら書かなくていい

Pythonでの型ごとの入力の受け取り方

s = input()                      #一行の文字列として入力を受け取り、sに代入する
k = int(input())                 #一行の整数として受け取り、kに代入する
a,b,c = input().split()          #空白区切りの文字列として受け取り、前から順にa,b,cに代入する
x,y,z = map(int,input().split()) #空白区切りの整数として受け取り、前から順にx,y,zに代入する

例:整数kが入力されるので、kに2を100をこえるまでかけたときのkの値を出力する。

k = int(input()) #kにかけ算を行うので整数として受け取る
while k <= 100:   #kが100以下なら一つ下をくりかえし、こえる(k>100)と二つ下にとぶ
    k *= 2        #k = k * 2の略、新しいkに元のkを2倍したものを代入すると考える
print(k)

Atcoderで実践しよう!

穴埋め用コードの中で||を見つけて自分で書き換えよう!
穴埋め用コード
N,L,R = |入力を受け取る|
sum = 0 #最初から最後まで見れるリスナーの合計を表す変数
for i in range(|何回くりかえすか|):
    X,Y = map(int,input().split())
    if |どんな時に合計が増えるかの条件|:
        sum += 1
print(|何を出力するか|)
穴埋め用コード
N = |入力を受け取る|
i = ||
ans = ||
while i ||:  
    if abs(N - ans) > abs(N - i): #iのほうがNにより近かったらansをiに更新する
        ans = i
    i += ||
print(ans)
#時間があれば計算メインで出す方法も考えてみよう!

この問題は穴埋めなしでがんばって解いてみよう!

micro:bitとは

プログラミングの教材の一つで、スクラッチのように、ブロックを使ってわかりやすくプログラミングができます。スクラッチとの違いは、プログラミングのできる内容が少なめな代わりに、コンピューターにつなげて動かしたり、文字コードをブロックのように動かしてプログラミングできるところです。今日までのコードにいまいちピンとこなかった人はこっちをやってみよう!