free pascal 编程问题.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
free pascal 编程问题

1.假设邮局规定寄邮件时若每件重量在1公斤以内(含1公斤),按每公斤1.5元计算邮费,如果超过1公斤时,其超出部分每公斤加收0.8元。请编程序计算邮件收费。 2.输入三个正整数,若能用这三个数作为边长组成三角形,判断它是何类型的三角形(等边三角形?等腰三角形?一般三角形?)。计算并输出该三角形的面积,否则输出Cant。(组成三角形的条件为:任意两边之和大于第三边) 3.输入一个三位数的整数,将数字位置重新排列,组成一个尽可能大的三位数。例如:输入213,重新排列可得到尽可能大的三位数是321。 4.运输公司计算运费时,距离(S)越长,每公里运费越低,标准如下: 如果S<250公里;运费为标准运价的100% 如果250公里<=S<500公里,运费为标准运价的98%; 如果500公里<=S<1000公里,运费为标准运价的95%; 如果1000公里<=S<2000公里,运费为标准运价的92%; 如果2000公里<=S<3000公里,运费为标准运价的90%; 如果S=>3000公里,运费为标准运价的85%;。请编计算运费的程序。 5. 输入考试成绩,如果获85分以上为 A等,获60分~84分为B等,60分以下为C等,编程输出考试等级。 6. 某车间按工人加工零件的数量发放奖金,奖金分为五个等级:每月加工零件数N 100者奖金为10元;100 = N 110者奖金为30元;110 = N 120 者奖金为50元;120 = N 130 者奖金为70元;N 130者为80元。 请编程,由键盘输入加工零件数量,显示应发奖金数。 7. 期未来临了,班长小Q决定将剩余班费X元钱,用于购买若干支钢笔奖励给一些学习好、表现好的同学。已知商店里有三种钢笔,它们的单价为6元、5元和4元。小Q想买尽量多的笔(鼓励尽量多的同学),同时他又不想有剩余钱。请您编一程序,帮小Q制订出一种买笔的方案。 8.计算1901年2099年之间的某月某日是星期几。 提示:我们知道,公历的平年是365天,闰年是366天,置闰的方法是能被4整除的年份在2月加一天,但能被100整除的不闰,能被400整除的又闰;因此,像1600、2000、2400年都是闰年,而1700、1800、1900、2100年都是平年,公元前1年,按公历也是闰年。因此,对于从公元前1年(或公元0年)12月31日到某一日子的年份Y之间的所有整年中的闰年数,就等于 [(Y-1)/4] - [(Y-1)/100] + [(Y-1)/400]  [...]表示只取整数部分,第一项表示需要加上被4整除的年份数,第二项表示需要去掉被100整除的年份数,第三项表示需要再加上被400整除的年份数;之所以Y要减一是为了去掉输入的这一年。这样,我们就得到了第一个计算某一天是星期几的公式:  W = (Y-1)*365 + [(Y-1)/4] - [(Y-1)/100] + [(Y-1)/400] + D. (1)  其中D是这个日子在这一年中的累积天数,算出来的W就是公元前1年(或公元0年)12月31日到你输入的这一天之间的间隔日数;把W用7除,余数是几,这一天就是星期几。比如我们来算2004年5月1日:    W = (2004-1)*365 + [(2004-1)/4] - [(2004-1)/100] + [(2004-1)/400] + (31+29+31+30+1) = 731702  731702 / 7 = 104528……6,余数为六,说明这一天是星期六,这和事实是符合的。  上面的公式(1)虽然很准确,但是计算出来的数字太大了,使用起来很不方便。仔细想想,其实这个间隔天数W的用数仅仅是为了得到它除以7之后的余数。这启发我们是不是可以简化这个W值,只要找一个和它余数相同的较小的数来代替,用数论上的术语来说,就是找一个和它同余的较小的正整数,照样可以计算出准确的星期数。  显然,W这么大的原因是因为公式中的第一项(Y-1)*365太大了。其实,(Y-1)*365 = (Y-1) * (364+1) = (Y-1) * (7*52+1) = 52 * (Y-1) * 7 + (Y-1)  这个结果的第一项是一个7的倍数,除以7余数为0,因此(Y-1)*365除以7的余数其实就等于Y-1除以7的余数。这个关系可以表示为:(Y-1)*365 ≡ Y-1 (mod 7) 其中,≡是数论中表示同余的符号,mod 7的意思是指在用7作模数(也就是除数)的情况下≡号两边的数是同余的。因此,完全可以用(Y-1)代替(Y-1)*365,这样我们就得到了那个著名的、也是最常见到的计算星期几的公式:  W = (Y-1) + [(Y-1)/4

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档