(現在 過去ログ34 を表示中)

HOME HELP 新規作成 新着記事 トピック表示 ファイル一覧 検索 過去ログ

[ 最新記事及び返信フォームをトピックトップへ ]

■4782 / inTopicNo.1)  「年月日」の誤差を求める
  
□投稿者/ 渡邊 -(2009/06/21(Sun) 18:25:24)
    2009/06/21(Sun) 18:26:21 編集(投稿者)

    現在、日時や曜日の誤差を求める内容を試作、来月(7月)から業務で
    活用出きればと思っています。
    勝って言ってすみませんが、ご教授お願いします。
    「桐ver8,sp7」

    @[本日の年月日文字列]の年月日(開始時に自動生産「♯年月日」)を

    A[A元号文字列]に「平成」「""」、まれに「昭和」が有り得る。値集合で入力。
    B[B 年 整数]に値入力
     ◎「""」の場合は、西暦4桁対応可能にしたい(項目追加でも良いです)
    C[C 月 整数]に値入力
    D[D 日 整数]に値入力

    [E 整数]に@の「年」とBの「年」の前後誤差を求め
     「0」となった場合は、差無しで、整数0を返したい。
    (""ではなく、「0」を返す。後に横合計します)
    「1」の差となった場合は、整数で10を返したい。
    「2」の差となった場合は、整数で20を返したい。
    「3」の差となった場合は、整数で30を返したい。
    「4」の差となった場合は、整数で40を返したい。
    「5」の差となった場合は、整数で50を返したい。
    「6」の差以上となった場合は、整数60を返したい。
    (「7」、「8」・・・となった場合でも整数60を返したい)

    [F 整数]に@の「月」とC「月」の前後誤差を求め
     「0」となった場合は、差無しで、整数0を返したい。
    (""ではなく、「0」を返す。後に横合計します)
    「1」の差となった場合は、整数で5を返したい。
    「2」の差となった場合は、整数で10を返したい。
    「3」の差となった場合は、整数で15を返したい。
    「4」の差となった場合は、整数で20を返したい。
    「5」の差となった場合は、整数で25を返したい。
    「6」の差以上となった場合は、整数で30を返したい。
    (「7」、「8」・・・となった場合でも整数30を返したい。

    [G 整数]に@の「日」とD「日」の前後誤差を求め
     「0」となった場合は、差無しで、整数0を返したい。
    (""ではなく、「0」を返す。後に横合計します)
    「1」の差となった場合は、整数で1を返したい。
    「2」の差となった場合は、整数で2を返したい。
    「3」の差となった場合は、整数で3を返したい。
    〜〜
    〜〜
    「12」の差となった場合は、整数で12を返したい。
    「13」の差となった場合は、整数で13を返したい。
    「15」の差以上となった場合は、整数で15を返したい。
    (「16」、「17」・・・となった場合でも整数で15を返したい。

    またまた、説明うまく出来ず長文となってしまいました。
    申し訳御座いません。宜しくお願いします。

    どうしても、計算式を書くとかなり長くなり間違い発見が困難、
    さらには結果ミスとなってしまいそうで。
    失敗経験済み
引用返信 [メール受信/OFF] 削除キー/
■4783 / inTopicNo.2)  Re[1]: 「年月日」の誤差を求める
□投稿者/ 今村 誠 -(2009/06/21(Sun) 21:40:51)
    桐の体験版を管理工学ホームページでインストールして
    下さい。
    大晦日と元旦は1日の違いですが相当の違いがあるように
    思います。

引用返信 [メール受信/OFF] 削除キー/
■4784 / inTopicNo.3)  Re[1]: 「年月日」の誤差を求める
□投稿者/ Kanasy.Ge -(2009/06/21(Sun) 23:25:36)
    No4782に返信(渡邊さんの記事)

    これを扱うには諸々の前提が明示されていなければなりません。

    まず「本日の年月日文字列]の年月日(開始時に自動生産「♯年月日」)を」とありますが、これは環境設定で随分異なります(日時型・時間型のタブ参照)。これを明記しないと、(a)西暦と(b)和暦のどちらを初期値として処理するのか等が、決められません。

    [本日]項目について、「開始時に自動生産」とあるのは、恐らく項目属性の挿入初期値式を意味していると思います。項目計算式に設定してしまうと、置換等で再計算されてしまうので、それが妥当でしょう。

    [年]の入力操作について、(c)[元号]項目が空ならば西暦と見なすやり方と、(d)[元号]項目以前に[年]の入力値が4桁ならば自動的に西暦と見なすようなやり方の両方が考えられます。どちらが使いやすいか、ですね。

    [換算年]の項目計算式
    (a+c)#条件選択([元号],#西暦年([元号]+#str([年])+"年"),1,[年])
    (a+d)#条件選択([年]>1900,[年],1,#西暦年([元号]+#str([年])+"年"))
    (b+c)#条件選択([元号],[年],1,#元号年(#str([年])))
    (b+d)#条件選択([年]>1900,#元号年(#str([年])),1,[年])

    月について
    2009年12月と2010年1月の差は、常識的には(e)「11」ではなく(f)「1」と考えると思うのですが、どうでしょう?

    日についても
    2009/6/21と2009/7/21の差を、常識的には(g)「0」ではなく(h)「30」と考えると思うのですが、どうでしょう?

    そのためには、入力年月日を文字列として合体させておく必要があります。
    [年月日str]の項目計算式
    #str([換算年])+"年"+#str([月])+"月"+#str([日])+"日"
    ※もし和暦デフォルトなら、上記式の先頭に [元号]+ が付く。

    [差年]の項目計算式
    #小(60,#絶対値(#年数([本日],[年月日str])*10))
    または #小(60,#絶対値(#年([本日])-[年])*10)

    [差月]の項目計算式
    (f)#小(30,#絶対値(#月数([本日],[年月日str])*5))
    (e)#小(30,#絶対値(#月([本日])-[月])*5)

    [差日]の項目計算式
    (h)#小(15,#絶対値(#日数([本日],[年月日str])))
    (g)#小(15,#絶対値(#日([本日])-[日]))


    ps
    渡邉さんは絶対差がお好きですね。私の脳内では「ABS渡邉さん」になっています。(^^;)

