roy > naoya > 基礎プログラミングII[月1] > (2)条件判断の復習
前期が終了してから2ヶ月のブランクがあいているが、プログラムの作成方法は覚えているだろうか? emacsを用いたプログラムの作成方法、ktermでの実行方法について確認しておこう。最低限、以下に示す項目は思い出しておこう。自信がない場合は前期の第2回目の授業のページを確認しておくこと。
emacsの基本操作
ktermの基本操作
Rubyプログラム作成の基本
操作を思い出しながら、次の2つのプログラムを作成・実行し、感覚を取り戻そう。
#!/usr/koeki/bin/ruby print"Hello Ruby!\n"
pan{c10xxxx}% cd ruby [~] pan{c10xxxx}% ruby hello.rb[Return] [~ruby] Hello Ruby!
#!/usr/koeki/bin/ruby print"金額を入力してください\n" money = gets.chomp!.to_i discount = money * 0.8 printf("2割引で%d円となります。\n",discount) print"お支払い金額を入力してください\n" pay = gets.chomp!.to_i change = pay - discount printf("%d円のお返しとなります。\n",change) print"どうもありがとうございました。またご利用くださいませ。\n"
pan{c10xxxx}% ruby discount.rb[Return] [~ruby] 金額を入力してください 1000[Return] 2割引で800円になります。 お支払い金額を入力してください。 1000[Return] 200円のお返しになります。 どうもありがとうございました。またご利用くださいませ。
実際に1つプログラムを作成してみよう。
bmi値は次式で算出できるもので、標準値は22.0である。
BMI=体重(kg)/身長(m)2
体重はkg単位、身長はm単位で入力する。身長が170cmの場合、1.7と入力する。
正しくプログラムを書くことが出来れば、以下のような実行結果を得るはずである。
pan{c10xxxx}% ruby bmi.rb[Return] 体重をkg単位で入力してください 100[Return] 身長をm単位で入力してください 1.5[Return] BMI値は44.4です。
プログラム作成上の注意
条件判断(場合わけ)を行う際にif文を使用した。基本的には以下の構造をとった(詳細は春学期の第3回目の授業参照)。
if文の基本構造
if 条件A #条件Aを満たせば 処理A #処理Aを実施する elsif 条件B #条件Aを満たさないが条件Bを満たせば 処理B #処理Bを実施する else #条件ABともに満たさない場合は 処理C #処理Cを実施する end
以下はif文を用いて書いたプログラムの例である(tani.rb)。実行するとどのような結果が出てくるか考えてみよう。
#!/usr/koeki/bin/ruby print"試験の得点を入力してください(0〜100点)\n" score = gets.chomp!.to_i if score < 60 then print"残念! 不可です\n" elsif score < 70 print"セーフ! 可です\n" elsif score < 80 print"良です。 よくできました\n" else print"優です! すばらしいですね\n" end
bmi.rbに追加しよう
if-endの構文を用いて、BMIの値に応じてメッセージを表示できるようプログラムを改良してみよう。
if文を使用する以下のプログラム(delivery.rb)を書いてみよう。1番と2番のどちらを選択しても良い。
サイズ区分は以下の表の通りであり、1番は3辺の合計の長さでサイズを決める。2番は3辺の合計の長さと重さのサイズが一致しない場合に、大きい方のサイズ扱いとする。1番は長さが、2番は長さと重さの一方でも160サイズを超えている場合は送れない旨を表示する。
60サイズ |
80サイズ |
100サイズ |
120サイズ |
140サイズ |
160サイズ |
---|---|---|---|---|---|
600円 |
700円 |
800円 |
900円 |
1000円 |
1100円 |
サイズ |
60サイズ |
80サイズ |
100サイズ |
120サイズ |
140サイズ |
160サイズ |
---|---|---|---|---|---|---|
3辺計 |
60cm迄 |
80cm迄 |
100cm迄 |
120cm迄 |
140cm迄 |
160cm迄 |
重量 |
2kg迄 |
5kg迄 |
10kg迄 |
15kg迄 |
20kg迄 |
25kg迄 |
うまくいかない場合は、修正途中でもよいので授業終了時までにメールで解答を送信すること。出席点は2点。提出要領は下記の通り。
Tips:mewによるメールの送り方はMewコマンドを参照
メール送信後には受信作業をする
mewでメールを送信した後は、受信コマンドのiおよびパスワードを入力して正しく送信できたか確認しよう。メールアドレスを書き間違えた場合にはMAILER-DAEMONからエラー通知が届く。この場合には、届いていないのでアドレスを正しく書き直して再送信する。再送信の方法は上記「mewコマンド」のページを参照すること。