资源描述:
《pascal_语言初识2》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Pascal语言初识PASCAL中的布尔(逻辑)运算在前面,我们学习了整型(integer)与实型(real)。它们都是数值型的(即值都为数)。布尔型(Boolean)是一种数据的类型,这种类型只有两种值,即"真"与"假"。奇数函数前趋函数后继函数序号函数布尔运算符的运算次序:NOTANDOR如果在一个布尔表达式中既包括布尔运算符,又包括关系运算符和算术运算符,它们的运算顺序为:1、括号2、函数3、NOT4、*,/,DIV,MOD,AND5、+,-,OR6、>,<,>=,<=,=,<>例在下列式中a=TRUE,b=FALSE,x=6,i=4,j=6,t=3,u
2、=2,则此布尔表达式的值为什么?aANDNOT(x>5)AND(i>j+5)ORa>bANDbTFTFFFFTT选择结构的程序设计IF语句IF语句是由一个布尔表达式和两个供选择的操作序列组成。运行时根据布尔表达式求值结果,选取其中之一的操作序列执行。有两种形式的IF语句:if<布尔表达式>then<语句>;if<布尔表达式>then<语句1>else <语句2>;当布尔表达式的值为真,则执行then后面的语句,值为假时有两种情况:要么什么也不做,要么执行else后面的语句。注意else前面没有分号,因为分号是两个语句之间的分隔符,而else并非语句。如果在该处
3、添了分号,则在编译的时候就会认为if语句到此结束,而把else当作另一句的开头,输出出错信息。例:求y=f(x),当x>0时,y=1,当x=0时,y=0,当x<0时,y=-1programlianxi;varx,y:real;beginifx>0theny:=1;ifx=0theny:=0;ifx<0theny:=-1;writeln('y=',y);end.求y=0(x<=-a)(a2-x2)½(-aa/2)Programfunctiony(input,output);Vary,x,a:real;Beginwriteln(‘input
4、a&x:’);readln(a,x);if(x<=-a)theny:=0;if(x>-a)and(x<=a/2)theny:=sqrt(a*a-x*x);if(x>a/2)theny:=x;write(a,x,y)End.输入一个整数a,判断是否为偶数。(是输出"yes"否则输出"no")。Programex4_2;Vara:integer;BeginWrite('a=');readln(a);If(amod2=0)thenwriteln(‘yes’)Elsewriteln('no');Readln;End.华榕超市里卖电池,每个电池8角钱,若数量超过10个,
5、则可打75折Programex4_3;VarNum:integer;Price,Total:real;BeginWrite('Num=');readln(Num);Price=0.8;IfNum>10thenPrice:=Price*0.75;Total:=Num*Price;Writeln('Total=',Total:10:2);Readln;End.If语句中的复合语句Ifa>bthent:=a;a:=b;b:=t;Ifa>bthenbegint:=a;a:=b;b:=t;end.a>bthenelset:=aa:=bb:=ta>bthenelset:=
6、aa:=bb:=t例:当x>0时候,计算x*x,并且输出x和x*xprogramlianxie3;varx,x1:real;beginreadln('x=',x);ifx>0then beginx1:=x*x;writeln('x*x=',x1);writeln('x=',x);end;end.当if语句嵌套时,TurboPascal约定else总是和最近的一个if配对。在TurboPascal语言if语句中被构造的语句只能是一条语句,当条件选择某个分支的计算要用多个语句描述时,就必须把该分支用begin和end括来,写成复合语句。在用if语句连续嵌套时,
7、如果你插入适量的复合语句,有利于程序的阅读和理解。if嵌套在if语句中,如果then子句或else子句仍是一个if语句,则称为if语句的嵌套。明显,从程序书写格式可以看出,他想让else与第一个if配对,而事实上,这是错的。因为pascal规定:else与它上面的距它最近的then配对,因此以上程序段的逻辑意义就与题义不符要使上程序段中esle与第一个then配对,应将程序段修改为:输入一个年号,判断它是否是闰年。 分析:判断闰年的算法是:如果此年号能被400除尽,或者它能被4整除而不能被100整除,则它是闰年。否则,它是平年。programex;vary
8、ear:integer;beginwr