引用返信 [メール受信/OFF] 削除キー/
■4785 / inTopicNo.4)  Re[2]: 「年月日」の誤差を求める
□投稿者/ 渡邊 -(2009/06/21(Sun) 23:31:39)
    No4783に返信(今村 誠さんの記事)
    > 桐の体験版を管理工学ホームページでインストールして
    > 下さい。
    体験版イン あっ!
    大変!桐8が削除された様で??
    CDは会社だった。

    今村さん、早々ありがとう御座います。

    ちょっと何時ものようなに遠まわりになってしまいますが。

    [本日の年月日文字列]を日時データに変換し、A〜Dを結合し日時データに変換

    ♯年([年月日 日時データ],[登録日 日時データ])
    ♯月([年月日 日時データ],[登録日 日時データ])
    ♯日([年月日 日時データ],[登録日 日時データ])

    で、と思ったら、マイナスが付いてしまう。
    常にプラスで返せれれば良いような?


引用返信 [メール受信/OFF] 削除キー/
■4786 / inTopicNo.5)  Re[3]: 「年月日」の誤差を求める
□投稿者/ 今村 誠 -(2009/06/22(Mon) 00:12:23)
    2009/06/22(Mon) 00:26:39 編集(投稿者)

    渡邊さんこんにちは
    > [本日の年月日文字列]を日時データに変換し、A〜Dを結合し日時データに変換
    年月日をばらばらのデータで持つと、例えば2月29日や6月31日が必ず
    入力されます。
     そのときに日時値生成エラーが発生してテーブルの再定義が出来なかったり
    計算式に誤りが生じます。
     時間の時もそうですが、時間の入力には時間型、日付の入力には日時型
    と桐が用意したデータ型を素直に使った方が、間違いは起きません。
     日時型を計算式で絞り込みに便利なように[年][月][日]と分解するのは
    それぞれの方の自由だと思います。
     体験版をインストールされたのであれば、表を再定義で開くと、下記の
    ような式が登録してあるのは解ると思います。

    #小(6,#年数(#小([年月日],[登録日]),#大([年月日],[登録日])))*10

    こちらの方に変更して下さい。年末年始を渡邊さんの希望の年数が表示で
    きると思います。↓↓

    #小(6,#年(#大([年月日],[登録日]))-#年(#小([年月日],[登録日])))*10

    殆ど前の時間の時と同じ考え方です。
     しかし最初のコメントで書いたように、経過日というとらえ方をすれば、
    Kanasy.Geさんもお書きのように、#abs(#月数( や #abs(#年数(
    がいいのじゃないでしょうか。

    私のサンプルは渡邊さんの条件を忠実に再現したつもりです。
