辽师大版信息技术九年Pascel语言基础p28492.pptx
程序=计算机语言+数据结构+算法PascalConst pi=3.14159;Var s,r:real;begin readln(r);s:=pi*r*r;writeln(s=,s);end.程序首部 程序体Program Area(input,output);说明部分 执行部分例:计算半径为R 的圆面积S Pascal符号 保留字:(关键字)预定义标识符标准常量:FLASE、MAXINT、TRUE标准类型:BOOLEAN、CHAR、REAL标准函数:ABS、CHR、COS标准过程:DISPOSE、GET标准文件:INPUT、OUTPUT用户标识符在Pascal 语言中具有特定的含义选用的表识符不能和保留字相同。有效长度为63个字符,并且大小写等效。标识符必须是以字母开头的字母、数字、下划线序列。判断:a_1a-178tMax9_ahi.a数据类型基本简单类型标准类型用户自定义类型实数类型整数类型字符类型布尔类型枚举类型子界类型顺序类型构造(复杂)类型数组类型集合类型记录类型文件类型指针类型类型 数值范围占字节数格式shortint-128128 1 带符号8 位(短整型)integer-3276832767 2 带符号16 位(整型)longint-21474836484 带符号32 位(长整型)2147483647 byte 0255 1 带符号8 位(字节型)word 065535 2 带符号16 位(字类型)1、整型 Pascal 规定了两个预定义整型常量标识符maxint和maxlonint,他们各表示确定的常数值maxint 为32767maxlongint 为2147483647 他们的类型分别是integer 和longint类型 数值范围 占字节数有效位数real 2.9e-39.1.7e38 6 11.12基本实型Single1.5e-45.3.4e38 4 7.8单精度实型double 5.0e-324.1.7e308 8 15.16双精度实型2、实型一个实型数据用来存放实数。3、字符型标识符:char字符型必须用单引号括起来字母作为字符型时,大小写是不等价的字符型只允许单引号中有一个字符,否则就是字符串。比较大小:A()a 一个布尔型数据用来存放逻辑值(布尔值)。4、布尔型布尔型的值:false(0)和true(1);boolean 是布尔型的标识符。false 和true 都是预定义常数标识符,分别表示逻辑假和逻辑真。truefalse。a b NOT a NOT b a AND b a OR b a xor bTrue True False False True True falseTrue False False True False True trueFalse True True False False True trueFalse False True True False False false布尔运算的运算次序:NOT AND XOR、OR例1:(第11 届NOIP)设A true,B false,C false,D=true,以下逻辑运算表达式值为真的是()A.(A B)(C D)B.(A B)C)DC.A(B C)D D.(A(B C)DD.E.(A B)(C D)例2(第9 届NOIP)设A true,B false,C true,D=true,逻辑运算表达式A B C D 的值是()二进制的逻辑运算二进制数1和0在逻辑上可以代表“真”与“假”、“是”与“否”、“有”与“无”。1、逻辑加法(“或”运算)逻辑加法通常用符号“+”或“”来表示。逻辑加法运算规则如下:0+0=0,00=00+1=1,01=11+0=1,10=11+1=1,11=12、逻辑乘法(“与”运算)逻辑乘法通常用符号“”或“”或“”来表示。逻辑乘法运算规则如下:00=0,00=0,00=001=0,01=0,01=010=0,10=0,10=011=1,11=1,11=13、逻辑否定(非运算)逻辑非运算又称逻辑否运算。其运算规则为:0=1 非0等于11=0 非1等于04、异或逻辑运算(半加运算)异或运算通常用符号 表示,其运算规则为:00=00 同0异或,结果为001=10 同1异或,结果为110=11 同0异或,结果为111=01 同1异或,结果为0即两个逻辑变量相异,输出才为1练习:1、1010111 10011101=书本P11-N152、1010101001100110=3、10101100=4、1010101000001111=试一试:1、请模仿写出一个Pascal 程序以实现计算梯形面积。假设梯形上底a 5,下底b 10,高h 6。2、给出半径R 100,求圆周长、圆面积。3、一个学生五门课的成绩为:70、89、65、100、78。编PASCAL 程序,输出平均成绩。一、常量1、常量定义2、定义常量的语法格式 CONST=;=;3、类型(1)数 n 100(2)字符 ch*(3)字符串 str Hangzhou(4)布尔值 flag True二、变量1、变量定义2、变量说明部分的语法格式VAR:;:;Varbeginread(a,b);c:=a*b;d:=a/b;writeln(c);writeln(d);End.?例:输入:两个整数a、b(=3000),输出它们的乘积c,商d。a,b:integer;C:longint;d:real;三、标准函数1、算术函数函数标识符 自变量类型意义结果类型abs 整型、实型绝对值同自变量exp 整型、实型指数实型ln 整型、实型自然对数实型int 整型、实型整数部分实型frac 整型、实型小数部分实型arctan 整型、实型反正切实型sin 整型、实型正弦实型cos 整型、实型余弦实型sqr 整型、实型平方同自变量sqrt 整型、实型平方根实型练习abs(-4)=abs(-7.49)=frac(-3.71)=int(-3.71)=sqr(4)=sqrt(4)=函数标识符 自变量类型 意义 结果类型odd(x)整型 判断奇数 布尔型pred(x)顺序类型求前趋 同自变量succ(x)顺序类型求后继 同自变量例:odd(1000)=false pred(2000)=1999succ(2000)=2001odd(3)=pred(x)=succ(x)=2、标量函数函数标识符自变量类型意义 结果类型chr(x)byte 自变量对应的字符 字符型ord(x)顺序类型 自变量对应的序号longint round(x)实型 四舍五入longinttrunc(x)实型 截断取整longint例:chr(66)=B ord(A)=65 round(-4.3)=-5 trunc(2.88)=23、转换函数4、杂类函数:Random:0,1 之间的随机实数Random(x):0,x 之间的随机整数Randomize:初始化内部随机数产生器Upcase(x):使小写英文字母变成大写四、Pascal 运算符(2)逻辑运算符运算符运算 运算对象结果类型not 逻辑非 布尔型布尔型and 逻辑与 布尔型布尔型or 逻辑或 布尔型 布尔型xor 逻辑异或 布尔型 布尔型(1)运算符+-*/divmod(3)关系运算符运算符 运算运算对象 结果类型=等于 简单类型 布尔型 不等于 简单类型 布尔型 大于 简单类型 布尔型=大于等于 简单类型 布尔型优先级运算符 优先级not 1(高)*,/,div,mod,and 2xor,+,-,or 3in,=,=,=,4(低)练习:求下列表达式的值:20mod1915mod97div819div3(45)and(79)or(93)and(3=3)or(37)13-2*3DIV4MOD2五、Pascal 表达式1、算术表达式:3.1415929 X 2*pi*r2、字符表达式:A CHR(65)3、关系表达式:a+b10算术表达式1、定义:由符合PASCAL 语法规定的数值型运算对象(包括数值型的常量、变量、函数)、运算 符、圆括号组成的有意义的式子。2、算术运算符:+、-、*、/、DIV、MOD3、运算次序:(1)圆括号()(2)函数(3)*、/、DIV、MOD(4)+、-同一级别的运算符,按在表达式中次序“先左后右”的原则算术表达式例1:将下列的数学表达式改写成PASCAL 表达式:b2-4ac例2:n 为四位数。请运用算术表达式分离出它的个、十、百、千位 n MOD 10-(个位数)(n MOD 100)DIV 10-(十位数)(n MOD 1000)DIV 100-(百位数)n DIV 1000-(千位数)下面的程序执行后,变量b、c、d 的值是多少?Program pl(input,output);Consta=256;Varb,d:integer;c:real;beginb:=a div 16;c:=a/b;d:=a;end.作业:写出下面运算的结果(注意类型)1、5*3*6 DIV 22、8/4*2.5/1.25*(3.7+2.3)3、18 DIV 4*sqr(4.0)/1.64、25 DIV 3 MOD 3*Trunc(2.5)5、8 MOD(-16 MOD 3)*66、5 DIV 3/Ord(pred(C)*Trunc(7.5*6.3)*Round(7.5-6.3)注:MOD 函数按“求余”运算,Ord(A)=65六、PASCAL 语言的语句语句基本语句赋值语句过程语句读语句写语句其他过程语句转移语句空语句构造型语句复合语句条件语句分情况语句如果语句重复语句当语句直到语句循环语句开域语句1、赋值语句格式::=注意::=是赋值号,在书写时中间不能加空格。赋值语句的执行是:先计算(表达式的值),后赋值如:A:=(9*8)-(2-1);A:=A+1注意:a,b:integer;是一个说明语句。“:”是变量表和变量类型的分隔符a=b是一个表达式。它的值是一个布尔类型的量:TRUE 或FALSEa:=3;是一个赋值语句。把整型常量值3 赋给整型变量a写出下列程序运行后,变量a、b 的值Program p2(input,output);Var a,b:integer;begin a:=3;b:=a;b:=a+1;a:=a+1;b:=b+1;end.2、写语句输出语句功能:写(write)语句是Pascal 中唯一能将运算结果送出显示在显示器屏幕的语句。格式:write(输出量表);输出后不换行writeln(输出量表);输出后换行writeln;输出一个回车符write(1,2,3,4);write(5,6);输出为:123456Write 语句与writeln 语句的区别:write 语句将其后括号中的表达式一个接一个输出后,没有换行。而writeln 语句则在输出各个表达式的值后换行。writeln(1,2,3,4);write(5,6);输出为:123456例如以下两个程序段的输出分别为:注意:场宽的限制在输出不同格式的数值时的作用:例2:实型数据小数位数的确定。vara:real;begina:=15/8;writeln(a);输出1.8750000000E+00wiiteln(a:0:2);输出1.88整数部分按实际位数输出,小数部分保留两位小数,末位四舍五入.writeln(a:0:0):输出2只输出整数部分,小数部分四舍五入end.例1:数据项间隔。如输出最多四位的数据:write(x:5)。则数据间至少分隔一个空格。写出输出结果const a=10;b=20;begin writeln(50);write(a:3);writeln(a+b:4);writeln(a+b=,a+b);end.3、读语句输入语句格式:read();-读入不换行 readln();-读入换行 readln;read 后一定要有参数表;readln 可以不带参数表,即可以没有任何输入项,只是等待读入一个换行符(回车)。经常用于暂停程序的运行,直到输入一个回车注意:写在括号中的变量,都要在变量说明中先预以说明;变量与变量之间,以“,”分隔;例:vara,b:integer;read(a,b);read 与readln 的区别例:有两段程序有相同的变量说明如下,不同的读语句。变量说明vara,b,c,d:integer;执行结果a b c d程序段一read(a);readln(b,c);read(d);1 2 3 6程序段二readln(a);read(b,c);read(d)1 6 7 8输入数据12345678写出下面程序的运算结果。Program p8(input,output);vara,b,c:integer;beginwriteln(请输入两个数:);read(a,b);c:=a;a:=b;b:=c;writeln(a:5,b:5);end.输入:5 8作业:编写程序1、输入一个三位自然数,分离出它的百位、十位与个位上的数字,并逆序变成一个新的三位数输出。2、输入一个华氏温度,要求将其转换成摄氏温度。公式为C 5/9(F-32),其中F 是华氏温度,C 是摄氏温度。3、输入a,b 两个整数,要求输出a 除以b 得到的商和余数。(商保留两位小数,场宽为5)4、火车作直线加速运动,已知初速V00,加速度a0.1 米/秒2,求t 10 分钟时火车速度(以公里/小时表示),取两位小数。公式:Vt=V0+at