これが課題の完成版です。ので提出します。 第5回 何度も呼び出そう レポート課題 氏名 鈴木智也 学籍番号 c110129 語学クラス 英語6 コース 地域共創 1A、ASCIIコードの表を参考にする ASCIIコードの表を参考にした 0 1 2 3 4 5 6 7 8 9 a b c d e f 0 nul soh stx etx eot enq ack bel bs ht lf vt ff cr so si 1 dle dc1 dc2 dc3 dc4 nak syn etb can em sub esc fs gs rs us 2 ! " # $ % & ' ( ) * + , - . / 3 0 1 2 3 4 5 6 7 8 9 : ; < = > ? 4 @ A B C D E F G H I J K L M N O 5 P Q R S T U V W X Y Z [ \ ] ^ _ 6 ' a b c d e f g h i j k l m n o 7 p q r s t u v w x y z { } ~ del S→0x53 U→0x55 Z→0x7a U→0x55 K→0x4b I→0x49 T→0x54 O→0x4f M→0x4d O→0x4f Y→0x49 a = 10 b = 11 c = 12 d = 13 e = 14 f = 15 文字コードを全て足していく。 0x53+0x55を用いて説明していく それぞれを10進数に沿って数字に直していくと下のようになる。 53 = 5 3 55 = 5 5 次に1の位、10の位というように分け、足し算を行う。 <1の位> 3+5 =8 そして、足した数を16で割りその余りを書く 8/16 = 余り0 その際に出た余りはそのまま下に降ろす。 <10の位> 5+5=10 10を16進数に直すとAである。 このようにして、10進数を16進数に直すことをすべてに行う。 A0+B0=21 21+C0=33 33+98=131 131+A3=161 161+9d=278 278÷10=27、8 S→0x53 16*5+3*0 80 U→0x55 5*16+5*0 80 Z→0x7a 7*16+10*0 112 U→0x55 5*16+5*0 80 K→0x4b 4*16+11*0 64 I→0x49 4*16+9*0 64 T→0x54 5*16+4*0 80 O→0x4f 5*16+15*0 80 M→0x4d 4*16+14*0 64 O→0x4f 4*16+15*0 64 Y→0x49 4*16+9*0 64 80+80+112+80+64+64+80+80+64+64+64=160+192+128+160+128+64=352+288+192=640+192=832 確かめ算として、これを16で割る 832÷16=52 B、わたしは、毎日の運動と食事のプログラム風に書き直します。 def exercise(push-ups,running,walking) start push-upをする walking を始める running をする end # 返すものはexercise : : home diner(banana,rice,toufu,fish) # これで、お味噌をつくるのでよびだす print("ごはん1合、豆腐半分、お湯400cc") drink(オレンジ) #飲み物をつくる呼び出す print("ご飯できたわよ!") 2、 A考えた設定 10人の女子のなかから好みの人数を選ばせるプログラムを考えた。 プログラム本体 #!/usr/koeki/bin/ruby def factorial(t) if t == 1 # メソットの設定 #1を返す 1 else #違っていたら t * factorial(t-1) #tにfactorial(t)メソットをよぶ end #if のend end # defのend def kumiawase(g,m) #メソットの設定 factorial(g)/factorial(g-m)# factorialの呼び出し end STDERR.print("だれを彼女にしたい?\n") STDERR.print("10人の女性から選ぶんだ,何人選ぶ?\n") STDERR.print("好みの人を選んで!\n") #標準出力で画面に出力させる kanojo = gets.to_i #入力された文字列を整数に換え変数kanojoの中に代入する。 women = 10 # 選ぶ女性は10人なので、10を代入 printf("%d 人を選んだときの組合せは %d 通りです。\n",kanojo,kumiawase(women,kanojo)) 実行結果 pan{SUZUKI Tomoya}% ./def_combination.rb 10人のだれを彼女にしたい? 10人の女性から選ぶんだ,何人選ぶ? 好みの人を選んで! 2 2 人を選んだときの組合せは 90 通りです。 考察 プログラムにくみ込む際1で折り返すという設定にしなかったため整数値で出せ ない場合があった。 標準出力を#でプログラムに記憶させることによってprintの中身を表示させる。 メソットの設定を1とし、その折り返しで、正確な値を求める。女性の数を women=10と置きその中で、選ぶように要素を作った。 最後のprntf("")のところは%dを用いて数の通りを作った。それを彼女と、組合 せという書方で操作者に最終的に選ばせるようにした。 感想 機械的に繰り返すものとして、製造のベルトコンベアーがあるだろう。 Aにおいて最終的な数が合わないという、事態を招いた。これには、5時間かかっ てしまった。次回まで復習をして末のテストに備えたいと思う。 参考文献 基礎プログラミングI http://roy/~naoya/ruby/9.html 基礎プログラミングII 何度も呼び出そう http://roy/~madoka/2011/r2/