作者:麗江市分校 來(lái)源:本站原創(chuàng) 點(diǎn)擊數(shù):6226 文章錄入:麗江市分校
在公歷(格里歷)紀(jì)年中,有閏日的年份叫閏年,一般年份365天,閏年為366天。閏年的計(jì)算方法:公元紀(jì)年的年數(shù)可以被四整除但不被100整除,即為閏年或被100整除且能被400整除為閏年。如2000年是閏年,而1900年不是。關(guān)于閏年,古話講“四年一閏,百年不閏,四百年再閏”就是基于這個(gè)原理而來(lái)的。 那么,怎樣從算法的角度去判斷某年是否為閏年呢?
由上,我們知道,任意輸入一年份,是閏年必須滿足下列條件之一:
(1)能被4整除,但不能被100整除;(用算法描述為year%4=0 && year%100!=0)
(2)能被4整除,又能被400整除。(用算法描述為year%4 =0 && year%400=0)
所以,我們判斷某一年是否為閏年的算法步驟應(yīng)該是:
S1 輸入一個(gè)年份:x;
S2 對(duì)x進(jìn)行判斷,若x不是4的倍數(shù),則x年不是閏年,即可輸出:x不是閏年。
S3 若x是4的倍數(shù),還要對(duì)x繼續(xù)判斷,若x不是100的倍數(shù),則x是閏年。輸出:x是閏年;若x是100的倍數(shù),則執(zhí)行S4。
S4 若x是400的倍數(shù),則x是閏年,輸出:x是閏年;否則x不是閏年,輸出:x不是閏年。
S5 結(jié)束。
根據(jù)這個(gè)算法思路,相應(yīng)的程序框圖也就畫(huà)出來(lái):
在程序語(yǔ)句中三次出現(xiàn)條件語(yǔ)句,分別是:
(1) 判斷4整除x?
(2) 100整除x?
(3) 400整除x?
條件語(yǔ)句的結(jié)構(gòu)我們已經(jīng)學(xué)過(guò),根據(jù)算法思路,我們已經(jīng)將相關(guān)的程序框圖畫(huà)出來(lái)了,那么,接下來(lái),我們就需要用算法語(yǔ)句來(lái)描述有關(guān)閏年的判斷思路。上述程序框圖的算法語(yǔ)句如下:
INPUT x
if x mod 4=0 then
if x mod 100!=0 then
print x;"是閏年"
else
if x mod 400=0 then
print x;"是閏年"
else
print x;"不是閏年"
end if
else
print x;"不是閏年"
end if
注明:同一算法,可以用不同的語(yǔ)句來(lái)描述。大家自己嘗試!
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)
點(diǎn)擊舉報(bào)。