收藏 分销(赏)

省信息技术学科奥赛培训PPT.ppt

上传人:精**** 文档编号:8998792 上传时间:2025-03-10 格式:PPT 页数:24 大小:960KB 下载积分:10 金币
下载 相关 举报
省信息技术学科奥赛培训PPT.ppt_第1页
第1页 / 共24页
省信息技术学科奥赛培训PPT.ppt_第2页
第2页 / 共24页


点击查看更多>>
资源描述
,Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,pascal,程序的顺序结构,教育技术学专业,1,第三节常量和变量,常量是指在程序中使用的一些具体的数、字符、字符串和布尔值。在程序运行过程中,其值不能被更改。如,123,145.88,my name is,TRUE,等,(,1,)整型数:,如,3,、,-5,、,0,等。,(,2,)实型数:,如,3.1,、,-6.1E+2,(科学记数法)。,(,3,)字符串:,是用单引号括起来的一串字符,如,Book,、,96.5,、,-,。,常量的定义,const,=;,例如,const,st=60;,a=-st+30;,p=3.1415926;,Free Pascal,中预定义了如下几个常量标识符,这些常量可以直接在程序中使用。,Pi=3.1415926535897932,/,的值,Maxint=32767,/,整型,integer,允许的最大值,Maxlongint=2147483647,/,长整型,longint,允许的最大值,FALSE=,布尔假,,TRUE=,布尔真,例,2.10,已知半径,r,,求圆的周长及面积。,Program ex2_10;,const,r=3.6;/,定义了一个其值为,3.6,的实型常量,var,c,s:real;,begin,c:=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,(字符型),也可以是用户自定义的各种类型。,整型数取值范围,类型,数值范围,占字节数,格式,byte,0,255,1,不带符号,8,位,word,0,65535,2,不带符号,16,位,inteter,-32768,32767,2,带符号,16,位,longint,-2147483648,2147483647,4,带符号,32,位,int64,-2,63,+1,2,63,-1,8,带符号,64,位,qword,0,2,64,-1,8,带符号,64,位,实型(,real,),一个实型数据用来存储实数,实型包括正实数、负实数和零。,十进制表示法,这是人们日常使用的带小数点的表示方法。,如,3,,,0.0,科学记数法,科学记数法是采用指数形式的表示方法,如,1.25105,可表示成,1.25E+05,。,实型数取值范围,类型,数值范围,占字节数,有效位数,real,2.9,10,-39,1.7,10,38,6,7,8,位,SingLe,1.5,10,-45,3.4,10,38,4,11,12,位,DoubLe,5.0,10,-324,1.7,10,308,8,15,16,位,extended,1.9,10,-4951,1.1,10,4932,10,19,20,位,Comp,9.2*10,18,9.2*10,18,8,19,20,位,字符型(,char,),字符常量是由单个字符组成,所有字符采用,ASCII,编码,,ASCII,编码共有,128,个字符,(,如下表,),。在程序中,通常用一对单引号将单个字符括起来表示一个字符常量。如:,a,,,A,,,0,等。特殊地,对于单引号字符,则要表示成,4,个单引号,。在,ASCII,字符集中,按每个字符在字符集中的位置,将每个字符编号为,0,127,,编号称为对应字符的序号(也称作,ASCII,码),如字符,A,的序号是,65,,字符,a,的序号是,97,字符,0,的序号的,48,。,序号,字符,序号,字符,序号,字符,序号,字符,序号,字符,序号,字符,32,空格,48,0,64,80,P,96,112,p,33,!,49,1,65,A,81,Q,97,a,113,q,34,”,50,2,66,B,82,R,98,b,114,r,35,#,51,3,67,C,83,S,99,c,115,s,36,$,52,4,68,D,84,T,100,d,116,t,37,%,53,5,69,E,85,U,101,e,117,u,38,&,54,6,70,F,86,V,102,f,118,v,39,55,7,71,G,87,W,103,g,119,w,40,(,56,8,72,H,88,X,104,h,120,x,41,),57,9,73,i,89,Y,105,i,121,y,42,*,58,:,74,J,90,Z,106,j,122,z,43,+,59,;,75,K,91,107,k,123,44,60,78,N,94,110,n,126,47,/,63,?,79,O,95,_,111,o,127,deL,Pascal,提供的字符类操作函数有:,(,1,),pred(,前导,),,,succ(,后继,),字母,b,的前导是,a,,,b,的后继是,c,,即:,pred(b)=a,,,succ(b)=c,pred,与,succ,是互逆函数,pred(succ(b)=b,succ(pred(b)=b,(,2,),ord(,取字符序号,),,,chr(,将序号转字符,),字母,a,的序号是,97,,序号,97,对应的字符是,a,即:,ord(a)=97,,,chr(97)=a,ord,与,chr,是互逆函数,chr(ord(a)=a,ord(chr(97)=97,(,3,),upcase,(小写转大写),布尔型(,boolean,),布尔型常量仅有两个值:真和假,分别用标准常量名,TRUE,和,FALSE,表示。它们的序号分别为,1,和,0,。,【,分析,】,题目中有,5,位小朋友,他们初始时糖果的数目不确定,用,a,b,c,d,e,分别存储,5,个小朋友的糖果数,初始值由键盘输入。,程序如下:,Program ex2_11;,Var a,b,c,d,e:integer;,begin,readln(a,b,c,d,e);,a:=a div 3;b:=b+a;e:=e+a;,/1,号小朋友分糖,b:=b div 3;c:=c+b;a:=a+b;,/2,号小朋友分糖,c:=c div 3;b:=b+c;d:=d+c;,/3,号小朋友分糖,d:=d div 3;c:=c+d;e:=e+d;,/4,号小朋友分糖,e:=e div 3;d:=d+e;a:=a+e;,/5,号小朋友分糖,writeln(a,b,c,d,e);/,每个值之间空格隔开,end.,And ,or,not,A,B,NOT A,A AND B,A OR B,FALSE,FALSE,TRUE,FASLE,FASLE,FALSE,TRUE,TRUE,FALSE,TRUE,TRUE,FALSE,FALSE,FASLE,TRUE,TRUE,TRUE,FALSE,TRUE,TRUE,第五节顺序结构程序设计,例,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,就是三人原先的钱数,Program ex2_12;,var a,,,b,,,c:integer,;,begin,a:=8,;,b:=8,;,c:=8,;,/,对应于步骤,a:=a div 2,;,b:=b div 2,;,c:=a+b+c,;,/,对应于步骤,a:=a div 2,;,c:=c div 2,;,b:=a+b+c,;,/,对应于步骤,b:=b div 2,;,c:=c div 2,;,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.,程序如下:,Program ex2_13,;,const a=1,;,b=3,;,c=2,;,/,常量说明,,a,,,b,,,c,表示方程系数,var d:integer,;,/d,为整型变量,x1,,,x2:real,;,/X1,,,X2,为实型变量,begin,d:=b*b-4*a*c,;,x1:=(-b+sqrt(d)/(2*a),;,/,求方程的根,x2:=(-b-sqrt(d)/(2*a),;,writeln(x1=,,,x1,,,:6,,,x2=,,,x2),;,/,输出结果,readln /,等待输入一个回车键,end.,本程序中的,a,,,b,,,c,均为常量;变量,d,是整数类型,而变量,x1,,,x2,则是实数类型,因为运算式中的,Sqrt(d),开平方运算和”,/“,除法运算使结果为实数。,Sqrt(),是开根号函数,是,Pascal,系统的一个标准函数。,供参考的网络资源,24,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服