忍者ブログ
20080511~ 13と7と11の倍数の論理積は13と7と11の積の倍数である。 和ァ・・・
[3373] [3372] [3371] [3370] [3369] [3368] [3367] [3366] [3365] [3364] [3363]
ツェラーの公式

唯「縁・・・今日て・・・」

ゆずこ「じゃあためしにやってみるね?シャキーン」

唯「ゆずこのアホ圧が・・・消えた・・・!?」

縁「わーいメガネゆずちゃんだ~」

(めがねかけながらならわかるのか・・・どっかの完全反磁性とは違って古典的だな)

ゆずこ「まず、今日の日付を年、月、日にわけて入力するね?」
 

ゆずこ「今日は2月です!」

唯「いきなりどうした!?」

ゆずこ「1月と2月は前年の13月、14月とするのです。そこで、月その2の枠を設けて、
月が1か2だったら12を足し、それ以外ではそのまま表示するとします。
if文とor関数を使うね?」
 IF(OR(月=1,月=2),月+12,月)
縁「うんうん」

ゆずこ「ここで見落としがちですが、前年の13月、14月というのも重要です。
そこで、年その2の枠も設けて、月が1か2だったら、年その2には俊-1を表示し、
それ以外では何もしないで表示します。」

 IF(OR(B月=1,月=2),年-1,年)

唯「そうか、今日は2016年ではなく2015年の14月って設定になるんだな。」

