[第2课]常量、变量和函数、表达式_第1页
[第2课]常量、变量和函数、表达式_第2页
[第2课]常量、变量和函数、表达式_第3页
[第2课]常量、变量和函数、表达式_第4页
[第2课]常量、变量和函数、表达式_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

1、常量、变量、数据类型与函数、表达式常量、变量、数据类型与函数、表达式 除除BEGIN外,每一句外,每一句PASCAL语句后均有分号或句号,只有程语句后均有分号或句号,只有程序的最后一个序的最后一个END后才用句号,而其它任何行末都是分号!后才用句号,而其它任何行末都是分号! 请一定学会读懂请一定学会读懂FP的出错信息提示。的出错信息提示。F2:保存:保存 F3:打开:打开 AltF9:编译:编译 Ctrl+F9:运行:运行本讲重点本讲重点变量变量标准数据类型标准数据类型 表达式表达式常量常量函数函数o例1.1计算半径为R的圆面积Soprogram Area ; const pi=3.14159

2、 ; var s,r : real;begin readln(r);s := pi*sqr(r);writeln(s=,s);end. 当我们用数学来分析现实世界的各种现象时,会遇到各种各样的量,如当我们用数学来分析现实世界的各种现象时,会遇到各种各样的量,如物体运动中的速度、时间和距离;圆的半径、周长和圆周率;购买商品的数物体运动中的速度、时间和距离;圆的半径、周长和圆周率;购买商品的数量、单价和总价;某城市一天中各时刻变化着的气温;某段河道一天中时刻量、单价和总价;某城市一天中各时刻变化着的气温;某段河道一天中时刻变化着的水位变化着的水位在某一个过程中,有些量固定不变,有些量不断改变。在某

3、一个过程中,有些量固定不变,有些量不断改变。一.常量o1.概念(p121) (关于标识符) o1.概念(p24) (关于标识符)o2.常量定义 要求:要放在程序的说明部分; 必须遵循先定义后使用的原则; 不允许重复定义或一次定义多个常量 。 如:const a=1; a,b=10; c=1 or 2;p3.常量的分类 直接常量 符号常量 直接常量 指程序中直接引用的常数(直接用字面形式表示 ),在PASCAL中经常使用的常量有:整型常数,实型常数,字符型常数和布尔型常数等。o(1) 整型常量 如:100 , +120 ,-199 , 0等。o(2) 实型常量 如:100 , +120 ,2.5

4、 ,0 ,0.005 , +2.418 , 1.24E+3 ,-1.24E+3这里E表示用科学记数法表示,1.24E+3相当于数学的1.2410(+3) 。o(3) 字符型常量 如:A ,a,?,4,aBbc,12.5等。o(4) 布尔型常量 它只有两个:true和false,分别表示逻辑判断的结果是真(True)和假(False)。o例如: begin readln(r); s := 3.14159*sqr(r); writeln(s=,s); end.符号常量o在程序中,如果一个常数反复多次出现在程序中,用户可以通过说明语句来定义一个标识符来代表这个常量。符号常量必须在程序中的说明部分定义

5、,也就是说先定义,后使用。o如: const pi=3.14; country=China; success=true; begin readln(r); s := pi*sqr(r); writeln(s=,s); end.p符号常量一经定义,在程序的执行部分就只能使用该常量标识符,而不能修改其值。使用符号常量比直接用数值更能体现见名知义的原则,也便于修改参数,故一个较好的程序中,应尽量使用符号常量,在执行部分基本上不出现直接常量。凡经过const说明部分定义的量都是符号常量本讲重点本讲重点变量变量标准数据类型标准数据类型 表达式表达式常量常量函数函数o 变量代表了一个存储单元,其中的值是可

6、变的,故称为变量。我们可以把变量理解为一个临时的存放数据的小盒子,一次只能存放一个数据,后一次存放的数据将覆盖原有的数据。o图解变量o 变量一经说明,系统就为其分配内存,程序中使用该变量时,就要在相应的内存单元读写数据,一般称为对变量的访问o 由于变量可以取不同的值,因此变量必须通过标识符来代表。程序中出现的每个变量都必须在程序的变量说明部分进行类型说明.变量说明语法图如下:o如: var x,y,z:real; i,j,k:integer; ch:char; t,f:boolean; name:string;x x5205变量的值变量的值变量名变量名(用户自定义标用户自定义标识符)识符)存放

7、变量的值的存储空间存放变量的值的存储空间begin X := 5; X := 205;返回练习1oVar x,y:real; begin x:=2000; y:=x*0.05; write(y); end.运行结果为:运行结果为: 100Y:=3000 xy20001003000例1.1计算半径为R的圆面积S程序的运行结果p程序program Area ; const pi=3.14159 ; var s,r : real;begin readln(r); s := pi*sqr(r); writeln(s=,s);end.p运行4次,每次给r赋不同的值,运行结果为: Free Pascal

