FREE-PASCAL入门-循环结构程序.doc

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
FREE-PASCAL入门-循环结构程序精要

循环结构程序设计 第1节 For循环程序实例 【问题描述】 A为1点,牌J、Q、K分别为11、12、13点,大、小王不算点。 【问题分析】 4即可。进一步分析,求一种花色牌的点数和,即是求1~13的连续自然数之和。我们用S表示所求数的和,用T表示加数,这样可以让T从1变化到13,每次让T不断加入到S中,就可以求出S的值,最后乘以4即可。 【算法设计】 ????????? ①置初值,即S=0,T=1; ②使S=S+T ,所求出的和仍放入S中; ③使T增加1,即T=T+1; ④如果T小于等于13,转第二步,否则转第五步; ⑤输出计算结果。 ????????? 程序流程图和结构化流程(N-S)图 ? 【程序设计】 程序清单] var s,t:integer; begin s:=0; {S置初值为0} for t:=1 to 13 do {For循环语句} s:=s+t; writeln(‘total:’,s*4); end. [运行示例 total:364 【知识拓展】 1for / to /do 语句)。 2.for循环语句格式: 格式一: for 控制变量 := 初值 to 终值 do 循环体语句; 格式二: for 控制变量 := 初值 downto 终值 do 循环体语句; 其中for、to、downto、do为保留字,do后面的语句称为循环体。其中循环控制变量可以是整型、字符或布尔型,但不能为实型。一般地,可以是顺序类型数据。 初值、终值表达式通常要与控制变量的类型相同。 在for语句中如果使用的是to,称为递增型计数循环语句,如果使用的是downto,称为递减型计数循环语句。 3.For语句的执行过程: ①先将初值表达式的值计算出来并赋给循环控制变量。 ②判断循环控制变量的值是否已“超过”终值(对于递增型循环来说,“超过”是指“大于”;对递减型循环来说,“超过”是指“小于”)。如已超过,则跳到步骤⑥。do后面的语句(称为循环体)。 ④循环变量递增(或递减)。 ⑤返回执行步骤②。 ⑥循环结束,执行for循环下面的一个语句 4.使用For语句的的注意事项: ①循环控制变量必须为顺序类型。例如,可以是整型、字符型、布尔型,不能为实型,如: ②循环控制变量的值递增或递减的规律是:若是递增型循环,则按Succ函数规律变化;若是递减型循环,则按Pred函数规律变化。例如: for k:=’a’to ’z’do write(k) 将按顺序打印出26个小写英文字母“abcd…z”。 ③循环体可以是一条基本语句,也可以是一条复合语句。例如: for j:=1 to n do begin readln(x); wreteln(x+1) end; 循环语句的范围直到end才结束。 ④循环控制变量不得在循环体内再被赋值。例如: for x;=1 to 10 do begin x:=2*z+1; end; 是错误的。 ⑤循环控制变量的初值和终值一经确定,循环次数就确定不变了。 循环的次数可用如下公式计算: 0 若初值〉终值 递增型循环的循环次数= Ord(终值)-Ord(初值)+1 若初值≤终值 0 若初值〈终值 递减型循环的循环次数= Ord(初值)-(终值)+1 若初值≥ 终值 【同步练习】 “只要在国际象棋棋盘上(共64格)摆上这么些麦子就行了:第一格一粒,第二格两粒,……,后面一格的麦子总是前一格麦子数的两倍,摆满整个棋盘,我就感恩不尽了。”国王一想,这还不容易。于是令人扛来一袋麦子,可很快用完了,又扛来一袋,很快用完了……国王很奇怪,请你帮国王计算一下,要多少麦子。(1立方米的麦子约为1.42×108粒) 问题分析: 对于编程类问题的描述,要特别注意正确、全面地理解题意,要学会从描述性语言中抽象出具体的数据,并建立数学模型。在本题中根据“国际象棋棋盘上共有64格,第一格一粒,第二格两粒,……,后面一格的麦子总是前一格麦子数的两倍”的题意,我们可以建立数学模型:第一格为20,第二格为21,第三格为22,……第64格为263,设 64格中应放麦子数为S,则可用下面的公式表示: S= 20+21+22+23++263 1立方米的麦子约为1.42×108粒,那么S粒麦子的体积T为: T=S/(1.42×108)立方米。 这样我们将问

文档评论(0)

1520520 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档