本文由亚太应用中心技术经理朱晓东供稿
置顶公众号,推送提醒无遗漏
流程控制
条件语句
程序执行中,有时候需要判断某个条件是否满足,根据判断结果实施不同的操作,这就需要条件语句来实现。Pascal语言中条件语句主要有if语句和case语句。
if 语句的最基础格式如下:
if 判断条件 then 满足条件的处理语句;
图1. if...then 语句
if...then 语句后面可以跟一个可选的 else 语句,格式如下,注意,此时 then 后的语句不能加分号,因为 if 语句还没结束。
if 判断条件 then 满足条件的处理语句 else 不满足条件的处理语句;
图2. if…then…else语句
then 和 else 后面的处理语句中可以再嵌套 if语句,特别是 else 后面,可以形成 if…then…else if…then…else if…then…else的多支路语句。但一定要小心使用嵌套!有可能程序运行结果不是你所预期的那样。
图3. if…then…else if…then…else if…then……else多支路语句
当支路越来越多时,用嵌套的 if 语句就显得太繁琐。如果多支路的选择是由同一个变量或表达式的不同结果值所决定的,其实也可以用 case 语句来实现,而且更显简洁、清晰。如图3的例子,用 case 语句可以改写成:
图4. case多支路语句
流程控制
循环语句
程序执行中,需要多次规律性的重复处理时,特别是一些数组的运算处理时,就需要用到循环语句。Pascal 语言中循环语句主要有while…do 语句、repeat…until 语句和 for…do 语句。
while…do 语句的基础格式如下:
while 判断条件 do 循环体语句;
每轮循环之前,都先进行条件判断,当判断条件满足时,则执行循环体;当判断条件不满足,则结束循环。循环体可以是单个语句,也可以是由 begin 和 end;包含起来的程序块,但其语句中一定要包含有能改变判断条件控制变量的语句,能使判断条件不满足,以免形成死循环。
图5. while…do循环语句
与 while…do 语句相反,repeat…until 语句是先执行循环体,然后再看判断条件是否满足,如果满足则结束循环,所以循环体至少会被执行一次。循环体可以是单个语句,也可以由多个语句组成,但不必用 begin 和 end;包含起来,repeat 和 until 本身具备包含程序块的功能。其基础格式如下:
repeat 循环体语句 until 判断条件;
图6. repeat…until循环语句
while…do 语句和 repeat…until 语句中循环次数不定,根据某一条件来决定是否继续循环,如果要进行固定次数的循环,可以用 for…do 语句:
for 计次变量:=初始值 to 终止值 do 循环体;
for 计次变量:=初始值 downto 终止值 do 循环体;
其中,计次变量一般为整数类型(也可以是字符类型);第一轮循环时,计次变量被赋予初始值,此后每轮循环计次变量都会递增(to 关键字)或递减(downto 关键字)1;如果计次变量没超过终止值,则执行循环体,否则结束循环。
循环体内还可以用 continue 和 break 这两个关键字对循环做额外的控制,上述的三种循环语句内都可使用,一般配合条件语句决定什么情况下要 continue 或 break;continue 起效时,在该轮次循环内,循环体里在其后的语句将不再执行,而是立即进行下一轮次循环是否进行的条件判断;break 则直接就此结束循环;它们的影响范围只在它们所处的那一层级的循环语句。
图7. for…do循环语句
for…do 语句还有一种特殊形式的for…in…do 循环,本文不再赘述,感兴趣的可以移步Free Pascal wiki了解。
较为复杂的运算,可能会用到循环语句的嵌套,Pascal语言中允许任何类型的循环语句嵌套于任何类型的循环语句内。
图8. 循环语句嵌套
相关内容延伸阅读
XRD软件应用技巧 | HighScore Plus 脚本入门(一)
XRD软件应用技巧 | XRD 自动数据处理系列(一):APP介绍及实例
XRD软件应用技巧 | XRD 自动数据处理系列(二):APP与HighScore Plus配合实现自动分析
XRD软件应用技巧 | XRD 自动数据处理系列(三):APP+Stress残余应力例行分析
XRD软件应用技巧 | XRD 自动数据处理系列(四):APP与AMASS联用实现晶圆自动分析
XRD软件应用技巧 | XRD 自动数据处理系列(五):Data Collector中的批处理程序
XRD软件应用技巧 | XRDML数据格式转换
XRD软件应用技巧 | 使用Data Viewer轻松制作多谱图层叠比较图
>>> 关于
的使命是通过对材料进行化学、物性和结构分析,打造出更胜一筹的客户导向型创新解决方案和服务,从而提高效率和产生可观的经济效益。通过利用包括人工智能和预测分析在内的最近技术发展,我们能够逐步实现这一目标。这将让各个行业和组织的科学家和工程师可解决一系列难题,如最大程度地提高生产率、开发更高质量的产品,并缩短产品上市时间。
全部评论(0条)
马尔文帕纳科Zetium X射线荧光光谱仪
报价:面议 已咨询 9393次
马尔文帕纳科Insitec 在线粒度仪系列仪器
报价:面议 已咨询 6248次
马尔文帕纳科纳米粒度电位仪Zetasizer Ultra
报价:面议 已咨询 7388次
马尔文帕纳科激光粒度仪Mastersizer 3000
报价:面议 已咨询 17780次
马尔文帕纳科X射线衍射仪Aeris
报价:面议 已咨询 6823次
马尔文帕纳科激光粒度仪Mastersizer 3000E
报价:面议 已咨询 8625次
马尔文帕纳科Spraytec喷雾粒度分析仪
报价:面议 已咨询 5324次
马尔文帕纳科 Morphologi 4 快速自动化粒度和粒形分析
报价:面议 已咨询 4921次
①本文由仪器网入驻的作者或注册的会员撰写并发布,观点仅代表作者本人,不代表仪器网立场。若内容侵犯到您的合法权益,请及时告诉,我们立即通知作者,并马上删除。
②凡本网注明"来源:仪器网"的所有作品,版权均属于仪器网,转载时须经本网同意,并请注明仪器网(www.yiqi.com)。
③本网转载并注明来源的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品来源,并自负版权等法律责任。
④若本站内容侵犯到您的合法权益,请及时告诉,我们马上修改或删除。邮箱:hezou_yiqi
参与评论
登录后参与评论