




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、信息学竞赛辅导信息学竞赛辅导PASCALPASCAL语言基础语言基础康杰中学信息技术教研组康杰中学信息技术教研组赵赵 辉辉QQ 346713726第四章第四章 分支结构程序设计分支结构程序设计第第1 1课课本节内容 布尔常量与布尔变量1 布尔表达式2 if语句3 分支结构应用举例4一、布尔常量1、Free Pascal语言中布尔常量也称为逻辑常量。只有两语言中布尔常量也称为逻辑常量。只有两个:个:true和和false,其中,其中true为真,为真,false为假。为假。2、布尔型数据虽然只有两个,但也是有序的。、布尔型数据虽然只有两个,但也是有序的。 Free Pascal语言中规定语言中规
2、定false的序号为的序号为0,true的序号的序号为为1,所以像,所以像Ord、Pred、Succ等这一类顺序型函数对等这一类顺序型函数对它都是适用的:它都是适用的:Falsetrue;Ord(false)=0;Ord(true)=1;Pred(true)=false;Succ(false)=true;但但Pred(false)和和Succ(true)将会出错。将会出错。一、布尔变量定义格式:定义格式:Var m,n:boolean;boolean是布尔类型标识符。是布尔类型标识符。这样在这样在Var区中就定义了两个布尔型变量区中就定义了两个布尔型变量m和和n,它们只能用来表示逻辑,它们只能
3、用来表示逻辑值值“真真”或或“假假”。例如,在程序的执行部分出现语句:例如,在程序的执行部分出现语句:m:=odd(3););n:=odd(4););Odd是奇函数,是奇函数,Odd(3)的值是的值是true,Odd(4)的值是的值是false,这样语,这样语句执行后变量句执行后变量m的值为的值为true,变量,变量n的值为的值为false。二、布尔表达式1、简单布尔表达式(关系表达式)、简单布尔表达式(关系表达式) 由一个由一个“关系运算符关系运算符”将两个数值型(或字符型或布尔型)数据联结起来的将两个数值型(或字符型或布尔型)数据联结起来的式子。式子。 常用的关系运算符有六个:常用的关系运
4、算符有六个:,=,=,。说明:关系运算符的两侧可以是常量、变量或表达式。但一般应使用同类说明:关系运算符的两侧可以是常量、变量或表达式。但一般应使用同类型的数据。型的数据。数值数据比较时,是按照数值的大小来进行的。例如:数值数据比较时,是按照数值的大小来进行的。例如:910,其值,其值为为true;2+3b,其值为,其值为false;truefalse,其值为,其值为true;实数在内存中的存储存在有误差,理论上相等的两个数,用计算机判断实数在内存中的存储存在有误差,理论上相等的两个数,用计算机判断时却并不一定相等。所以一般地,在对两个实数(如时却并不一定相等。所以一般地,在对两个实数(如a,
5、b)作是否相等)作是否相等的比较时,写成:的比较时,写成:Abs(a-b)yz”?为什么?为什么?二、布尔表达式2、布尔表达式(逻辑表达式)、布尔表达式(逻辑表达式)布尔运算符也称逻辑运算符,在布尔运算符也称逻辑运算符,在Free Pascal语言中有三个:语言中有三个:Not(逻(逻辑非),辑非),And(逻辑与),(逻辑与),Or(逻辑或)。(逻辑或)。用逻辑运算符将布尔型数据联结起来的式子,就称为逻辑表达式,也称用逻辑运算符将布尔型数据联结起来的式子,就称为逻辑表达式,也称布尔表达式。布尔表达式。And 逻辑与。它是个逻辑与。它是个“双目运算符双目运算符”,它的前后都应有布尔型数据,如,
6、它的前后都应有布尔型数据,如a And b ,只有当,只有当And前后的布尔值都为前后的布尔值都为“真真”时,逻辑表达式的时,逻辑表达式的值才为真。值才为真。Or 逻辑或。它也是个逻辑或。它也是个“双目运算符双目运算符”,它的前后都应有布尔型数据,如,它的前后都应有布尔型数据,如a Or b ,当,当Or前后的布尔值有一个为前后的布尔值有一个为“真真”时,逻辑表达式的值就时,逻辑表达式的值就为真。为真。Not 逻辑非。它是个逻辑非。它是个“单目运算符单目运算符”,它的前面不应有布尔型数据,只,它的前面不应有布尔型数据,只在后面有,如在后面有,如not a ,其作用是改变它后面布尔型数据的逻辑值
7、:,其作用是改变它后面布尔型数据的逻辑值:Not true 结果为结果为false;Not false 结果为结果为true; 二、布尔表达式abNot aNot ba And ba Or bTTFFTTTFFTFTFTTFFTFFTTFF使用布尔运算符时要注意:使用布尔运算符时要注意:布尔运算的运算对象是布尔型数据,它的结果为逻辑值布尔运算的运算对象是布尔型数据,它的结果为逻辑值true或或false。布尔运算符的运算次序为:布尔运算符的运算次序为:NotAndOr如果一个布尔表达式中既包括布尔运算符,又包括关系运算符和算术如果一个布尔表达式中既包括布尔运算符,又包括关系运算符和算术运算符,
8、则它们的运算次序为:运算符,则它们的运算次序为:括号括号函数函数Not*、/、div、mod、And+、-、Or关系运算符关系运算符所以在进行布尔运算时,如果操作数本身是一个布尔表达式,则必须用所以在进行布尔运算时,如果操作数本身是一个布尔表达式,则必须用括号括起来,否则会造成逻辑上与原意不符。括号括起来,否则会造成逻辑上与原意不符。二、布尔表达式布尔型数据的输入、输出布尔型数据的输入、输出 1、输入:、输入: 在在Free Pascal语言中,只能通过赋值语句将一个布尔语言中,只能通过赋值语句将一个布尔值或布尔表达式赋给一个布尔型变量,而不能通过输入语值或布尔表达式赋给一个布尔型变量,而不能
9、通过输入语句句read或或readln从外部设备向计算机输入一个布尔值。从外部设备向计算机输入一个布尔值。2、输出:、输出: 将布尔型数据输出时,可以通过将布尔型数据输出时,可以通过write或或writeln语句完语句完成。例如:已定义成。例如:已定义x是一个整型变量,是一个整型变量,m是一个布尔型变是一个布尔型变量,若有语句:量,若有语句:x=6;m:=odd(3););writeln(m,x b then writeln(a)else writeln(b) ;语句语句1后面没有后面没有分号分隔符分号分隔符 三、IF语句另一种格式:另一种格式:If语句中的语句中的Else及其子句也是可以省
10、略的,格式如及其子句也是可以省略的,格式如下:下:If 条件条件 Then 语句语句1;这种格式的执行过程也是先判断条件,当条件为真这种格式的执行过程也是先判断条件,当条件为真时,则执行时,则执行Then后面的语句后面的语句1,但若条件为假时,但若条件为假时,就什么也不做,就什么也不做,If语句直接结束。语句直接结束。四、分支结构应用举例【例例4-2】判断一个数是不是偶数。判断一个数是不是偶数。如果是,则输出如果是,则输出“yes”,否则输出,否则输出“no”。【样例输入样例输入】 3【样例输出样例输出】 no【算法分析算法分析】读入这个数读入这个数a;判断它是不是偶数,输出相应信息,判断它是
11、不是偶数,输出相应信息,其中其中If语句的条件为语句的条件为“a mod 2=0”;program p4_2;var a:integer;begin readln(a); if a mod 2=0 then writeln(yes) else writeln(no);gram p4_22;var a:integer;begin readln(a); if not odd(a) then writeln(yes) else writeln(no);end.四、分支结构应用举例【例例4-2】判断一个数是不是偶数。判断一个数是不是偶数。如果是,则输出如果是,则输出“yes”,否则输出,
12、否则输出“no”。【样例输入样例输入】 3【样例输出样例输出】 no【算法分析算法分析】读入这个数读入这个数a;判断它是不是偶数,输出相应信息,判断它是不是偶数,输出相应信息,其中其中If语句的条件为语句的条件为“a mod 2=0”;program p4_3;var a:integer;begin readln(a); if a mod 2=0 then writeln(yes); if a mod 20 then writeln(no); end.四、分支结构应用举例【例例4-4】节日期间某超市推出购物优惠活动。所购物品不超过节日期间某超市推出购物优惠活动。所购物品不超过100元元时,按九
13、折付款,超过时,按九折付款,超过100元时,超过部分按七折付款。要求:输入元时,超过部分按七折付款。要求:输入所购物品的价格,输出实际所付款数。所购物品的价格,输出实际所付款数。【样例输入样例输入】200.00【样例输出样例输出】160.00【算法分析算法分析】打折活动是大家在购物中经常遇到的,本例中所付款数分打折活动是大家在购物中经常遇到的,本例中所付款数分两种情况计算,它依据的条件就是看物品价格是否超过两种情况计算,它依据的条件就是看物品价格是否超过100。现假设。现假设所购物品的价格用所购物品的价格用m表示,则所付款数表示,则所付款数n的计算公式为:的计算公式为:算法:输入所购物品的价格
14、;算法:输入所购物品的价格;依据上公式,利用依据上公式,利用if语句分情况进行计算;语句分情况进行计算;输出实际所付款数;输出实际所付款数;)100()100(7 . 01009 . 0)100(9 . 0mmmmn四、分支结构应用举例program p4_4;var m,n:real;begin readln(m); if mc,b+ca,a+cb都要同时成立都要同时成立。如果条件成立,则可以利用海伦公式来求三角形的面积,并如果条件成立,则可以利用海伦公式来求三角形的面积,并输出;海伦公式为:输出;海伦公式为:s=(a+b+c)/2, )()(csbsass面积四、分支结构应用举例program p4_5;var a,b,c,s,area:real;begin readln(a,b,c); if (a+bc)and(b+ca)and
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 华为公司绩效管理战略与目标分解(9P)
- 2025-2026学年人教版英语八年级上册 【Unit-7 When Tomorrow Comes】-单词课件
- 江苏省盐城市2025届高三5月考前指导政治押题卷(含答案)
- 2025年全国中学生生物知识竞赛题库及答案
- 消毒隔离制度试题及答案
- 江苏省连云港市赣榆初级中学2024-2025学年七年级下学期6月月考历史试题(含答案)
- 杭州学军中学2024学年第二学期高三数学学科模拟试卷
- 安徽省六安市独山中学2024-2025学年高一下学期5月月考数学试卷(含答案)
- 2025年江苏省徐州市沛县实验学校联盟学区中考三模地理试题(含答案)
- 化学●全国甲卷丨2022年普通高等学校招生全国统一考试化学试卷及答案
- 2024年湖南省高考化学试卷真题(含答案解析)
- 气压传动课件 项目三任务二 气动三段速控制回路搭建与调试
- 1.5物业费催收法律服务合同
- 无人机植保技术课件:无人机植保经验与案例
- 职业卫生练习题库+答案
- 小学一年级体育教案全集
- 江苏省南京市秦淮区2024-2025学年七年级上学期开学考试语文试题(统编版人教版部编版)(含答案解析)
- 桂林市2023-2024学年数学五年级第二学期期末质量检测试题含解析
- 2024年新人教版七年级数学下册期末考试数学试卷-含答案
- 运动健康管理智慧树知到答案2024年上海师范大学
- T-CACE 097-2023 废漆包线热解处理污染控制技术要求
评论
0/150
提交评论