省信息技术学科奥赛培训ppt课件_第1页
省信息技术学科奥赛培训ppt课件_第2页
省信息技术学科奥赛培训ppt课件_第3页
省信息技术学科奥赛培训ppt课件_第4页
省信息技术学科奥赛培训ppt课件_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

pascal程序的顺序结构,教育技术学专业,1,第三节常量和变量,常量是指在程序中使用的一些具体的数、字符、字符串和布尔值。在程序运行过程中,其值不能被更改。如123,145.88,mynameis,TRUE等(1)整型数:如3、-5、0等。(2)实型数:如3.1、-6.1E+2(科学记数法)。(3)字符串:是用单引号括起来的一串字符,如Book、96.5、-。,常量的定义,const=;例如constst=60;a=-st+30;p=3.1415926;,FreePascal中预定义了如下几个常量标识符,这些常量可以直接在程序中使用。Pi=3.1415926535897932/的值Maxint=32767/整型integer允许的最大值Maxlongint=2147483647/长整型longint允许的最大值FALSE=布尔假,TRUE=布尔真,例2.10已知半径r,求圆的周长及面积。Programex2_10;constr=3.6;/定义了一个其值为3.6的实型常量varc,s:real;beginc:=2*pi*r;s:=pi*r*r;writeln(c=,c:10:2);writeln(s=,s:10:2);end.,变量,变量的命名规则:“自定义标识符”的命名规则为:自定义标识符必须以字母(包含下划线“_”)开头,后面的字符可以是字母或数字例如n,m,rot,total等都是合法变量名。,变量的类型,整型变量用来存储整数,实型变量用来存储实数。变量的类型,可以是标准数据类型integer(存储整数)、real(存储实数)、boolean(布尔型)和char(字符型),也可以是用户自定义的各种类型。,整型数取值范围,实型(real),一个实型数据用来存储实数,实型包括正实数、负实数和零。十进制表示法这是人们日常使用的带小数点的表示方法。如3,0.0科学记数法科学记数法是采用指数形式的表示方法,如1.25105可表示成1.25E+05。,实型数取值范围,字符型(char),字符常量是由单个字符组成,所有字符采用ASCII编码,ASCII编码共有128个字符(如下表)。在程序中,通常用一对单引号将单个字符括起来表示一个字符常量。如:a,A,0等。特殊地,对于单引号字符,则要表示成4个单引号。在ASCII字符集中,按每个字符在字符集中的位置,将每个字符编号为0127,编号称为对应字符的序号(也称作ASCII码),如字符A的序号是65,字符a的序号是97,字符0的序号的48。,Pascal提供的字符类操作函数有:(1)pred(前导),succ(后继)字母b的前导是a,b的后继是c,即:pred(b)=a,succ(b)=cpred与succ是互逆函数pred(succ(b)=bsucc(pred(b)=b(2)ord(取字符序号),chr(将序号转字符)字母a的序号是97,序号97对应的字符是a,即:ord(a)=97,chr(97)=aord与chr是互逆函数chr(ord(a)=aord(chr(97)=97(3)upcase(小写转大写),布尔型(boolean),布尔型常量仅有两个值:真和假,分别用标准常量名TRUE和FALSE表示。它们的序号分别为1和0。,【分析】题目中有5位小朋友,他们初始时糖果的数目不确定,用a,b,c,d,e分别存储5个小朋友的糖果数,初始值由键盘输入。程序如下:Programex2_11;Vara,b,c,d,e:integer;beginreadln(a,b,c,d,e);a:=adiv3;b:=b+a;e:=e+a;/1号小朋友分糖b:=bdiv3;c:=c+b;a:=a+b;/2号小朋友分糖c:=cdiv3;b:=b+c;d:=d+c;/3号小朋友分糖d:=ddiv3;c:=c+d;e:=e+d;/4号小朋友分糖e:=ediv3;d:=d+e;a:=a+e;/5号小朋友分糖writeln(a,b,c,d,e);/每个值之间空格隔开end.,And,or,not,第五节顺序结构程序设计,例2.11某幼儿园里,有5个小朋友编号为1,2,3,4,5,他们按自己的编号顺序围坐在一张圆桌旁。他们身上都有若干个糖果(键盘输入),现在他们做一个分糖果游戏。从1号小朋友开始,将自己的糖果均分三份(如果有多余的糖果,则立即吃掉),自己留一份,其余两份分给他的相邻的两个小朋友。接着2号、3号、4号、5号小朋友同样这么做。问一轮后,每个小朋友手上分别有多少糖果。,例2.12分钱游戏。甲、乙、丙三人共有24元钱,先由甲分钱给乙、丙两人,所分给的数与各人已有数相同;接着由乙分给甲、丙,分法同前;再由丙分钱给甲、乙,分法亦同前。经上述三次分钱之后,每个人的钱数恰好一样多。求原先各人的钱数分别是多少?,【分析】设甲、乙、丙三人的钱数分别为A,B,C。用倒推(逆序)算法,从最后结果入手,按反相顺序,分步骤推算出每次各人当时的钱数:(在每个步骤中,各人钱数分别存在A、B、C中)步骤:A=8,B=8,C=8/这是最后结果的钱数,三人都一样多步骤:A=A/2(=4),B=B/2(=4),C=A+B+C(=16)/A,B未得到丙分给的钱时,只有结果数的一半;C应包含给A,B及本身数三者之和步骤:A=A/2(=2),C=C/2(=8),B=A+B+C(=14)/A,C未得到乙分给的钱时,只有巳有数的一半;B应包含给A,C及本身数三者之和步骤:B=B/2(=7),C=C/2(=4),A=A+B+C(=13)/C未得到甲分给的钱时,只有巳有数的一半;A应包含给B,C及本身数三者之和步骤:输出A(=13),B(=7),C(=4)/此时的A,B,C就是三人原先的钱数,Programex2_12;vara,b,c:integer;begina:=8;b:=8;c:=8;/对应于步骤a:=adiv2;b:=bdiv2;c:=a+b+c;/对应于步骤a:=adiv2;c:=cdiv2;b:=a+b+c;/对应于步骤b:=bdiv2;c:=cdiv2;a:=a+b+c;/对应于步骤writeln(a=,a,:4,b=,b,:4,c=,c);/输出end.细心观察,会发现本程序语句的顺序很关键。此例用反推顺序(逆序),按步骤正确推算出各变量的值。本程序writeln语句的输出项含有(:4),这里的冒号用来指定该项显示所占宽度,此处是输出4个空格即(空格项占4格)。,例2.13求一元二次方程x2+3x+2=0的两个实数根。,【分析】方程的系数是常量,分别用a,b,c表示,可运用数学上现成的求根公式求方程的根,采取如下方法:先求出d=b2-4ac;(求根公式中需用开方运算的那部分)再用求根公式算出x1,x2的值。输出x1,x2.,程序如下:Programex2_13;consta=1;b=3;c=2;/常量说明,a,b,c表示方程系数vard:integer;/d为整型变量x1,x2:real;/X1,X2为实型变量begind:=b*b-4*a*c;x1:=(-b+sqrt(d)/(2*a);/求方程的根x2:=(-b-sqrt(d)/(2*a);writeln(x1=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论