SmartphoneEmpty2013年4月から社会人になりました。この広告は、90日以上更新していないブログに表示しています。問題概要についてはエントリーの末尾に引用しております。さん)の回答を見て納得->自己完結。compose()http://d.hatena.ne.jp/kusano_k/20120207/1328644379とてもわかりやすいコードで大変勉強になりました。ありがとうございます。さんは、一日に第四問までサクッと解かれているみたいで、かっこいいです。VSも決勝3位の好成績を残されているすごい人みたいです。以後、ブログ等購読させていただきます。コード読ませていただいた"#"とか、"♭"とかの意味合いを考慮した上で、各音符は12音階のどこに位置するのか?変換してあげる必要があったみたい。音階の差の絶対値の和+付点の個数%2を特徴量とするといったように、割と単純に特徴量の算出モデルが特定できる。えっ思いつくかよっ!?と疑問を抱いたことは忘れたいと思います。背景知識の欠如という壁により断念そもそも、"音階"、"符点"って何?かつ、ダブルシャープ、ダブルフラットって初耳なんですけどというレベルの人だったので、この問題については背景知識(一般教養)がない僕にとっては、とてもつらい問題だったんじゃないかと、言い訳。折れてしまったことに対しては、以後反省します。今日のことは忘れて、明日か明後日に第5問解きますよ。第5問は事前に偏った知識を必要としない問題みたいだから、ここいらで本気出さないと、まずい気がするので頑張りたい。旋律に隠された特徴ある旋律演算器を考えてみましょう。この演算器は、単音から構成される旋律を入力すると、ある特徴量を算出し、出力することができます。この演算器に、以下の3つの譜面を入力してみました。B)の特徴量は、異なっていました。C)の特徴量は、同じでした。以下の【譜面データ形式】を用いて、以下の課題の解を求めてください。i)上記仕様を満たすこの演算器を設計し、コーディングしてください。隣り合う音符同士の関係に注目してください。D)、E)、F)を設計した演算器に入力した際、B)と同じ特徴量が出力されるものを回答してください。iii)以下の条件を満たす出力を行う旋律生産器(すなわち作曲器)を設計し、コーディングしてください。求められた旋律をi)で設計した演算器に入力できる文字列として回答してください。G)と同じ特徴量を持ちます。与えられるGの音ではじまり、同じ音で終わります。・旋律の長さは、全音符3つ分よりも長く、高々全音符4つ分までとします。演算器に旋律を入力するには、譜面を以下の規則に従って文字列に変換する必要があります。2.属性と属性は”:”で区切られます。3.音符と音符は”,”で区切られます。旋律の最後には”,”を必要としません。文字列の終端を以て旋律の終端とします。4.楽譜上の位置は第三線を原点(0)とし、第三間を+1,第四線を+2......、第二間を-1、第二線を-2......、というように正負の値で表現されます。高低の範囲は、一般的なピアノの鍵盤上に存在する音(7オクターブ+短三度)に限るものとします。5.音符の種類は{全/二分/四分/八分/十六分/三十二分}音符を{1/2/4/8/16/32}で表します。符点がついた場合は”.”を添えるものとします{1./2./4./8./16./32.}。ダブルフラットで表します。この属性を持たない場合、その音符はナチュラルがついているものとします。7.休符については、高さが無いものとし、長さは音符と同様に表します。8.以上の規約で言及されない(下記変換例の楽譜に登場しない)楽譜上の記号、表現については、ここでは入力の対象外とします。この問いにおいて考慮する必要はありません。0:1:,1:2:s,2:4.:x,1:8:,:8:,-1:16.:b,-2:32:d設問中の各譜面を表す文字列は、上記の規則に従い次のようになります。