引用返信 [メール受信/OFF] 削除キー/
■4794 / inTopicNo.6)  Re[2]: 「年月日」の誤差を求める
□投稿者/ 渡邊 -(2009/06/22(Mon) 17:48:43)
    No4784に返信(Kanasy.Geさんの記事)
    > ■No4782に返信(渡邊さんの記事)
    >
    > これを扱うには諸々の前提が明示されていなければなりません。
    >
    > まず「本日の年月日文字列]の年月日(開始時に自動生産「♯年月日」)を」とありますが、これは環境設定で随分異なります(日時型・時間型のタブ参照)。これを明記しないと、(a)西暦と(b)和暦のどちらを初期値として処理するのか等が、決められません。

    皆々様大変お世話になっております。

    開始時に自動生産「♯年月日」ですが、入力ホームに開始ボタン
    (文字列データに「♯年月日」を)を押すことにより挿入。

    月、日について
    その通りですね、やはり「本日、日時データ」から
    「入力 日時データ」同士で差を求めるが正論ですね。
    でも、
    「本日、日時データ」>「入力 日時データ」の場合は良いとしても

    その逆で「本日、日時データ」<「入力 日時データ」となると
    結果に「-」がついてきてしまう。
    あっれ!なんか、文がまとまってなさそう。

    (今朝方までPCの前にいたもので・・・、あと2時間ほどで帰社だ)

    > ps
    > 渡邉さんは絶対差がお好きですね。私の脳内では「ABS渡邉さん」になっています。(^^;)

    言葉にして相手に伝われば、計算式も出来る。などと自己暗示してます。
    でも、現実は・・・。
    お願いします。
引用返信 [メール受信/OFF] 削除キー/
■4795 / inTopicNo.7)  Re[3]: 「年月日」の誤差を求める
□投稿者/ Kanasy.Ge -(2009/06/22(Mon) 22:15:42)
    No4794に返信(渡邊さんの記事)

    見事なまでに話が噛み合っていないようです。(;_;)

    私が書いたのは、例えば
    本日日付を取得するに際して、#年月日の返り値は、環境設定で西暦優先にも和暦優先にもできるので、渡邉さんの桐の設定がその辺りどのようになっているのかを書かないと、第3者には判りませんよ、ということとか、

    >その通りですね、やはり「本日、日時データ」から
    >「入力 日時データ」同士で差を求めるが正論ですね。

    私は、データ型を、文字列型とか年・月・日単独ではなく、日時型にすべきだとは一言も言ってはおりません(もちろん日時型にすべきではないと言うことでもありませんが)。
    お尋ねしたのは、例えば2009年12月と2010年1月の月差を「1」とするか「11」とするか、のようなことです。その結果如何で、関数として「#月」を使うか「#月数」を使うべきかが決まるので・・・とか、

    >その逆で「本日、日時データ」<「入力 日時データ」となると
    >結果に「-」がついてきてしまう。

    そのようにマイナスになるのを避けるために、私が挙げた式には全て「#絶対値」(別名#ABS)を付けてあったのですが、そしてそのノリで「ABS渡邉さん」云々の追伸を付記したのですが・・・・

    >お願いします。

    こうまで反応がずれまくると、お願いされても脱力感が・・・・。orz

引用返信 [メール受信/OFF] 削除キー/
■4798 / inTopicNo.8)  解決に向けて
□投稿者/ T.Samura -(2009/06/23(Tue) 21:33:40)
    No4782に返信(渡邊さんの記事)

     渡邊さんへ。直接の回答ではありませんが、目的を果たす為の方向を述べます。

     アプリケーション作成をSE部とプログラム部とに分ければ、渡邊さんの質問はSE部は済んでいてプログラム部をどう実装するかに思えます。

     しかし回答側から見るとSE部に「?」が多く、正直何をしたいか汲み取れず、返信しづらい状況です。金利計算や給与計算とも違うようです。経過日数を求めているようですが、日数・月数・年数などが独自解釈なので「なぜ」が付いて回ります。なぜ「−」は意味があるのにいけないのか(絶対値は符号情報が失われる)、年を評価しない月の評価及び月を評価しない日の評価は無意味に近いが?、なぜ一定数以上の差は一定値にするのか、値を変換した数値をどう使うのか、、、。まるで日時関数が用意されていない言語でガリガリに計算式で日時関数の近似値を求めていたアプリケーションのソースを桐に移植しているみたいです。
     
     差し支え無い範囲でSE部の説明、つまり「入力の年月日はどういう種類のデータか」「経過日数から導く数値でどういう出力をしたいか」を示して頂ければもっと簡潔な方法で済むかもしれません。#年数()・#月数()・#日数()を使ったほうが楽だと思います。