8、IDE Version 1.0.8 2006/08/21 Compiler Version 2.0.4Running c:ppbingo32v2area.exe 5s= 7.853975000000000E+001Running c:ppbingo32v2area.exe 6s= 1.130972400000000E+002Running c:ppbingo32v2area.exe 88s= 2.432847296000000E+004Running c:ppbingo32v2area.exe 12.78s= 5.131108681559999E+002本讲重点本讲重点变量变量标准数据类型标准

9、数据类型 表达式表达式常量常量函数函数数值型数值型非数值型非数值型整整 型型实实 型型字符型字符型布尔型布尔型整整 型型o整型数据整型数据整型数据通常采用我们平常使用的十进制整数表示。如138,0,-512等都是整型常量,而18.或18.0都不是整型常量。整整 型型 integer类型类型占内存占内存字节数字节数表示数的范围表示数的范围存储位数存储位数Shortint 短整型1-128127Integer 整型2-3276832767Longint 长整型4-21亿21亿Byte 字节型10255Word 字型20655357位15位31位8位16位练习o例:varo i:byte;o beg

10、ino i=256; 如此定义是否会出错? o当i值取256时出错,因为byte类型只能接受0255之间的数。可定义大些,如integer型o提问:若解题时i的最大可能取值为40000,问变量i应定义为那种数据类型较合适?数据溢出数据溢出三.标准数据的类型数值型数值型非数值型非数值型整整 型型实实 型型字符型字符型布尔型布尔型实实 型型o实型数据包括正实数、负实数和实数零。Pascal中表示实型数据的形式有两种。o日常记数法日常记数法这是人们日常使用的带小数点的表示方法。如0.0,-0.0,+5.61,-8.0,-6.050等都是实型常量,一个整数可以当作实数使用,但反过来不行。o科学记数法科

11、学记数法科学记数法是采用指数形式的表示方法,如1.25105可表示成1.25E+05。在科学记数法中,字母“E”表示10这个“底数”,而E之前为一个十进制表示的小数,称为尾数,E之后必须为一个整数,称为“指数”。 如-1234.56E+26 , +0.268E-5 , 1E5是合法形式,而.34E12 , 2.E5 , E5 ,E,1.2E+0.5都不是合法形式的实数。o和整数相比,实数能表示的范围大得多,但值得注意的是实数运算速度慢且无法像整数那样精确表示,只能近似表示。实实 型型 realo 无论实数是用日常计数法还是科学记数法,它们在计算无论实数是用日常计数法还是科学记数法,它们在计算机

12、内的表示形式是一样的,总是用浮点方式存储。机内的表示形式是一样的,总是用浮点方式存储。o例:var ox:real;o当x的数学值为2时,在计算机中的值为:2.0000000000E+00o当x的数学值为-25时,在计算机中的值为:-2.5000000000E+01o当x的数学值为0.05时,在计算机中的值为:5.0000000000E-02三.标准数据的类型数值型数值型非数值型非数值型整整 型型实实 型型字符型字符型布尔型布尔型实实 型型字符型字符型 char用于存储用于存储ASCII码字符或码字符或8位二进制数。位二进制数。 char 单个字符用一对单引号括起的数据。单个字符用一对单引号括

13、起的数据。字符字符string 一个或一串字符用一对单引号括起来的数据。一个或一串字符用一对单引号括起来的数据。字符串字符串p表现形式:表现形式: 放在放在单引号单引号之间的字符内容,不能进行之间的字符内容,不能进行算术运算算术运算,只能进行如,只能进行如显示、查显示、查找找等特殊的操作。等特殊的操作。 如:如:hello! 、S=、 china 、a、5等。等。 注意:注意:7 和和7是不同的,是不同的, 7为一个字符,而为一个字符,而7为一个整型常量。为一个整型常量。p存储特点:存储特点: 字符在内存中存放的是它的字符在内存中存放的是它的ASCIIASCII编码,通常占用一个字节。编码,通

14、常占用一个字节。p字符是有序的:字符是有序的: 在在pascalpascal的字符集中,用字符序号(的字符集中,用字符序号( ASCIIASCII码)的大小来定义相应字符码)的大小来定义相应字符间的大小关系。因此,所有的字符都可以进行比较。间的大小关系。因此,所有的字符都可以进行比较。例题:将字符例题:将字符AA,%,99按从小到大关系排列为:按从小到大关系排列为:_%, 9 ,A例题:o该程序的运行结果为?o6 aoflaseWrite(ab);三.标准数据的类型数值型数值型非数值型非数值型整整 型型实实 型型字符型字符型布尔型布尔型实实 型型o布尔型的数据是用来存放逻辑判断结果的,既:真真

