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

上传人:小飞机 文档编号:6319095 上传时间:2023-10-16 格式:PPT 页数:24 大小:336.82KB
返回 下载 相关 举报
省信息技术学科奥赛培训.ppt_第1页
第1页 / 共24页
省信息技术学科奥赛培训.ppt_第2页
第2页 / 共24页
省信息技术学科奥赛培训.ppt_第3页
第3页 / 共24页
省信息技术学科奥赛培训.ppt_第4页
第4页 / 共24页
省信息技术学科奥赛培训.ppt_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《省信息技术学科奥赛培训.ppt》由会员分享,可在线阅读,更多相关《省信息技术学科奥赛培训.ppt(24页珍藏版)》请在三一办公上搜索。

1、pascal程序的顺序结构,教育技术学专业,第三节常量和变量,常量是指在程序中使用的一些具体的数、字符、字符串和布尔值。在程序运行过程中,其值不能被更改。如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中预定义了如下几个常量标识符,这些常量可以直接在程序中使用。/的值Maxint=32767/整型integer

2、允许的最大值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 等都是合法变量名。,

3、变量的类型,整型变量用来存储整数,实型变量用来存储实数。变量的类型,可以是标准数据类型integer(存储整数)、real(存储实数)、boolean(布尔型)和char(字符型),也可以是用户自定义的各种类型。,整型数取值范围,实型(real),一个实型数据用来存储实数,实型包括正实数、负实数和零。十进制表示法这是人们日常使用的带小数点的表示方法。如3,0.0 科学记数法 科学记数法是采用指数形式的表示方法,如1.25105可表示成1.25E+05。,实型数取值范围,字符型(char),字符常量是由单个字符组成,所有字符采用ASCII编码,ASCII编码共有128个字符(如下表)。在程序中,

4、通常用一对单引号将单个字符括起来表示一个字符常量。如: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的序

5、号是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个小朋友的糖果数,初始值由键盘输入。程序如下:Program ex2_11;Var a,b,c,d,e:integer;begin readln(a,b,c,d,e);a:=a div 3;b:=b+

6、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,第五节顺序结构程序设计,例2.11 某幼儿园里,有5个小朋友编号为1,2,3,4,5,他们按自己的编号顺序围坐在一张圆桌旁。他们身上都有若干个糖果(键盘输入),现在他们做一个分糖果游戏。从1号小朋友开始

7、,将自己的糖果均分三份(如果有多余的糖果,则立即吃掉),自己留一份,其余两份分给他的相邻的两个小朋友。接着2号、3号、4号、5号小朋友同样这么做。问一轮后,每个小朋友手上分别有多少糖果。,例2.12 分钱游戏。甲、乙、丙三人共有24元钱,先由甲分钱给乙、丙两人,所分给的数与各人已有数相同;接着由乙分给甲、丙,分法同前;再由丙分钱给甲、乙,分法亦同前。经上述三次分钱之后,每个人的钱数恰好一样多。求原先各人的钱数分别是多少?,【分析】设甲、乙、丙三人的钱数分别为A,B,C。用倒推(逆序)算法,从最后结果入手,按反相顺序,分步骤推算出每次各人当时的钱数:(在每个步骤中,各人钱数分别存在A、B、C中)

8、步骤: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 就是三人原先的钱数,Pro

9、gram 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),这里的冒号用来指定该项显示所占宽度,此处是输

10、出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系统的一个标准函数。,供参考的网络资源,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号