引用返信 [メール受信/ON] 削除キー/
■4827 / inTopicNo.9)  Re[4]: 「年月日」の誤差を求める
□投稿者/ 渡邊 -(2009/06/25(Thu) 22:30:49)
    2009/06/25(Thu) 23:36:58 編集(投稿者)
    2009/06/25(Thu) 23:36:49 編集(投稿者)
    2009/06/25(Thu) 23:36:44 編集(投稿者)

    No4795に返信(Kanasy.Geさんの記事)
    > ■No4794に返信(渡邊さんの記事)

    > 見事なまでに話が噛み合っていないようです。(;_;)

    大変申し訳御座いません。せっかく的当たり近くなりつつご指導頂いているにも
    かかわらず、よく整理しないまま質問をしまた。
    また、今回返信後れた件につきまして、桐9体験版をインストール、桐8再インする
    ことに手間取ったもので。(言い訳ですがCD、行方不明で部屋中捜索)

    > 私が書いたのは、例えば
    > 本日日付を取得するに際して、#年月日の返り値は、環境設定で西暦優先にも和暦優先 にもできるので、渡邉さんの桐の設定がその辺りどのようになっているのかを書かない と、第3者には判りませんよ、ということとか、
     
    はい、「和暦優先」としています。


    > 私は、データ型を、文字列型とか年・月・日単独ではなく、日時型にすべきだとは
     一言も言ってはおりません(もちろん日時型にすべきではないと言うことでもあり
     ませんが)。

    はい、すみませんでした。


    > お尋ねしたのは、例えば2009年12月と2010年1月の月差を「1」とするか「11」とす
     るか、のようなことです。その結果如何で、関数として「#月」を使うか「#月数」を
     使うべきかが決まるので・・・とか、月については、

    はい、月差「1」とすることとしています。

    日については、2009/6/25と2009/7/25の差を、矛盾でしょうが「0」とすることとして
    います。
    年は別としても、「月」、「日」は、差が少ないもので求める。
    月をまたぐ場合でも同様(6月30日と7月1日は「1」)

    > こうまで反応がずれまくると、お願いされても脱力感が・・・・。orz

    重ねて大変申し訳御座いませんでした。


引用返信 [メール受信/OFF] 削除キー/
■4828 / inTopicNo.10)  Re[2]: 解決に向けて
□投稿者/ 渡邊 -(2009/06/25(Thu) 22:37:17)
    No4798に返信(T.Samuraさんの記事)
    > ■No4782に返信(渡邊さんの記事)
    >
    >  渡邊さんへ。直接の回答ではありませんが、目的を果たす為の方向を述べます。
    いいえ、いいえ ありがとう御座います。
    大変ご迷惑お掛けしています。

     
    >  差し支え無い範囲でSE部の説明、つまり「入力の年月日はどういう種類のデータか」「経過日数から導く数値でどういう出力をしたいか」を示して頂ければもっと簡潔な方法で済むかもしれません。#年数()・#月数()・#日数()を使ったほうが楽だと思います。

    今までのデータを取り扱う上でも「和暦」で進めて行きたいと思っております。
    重ねてお迷惑お掛けしております。

