亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Visual Basic的星期計算問題程序設(shè)計與實現(xiàn)

        2018-10-20 12:28:33吳川匯
        數(shù)碼設(shè)計 2018年6期

        摘要:星期計算計算問題是學(xué)習(xí)生活常見的一類數(shù)學(xué)問題,該問題需要考慮的因素較多、計算較為復(fù)雜。該文首先對星期計算問題進(jìn)行了詳細(xì)介紹,然后使用Visual Basic程序語言實現(xiàn)了該問題的數(shù)學(xué)計算方法,包括交互界面的設(shè)計、用戶輸入數(shù)據(jù)的合法性驗證、以及具體星期計算程序?qū)崿F(xiàn)等。實現(xiàn)的程序能方便地與用戶進(jìn)行交互,可應(yīng)用于人們的日常生活中,解決人們的星期查詢需求。

        關(guān)鍵詞:Visual Basic;星期計算問題;程序設(shè)計;應(yīng)用實現(xiàn)

        中圖分類號:TP311.52文獻(xiàn)標(biāo)識碼:A文章編號:1672-9129(2018)06-0031-02

        Design and Implementation of Weekly Calculation Problem Based on Visual Basic

        WU Chuanhui*

        (Ruian Tangxia Middle School, Zhejiang Rui'an, 325200, China)

        Abstract:The calculation of the week calculation problem is a kind of mathematics problem that is common in learning life. The problem needs to be considered more and the calculation is more complicated. This paper first introduces the week calculation problem in detail, and then uses the Visual Basic programming language to implement the mathematical calculation method of the problem, including the design of the interactive interface, the legality verification of the user input data, and the implementation of the specific week calculation program. The implemented program can easily interact with the user, can be applied to people's daily life, and solve people's weekly query needs.

        Keywords:Visual Basic; week calculation problem; program design; application implementation

        引用:吳川匯. 基于Visual Basic的星期計算問題程序設(shè)計與實現(xiàn)[J]. 數(shù)碼設(shè)計, 2018, 7(6): 31-32.

        CiteWU Chuanhui. Design and Implementation of Weekly Calculation Problem Based on Visual Basic[J]. Peak Data Science, 2018, 7(6): 31-32.

        引言

        日常生活或?qū)W習(xí)過程中,會存在這樣的問題,求某一指定的時間是星期幾。比如:我出生那天是星期幾?母親節(jié)是每年5月的第二個星期天,那么10年后的母親節(jié)將是5月幾日?在以后的一百年間的圣誕節(jié)最有可能出現(xiàn)在星期幾呢?……這些問題都可歸類于星期轉(zhuǎn)換問題。當(dāng)我們試圖去處理這類問題時,發(fā)現(xiàn)找到此問題的解決方法并不容易。通常,解決這類問題最有效的辦法是查日歷,但我們身邊不會隨時攜帶日歷,也不存在這樣的萬年歷,可以查到過去或?qū)須v史中的任意一天。如果想在計算機(jī)編程中計算某一指定時間是星期幾,預(yù)先將一本萬年歷存儲于計算機(jī)中也是不現(xiàn)實的。那么,如何能夠通過年、月、日推出某一天是星期幾呢?

        1? 解決方法

        查資料時發(fā)現(xiàn),存在這樣的一個星期轉(zhuǎn)換公式,可以幫助我們計算星期問題。該公式的表示如下:

        使用該公式計算星期的過程主要分為四步。

        第一步,設(shè)置一個中間值f,對要計算的月份進(jìn)行處理。如果要計算的月份是1月或者2月,則將f的值置為1;如果要計算的月份在2月之后,則將f置為0。用數(shù)學(xué)公式表示如下:

        公式中的符號“[]”稱作高斯符號,表示向下取整,即,取不大于原數(shù)的最大整數(shù)。

        第二步,計算星期轉(zhuǎn)換公式中的y。

        y=年份-f

        從式中可知道,當(dāng)要計算的月份不是1月或2月時,y的值與年份相同。

        第三步,計算星期轉(zhuǎn)換公式中的md。d的值與日期相同,m值的計算如下:

        m=月份+12f-2

        第四步,將上述的y,m,d代入星期轉(zhuǎn)換公式中,進(jìn)而求得w的值。星期轉(zhuǎn)換公式中的符號“mod”表示取余數(shù)。這樣,w的取值范圍在0、1、2、3、4、5、6之間,其分別表示星期日、星期一、星期二、星期三、星期四、星期五、星期六。

        2 ?編程實現(xiàn)

        本文使用Windows操作系統(tǒng)中的Visual Basic(VB)編程語言來實現(xiàn)星期轉(zhuǎn)換公式。程序主要由交互界面,輸入驗證、星期計算等部分組成。

        2.1? 交互界面

        交互界面的主要功能是提供界面以方便用戶輸入一個由年、月、日組成的時間,并且將由程序計算這一時間后所得的星期顯示給用戶,如圖1所示。

        2.2 ?輸入驗證

        輸入驗證的主要功能是對用戶輸入時間中的年、月、日進(jìn)行檢驗,以判斷其是否合法。

        (1)年份的判斷。年份分為平年和閏年,閏年是比平年多出一段時間的年份,主要是為了彌補歷法中規(guī)定的紀(jì)年與地球公轉(zhuǎn)之間產(chǎn)生的時間差。在公歷中,平年為365天,其中2月為28天,而閏年則有366天,其中2月有29天。目前采用的閏年的計算規(guī)則是這樣的:

        1)年份不可整除4,為平年;

        2)年份可整除4但不可整除100,為閏年;

        3)年份可整除100但不可整除400,為平年;

        4)年份可整除400但不可整除3200,為閏年;

        5)年份可整除3200,為平年。

        比如,2018年不能被4整除,所以2018年是平年;2016年是閏年,其可以被4整除但不能被100整除;1900年能被100整除但不能被400整除,故為平年;2000年能被400整除,故為閏年。

        需要指出的是,因為人們在1753年修改了日歷系統(tǒng),所以1753年之前日歷中的星期是混亂的,所以我提出的程序并不支持1753年之前時間的星期計算。

        (2)月份的判斷。一年有且僅有12個月,所以用戶輸入的月份的值應(yīng)該在1到12之間,不允許為其它的數(shù)。

        (3)日期的判斷。在公歷中,月份分為大月和小月,大月31天,小月30天。1月、3月、5月、7月、8月、10月、12月這七個月為大月,有31天;4月、6月、9月和11月這四個月為小月,有30天。而2月在平年只有28天,在閏年則有29天。

        Private Function checkDate(ByVal year As Integer, ByVal month As Integer, ByVal day As Integer) As Boolean

        '如果年份小于1753,或月份不在1到12之間,或日期不在1到31之間,則返回False

        If year <= 1753 Or month <= 0 Or month > 12 Or day <= 0 Or day > 31 Then

        Return False

        End If

        '如果月份是大月,則返回True

        If month = 1 Or month = 3 Or month = 5 Or month = 7 Or month = 8 Or month = 10 Or month = 12 Then

        Return True

        End If

        '年份是閏年,且月份是2月,如果是日期大于29,則返回False,否則返回True

        If (((year Mod 4 = 0) And (year Mod 100 <> 0)) Or (year Mod 400 = 0)) Then

        If month = 2 And (day = 30 Or day = 31) Then

        Return False

        Else

        Return True

        End If

        '年份是平年,且月份是2月,如果是日期大于28,則返回False,否則返回True

        Else

        If month = 2 And (day = 29 Or day = 30 Or day = 31) Then

        Return False

        Else

        Return True

        End If

        End If

        End Function

        2.3? 星期計算

        對通過檢驗的時間,接下來作為輸入,進(jìn)而實現(xiàn)星期轉(zhuǎn)換公式提供的方法,完成星期的轉(zhuǎn)換計算。

        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

        '申明變量

        Dim year As Integer

        Dim month As Integer

        Dim day As Integer

        Dim f As Integer

        Dim y As Integer

        Dim m As Integer

        Dim result As Integer

        Dim resultText As String

        '接收用戶收入的年(year)、月(month)、日(day)

        year = CInt(TextBox1.Text)

        month = CInt(TextBox2.Text)

        day = CInt(TextBox3.Text)

        '檢查用戶輸入的年月日是否合法,不合法,則提示輸入錯誤

        If checkDate(year, month, day) = False Then

        MsgBox("輸入的日期有誤", , "提示")

        Return

        End If

        '星期計算

        f = (14 - month) \ 12

        y = year - f

        m = month + 12 * f - 2

        result = (day + y + ((31 * m) \ 12) + (y \ 4) - (y \ 100) + (y \ 400)) Mod 7

        '將結(jié)果轉(zhuǎn)換為星期表示

        Select Case result

        Case 0

        resultText = "星期天"

        Case 1

        resultText = "星期一"

        Case 2

        resultText = "星期二"

        Case 3

        resultText = "星期三"

        Case 4

        resultText = "星期四"

        Case 5

        resultText = "星期五"

        Case 6

        resultText = "星期六"

        End Select

        '輸出最終結(jié)果

        Label1.Text = year & "年" & month & “月” & day & “日是? ” &resultText

        End Sub

        算法定義了三個變量來接收用戶輸入的時間,即年、月、日。然后調(diào)用上一節(jié)實現(xiàn)的“checkDate()”函數(shù)檢查用戶輸入的年月日是否合法,如果不合法,則提示輸入錯誤。對通過驗證的時間,繼而實現(xiàn)星期計算公式,并將實現(xiàn)的結(jié)果轉(zhuǎn)換為星期表示,并通過界面顯示給用戶。

        3? 結(jié)束語

        在人們?nèi)粘I钪袝r常需要星期查詢,但星期的計算是個數(shù)學(xué)問題,該問題的計算方法較為復(fù)雜。本文通過Visual Basic編程語言,實現(xiàn)了一個星期查詢程序,實現(xiàn)的程序能方便地與人們進(jìn)行交互,并可應(yīng)用于我們的日常生活中,解決人們的星期查詢需求。

        參考文獻(xiàn):

        [1]????? 吳中寧.VB編程的常用技巧[J].電腦知識與技術(shù),2017,13(11):85-86+90.

        [2]????? 吳桂芹,楊曉燕. “講練同步、任務(wù)驅(qū)動”模式在Visual C++教學(xué)中的應(yīng)用[J].電腦知識與技術(shù).2016(28)

        [3]????? 臧軍,王超.基于Visual Basic的圓柱螺紋量規(guī)尺寸計算[J].信息與電腦(理論版),2017(17):112-114.

        [4]????? 王蕊.淺析Visual Basic應(yīng)用開發(fā)程序中的錯誤處理程序[J].數(shù)字技術(shù)與應(yīng)用,2015(06):157.

        [5]????? 楊愛琴,顧衛(wèi)江.Visual Basic程序設(shè)計課程中計算思維能力的培養(yǎng)[J].電腦知識與技術(shù),2013,9(28):6348-6349+6361.

        [6]????? 楊吉,王春紅,常晶.Visual basic制做秒表[J].電腦知識與技術(shù),2010,6(16): 4440.

        亚洲av男人的天堂在线观看| 亚洲国产成人Av毛片大全| 无码毛片高潮一级一免费| 色播在线永久免费视频网站| 久久精品国产亚洲av成人网 | 中文字幕乱码人妻在线| 亚洲线精品一区二区三区| 精品水蜜桃久久久久久久| 中文字幕精品久久久久人妻红杏1 丰满人妻妇伦又伦精品国产 | 曰韩人妻无码一区二区三区综合部 | 日韩熟女精品一区二区三区视频| 国内精品毛片av在线播放| 国产精品亚洲三级一区二区三区| 免费人成在线观看| 亚洲精品美女久久久久久久| 国产成人亚洲精品91专区手机| 宅男久久精品国产亚洲av麻豆| 精品日韩在线观看视频| 我要看免费久久99片黄色| 久激情内射婷内射蜜桃| 无套内谢的新婚少妇国语播放 | 国产精品三级av一区二区| av男人的天堂手机免费网站 | 亚洲自偷自偷偷色无码中文| 乱中年女人伦av三区| 精品国产一区二区三区九一色| 一区二区三区在线视频观看| 欧美另类人妖| 亚洲av伊人久久综合密臀性色| 久久精品免费一区二区喷潮| 日本无吗一区二区视频| 中国久久久一级特黄久久久| 国产伦精品一区二区三区| 久久这里都是精品一区| 午夜蜜桃视频在线观看| 无码专区一ⅴa亚洲v天堂| 男人的天堂无码动漫av| 亚洲欧美国产日韩字幕| 丝袜 亚洲 另类 欧美| 亚洲视频在线观看一区二区三区| 免费无码一区二区三区蜜桃|