ゆずこ「はい。(ドヤァ」

唯(うっとい)「うっとい」

ゆずこ「次に、年を上2桁と下2桁に分けます。床関数モジュロ演算を使います。
床関数っていうのは、たとえば13.5は13にするとかっていう関数なんだけどね、
マイナスの場合は注意が必要なやつなんだー」

縁「めんどうくさいさんだねー」

ゆずこ「そう。たとえば-13.4だったら、-13じゃなくて-14にしなきゃならない、
めんどくさーいお方なのです。
ただ、モジュロ演算がマイナスの数に対応してないコンピュータも多いみたいなんで、
いっそのこと常にプラスの数を扱う前提にしちゃえば、rounddown関数で済むんだよ。
rounddown(13.6,0)みたいに、0桁目で切り捨てを行えば、整数になるじゃん?」

唯「意外といいやつなのかもな。」

ゆずこ「では実際に、年その2の上2桁を計算してみるね。」
 rounddown(年その2/100,0)

ゆずこ「次はみなさんお待ちかねのモジュロ演算が出てくるよ!」

縁・唯「んぱんぱんぱんぱ

ゆずこ「年その2の下2桁”15”を表示するには、
2015を100で割ったあまりを表示すればいいわけです。午後3時のことを15時ともいうでしょ?
これは12で割ったときのあまりについてのモジュロ演算に相当するわけです。」
 mod(年その2,100)

ゆずこ「今度は、暦の調整をします。ユリウス暦かグレゴリオ暦かで変わってくるんだけど、
今はグレゴリオ暦だから、とりあえずグレゴリオ暦で話を進めます。」

ゆずこ「こーゆー式になるよ!」
 5*年2の上2桁+ROUNDDOWN(年2の上2桁/4,0)

縁「みんなの愛した?」

ゆずこ「ゆず式!」

唯「どうしてそうなるんだ?自信満々の一本か?」

ゆずこ「やめて、はずいからやめて/ω\」

唯(そこ恥ずいのか)


ゆずこ「さて、いよいよメインの曜日を求める式に入ります!\テッテレー!/」
 

縁「おおー!ちゃんと一週間7日の7で割ったあまりを使ってる~」

唯「最後に1足したのはなんでだ?」

ゆずこ「ゼロが出ないように」

唯「ゼロがでちゃダメなのか?」

ゆずこ「だめってこともないんだけど、
もし万が一曜日で割る割り算とかすることがあったらめんどくさいでしょ?
だから、0から6じゃなくて1から7にしたんだと思う。たぶん・・・
それとね、この式、wikiとちょっと違うんだー・・・

唯「あ、ほんとだ。5じゃなくて6足してる。なんで?」

ゆずこ「あとで話します・・・」

唯「おい・・・」


ゆずこ「ツェラーの公式を使わなくてもわかります!

唯「まあ、そりゃな、今日のことだもんな」

ゆずこ「ちがくて、そうじゃなくて~
Excelやいろんなコンピュータのツールには”シリアル値”みたいのがあってね、
日付と曜日が関連付けられてることが多いらしいんだ。」

ゆずこ「唯ちゃんも、22/7をエクセルで計算しようとして、
なぜか勝手に7月22日になっちゃうことってなかった?」

唯「あーあったあった。あれおせっかい機能だよなぁ」

ゆずこ「って思うじゃん?あれ、使いこなせるとすごく便利なんです」

ゆずこ「22/7をイコールなしで入力すると、
Excelが勝手に”7月22日と入力したいんだな”って勘違いして、
7月22日を表示しちゃって、それ以降普通の数値を入力しようとしても、
表示の仕方が日付のままになっちゃって困ると思うんだけど、
実は、整数が日付に直でリンクしてるのが原因なんだ。」

ゆずこ「たとえば、1って入力してから、表示を日付に変えるとするよ?そうしたら、
1900年1月1日が出るようになってるの。」

ゆずこ「1日を1として、1900年1月1日から9999年12月31日に相当する1~2958465までの数字が、
すべて対応するようにできてるんだ。
その上、この日付、シリアル値っていうんだけど、これは曜日にも対応できていて、
たとえば、9999年12月31日の曜日を知りたければ、weekday関数を使って調べることもできるし、
ユーザー定義の書式に”aaa”って入力して直接”金曜日”って知ることもできるよ」


唯「整数じゃなかったらどうなるんだ?」

ゆずこ「その日の何時何分何秒ってところまで出るよ。
1日24時間を1って整数に置き換えてるわけだからね。
たとえば1.5だったら1900/1/1の12:00:00だし、2.5だったら1900/1/2の12:00:00だし、
2.56789だったら1900/1/2の13:37:46になるね。
ホントはもっと細かくも計算してるんだけど、あんまり出したがらないみたい」



縁「アインシュタイン!」

唯「はい?」

縁「アインシュタインの生まれたときにいきたい!」

唯「これそういう機械じゃないぞ?

ゆずこ「でも・・・やってみる?0w0」

唯「だな」

ゆずこ「でも、アインシュタインは1900年より前に生まれてるから、
戻れるのは1900年の1月1日までだけどね?」

縁「やった~!」

唯「ついでにツェラーの公式の試運転もしたらいいんじゃないか?」

ゆずこ「おおー!やろうやろう!」


とべよおおおおおおお


縁「あれー?1日ずれるよ?なんでー

ゆずこ「な、なんですとー!?ちょっとバグ探してくるー!
ついてこなくていいですー!」

 date(y,m,d) year(シリアル値) month(シリアル値) day(シリアル値)

ゆずこ「見つけた!1900年の2月29日と3月1日の間に時空断層があるよ!

唯「まじでか!2/29と3/1の間か・・・なあ縁、1900年は平年だっけ?」

縁「んー、4年に一度うるう年があるでしょ?その例外が100年に一度あって、
さらにその”例外の例外”が400年に一度あるから、
2000年はうるう年だけど、1900年はうるう年じゃないはずだよ~?」

ゆずこ「え・・・なにそれ怖い話!?





ポリアネス
=========
ゆゆ式1期の本放送時にこれを書きたかったのですが、なんかだれてしまって、
再放送のこの時期まで延びてしまいました。でもチャンスがまた巡ってきてよかったです。

当時はまだ社会とつながりがあったので、
一般的にどういうものがウンチクなのかということが
今よりはまだ把握できていたんだと思います。

あれから3~5年くらい経って、ずっと一人で計算の趣味をしていたので
だんだん僕の中で当たり前の部分が増殖していき、「何をブログに書きたかったんだろう?」
と思っていた矢先に、久々に暦について人と話す機会があって
ああ、この話題、ブログ1個分あるんだ
って思い出せました。

人間はどうあがいても社会性昆虫なので、no botch good lifeです!
気づかないうちに病魔は進行していくので注意が必要です
ブログランキング・にほんブログ村へ
にほんブログ村

拍手[3回]

PR

コメント


コメントフォーム
お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード
  Vodafone絵文字 i-mode絵文字 Ezweb絵文字


忍者ブログ [PR]
カレンダー
04 2024/05 06
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
ブログランキング
ブログランキング参戦中
にほんブログ村 アニメブログ 深夜アニメへ
にほんブログ村 漫画ブログ SF・ファンタジー漫画へ
にほんブログ村 科学ブログ 自然科学へ
よかったらポチッとお願いします^^
最新CM
[12/30 buy steroids credit card]
[09/26 Rositawok]
[03/24 hydraTep]
[03/18 Thomaniveigo]
[03/17 Robertaverm]
最新TB
プロフィール
HN:
量子きのこ
年齢:
43
性別:
男性
誕生日:
1981/04/04
職業:
WinDOS.N臣T
趣味:
妄想・計算・測定・アニメ
自己紹介:
日記タイトルの頭についてるアルファベットは日記の番号です
26進数を右から読みます
例:H→7番目、XP→15(P)×26+23(X)=413番目。
A=0とする仕様につき一番右の桁はAにできませんのでご了承くださいズコー
バーコード
ブログ内検索
アクセス解析