实训5Delphi的语句.docVIP

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

实训 5 Delphi的语句 [实训目的] ◆ 掌握双分支程序设计语句:if…then…else; ◆ 掌握多分支程序设计语句:case…of; ◆ 掌握 while、repeat 和 for 三种循环语句的使用; ◆ 掌握 break和 continue语句的使用; ◆ 掌握循环条件的控制方法。 5.1 If 语句与Case语句应用___计算优惠价 [实训要求] 某百货公司为了促销,采用购物打折扣的优惠办法,每位顾客一次购物: ⑴ 在 1000元以上者,按九五折优惠。 ⑵ 在 2000元以上者,按九折优惠。 ⑶ 在 3000元以上者,按八五折优惠。 ⑷ 在 5000元以上者,按八折优惠。 编写程序,输入购物款数,计算并输出优惠价(如图5.1)。 图5.1 计算优惠价 [要点说明] ⑴ 分析题意,总结出优惠付款公式。 设购物款数为 x 元,优惠价为 y元,优惠付款公式为: ⑵ 将购物款数必须转换为整数。 由于购物款数 x 是一个实数,必须将其转换为整数(顺序类型)。为此,取表达式: trunc(x/1000)。这样,当 x落在[0,1000],[1000,2000],[2000,3000],[3000,4000],[4000,5000]等区间时,表达式的值正好为整数值 0,1,2,3,4。 ⑶ 据此分析画出流程图如图 5.2 所示。 图5.2 计算优惠价的流程图 [参考代码] ⑴ 编写“开始计算”按钮事件(OnClick)过程的程序代码。 procedure TForm1.Button1Click(Sender: TObject); var x,y:real; begin if edit1.Text= then edit1.Text:=0; //增加的语句 x:=strtofloat(edit1.Text); case trunc(x/1000) of 0: y:=x; 1: y:=0.95*x; 2: y:=0.9*x; 3,4: y:=0.85*x; else y:=0.8*x; end; panel1.caption:=format(优惠价为:%8.2f元,[y]); edit1.SelStart:=0; edit1.SelLength:=length(edit1.text); end; ⑵ 编写 Edit1 的 OnKeyPress 事件)过程的程序代码。 为了防止编辑框 Edit1 中输入非法字符,可以增加Edit1 的 OnKeyPress 事件代码: procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); var l:boolean; begin l:= (key#48)or(key#57); if l then key:=#0; end; 5.2 循环语句应用___百钱买百鸡 [实训要求] 我国古代著名的“百钱买百鸡” :每只公鸡值 5 元,每只母鸡值 3 元,三只小鸡值 1 元,用 100 元买100 只鸡,问公鸡、母鸡和小鸡各买几只? 单击“开始”按钮,将计算结果写入 Memol 组件, 单击“清除”按钮,清除 Memol 组件中的计算结果。 图5.3 百钱买百鸡 [要点说明] ⑴ 分析题意,列出方程组。 设公鸡 x 只,母鸡 y只,小鸡z 只。依题意,列出以下方程组: x+y+z=100 5x+3y+z/3=100 由于 2 个方程式中有3 个未知数,属于不定方程,无法直接求解。可以用“穷举法”来进行“试根” ,即将各种可能的 x、y、z组合一一进行测试,将符合条件者输出即可。 ⑵ 据此分析画出流程图如图 5.4 所示。 考虑到公鸡最多只能买 19 只,母鸡最多买 33 只,画出流程图如图 5.4 所示。 图5.4 流程图 [参考代码] ⑴ 编写“开始”按钮事件(OnClick)过程的程序代码。 procedure TForm1.Button1Click(Sender: TObject); var x,y,z:integer; p:string; begin Memo1.Clear; for x:=0 To 19 do for y:=0 To 33 do begin z:=100-x-y; if 5*x+3*y+z/3=100 Then begin p:=Format(%3d %3d %3d,[x,y,z]); memo1.Lines.Add(p); end ; end; end; ⑵ 编写“清除”按钮事件(OnClick)过程

文档评论(0)

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

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

1亿VIP精品文档

相关文档