网站地图
范文同学网


自动化 模具 机械 电子 通信 动画 英语范文 工程管理 金融范文 旅游管理 工业工程 生物工程 给排水范文 西门子PLC 历史学 三菱PLC
单片机 财务 会计 法律 行政 物理 物流范文 电子商务 制药工程 包装工程 土木工程 材料科学 汉语言范文 欧姆龙PLC 电压表 松下PLC
计算机 化工 数电 工商 食品 德语 国贸范文 人力资源 教育管理 交通工程 市场营销 印刷工程 机电一体化 数控范文 变电站 文化产业

  • 网站首页|
  • 文档范文|
  • 人工降重|
  • 职称文章发表|
  • 合作期刊|
  • 范文下载|
  • 计算机范文|
  • 外文翻译|
  • 免费范文|
  • 原创范文|
  • 开题报告

联系方式

当前位置:范文同学网 -> 免费范文 -> 电子专业 -> 免费文档范文--万年历设计(四)
自动化文档范文| 电子机电范文| 测控技术范文| 通信专业范文| 电气工程范文| 通信工程范文| 电子信息工程范文| 免费自动化范文| 免费电子范文| 免费电气范文| 通信范文
·电气自动化原创文章范文 ·学前教育专业原创文章范文 ·国际经济贸易原创文章范文 ·药学专业原创文章范文 ·英语专业原创文章范文 ·公共事业管理原创文章范文
·金融专业原创文章范文 ·广播电视编导原创文章范文 ·电子商务专业原创文章范文 ·法律专业原创文章范文 ·工商管理原创文章范文 ·汉语言文学原创文章范文
·人力资源管理原创文章范文 ·摄影专业原创文章范文 ·心理学专业原创文章范文 ·教育管理原创文章范文 ·市场营销原创文章范文 ·计算机专业原创文章范文
·物流管理专业原创文章范文 ·小学教育专业原创文章范文 ·行政管理专业原创文章范文 ·土木工程管理原创文章范文 ·财务会计专业原创文章范文 ·信息管理信息系统原创范文
·新闻学专业原创文章范文 ·眼视光技术原创文章范文 ·播音与主持原创文章范文 ·广告学专业原创文章范文 ·表演专业原创文章范文 ·动画专业原创文章范文
·视觉传达设计原创文章范文 ·数控技术专业原创文章范文 ·录音艺术原创文章范文 ·光机电应用技术原创范文 ·机电一体化原创文章范文 ·印刷技术专业原创文章范文
·动漫设计与制作原创范文 ·软件技术专业原创文章范文 ·书法学专业原创文章范文 ·应用电子技术原创文章范文 ·电子信息工程技术原创范文 ·机械专业原创文章范文
·酒店管理专业原创文章范文 ·旅游管理专业原创文章范文 ·文化产业管理专业原创范文 ·体育教育专业原创文章范文 ·通信工程专业原创文章范文 ·护理专业原创文章范文

本专业推荐:带proteus仿真程序的文档设计范文  原创文档范文点击进入 → 自动化单片机相关的原创文档范文

免费文档范文--万年历设计(四)

