今日の流れ
| 9:45~9:50 | 今日の流れとあいさつ |
| 9:50~10:00 | 競技プログラミングサイトatcoderの紹介 |
| 10:00~10:35 | while(繰り返し)と型の説明 |
| 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とは
プログラミングの教材の一つで、スクラッチのように、ブロックを使ってわかりやすくプログラミングができます。スクラッチとの違いは、プログラミングのできる内容が少なめな代わりに、コンピューターにつなげて動かしたり、文字コードをブロックのように動かしてプログラミングできるところです。今日までのコードにいまいちピンとこなかった人はこっちをやってみよう!