引用返信 [メール受信/OFF] 削除キー/
■4836 / inTopicNo.11)  Re[5]: 「年月日」の誤差を求める
□投稿者/ うにん -(2009/06/26(Fri) 13:05:51)

    > 日については、2009/6/25と2009/7/25の差を、矛盾でしょうが「0」とすることとして
    > います。
    > 年は別としても、「月」、「日」は、差が少ないもので求める。
    > 月をまたぐ場合でも同様(6月30日と7月1日は「1」)

    これだと最初の発言
    >(「16」、「17」・・・となった場合でも整数で15を返したい。
    と矛盾してますから答えが出ませんよ?
    こっちに従えば30と1の差は29だから「15」でないとおかしい。
引用返信 [メール受信/OFF] 削除キー/
■4838 / inTopicNo.12)  Re[6]: 「年月日」の誤差を求める
□投稿者/ 渡邊 -(2009/06/26(Fri) 16:32:29)
    No4836に返信(うにんさんの記事)

    > と矛盾してますから答えが出ませんよ?
    > こっちに従えば30と1の差は29だから「15」でないとおかしい。

    はい、お手数おかけしております。
    言葉(文字)を変えて、もとえ

    @ 「月」は1月から12月までが循環していると考えて、入力した「月」と本日の「月」
      との差が少ない方で返す。
      例:入力した「月」が1月、本日の「月」が12月の場合は、1月(「1」の差として
      返す。
    A 「日」を求めるるにあたり、まず、「あり得ない日」であるか否かを入力した「月」
      との関係で判定し、「あり得ない日」を入力した場合には、必ず最大の「15」とす
      る。
      例:入力した「日」が31日の場合、入力した「月」が4月であれば、「あり得ない
      日」となるが、5月であれば「あり得ない日」とはならない。
      ただし、「2月29日」と入力した場合は、入力した「年」が閏年であるか否かにか
      かわらず、「あり得ない日」ではないものとして求める。
    B 「日」は、1日から28日、29日、30日又は31日までの日が循環していると考えて、
      入力した日と当日の日との差が少ないもので返す。
      この場合、入力した「月」と本日の「月」が同じ場合には当該月の日数を、入力
      した「日」と本日との「日」が異なる場合には月末の日をまたぐ起点となる「日」
      の属する月の日数を基準として求める。
      例:入力した「日」が「4月30日」で、本日の「日」が「5月1日」の場合、入力し
      た「4月」は30日までであることから、「日」の差は1日となり「1」を返す。
     
    またまた、長文になってしまいました。
引用返信 [メール受信/OFF] 削除キー/
■4839 / inTopicNo.13)  Re[6]: 「年月日」の誤差を求める 追加
□投稿者/ 渡邊 -(2009/06/26(Fri) 17:03:08)
    2009/06/26(Fri) 19:51:35 編集(投稿者)
    2009/06/26(Fri) 18:49:21 編集(投稿者)
    2009/06/26(Fri) 17:05:51 編集(投稿者)
    2009/06/26(Fri) 17:05:43 編集(投稿者)

    No4836に返信(うにんさんの記事)
    >
    >>日については、2009/6/25と2009/7/25の差を、矛盾でしょうが「0」とすることとして
    >>います。
    >>年は別としても、「月」、「日」は、差が少ないもので求める。
    >>月をまたぐ場合でも同様(6月30日と7月1日は「1」)
    >
    > これだと最初の発言
    > >(「16」、「17」・・・となった場合でも整数で15を返したい。
    > と矛盾してますから答えが出ませんよ?
    > こっちに従えば30と1の差は29だから「15」でないとおかしい。

    具体例:
     入力値      本日       求めたい値   参考
                       年  月  日 
    2008年 1月 1日  2008年 1月30日  0  0  2
    2008年12月 1日  2008年 1月 1日  0  5  0
    2007年12月31日  2008年 1月 4日 10  5  4
    2008年 2月31日  2008年 3月 2日  0  5 15  「あり得ない日」
    2008年 4月31日  2008年 3月 2日  0  5 15  「あり得ない日」
    2008年 2月29日  2008年 3月 2日  0  5  2
    2007年 2月29日  2008年 3月 2日 10  5  2
    2007年 2月29日  2007年 3月 2日  0  5  2
    2008年 5月 1日  2008年 2月18日  0 15 12  「2月29日まであるとして」
    2007年 5月 1日  2007年 2月18日  0 15 11   「2月は28日まであるとして」

    あり得ない日=あり得ない算術?

    改行レスありがとう。

    やはり・・・・。

引用返信 [メール受信/OFF] 削除キー/
■4840 / inTopicNo.14)  Re[1]: 「年月日」の誤差を求める
□投稿者/ 通りすがり -(2009/06/26(Fri) 17:59:18)
    フォームでも良いのかな?

    "年"、"月"、は簡単として
    "日"はprocで自作関数作って計算したら解りやすいかも

    [入力値]と[本日]の"日"が大きい方の日付から1日ずつ進めて、小さい方の"日"が出るまでを数える→A
    大きい方の"日"から小さい方の"日"を引く→B
    取り敢えず、AとBの小さい方を利用

    入力後イベントでprocを呼んで値を返す

    どうせフォームなら全部自作関数で良いんだけど

    走り書きで検証してない…(^_^;)
