このたび、情報の授業で班ごとにプログラムを作ることになりました
しかし、私にはセンスが皆無なのでしょうが、プリントを読んだり調べたりしてもさっぱり理解できません
このままだと私が足を引っ張ることになり、とても困ります
どうやら、やる内容は、西暦と第何曜日かを決めて、日にちを求めるプログラムを組まなくてはならないようです
今のところなんとか足掻いて書いたのが以下のようなものです
Sub hi()
nserial = DateSerial(seireki, tsuki, hi)
Select Case hiindex
case1
hi = 1
case2
hi = 2
case3
hi = 3
case4
hi = 4
case5
hi = 5
case6
hi = 6
case7
hi = 7
case8
hi = 8
case9
hi = 9
case10
hi = 10
case11
hi = 11
case12
hi = 12
case13
hi = 13
Case14
hi = 14
case15
hi = 15
case16
hi = 16
case17
hi = 17
case18
hi = 18
case19
hi = 19
case20
hi = 20
case21
hi = 21
case22
hi = 22
case23
hi = 23
case24
hi = 24
case25
hi = 25
case26
hi = 26
case27
hi = 27
case28
hi = 28
case29
hi = 29
case30
hi = 30
case31
hi = 31
End Sub
どなたか助けてください!!!
もうさっぱり手も足もでないので、どんなアドバイスでもうれしいです!!
No.1ベストアンサー
- 回答日時:
まずは、問題の意味を把握して、入力が何で、出力が何なのかをはっきりさせましょう。
入力値は、西暦、何週目、曜日、の3つで、出力値は、日付(何月何日)、ということですよね。
手順としては、
入力西暦から、1月1日が何曜日なのかを調べることができます。調べ方はここには書きませんが。
そうすると、入力曜日の第1週目が何日(1月1日から1月7日のどれか)なのかが解ります。
あとは、入力週から、求める日が解ります。
これはほんの一例で、他にもやりかたはいろいろあると思います。
頑張ってください。
本当にありがとうございます!
先生もそのようなことをおっしゃっていたのですが、自分の理解力不足で大変でした!
ありがとうございました
参考にしてみます^^
No.4
- 回答日時:
学校の問題なのですね。
どこまで、要求されるのか不明だが。
私が思うには、本当なら、学校の問題だから、
当然、DateSerial(seireki, tsuki, hi) の関数を使うとか、Weekday の関数を
使うとか、その他の日付関数を使う事事態邪道だとおもいます。
四則演算のみで求めるのが理想では?。
しかし、そんなのしても、先生が理解できんかも?。先生も日付関数をつかうのだろね。
本当は間違いなのだけど。
日付関数を一切使わないの方法は?。自分で日付関数に相当するのを作る言です。
それほどステップは必要ありません。
ヒントは、うるう年の計算がきっちりと出来ればOKです。
あと、自分で作る関数は、ある年月日を与えると、
ある基点日(例えば、1989/12/31 windowsはこれを基点日にしている)から何日目かを求める
関数があればいいのです。
function nisuu(in_yyyy,in_mm,in_dd)
{
dim k_yyyy;
dim k_mm;
dim k_dd;
k_yyyy=1989
k_mm=12
k_dd=31
ここに四則演算のみを入れる
nisuu=答え(1989/12/13から何日目)
}
上の関数があれば、1989/12/31の曜日が仮に木曜日だとすると、任意の日付の曜日は上の関数で
もとめた日数を7で割れば曜日がでます。
上の関数ができれば、
ある年の1月1日の曜日は簡単にもとまりますね。
あとは、第何曜日は、それに7を掛けて、かつ、曜日の補正(スタート曜日に注意)
をすれば、その年の1月1日から何日目かわかります。
何日目がわかれば、上で作成したnisuu関数を利用すれば直ぐに何日か求まります。
ただ、この場合上で作成したnisuu関数をそのまま利用できませんね。なぜなら、
その関数は日付をいれて何日目かを求める関数だから。逆の何日目を与えて
日付を求めるのだから、一見不可能な様に思えます。しかし、ここは、ちゃんと
上で作成したnisuu関数のみで求める言ができます。
不思議と思いますね。しかし、この様にある関数の逆の性質の関数は、逆の性質の
関数がなくても、その関数で逆の答えを導き出す事が出来ます。
通常、日常業務では、金利の逆計算時によく用いられます。たとば、あるものを
買えば、頭金幾らで、毎月幾らかは、金利率から簡単に計算できます。
しかし、毎月幾ら払えば、頭金は幾らになるか。この場合、計算式を2つ用意する
としても、金利計算には小数点以下端数がつくから、逆の計算式を用いても、
頭金に若干の誤差がでます。この様な誤差も出さない様にしようとおもえば、
計算式は1個でないと駄目になります。故に毎月幾ら払えば、頭金がいくらかは、
頭金が幾らなら、毎月幾らかの計算式のみで求める事になります。
参考までです。
No.3
- 回答日時:
#1です。
何度もすみません。
今回のプログラムの場合、年ごとのカレンダーが手元にあると仮定して、西暦何年の第何週目の何曜日が何月何日なのか、をプログラムではなく、自分でカレンダーを見て調べるときに、どういう手順で調べますか?
その曜日をカレンダーの上から順に数えていきますよね?
そのやり方を、そのままプログラムにすれば良いだけなんですよ。
最初から「プログラム!」と気負ってしまうから、わけが解らなくなるんです。
No.2
- 回答日時:
#1です。
ついでに、質問文のプログラムのダメだしを。
(1)
変数は、必ずDimで定義する癖をつけましょう。
オプションによっては、定義しなくても動くようにもできますが、それをやると、バグが出たときにデバッグしにくいです。
(2)
Select Case で hiindex によって場合わけをして、その結果 hi の値を決めています。
hiindex は何で、hi は何ですか?
このSelect Case構文で、何をしようとしていましたか?
(3)
hiというサブルーチンの引数がありません。
そして、seireki、tsuki、hi、hiindex、という変数に何の値も入力されいないまま計算に使っています。
この課題をやれるだけの基礎知識が足りないんでしょうね。
たぶん、上記のダメだしも、前の回答内容も、理解できないかもしれませんね。
「プリントを読んだり調べたりしてもさっぱり理解できません」ということですが、まったくその通りなんだろうと思います。
自力だけで解ろうとせずに、せっかく班を組んでいるのだから、班のメンバーに解らないところを聞きましょうよ。
このままだと、単位を取れないかもしれませんよ。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
月の第一週とは
-
毎○曜日って、使いますか?
-
週2回のペースって だいたい何...
-
エクセルで毎月第2週日の水曜日...
-
日付から曜日を求めたい
-
平日朝の国道246線混雑状況につ...
-
よくある 『 第○(1・2・3・4・...
-
VBA。複数のChangeイベントをま...
-
ユーザー定義の(aaa)
-
c言語の質問です。 ある月のカ...
-
土曜日の26時って何曜日の何時...
-
日本語問題 昨日は何曜日ですか...
-
6月の第2 第4火曜日は何日...
-
for a week tomorrowはどういう...
-
一年の第何週目であるかを判断...
-
C言語初心者です。
-
エクセルで相対パスの書き方を...
-
アンケートなどの1日1回の投...
-
BASE64でエンコードしてPOSTし...
-
CGIの中にinclude
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
月の第一週とは
-
よくある 『 第○(1・2・3・4・...
-
エクセルで毎月第2週日の水曜日...
-
週2回のペースって だいたい何...
-
毎○曜日って、使いますか?
-
やはり時間割いて叔母の事で10...
-
土曜日の26時って何曜日の何時...
-
[Excel] ある日の曜日が当月の"...
-
VBA。複数のChangeイベントをま...
-
ユーザー定義の(aaa)
-
今週とは何曜日から何曜日まで...
-
曜日と曜の使い分けがわかりま...
-
指定曜日にMsgBox表示は可能で...
-
日本語問題 昨日は何曜日ですか...
-
Consolidateメソッドの引数のSo...
-
for a week tomorrowはどういう...
-
毎週同じ曜日にラブホに行くと...
-
Excel VBA 第〇△曜日の場合休日...
-
Excelで第一〇曜日を求める方法...
-
thunderbird 送信日時の曜日表示
おすすめ情報