首页 freePascal教程

freePascal教程

举报
开通vip

freePascal教程PASCAL语言程序设计 在上一册教材中,我们已经初步了解了PASCAL语言的三种基本结构、程序设计的基本思想和方法。本单元是在上册内容的基础上进一步深入学习PASCAL语言的数组、子程序、字符串处理等基础知识。随着学习的深入,程序设计的题目类型越来越广泛,难度也越来越大,程序设计者不能“完全”把求解的任务推给计算机,而应对题目作较充分的分析,用较优的算法去求解,因此在计算机上编程解题是一项极好的实践活动,它可以训练观察能力、逻辑思维能力、形式化描述问题能力、规划能力、动手动脑分析问题和解决问题的能力。 第一课 ...

freePascal教程
PASCAL语言程序 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 在上一册教材中,我们已经初步了解了PASCAL语言的三种基本结构、程序设计的基本思想和 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 。本单元是在上册内容的基础上进一步深入学习PASCAL语言的数组、子程序、字符串处理等基础知识。随着学习的深入,程序设计的题目类型越来越广泛,难度也越来越大,程序设计者不能“完全”把求解的任务推给计算机,而应对题目作较充分的分析,用较优的算法去求解,因此在计算机上编程解题是一项极好的实践活动,它可以训练观察能力、逻辑思维能力、形式化描述问题能力、 规划 污水管网监理规划下载职业规划大学生职业规划个人职业规划职业规划论文 能力、动手动脑分析问题和解决问题的能力。 第一课  循环结构的程序设计 在程序设计中,经常处理一些需要重复执行某些操作的问题,这就需要循环结构程序设计,循环结构是程序设计的三种基本结构之一,循环结构是指当某个条件满足时反复执行某些语句,否则不执行。利用循环结构,使得我们能用少而精的程序编码,来完成大量的重复计算。 在Pascal语言中,实现循环程序设计的主要语句有For语句(计数循环)、While语句(当型循环)、Repeat语句(直到型循环)。上册教材已经介绍了For语句,本节课介绍While语句、Repeat语句及多重循环结构。 一、 While语句结构 For循环语句适用于已知次数的循环结构,而在实际的问题中,有时我们并不能确切知道循环要执行多少次,我们判断是否结束循环的依据是某个条件是否满足,比如“当……时就做……”,或者是“一直做到……时为止”,这种循环我们称之为条件循环。在Pascal中条件循环语句有两种,分别是While循环语句和Repeat循环语句。下面分别介绍这两种语句的使用方法。 While语句用于“当满足某一条件时进行循环”的情况,因此它也被称为“当型循环”。While语句的语法格式如下: While  <布尔表达式>  do  <循环体语句>; While循环语句的执行 流程 快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计 如图1-1-1所示。 图1-1-1 While循环语句执行流程 While语句使用说明: (1)当布尔表达为true则执行循环体,若为false,则根本不进入循环体; (2)如果一开始布尔表达式的值就为假时,While循环就会一次循环体都不执行; (3)相反的,如果布尔表达式永远是真的,那么循环就无法结束,从而成为“死循环”,为了避免这种情况的发生,在循环体中就一定要有能改变布尔表达式结果的操作; (4)循环体中的语句一般情况下是多条语句,必须使用begin和end将它们括起来形成一条复合语句。 [例1] 计算S=1+3+5+……+n(n为大于1的奇数)。 程序如下: program ex1_1; var odds,n,sum:integer; begin write(‘input a odd data:’);readln(n); sum:=0; odds:=1; while odds<=n do begin sum:=sum+odds; odds:=odds+2; end; writeln(sum); end. [例2] 输入若干个字符,它的终止符是“?”,计算输入的字符中字母“a”出现的次数(包括大小写)。 程序如下: program ex1_2; var ch:char; i:integer; begin i:=0; read(ch); while ch<>’?’ do begin if  (ch=’a’) or (ch=’A’) then i:=i+1; read(ch); end; writeln(‘i=’,i) end. 在执行时,每当输入的字符为“a”或“A”时,则将变量i原有的值加上1再赋给i,相当于使i在原有的基础上加1。当输入一个“?”的时候,循环条件不成立,循环结束,输出结果。在本程序中,输入数据“?”就是循环结束的标志,这种在程序中人为设置循环结束条件的方法我们将它叫作结束标志法,在设计循环结构程序时经常要用到这种方法。 二、 Repeat语句结构 Repeat语句与While语句正好相反,Repeat语句用于“重复执行循环体,一直到指定的条件为真时为止”的循环结构,它又被称为“直到型循环”。 Repeat语句的语法格式为: repeat 循环体语句 until 布尔表达式; Repeat循环语句的执行流程如图1-2-1所示。 图1-2-1 Repeat循环语句执行流程 Repeat语句使用说明: 1、先执行循环体,然后判断布尔表达式的值,为false,则继续循环,为true则终止循环; 2、为了使repeat循环重复能终止,与while循环一样,循环体中一定要有影响布尔表达式值的操作,否则该循环就是一个死循环; 3、repeat语句的特点是:先执行循环,后判断结束条件,因而至少要执行一次循环体; 4、repeat-until是一个整体,它是一个(构造型)语句,不要误认为repeat是一个语句,until是另一个语句; 5、repeat循环体可以是若干个语句,不需用begin和end。 另外需要说明的是,由于while循环与repeat语句都属于条件循环语句,因此一般可以将这两种语句互相转换,而具体使用哪条语句时要看实际情况决定。 [例3] 利用泰勒公式求e的值,直到最后一项小于10-7为止。泰勒公式如下: e=1+1/1!+1/2!+1/3!+ ……+1/n! 分析:逐步往后递推,直到最后一项小于10-7为止。 程序如下: program ex1-3; var e,p:real; i:longint; Begin e:=1;p:=1;i:=1; repeat p:=p/i; e:=e+p; i:=i+1 until p<1e-7; writeln(‘e=’,e); end. [例4] 求两个正整数m和n的最大公约数。 分析:求两个正整数的最大公约数采用的辗转相除法求解。以下是辗转的算法: 分别用m,n,r表示被除数、除数、余数。 ①求m/n的余数r; ②若r=0,则n为最大公约数,若r≠0,执行第③步; ③将n的值放在m中,将r的值放在n中; ④返回重新执行第①步。 程序如下: program ex1_4; var m,n,,r : integer; begin write('Input m,n='); readln(m,n); repeat r:=m mod n; m:=n;n:=r; until r=0; writeln('The greatest common divide is',m); end. 三、多重循环结构 前面学习的循环结构都是由单一重复语句构成,即循环体部分不再是循环语句,我们把它称之为单重循环。事实上,当一个循环体语句的循环体中包含另一个循环语句时,就构成了多重循环,我们也称之为循环语句的嵌套结构。 由嵌套的层数分别称之为双重循环、三重循环等,处于内部的循环称为内循环,处于外部的循环称为外循环,在循环的嵌套结构中,读者应牢牢掌握其执行过程满足“外层循环执行一次,内层循环执行一遍”的规律。 设计多重循环时,要特别注意内、外循环之间的关系,以及各语句安放的位置,内外循环控制变量不得同名,多重循环的执行次数为各层循环执行次数的乘积。 [例5] 用多重循环求100~999之间的所有水仙花数,所谓水仙花数,是该数等于它各位数字的立方和,例如:153=13+33+53。 分析:根据题意,我们可以利用循环枚举三个数位上的数字,采用三重循环来求解,由于循环次数一定,用for循环最为简单,程序如下: program ex1_5; var a,b,c:integer; begin for a:=1 to 9 do for b:=0 to 9 do for c:=0 to 9 do if a*a*a+b*b*b+c*c*c=a*100+b*10+c then write(a*100+b*10+c:6); readln end. [例6] 求1~100之间的素数,所谓素数,就是只能被1和它本身整除的数。 分析:要判断一个数i是否为素数,只要看i是否能被2到i-1范围内的数整除,若只要有一个能整除i,则i不是素数,否则i为素数。因此求1~100之间的素数,只要对这个范围内的每一个数进行判断就可以了。 程序如下: program ex1_6; const n=100; var i,k,s:integer; prime:Boolean; begin s:=0; for i:=2 to n do                                  {枚举n个数} begin prime:=true;k:=2; while (k
本文档为【freePascal教程】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_196623
暂无简介~
格式:doc
大小:27KB
软件:Word
页数:0
分类:互联网
上传时间:2019-05-30
浏览量:21