引用返信 [メール受信/OFF] 削除キー/
■4841 / inTopicNo.15)  Re[2]: 「年月日」の誤差を求める
□投稿者/ 渡邊 -(2009/06/26(Fri) 18:45:47)
    No4840に返信(通りすがりさんの記事)
    > フォームでも良いのかな?
    >
    > "年"、"月"、は簡単として
    > "日"はprocで自作関数作って計算したら解りやすいかも
    >
    > [入力値]と[本日]の"日"が大きい方の日付から1日ずつ進めて、小さい方の"日"が出るまでを数える→A
    > 大きい方の"日"から小さい方の"日"を引く→B
    > 取り敢えず、AとBの小さい方を利用
    >
    > 入力後イベントでprocを呼んで値を返す
    >
    > どうせフォームなら全部自作関数で良いんだけど
    >
    > 走り書きで検証してない…(^_^;)
    とんでもないです、見聞していただいただけでもありがたいです。
    算数、数学的では解決の出来ない事に気がついたような。
    あまりにも、特異的な(例外、決まりごと)事で。
    入力値の一覧表などを作成し、手作業でと思っています。
    (少々、公文書的な面もありますので)

引用返信 [メール受信/OFF] 削除キー/
■4842 / inTopicNo.16)  (余談)表示のズレ
□投稿者/ Kanasy.Ge -(2009/06/26(Fri) 19:36:50)
    No4839に返信(渡邊さんの記事)

    余談です。
    数字もスペースもすべて全角で書き込むと表示はズレないはずです。
    (但し、固定ピッチフォントでブラウズする場合に限りですが)

    (例)              年  月  日
    2008年12月 1日  2008年 1月 1日   0  5  0
    2007年12月31日  2008年 1月 4日  10  5  4
    2008年 2月31日  2008年 3月 2日   0  5 15

    ※「連続する複数の半角スペースは一つの半角スペースに置換される」
     からだと経験的に想像しています。

引用返信 [メール受信/OFF] 削除キー/
■4853 / inTopicNo.17)  誤った「年月日」を元に計算したい
□投稿者/ 今村 誠 -(2009/06/28(Sun) 12:37:54)
    2009/06/28(Sun) 18:35:48 編集(投稿者)
    2009/06/28(Sun) 16:46:15 編集(投稿者)
    2009/06/28(Sun) 12:41:56 編集(投稿者)

    渡邊さんのデータから計算は不可能でしょう。
    仕事に必要ないなら、結論は出たので解決済みにして下さい。

    解決したいなら、背景を説明し何故必要かが解るように説明して
    下さい。

    また入力している表やフォームがあれば、文書でなくサンプルとして
    アップして下さい。

    サンプルを作りたくないなら一括で作っても良いですよ
    年は西暦として何年から作成をし何年まで作ればいいですか。
    また未定義値や「0」はありませんか?
    月は1月から12月迄でそれ以上の月や未定義値や「0」はありませんか?
    日は1日から31日迄でそれ以上の月や未定義値や「0」はありませんか?

    誤った年や誤った月や誤った日をどう処理したいかを書かないと絶対に
    解決できません。

    年が未定義の場合 今年にする
    月が未定義の場合 1月にする
    日が未定義の場合 今日にする
    年が「0」の場合 1900年にする
    月が「0」の場合 12月にする
    日が「0」の場合 月末にする
    年が2099年の場合 1999年にする
    月が「13」月の場合12月にする
    日が「2月30日」の場合3月1日とする

    貴方のルールは誰にも解りません。
    まず日付を普通の日に直すことが解決の第1歩です。

    一括処理"wata.cmd"を実行して下さい。