本文ID:LW5796 ¥
容易就可以从式(8)得到一个比公式(5)更简单的计算任意一天是星期几的公式: W = (4 - C mod 4) * 2 - 1 + (y-1) + [y/4] + [13 * (M+1) / 5] + d. (9) 式中,y是年份的后两位数字。 如果再考虑到取模运算不是四则运算,我们还可以把(4 - C mod 4) * 2进一步改写成只含四则运算的表达式。因为世纪数减一C除以4的商数q..
容易就可以从式(8)得到一个比公式(5)更简单的计算任意一天是星期几的公式:
 W = (4 - C mod 4) * 2 - 1 + (y-1) + [y/4] + [13 * (M+1) / 5] + d. (9)
 式中,y是年份的后两位数字。
 如果再考虑到取模运算不是四则运算,我们还可以把(4 - C mod 4) * 2进一步改写成只含四则运算的表达式。因为世纪数减一C除以4的商数q和余数r之间有如下关系:
 4q + r = C,
 其中r即是 C mod 4,因此,有:
 r = C - 4q
 = C - 4 * [C/4]. (10)
 则
 (4 - C mod 4) * 2 = (4 - C + 4 * [C/4]) * 2
 = 8 - 2C + 8 * [C/4]≡ [C/4] - 2C + 1 (mod 7). (11)
 把式(11)代入(9),得到:
 W = [C/4] - 2C + y + [y/4] + [13 * (M+1) / 5] + d - 1. (12)
 这个公式由世纪数减一、年份末两位、月份和日数即可算出W,再除以7,得到的余数是几就表示这一天是星期几,唯一需要变通的是要把1月和2月当成上一年的13月和14月,C和y都按上一年的年份取值。因此,人们普遍认为这是计算任意一天是星期几的最好的公式。这个公式最早是由德国数学家克里斯蒂安·蔡勒(Christian Zeller, 1822- 1899)在1886年推导出的,因此通称为蔡勒公式(Zeller’s Formula)。为方便口算,式中的[13 * (M+1) / 5]也往往写成[26 * (M+1) / 10]。
 现在仍然让我们来算2004年5月1日的星期,显然C=20,y=4,M=5,d=1,代入蔡勒
 公式,有:
 W = [20/4] - 40 + 4 + 1 + [13 * (5+1) / 5] + 1 - 1
 = -15.
 注意负数不能按习惯的余数的概念求余数,只能按数论中的余数的定义求余。为了方便计算,我们可以给它加上一个7的整数倍,使它变为一个正数,比如加上70,得到55。再除以7,余6,说明这一天是星期六。这和实际是一致的,也和公式(2)计算所得的结果一致。
 最后需要说明的是,上面的公式都是基于公历(格里高利历)的置闰规则来考虑的。对于儒略历,蔡勒也推出了相应的公式是:
 W = 5 - C + y + [y/4] + [13 * (M+1) / 5] + d - 1. (13)
 ========================================
 (2005-10-20 22:25:00) --------(4575252)
 计算任何一天是星期几的几种算法近日在论坛上看到有人在问星期算法,特别整理了一下,这些算法都是从网上搜索而来,算法的实现是我在项目中写的。希望对大家有所帮助。
 1:常用公式
 W = [Y-1] + [(Y-1)/4] - [(Y-1)/100] + [(Y-1)/400] + D
 Y是年份数,D是这一天在这一年中的累积天数,也就是这一天在这一年中是第几天。
 2:蔡勒(Zeller)公式
 w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1
 公式中的符号含义如下,w:星期;c:世纪;y:年(两位数); m:月(m大于等于3,小于等于14,即在蔡勒公式中,某年的1、2月要看作上一年的13、14月来计算,比如2003年1月1日要看作2002年的13月1日来计算);d:日;[ ]代表取整,即只要整数部分。相比于通用通用计算公式而言,蔡勒(Zeller)公式大大降低了计算的复杂度。
 3:对蔡勒(Zeller)公式的改进
 相比于另外一个通用通用计算公式而言,蔡勒(Zeller)公式大大降低了计算的复杂度。不过,笔者给出的通用计算公式似乎更加简洁(包括运算过程)。现将公式列于其下:
 W=[y/4]+r (y/7)-2r(c/4)+m’+d
 公式中的符号含义如下,r ( )代表取余,即只要余数部分;m’是m的修正数,现给出1至12月的修正数1’至12’如下:(1’,10’)=6;(2’,3’,11’)=2;(4’,7’)=5;5’=0;6’=3;8’=1;(9’,12’)=4(注意:在笔者给出的公式中,y为润年时1’=5;2’=1)。其他符号与蔡勒(Zeller)公式中的含义相同。
 4:基姆拉尔森计算公式
  W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400) mod 7
 在公式中d表示日期中的日数,m表示月份数,y表示年数。
 注意:在公式中有个与其他公式不同的地方:
 把一月和二月看成是上一年的十三月和十四月,例:如果是2004-1-10则换算成:2003-13-10来代入公式计算。
8.测试结果
 通过纯DOS界面显示调试结果,可以显示公农历日期、星期、节气,天干地支。
测试结果图:

 

 

 

 

9.部分源代码
#include<iostream>
#include<iomanip>
#include<fstream>
#include<string>
using namespace std;
#define FIRSTYEAR 1936  /* 计算起点年*/
#define LASTYEAR  2031  /* 计算末点年*/
SolarShow(int ,int ,string);
week(int,int);
static int AccDays[2][15] ={{ 0,0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334,365,396},
{0, 0,31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, 366, 397}};
void main()
{  
 int Year;  //公历年
    int Month;//公历月
    int cCmd,c;
   char buf[80];
   string sFile="D:\\文件\\rili.txt";
begin:
cout<<"\n\n\t                    简易万年历\n\t=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*="; 
cout <<

首页 上一页 1 2 3 4 5 6 7 下一页 尾页 4/8/8

免费文档范文--万年历设计(四)相关范文
上一篇:免费文档范文--基于单片机的LED汉.. 下一篇:免费文档范文--点阵电子显示屏
点击查看关于 免费 文档范文 --万年历 设计 的相关范文题目 【返回顶部】
精彩推荐
电气工程自动化原创范文  电子商务原创文章范文
人力资源专业原创文章范文 土木工程原创文章范文
工商管理专业原创范文    药学专业原创范文
汉语言文学专业原创范文  会计专业原创文章范文
计算机技术原创文章范文  金融学原创文章范文
法学专业原创文章范文   市场营销专业原创范文
信息管理专业原创文章范文 学前教育专业原创范文
公共事业管理专业原创范文 英语专业原创范文
教育管理专业原创范文   行政管理专业原创范文
热门范文

关于我们 | 联系方式 | 范文说明 | 网站地图 | 免费获取 | 钻石会员 | 硕士文章范文


范文同学网提供文档范文,原创文章范文,网站永久域名www.lunwentongxue.com ,lunwentongxue-范文同学网拼音首字母组合

本站部分文章来自网友投稿上传,如发现侵犯了您的版权,请联系指出,本站及时确认并删除  E-mail: 17304545@qq.com

Copyright@ 2009-2024 范文同学网 版权所有