15、(true)和假(假(false)oTrue为1 false为0oFalsetrue布尔型布尔型 boolean例如: VAR A,B:BOOLEAN; BEGIN A:=TRUE;B:=FALSE; WRITELN(A,B); END.运行结果: TRUE FALSE 本讲重点本讲重点变量变量标准数据类型标准数据类型 表达式表达式常量常量函数函数o表达式:按照一定的语法规则将常量、变量、函数用表达式:按照一定的语法规则将常量、变量、函数用运运算符号算符号连接起来的有意义的式子。连接起来的有意义的式子。 o一个表达式无论简单或复杂,都要按规定的运算顺序进一个表达式无论简单或复杂,都要按规定的运

16、算顺序进行运算,所得的结果称为行运算,所得的结果称为表达式的值表达式的值。运算符算术运算符(+、-,*,/,div,mod)关系运算符(,=,=,=,)逻辑运算符(AND,OR,NOT)算术表达式p用用算术运算符号算术运算符号和和园括号园括号将数值常量、变量、函数连接起来的有意将数值常量、变量、函数连接起来的有意义的式子。义的式子。p练习练习运算符运算符含义含义举例举例结果类型结果类型+ +- -* */ /divdivMODMOD加加减减乘乘实数除实数除整除整除求余求余3+23+2,结果为,结果为5 59-39-3,结果为,结果为6 62 2* *3 3,结果为,结果为6 65/25/2,结

17、果为,结果为2.52.552, 52, 结果为结果为2 25 MOD 25 MOD 2,结果为,结果为1 1整型,实型整型,实型整型,实型整型,实型整型,实型整型,实型实型实型整型整型整型整型注:注:mod运算结果的符号总是和被除数相同。运算结果的符号总是和被除数相同。p书写表达式的规定:书写表达式的规定:(1)所有的字符写在同一行;所有的字符写在同一行;(2)乘号不能省略;乘号不能省略;(3)统一用圆括号,不用中括号和大括号;统一用圆括号,不用中括号和大括号;(4)注意运算顺序,必要时需加括号。注意运算顺序,必要时需加括号。将下列数学表达式转换成FP算数表达式:(a+b)(a-b)(a+b)

18、/(a-b)p运算顺序优先级:运算顺序优先级:括号括号函数函数 * *、/ /、divdiv、mod+ -mod+ -(-B+sin(B*B 4 * A * C) / (2 * A) 练习:计算表达式练习:计算表达式3*5/(5div2)-6+sqr(2)关系表达式o为了比较某种关系,由关系运算符将两个算术表达式连接起来的为了比较某种关系,由关系运算符将两个算术表达式连接起来的式子,结果为布尔量。式子,结果为布尔量。 如:如:3+78, x+y10, 2*70; “为偶数为偶数”可表示为:可表示为: mod 2=0。 逻辑表达式o为了表示更复杂的命题,为了表示更复杂的命题,Pascal还引入三

19、种逻辑运算符:还引入三种逻辑运算符:not、and、or(还(还有一个是有一个是XOR,称为,称为“异或异或”)。它们分别相当于数学上)。它们分别相当于数学上“非非”、“且且”和和“或或”的意义。的意义。o这三个运算符的运算对象为布尔量,其中这三个运算符的运算对象为布尔量,其中not为单目运算,只有一个运算对象,为单目运算,只有一个运算对象,and与与or为双目运算,有两个运算对象。它们的运算真值表如下:为双目运算,有两个运算对象。它们的运算真值表如下:o练习练习(65)and not(AB)结果为:)结果为:_a b NOT a a AND b a OR b a XOR bTrueTrueF

20、alseTrueTrueFalseTrueFalseFalseFalseTrueTrueFalseTrueTrueFalseTrueTrueFalseFalseTrueFalseFalseFalseo 对于一个复杂的表达式可能同时包含算术运算、关系运算和逻辑运算以对于一个复杂的表达式可能同时包含算术运算、关系运算和逻辑运算以及函数运算。及函数运算。o 运算的优先顺序为:运算的优先顺序为:括号函数、括号函数、not、*、/、div、mod、and、+、or、xor关系运算关系运算。o 对于复杂的命题,我们可以用布尔表达式来表示。对于复杂的命题,我们可以用布尔表达式来表示。 例如,命题:例如,命题:“m,n都是偶数或都是奇数都是偶数或都是奇数”可表示为:可表示为:(m mod 2=0)and(n mod 2=0)

温馨提示

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

评论

0/150

提交评论