5月2日のレポートについて XXXX語 XX c106XXXX XXXXXXXX 1 A) irsv{c106145}% ./to_i.rb [~/Ruby] to_iの性質を調べます/n何か文字列をどうぞ(終了は x ):42.195 3で割った結果: 42 irsv{c106145}% ./to_i.rb [~/Ruby] to_iの性質を調べます/n何か文字列をどうぞ(終了は x ):42.195 3で割った結果: 42.195000 to_iを入力すると小数点が切り捨てられ整数になる。42 to_fを入力すると小数点まで出てくる。 42.195000 gets.chompによってむすばれた = の中に変数はしまわれている。 B) STDERR.printf("\n" )とgets.chomp C) 作成したプログラム while true STDERR.print("何か文字列をどうぞ(終了は stop ):") string = gets.chomp if string == "stop" break end end irsv{c106145}% ./stop.rb [~/Ruby] 何か文字列をどうぞ(終了は stop ):stop irsv{c106145}% t [~/Ruby] zsh: command not found: t irsv{c106145}% ./stop.rb [~/Ruby] 何か文字列をどうぞ(終了は stop ):t 他の文字を入力しても何もならないが、stopを入力することによって止まる。 計算される前にbreakにいくので止まる。 2、 A A)考えた設定 かけ算 B)作成したプログラム #!/usr/koeki/bin/ruby while true STDERR.print("かけ算をします\n") STDERR.print("何か文字列をどうぞ(終了は x ):") number = gets.chomp if number == "X" printf("xが入力されたので中止します\n") break else # printf("整数値化した結果: %d \n" , number.to_i) printf("かけた結果: %d \n" , number.to_i*2) end end C)もとにしたプログラムからの変更点 講義で使用したプログラムを参考にした。 #!/usr/koeki/bin/ruby STDERR.print("to_i, to_f の性質を調べます\n") STDERR.print("何か文字列をどうぞ ( 終了は x ) :") string = gets.chomp if string == "x" printf("x が入力されたので中止します\n") else printf("整数値化した結果: %d \n", string.to_i) printf("3 で割った結果: %d \n", string.to_i/3) # printf("3 で割った結果: %f \n", string.to_f/3) もとにしたプログラムからの変更点は、( )の中の文字を問題文と一致するよう にかけ算をしますとかけた結果と入力した。 また、string の部分を number にした。 D)プログラムを実行した結果画面 かけ算をします 何か文字列をどうぞ(終了は x ):2 かけた結果: 4 かけ算をします 何か文字列をどうぞ(終了は x ):4 かけた結果: 8 かけ算をします 何か文字列をどうぞ(終了は x ):6 かけた結果: 12 かけ算をします 何か文字列をどうぞ(終了は x ):8 かけた結果: 16 かけ算をします 何か文字列をどうぞ(終了は x ):9 かけた結果: 18 かけ算をします 何か文字列をどうぞ(終了は x ):X xが入力されたので中止します E)導き出された結果の考察 bc -lで計算して確かめました。 2*2 4 4*2 8 6*2 12 8*2 16 9*2 18 F)参考文献 西村先生のHP B A)考えた設定 値段の合計 B)作成したプログラム while true STDERR.print("個数を入力します\n") STDERR.print("何か文字列をどうぞ(終了は x ):") number = gets.chomp STDERR.print("金額を入力します\n") STDERR.print("何か文字列をどうぞ(終了は x ):") money = gets.chomp if number == "x" printf("xが入力されたので中止します\n") break else total =number.to_i*money.to_i printf("かけた結果: %d \n" , total) end end C)もとにしたプログラムからの変更点 講義で使用したプログラムを参考にして作りました。 #!/usr/koeki/bin/ruby STDERR.print("to_i, to_f の性質を調べます\n") STDERR.print("何か文字列をどうぞ ( 終了は x ) :") string = gets.chomp if string == "x" printf("x が入力されたので中止します\n") else printf("整数値化した結果: %d \n", string.to_i) printf("3 で割った結果: %d \n", string.to_i/3) # printf("3 で割った結果: %f \n", string.to_f/3) end もとにしたプログラムからの変更点は、STDERR.printを2つ作り、個数と金額の 合計を出せるように作ったこと。 また、( )の中も個数と金額にし、問題文と一致するようにした。 D)プログラムを実行した結果画面 個数を入力します 何か文字列をどうぞ(終了は x ):3 金額を入力します 何か文字列をどうぞ(終了は x ):100 かけた結果: 300 個数を入力します 何か文字列をどうぞ(終了は x ):4 金額を入力します 何か文字列をどうぞ(終了は x ):250 かけた結果: 1000 個数を入力します 何か文字列をどうぞ(終了は x ):12 金額を入力します 何か文字列をどうぞ(終了は x ):980 かけた結果: 11760 個数を入力します 何か文字列をどうぞ(終了は x ):X 金額を入力します 何か文字列をどうぞ(終了は x ):X かけた結果: 0 個数を入力します 何か文字列をどうぞ(終了は x ):x 金額を入力します 何か文字列をどうぞ(終了は x ):x xが入力されたので中止します E)導き出された結果の考察 bc -l で計算して確かめました。 irsv{c106145}% bc -l [~/Ruby] 4*250 1000 12*980 11760 3*100 300 F)参考文献 西村先生のHP 3 金額と合計のプログラ厶をつくるのを頑張りました。西村先生のプログラムをもとに、()の中を自分なりの言葉で書いたりと前回よりも工夫することができました。 私は、人よりプログラムをつくるのに時間がかかるので、講義の時間はみんなと同じスピードでプログラムを作れるように頑張りたいです。 ----Next_Part(Wed_May__2_18_21_59_2007_298)-- Content-Type: Text/Plain; charset=iso-2022-jp Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="mul.rb" #!/usr/koeki/bin/ruby while true STDERR.print("かけ算をします\n") STDERR.print("何か文字列をどうぞ(終了は x ):") number = gets.chomp if number == "X" printf("xが入力されたので中止します\n") break else # printf("整数値化した結果: %d \n" , number.to_i) printf("かけた結果: %d \n" , number.to_i*2) end end ----Next_Part(Wed_May__2_18_21_59_2007_298)-- Content-Type: Text/Plain; charset=iso-2022-jp Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="rcpt.rb" #!/usr/koeki/bin/ruby while true STDERR.print("個数を入力します\n") STDERR.print("何か文字列をどうぞ(終了は x ):") number = gets.chomp STDERR.print("金額を入力します\n") STDERR.print("何か文字列をどうぞ(終了は x ):") money = gets.chomp if number == "x" printf("xが入力されたので中止します\n") break else total =number.to_i*money.to_i printf("かけた結果: %d \n" , total) end end ----Next_Part(Wed_May__2_18_21_59_2007_298)----