第二课初始Pascal赋值语句和表达式第四次课

上传人:E**** 文档编号:91689894 上传时间:2019-07-01 格式:PPT 页数:17 大小:563KB
返回 下载 相关 举报
第二课初始Pascal赋值语句和表达式第四次课_第1页
第1页 / 共17页
第二课初始Pascal赋值语句和表达式第四次课_第2页
第2页 / 共17页
第二课初始Pascal赋值语句和表达式第四次课_第3页
第3页 / 共17页
第二课初始Pascal赋值语句和表达式第四次课_第4页
第4页 / 共17页
第二课初始Pascal赋值语句和表达式第四次课_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《第二课初始Pascal赋值语句和表达式第四次课》由会员分享,可在线阅读,更多相关《第二课初始Pascal赋值语句和表达式第四次课(17页珍藏版)》请在金锄头文库上搜索。

1、信息奥赛第四次课,实验中学,赋值语句,1、 赋值语句的格式 变量名:=表达式; 其中“:=”称为赋值号。 2、 执行过程 计算机先计算赋值号右边表达式的值,然后将表达式的值赋给变量名代表的变量。 如:a:=(9*8)-(2-1); a:=a+1,变量既然代表一个存储单元,其值是可变的,那么其中的值是怎么提供的,又是怎么改变的呢?,a,注意:赋值语句在使用时,要注意赋值号两边的数据类型必须赋值兼容,即类型相一致或相容。,Var a:integer;,a:=3.678;,将出错,Var a:integer;,说明,格式说明:“:=”是赋值号。 它与比较符“=”是两 个不同的符号。 A:=5表明将整

2、数5赋给变量A,完成一个动作。 A=5表明变量A与5相比较判断等与不等,结果是一个布尔值。,练习1,说出每执行一次赋值语句后变量a、b的内容变化。 Program examp1_1 Var a,b: integer; Begin a := 3; b :=5; a := a+b; b := b*a; End.,a,b,引例,如何交换?,练习2,编写程序,交换两个变量的值。,Program ex_2; var a,b,t: integer; begin a:=3; b:=4; t:=a; a:=b; b:=t; write(a=,a,b=,b); End.,a,b;,t,某仓库5月1日有粮食100

3、吨,5月2日又调进20吨,5月3日卖出库存的三分之二,5月4日又调进库存的3倍粮食,问该仓库从5月1日到5月4日期间每天的粮食分别是多少吨?(输出每天的库存量) 【分析】本例中,主要要描述从5月1日到5月4日每天仓库的粮食库存量,它是不断变化的,我们可以用一个变量A来存储仓库当前的库存量。,练习3,程序如下: Program ex2_2; Var a : integer; begin a := 100; writeln(5/1: , a); /输出5月1日的库存量 a := a+20; writeln(5/2: , a); a := a div 3; /div是整除,相当于对结果取整操作 wr

4、iteln(5/3: , a); a := a *4; writeln(5/4: , a); readln; end. 本程序中语句的自上而下的顺序很关键,这类程序严格自上而上每条语句都被执行一次就称为顺序程序。,练习4: 数学中有个经典的“鸡兔同笼”问题,已知头共30个,脚共90只,问笼中的鸡和兔各有多少只? 【分析】 设鸡为j只,兔为t只,头为h,脚为f,那么有: j+t=30 2*j+4*t=90 可采用“假设条件与逻辑推理”的办法,假设笼中30 个头全都是兔,那么都按每头只脚计算,总脚数为(4*h),与实际脚数 ( f )之差为(4*h-f),如果这个差=0,则笼中全是兔(即鸡为0只)

5、;如果这个差值 0,说明多计算了脚数,凡是鸡都多计算了两只脚,用它除以2就能得到鸡的只数,算法为: j=(4*h - f)/2 /先用脚数差值除以2算出鸡的只数 t=h - j /再用总头数减鸡数算出免的只数,程序如下: program ex2_3; Const h=30; f=90; /常量定义 Var j,t : integer; /为整数类型的变量 begin j := (4*h-f) div 2; /div是整除运算 t := h-j; writeln (j=,j, ,t= ,t ); end.,/引号中内容原样输出,两部分内容用空格隔开,算术表达式,算术表达式的定义 Pascal语言

6、中的算术表达式是由符合Pascal语法规定的运算对象(包括常量、变量、函数)、算术运算符、圆括号组成的有意义的式子。如a+30*5/8.4,算术运算符 常用的有以下6个算术运算符: + (加) - (减) * (乘) / (实数除)得到结果为实型。如5/2=2.5,4/2=2.0(结果不是2) div (整除) div它要求除数和被除数均为整型, 结果也为整型。 如10 div 2=5,10 div 3=3, 5 div 10=0,-15 div 4= -3。div运算只取 商的整数部分,参与div运算的两个对象都不能为实型。 mod (求余数),也只能用于整数运算,结果为整数。 如:10 m

7、od 4=2 , -17 mod 4=-1 , 4 mod (-3)=1, - 4 mod 3= -1,即 a mod b=a-(a div b)*b。div的结果是相除后的商,mod的结果是相 除后的余数。因此有: 8 div 3=2 8 mod 3=2 7 div 3=2 7 mod 3=1 6 div 3=2 6 mod 3=0,运算优先顺序 如果一个表达式里出现两个或两个以上的运算符, 则必须规定它们的运算次序。Pascal规定的运算优先级别(与数学中规定的一样): 表达式中相同优先级的运算符,按从左到右顺序计算; 表达式中不同优先级的运算符,按从高到低顺序计算; 括号优先级最高,多层

8、括号则从内到外逐层降低; 在算术运算中运算符的优先顺序与数学上的四则运算一致,即“先乘除后加减“(注:“mod“、“div“运算的优先级与“*“、“/“相同)。,下面是几个Pascal表达式的例子:,Pascal的常用数学函数 abs(取绝对值),sqr(平方),sqrt(开方), 如:abs(-2)=2; sqr(3)=9; sqrt(4)=2 Pascal规定,所有函数的自变量必须写在括号中。例如: (a+b)2 应写成 sqr(a+b) 或 (a+b)*(a+b) x3可以写成 x*x*x (a+b)3可以写成sqr(a+b)*(a+b)或三个(a+b)连乘 trunc是去掉小数部分,取其整数部分。 Round是将小数部分四舍五入后变为整数(即得到最接近于它的整数)。因此 trunc(1.2)=1 round(1.2)=1 trunc(1.7)=1 round(1.7)=2 trunc(-3.7)=-3 round(-3.7)=-4,运算、标准函数表,运算表,标准函数表,表中的列表示函数参数的类型,行表示函数执行后返回的结果类型。如trunc函数的参数是实型,该函数的运算结果是整型,即对实数取整。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号