*1、體型判斷
*某體檢中心按照“體重指數(shù)”對客戶的體形進行判斷,體重指數(shù)計算如下:體重指數(shù)t=體重w/ (身高h(yuǎn)^2)(w單位:公斤;h單位:米)
*判斷依據(jù):當(dāng)t < 18 時,體型為“偏瘦”;
*當(dāng)t介于18和25之間時,體型為“正?!?;
*當(dāng)t介于25和27之間時,體型為“超重”;
*當(dāng)t >=27時,體型為“肥胖”。
*要求:編程從鍵盤輸入你的身高h(yuǎn)和體重w,根據(jù)給定公式計算體重指數(shù)t,然后判斷你的體重屬于何種類型。
*計算體重指數(shù)
*PARAMETERS:w type p DECIMALS 2,
h TYPE p DECIMALS 2.
*data:t type p DECIMALS 2,
m(20) TYPE c.
*t = w / ( h ** 2 ).
*if t < 18.
- write:/ '您的體型為偏瘦'.
*elseif t > 18 and t < 25. - write:/ '您的體型為正常'.
*elseif t > 25 and t < 27 . - write:/ '您的體型為超重'.
*else . - write:/ '您的體型為肥胖'.
*endif.
*2、身高預(yù)測
*每個人的身高與遺傳、飲食習(xí)慣與體育鍛煉等因素密切相關(guān)。設(shè)faHeight為父親身高,moHeight為母親身高,身高預(yù)測公式為:
*男性成人時身高=(faHeight + moHeight)×0.54cm
*女性成人時身高=(faHeight×0.923 + moHeight)/2cm
*此外,如果喜愛體育鍛煉,那么可增加身高2%;如果有良好的衛(wèi)生飲食習(xí)慣,那么可增加身高1.5%。
*編程:從鍵盤輸入用戶的性別、父母身高、是否喜愛體育鍛煉、是否有良好的飲食習(xí)慣等條件,利用給定公式和身高預(yù)測方法對身高進行預(yù)測。
*PARAMETERS:sex(2) type c,
faheight type p DECIMALS 3,moheight TYPE p DECIMALS 3,exercise(2) type c,diet(2) type c.
*data:height type p DECIMALS 3,
t type p DECIMALS 3.
*if sex = 'F'.
- if exercise = 'Y' AND diet = 'Y'.
height = ( faheight * '0.923' + moheight ) / 2 .t = height + height * '0.02' + height * '0.015'.WRITE:/ '預(yù)測身高是:' , t.elseif exercise = 'Y' and diet = 'N'.height = ( faheight * '0.923' + moheight ) / 2 .t = height + height * '0.02'.WRITE:/ '預(yù)測身高是:' , t.elseif exercise = 'N' and diet = 'Y'.height = ( faheight * '0.923' + moheight ) / 2 .t = height + height * '0.015'.WRITE:/ '預(yù)測身高是:' , t.- else.
height = ( faheight * '0.923' + moheight ) / 2 .t = height .WRITE:/ '預(yù)測身高是:' , t.endif.
*elseif sex = 'M'.
- if exercise = 'Y' AND diet = 'Y'.
height = ( faheight + moheight ) * '0.54' .t = height + height * '0.02' + height * '0.015'.WRITE:/ '預(yù)測身高是:' , t.elseif exercise = 'Y' and diet = 'N'.height = ( faheight + moheight ) * '0.54' .t = height + height * '0.02'.WRITE:/ '預(yù)測身高是:' , t.elseif exercise = 'N' and diet = 'Y'.height = ( faheight + moheight ) * '0.54' .t = height + height * '0.015'.WRITE:/ '預(yù)測身高是:' , t.- else.
height = ( faheight + moheight ) * '0.54' .t = height .WRITE:/ '預(yù)測身高是:' , t.endif.
*ENDIF.
*3、出租車計費問題。
*計費標(biāo)準(zhǔn)如下:起步價為5元,前2公里不計費;超過2公里但不超過10公里,按單程1.6元/公里計費;
*10公里以上,一律按單程1元/公里計費。實際行駛里程四舍五入取整后作為計算里程。請為出租車司
*機編寫程序,當(dāng)輸入實際里程時,立即輸出乘客應(yīng)付的車費。
PARAMETERS: length(5) TYPE n.
data:money TYPE p DECIMALS 2,
t type c.
if length <= 2 .
money = 5.
elseif length > 2 and length <= 10.
money = '1.6' * length.
else.
money = length * 1.
ENDIF.
WRITE:/ '應(yīng)付', money.
*4、判斷天數(shù)。
*輸入某年某月某日,判斷這一天是這一年的第幾天?
PARAMETERS: year type i,
month TYPE i,
day TYPE i.
data: count TYPE i .
if month = 1.
count = day.
elseif month = 2.
count = 31 + day.
elseif month >= 3 and year mod 4 = 0 and year mod 100 <> 0 or year mod 400 = 0 .
case month.
when 3.
count = 31 + 29 + day.
when 4.
count = 31 + 29 + 31 + day.
when 5.
count = 31 + 29 + 31 + 30 + day.
when 6.
count = 31 + 29 + 31 + 30 + 31 + day.
when 7.
count = 31 + 29 + 31 + 30 + 31 + 30 + day.
when 8.
count = 31 + 29 + 31 + 30 + 31 + 30 + 31 + day.
when 9.
count = 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + day.
when 10.
count = 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + day.
when 11.
count = 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + day.
when 12.
count = 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30 + day.
ENDCASE.
else.
case month.
when 3.
count = 31 + 28 + day.
when 4.
count = 31 + 28 + 31 + day.
when 5.
count = 31 + 28 + 31 + 30 + day.
when 6.
count = 31 + 28 + 31 + 30 + 31 + day.
when 7.
count = 31 + 28 + 31 + 30 + 31 + 30 + day.
when 8.
count = 31 + 28 + 31 + 30 + 31 + 30 + 31 + day.
when 9.
count = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + day.
when 10.
count = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + day.
when 11.
count = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + day.
when 12.
count = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30 + day.
ENDCASE.
ENDIF.
WRITE:/ count.


*5、判斷回文
*一個5位數(shù),判斷它是不是回文數(shù)。即12321是回文數(shù),個位與萬位相同,十位與千位相同。
*PARAMETERS: m(5) type n.
*data: g type i,
s type i,q TYPE i,w TYPE i.
*g = m mod 10.
*s = ( m mod 100 ) div 10.
*q = ( m mod 10000 ) div 1000.
*w = m div 10000.
*if m > 99999 and m < 10000.
- WRITE:/ '您輸入的不是五位數(shù)'.
- elseif g = w and s = q.
WRITE:/ 'm是回文數(shù)'.else.WRITE:/ 'm不是回文數(shù)'.- ENDIF.