引用返信 [メール受信/OFF] 削除キー/
■4854 / inTopicNo.18)  Re[7]: 「年月日」の誤差を求める
□投稿者/ T.Samura -(2009/06/28(Sun) 16:22:38)
    No4838に返信(渡邊さんの記事)

     No4838 のアルゴリズムで全てでしょうか?

     最初の No4782 の例とは似て非なるものなので困惑します。前提「年は年、月は月、日は日、の差から値を導く」が崩れています。複数の回答者の方が No4782 の条件を満たす返信をされているのに「解決済み」になっていないのは、渡邊さんの求めたい値が出ない例外が発生していると思えます。

     No4838 の(1)から(3)のアルゴリズムは年の評価が無いので No4839 の具体例9行目10行目の閏年処理には対応しきれません。No4838 に忠実に沿って計算式を作っても「いや○○の場合だと△△にならない、□□にしたい」として新たな具体例や条件を加えられ解決に至らない恐れがあります。
     SE部分の相談でなく、SE部分から導かれるアルゴリズムに対しては矛盾や破綻が無ければ計算式の実装はできるはずですが、それを論理的に記述されないと必然的に十分な返答もできません。

     察するに業務での使用なので背景やサンプルデータは出しにくいようですが、矛盾や破綻の無いアルゴリズムを示していただくか、最終的な値を出す仕様やサンプルデータを公開されない限り解決は困難かと思います。

引用返信 [メール受信/OFF] 削除キー/
■4856 / inTopicNo.19)  Re[3]: 「年月日」の誤差を求める
□投稿者/ 通りすがり -(2009/06/28(Sun) 18:53:26)
    2009/06/28(Sun) 19:03:22 編集(投稿者)

    >> [入力値]と[本日]の"日"が大きい方の日付から1日ずつ進めて、小さい方の"日"が出るまでを数える→A
    ああ、ここは、#日数( ) って関数応用すれば出来るね、ゴメン…
引用返信 [メール受信/OFF] 削除キー/
■4858 / inTopicNo.20)  計算式は出来ぬこ事。
□投稿者/ 渡邊 -(2009/06/28(Sun) 22:00:17)
    2009/06/28(Sun) 22:04:54 編集(投稿者)
    No4853に返信(今村 誠さんの記事)
    > 2009/06/28(Sun) 18:35:48 編集(投稿者)
    > 2009/06/28(Sun) 16:46:15 編集(投稿者)
    > 2009/06/28(Sun) 12:41:56 編集(投稿者)
    >
    > 渡邊さんのデータから計算は不可能でしょう。
    > 仕事に必要ないなら、結論は出たので解決済みにして下さい。
    >
    > 解決したいなら、背景を説明し何故必要かが解るように説明して
    > 下さい。
    >
    > また入力している表やフォームがあれば、文書でなくサンプルとして
    > アップして下さい。
    >
    > サンプルを作りたくないなら一括で作っても良いですよ
    > 年は西暦として何年から作成をし何年まで作ればいいですか。
    > また未定義値や「0」はありませんか?
    > 月は1月から12月迄でそれ以上の月や未定義値や「0」はありませんか?
    > 日は1日から31日迄でそれ以上の月や未定義値や「0」はありませんか?
    >
    > 誤った年や誤った月や誤った日をどう処理したいかを書かないと絶対に
    > 解決できません。
    >
    > 年が未定義の場合 今年にする
    > 月が未定義の場合 1月にする
    > 日が未定義の場合 今日にする
    > 年が「0」の場合 1900年にする
    > 月が「0」の場合 12月にする
    > 日が「0」の場合 月末にする
    > 年が2099年の場合 1999年にする
    > 月が「13」月の場合12月にする
    > 日が「2月30日」の場合3月1日とする
    >
    > 貴方のルールは誰にも解りません。
    > まず日付を普通の日に直すことが解決の第1歩です。
    >
    > 一括処理"wata.cmd"を実行して下さい。

    はい 官庁内容の命令は計算式では図れない事ばかりで
    それをこの質問掲示坂に・・・・・・・・・・・。

    申し訳御座いませんでした。
    済みませんでした。
    皆様方、大変申し訳御座いませんでした。
解決済み!
引用返信 [メール受信/OFF] 削除キー/

次の20件>

トピック内ページ移動 / << 0 | 1 >>

[このトピックに返信]
Mode/  Pass/

HOME HELP 新規作成 新着記事 トピック表示 ファイル一覧 検索 過去ログ

- Child Tree -
- Antispam Version -