このたび、情報の授業で班ごとにプログラムを作ることになりました
しかし、私にはセンスが皆無なのでしょうが、プリントを読んだり調べたりしてもさっぱり理解できません
このままだと私が足を引っ張ることになり、とても困ります
どうやら、やる内容は、西暦と第何曜日かを決めて、日にちを求めるプログラムを組まなくてはならないようです
今のところなんとか足掻いて書いたのが以下のようなものです
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で質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) パイソン初心者です 4 2022/06/29 06:49
- 数学 主組成列 2 2022/08/19 13:21
- C言語・C++・C# C++のcase文の書き方 4 2023/02/24 20:50
- Visual Basic(VBA) エクセルのVBAでダブルクリックでチェックを入れたあと 1 2022/10/26 20:30
- C言語・C++・C# C++のcinの動作 5 2023/02/26 00:13
- 冷蔵庫・炊飯器 炊飯器について 圧力炊飯器とhi炊飯器でhiのみの方がシャッキリの食感に炊き上がりますか、圧力hi炊 2 2022/09/22 05:44
- Visual Basic(VBA) select caseの入れ子 3 2023/03/08 18:48
- Visual Basic(VBA) Excelのマクロについて教えてください。 3 2022/06/30 09:36
- Visual Basic(VBA) いつもお世話になります 下記のコード実行すると エラーになります わかるかた教えてくれませんでしょう 6 2022/12/17 15:01
- カラオケ 宮本浩次の音域ってLowG〜Hi Hi Bでかなり広いです? 1 2023/07/04 18:40
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
よくある 『 第○(1・2・3・4・...
-
月の第一週とは
-
毎○曜日って、使いますか?
-
エクセルで毎月第2週日の水曜日...
-
週2回のペースって だいたい何...
-
エクセル関数質問 セルA2にもし...
-
第○曜日であるかを取得する関数
-
C言語始めたてで先生にこれ進め...
-
土曜日の26時って何曜日の何時...
-
C言語でわからないところがが...
-
指定曜日にMsgBox表示は可能で...
-
毎週同じ曜日にラブホに行くと...
-
C言語での万年カレンダーのソー...
-
曜日を求めるプログラムはどう...
-
ユーザー定義の(aaa)
-
6月の第2 第4火曜日は何日...
-
何曜日が好きですか?
-
ランダムに数字選択
-
Javaについて。
-
一度会っただけで忘れられない...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
月の第一週とは
-
よくある 『 第○(1・2・3・4・...
-
エクセルで毎月第2週日の水曜日...
-
6月の第2 第4火曜日は何日...
-
毎○曜日って、使いますか?
-
週2回のペースって だいたい何...
-
燃えるゴミの日は何曜日ですか?
-
[Excel] ある日の曜日が当月の"...
-
【機械式腕時計のメカニズムの...
-
VBA。複数のChangeイベントをま...
-
Excelで第一〇曜日を求める方法...
-
日本語問題 昨日は何曜日ですか...
-
毎週同じ曜日にラブホに行くと...
-
曜日のなぞ
-
c言語の質問です。 ある月のカ...
-
ユーザー定義の(aaa)
-
今週とは何曜日から何曜日まで...
-
カレンダープログラム、曜日の...
-
曜日と曜の使い分けがわかりま...
-
西暦・月からカレンダーを表示
おすすめ情報