第四讲 选择结构
第四讲__布鲁纳的结构主义教学理论
1、教材过分强调理论化,或“下放”过多,脱离了 教师和学生的实际,造成教材过深过难过重,或者 教材编得枯燥无味。 2、在教学方法上,他提倡的“发现法”虽有启迪学 生思想、激发学生学习兴趣、发展学生智力的一 面,但这种方法耗费时间和精力过多,而且一般教 师也不容易掌握好,如果使用过多或使用不当,就 会影响教学进度,还会影响学生获取系统的知识。
(二)布鲁纳的追因研究
1、受命于危难之时 1957年10月4日,苏联人造地球卫星上天,给予 了美国致命的打击,美国朝野上下感到震惊,布鲁 纳正是在这一危难之时挑起了教育改革的重担。 1958年美国颁布了《国防教育法》,开篇一句是: 美国处在危机之中· · · ·
2、调查研究与追因实验 把调查组派到各个中学去,调查的问 题非常尖锐,把杜威的教学方式与布鲁纳等 科学家讨论得出的教学方式进行比较。
一、布鲁纳的生平与主要教育活动 (一)主要贡献
布鲁纳是美国著名的心理学家和教育家。 由于他在教 育学和心理学方面的卓越贡献和在社会活动方面的成绩,他 先后获得美国卓越科学贡献奖、美国教育研究联合会和教育 出版机构联合奖、梅里尔—派尔美机构的嘉奖状等奖励。
他针对受苏联“卫星上天”冲击的美国
教 育进退维谷、一筹莫展的局面,阐明了自己 对教育理论的独到见解和改革学校课程的大 胆设想。他把教育的重点由经验改造转移到 智力发展,并且具体探索了从课程到方法的 一系列促进智力发展、培养优秀人才的有效 途径。
(二)结构主义教学理论的基本观点 1、教育的根本目的是培养社会精英 它热衷于追求教育的卓越性,追求教育 培养大量社会精英,特别是培养大批科技精 英。
2、任何知识都可以用正确的方式教给任何儿 童 布鲁纳提出,任何学科都能够采用在智育 上正确的方式,有效的教给任何发展阶段的 任何儿童。关键是形成“在智育上是正确的 方 式”
选择结构3种基本形式
选择结构3种基本形式选择的三重奏咱这一辈子啊,就像走在岔路口,到处都是选择。
选择结构呢,有三种基本形式,就像咱生活里那些常见的事儿一样。
先说说顺序结构,这就好比早上起床穿衣服,得先穿上内衣再穿外衣,一步一步来,按部就班。
这是最直白、最简单的方式,就像一条直直的路,没有拐弯抹角。
接着是分支结构,这可有趣了。
就像我有次去商场买衣服,我兜里就只有一百块钱。
我看到一件漂亮的连衣裙,要八十块,可同时我又看到一件酷酷的T 恤只要五十块。
我心里就开始纠结啦,这就是分支结构。
如果我买了连衣裙,那我可能就没钱吃午饭了;要是买T 恤呢,我还能剩下点钱去买个小零食。
我在那两件衣服面前站了好久,心里像有两个小人在打架。
一个说:“买裙子吧,穿上你就是小仙女。
” 另一个说:“T 恤多实用啊,还能省点钱。
” 最后我一咬牙,还是选了T 恤,毕竟肚子饿的感觉可不好受啊。
再说说循环结构。
我减肥的时候就有这种体验。
我计划每天做五十个仰卧起坐,第一天,我鼓足了劲做完了,累得气喘吁吁。
第二天,想到还要做,心里有点犯怵,但还是坚持做了。
就这样,一天又一天,每天都重复做着仰卧起坐这个动作,这就是循环。
有时候真想放弃,可是看看镜子里的自己,又有了动力。
不断地重复这个过程,期待着有一天能穿上那些漂亮的小码衣服。
生活中的选择无处不在,这些选择结构就像隐藏在背后的小秘密,悄悄地影响着我们的每一个决定。
从每天早上吃什么,到未来要做什么工作,选择的形式一直在发挥作用。
就像我选择写这篇关于选择结构的文章一样,也是一种选择呢。
不管是顺序的按部就班,还是分支的纠结犹豫,亦或是循环的坚持重复,都是我们生活的一部分。
这就是选择结构在生活中的模样,实实在在又充满趣味。
选择结构教学设计
选择结构教学设计选择结构是编程中一种重要的控制结构,它允许根据一个条件的结果来选择执行不同的代码块。
本教学设计旨在帮助学生理解选择结构的概念,并能够在编写程序时正确应用选择结构。
教学目标:1.理解选择结构的概念。
2.能够使用条件语句来编写选择结构。
3.能够解决实际问题时正确应用选择结构。
教学重点:1.选择结构的概念和使用条件语句。
2.如何根据问题需求正确地编写选择结构。
教学准备:1.计算机编程编课程教材和教学资料。
2.计算机编程软件和示例代码。
3.板书和笔。
教学过程:引入:1.通过提问和讨论来引起学生的兴趣,比如“在日常生活中,我们经常需要根据一些条件来做出不同的决策,你们能举一些例子吗?”2.引导学生思考,在编写程序时,我们也需要根据条件来执行不同的代码块,那么你们知道如何实现吗?讲解理论:3.介绍选择结构的概念和作用。
板书示例代码,比如:```if (条件)//执行代码块A} else//执行代码块B```4.解释条件语句的含义和用法。
板书示例代码,比如:```if (条件1)//执行代码块A} else if (条件2)//执行代码块B} else//执行代码块C```5.提供实际例子来帮助学生理解选择结构的应用。
比如,假设有一个促销活动,如果购买金额超过500元,可以打8折,否则不打折。
请编写一个计算应付金额的程序。
实践操作:6.给学生一些小练习来巩固所学知识。
比如,让学生编写一个程序,根据用户输入的成绩,判断是否及格并输出相应的结果。
拓展延伸:7.提供一些拓展延伸的问题来鼓励学生思考和扩展应用。
比如,让学生设计一个程序,根据用户输入的年龄判断是否可以购买酒类。
总结:8.对本节课的内容进行总结,并回顾重点知识点。
强调选择结构的重要性和应用场景。
评价:9.给学生一些习题和编程任务,让他们独立完成并提交作业。
可以设置一些测试用例来检查他们是否正确地应用了选择结构。
教学资源:1.计算机编程课程教材和教学资料。
《选择结构》课件
我们可以使用 if...elif...else 语 句来检查多个条件,并根据 条件的结果执行相应的代码 块。
在使用 if...elif...else 语句时, 需要确保条件判断的顺序和 逻辑正确性。
巢状if语句
1 语法
2 使用
3 注意事项
巢状if语句是一种嵌套的选 择结构,根据多个条件判断 执行不同的代码块。
我们可以使用 if...else 语句 来检查一个条件是否为真, 并根据条件的结果执行相应 的代码块。
在使用 if...else 语句时,需 要确保条件判断的完整性和 逻辑正确性。
if...elif...else语句
1 语法
2 使用
3 注意事项
if...elif...else 语句是一种多重 选择结构,根据不同条件判 断执行不同的代码块。
选择结构的应用案例
选择结构广泛应用于逻辑判断、程序流程控制、用户交互和数据处理等领域。
在使用switch语句时,需要 确保每个条件及其对应的逻 辑正确性,并注意避免遗漏 或重复条件。
总结
选择结构的作用
选择结构能够根据不同的条件执行不同的代码逻辑,增强程序的灵活性和可扩展性。
选择结构的分类
选择结构包括if语句、if...else语句、if...elif...else语句、巢状if语句和switch语句等。
我们可以使用巢状if语句来 处理多个复杂的条件判断情 况ቤተ መጻሕፍቲ ባይዱ并执行相应的代码块。
在使用巢状if语句时,需要 确保每个条件判断的顺序和 逻辑正确性,以避免出现意 外结果。
switch语句
1 语法
2 使用
3 注意事项
switch语句是一种根据不同 值进行条件判断的选择结构。
第四讲结构化程序设计与面向对象程序设计
第四讲结构化程序设计与面向对象程序设计在当今的计算机编程领域,结构化程序设计和面向对象程序设计是两种非常重要的编程方法。
它们各自有着独特的特点和优势,适用于不同的应用场景。
接下来,让我们一起深入了解这两种编程设计方法。
结构化程序设计诞生于 20 世纪 60 年代,它的出现是为了解决当时程序设计中存在的混乱和难以维护的问题。
结构化程序设计强调程序的清晰结构和逻辑流程,通过顺序、选择和循环这三种基本控制结构来构建程序。
顺序结构是最基本的,程序按照语句的先后顺序依次执行。
比如,我们先定义变量,然后进行计算,最后输出结果,这就是一个简单的顺序结构。
选择结构则用于根据不同的条件来决定程序的执行路径。
常见的有ifelse 语句和 switch 语句。
假设我们要判断一个数是奇数还是偶数,就可以使用 ifelse 语句,如果这个数除以 2 的余数为 0,就是偶数,否则就是奇数。
循环结构则允许我们重复执行一段代码,直到满足特定的条件。
比如 for 循环和 while 循环,当我们需要计算 1 到 100 的和时,就可以使用循环结构来实现。
结构化程序设计的优点是显而易见的。
它使得程序的逻辑更加清晰,易于理解和调试。
而且,由于程序的结构比较规范,代码的可读性和可维护性都得到了很大的提高。
然而,随着软件规模的不断扩大和复杂性的增加,结构化程序设计也逐渐暴露出一些局限性。
当程序变得非常复杂时,单纯依靠结构化程序设计可能会导致代码的重复度较高,模块之间的耦合度较大,不利于代码的复用和扩展。
为了解决这些问题,面向对象程序设计应运而生。
面向对象程序设计将数据和对数据的操作封装在一起,形成一个个对象。
对象具有自己的属性和方法,可以与其他对象进行交互。
在面向对象程序设计中,最重要的概念包括类、对象、封装、继承和多态。
类是对象的模板,它定义了对象所具有的属性和方法。
比如,我们可以定义一个“汽车”类,这个类包含了汽车的品牌、颜色、速度等属性,以及加速、刹车等方法。
选择结构PPT课件
方法2:
如何表示条件?
1、日常生活中,我们经常要对某一个问题进行真、假或是、否的判断,如:“小明是男孩”。对 于命题只有对或错、是与否的两种结论。布尔型数据可以来表示这个结果,用“真”“假”来 表示,“真”对应的逻辑值是“true”,假对应的是“false”。 要注意:“TRUE”“FALSE”是两个用字母表示的常量,可以理解为数,它们是用来表示逻辑关 系的,其大小为:False<true。
第五课
——分支结构(选择结构)
知识点回顾:
程序在运行的过程中,一句接着一句去做的, 按出场的顺序进行
赋值语句:变量名:=表达式
先计算后赋值
输入语句:
Read(变量列表);——变量间用“,”隔开 readln(变量列表); Readln;
输出语句:单场宽,双场宽(用来输出对齐)
先计算后输出
2、关系运算符:>(大于),<(小于),=(等于),<>(不等于),>=(大于等于),<=(小于等于) 关系表达式所得到的值就是布尔值。 比较顺序为:空格<’0’<……<’9’<’A’<……<’Z’<’a’<……<’z’
3、逻辑运算结构也是布尔类型 not(非) and(与) 如:(5>3) and (7&为已婚(marrigenrat)年龄(age)在26岁以上工作年限(workingage) 在5年以上
例4:x为年份,判断x是否是闰年,闰年的条件是:能被4整除但是不能被100整除,或者能被400 整除
条件语句的嵌套结构
一、格式 格式1:
if 条件 then 语句; 格式 2:
选择结构PPT
7.如图,算法框图能判断任意输入的数x的奇 偶性,则其中判断框内的条件是( D )
(A)m=0 (B)x=0 (C)x=1 (D)m=1
8.如图所示是某一函数的求 值的算法框图,则满足此算 法框图的函数解析式为
y_____4x_--_x2_,,_xx___33_,.,
9.如图所示,给出了一 个算法框图,若要使输 入的x值与输出的y值相等, 则这样的x有( )C (A)1个 (B)2个 (C)3个 (D)4个
则式子:(2sin 300) ln e lg100 (1)-1的值 3
是6
5.阅读如图所示的算法框图, 回答下列问题。
(1)若x=3,则输出的y=_4_; (2)若x=-2,则输出的y=_4_; (3)它所表示的函数是____。
6.若x=-1,写出右图 算法框图描述的算法 的运行结果( A ) (A)-5 (B)5 (C)-1 (D)-2
(4)输出y.
1.某居民区的物业管理部门每月向居民收取卫 生费,计费方法是:3人和3人以下的住户,每 户收取5元;超过3人的住户,每超出一人加收 1.2元,设计一个算法,根据住户的人数,计算 应收取的卫生费,并画出算法框图.
解:设x为住户的人数, y为应收取的卫生费, 算法步骤如下:
(1)输入x; (2)若x 3,则y 5;否则, y 5 1.2(x 3);
(3)输出y.
2.由键盘输入三个 整数a,b,c,输出 其中最大的数, 画出其算法框图.
3.已知函数f (x) x 3,
如图所示的算法框图表 示的是给定x值,求其 相应函数值的算法,请 将该算法框图补充完 整,其中 (1)处应 填X<3 , (2)处应填y=x-3
4.定义某种运算S a b, 运算原理如图所示,
中考语文精英写作系列讲义:第4讲-选材要“精”(含范文)
第四讲选材要“精”有人曾打了一个形象的比喻,将文章的立意、结构和内容三者之间的关系形象地比喻为人的灵魂、骨架和肌肉。
一篇文章中,立意和结构再好,如果没有内容(即材料)去体现,也是水中月、镜中花。
一、撷取时代“浪花”,选材鲜活典型。
考生要及时捕捉到那些新生事物,敏锐地撷取时代的“浪花”,选择鲜活典型的素材。
考生也可根据对社会的观察,选取具有时代特点的人物事迹,选取人们关注的热点话题,选取不为人知的新鲜事物,选取引人深思的社会现象,使文章内容能牢牢吸引读者的眼球。
二、选取动人镜头,选材真实感人。
真实的人物、真实的故事、真实的情感,最能拨动读者感情的弦,引起读者的共鸣。
所以考生在写作时,要根据写作需要,认真选择那些能震撼人心的精彩瞬间、动人镜头和感人画面。
三、大胆转换视角,选材新颖别致。
“干花不如鲜花美。
”选材要与时俱进,具有时代气息。
由于考生生活阅历浅,不是每个考生都能捕捉到新的信息。
这时,可以大胆转换视角,弃故纳新。
有些内涵丰富的材料,即使不是新的,若能巧妙地转换视角,从新的角度来挖掘,必定出奇制胜,给人耳目一新的感觉。
四、避开人云亦云,选材独特创新。
要放弃那些“你有我有大家有”的材料,选择突出自己体验的材料,经过几轮精心地筛选,留下那些典型独特的材料,则能使文章在选材上“以一当十”,收到震撼读者的效果。
(2015,南京)巴勒斯坦诗人达维什说:“当你做早餐时想想别人/别忘了喂鸽子……”因为这世界有你,有我,也有他(它)。
请以“想想别人”为题,写一篇作文。
文体自选,不少于600字。
作文选材时可从以下几点入手:1.从关注底层人物,共享阳光的角度他们弯曲的背影,与周围的一切似乎隔有一层玻璃,格格不入。
也许他们是一群杂草,也许他们是艳丽花下的绿叶,他们的存在只是衬托他人的成就。
但他们这个群体,也是构成社会的一部分。
世界应该是公平的、无私的,我们生活在同一片天空下,共享一缕爱的阳光。
2.从关注流浪少年的角度可以运用第二人称,犹如和流浪少年对话,生动地再现孩子们四处漂泊、挨饿受冻的惨状,充分表达“我”对“别人”(这些孩子)的怜惜之情。
选择结构
复习
1 什么叫做流程图?
流程图的概念: 流程图的概念: 流程图又叫程序框图. 流程图又叫程序框图.它是由一些程序 框和流程线组成,能准确、 框和流程线组成,能准确、直观地表 示算法的图形. 示算法的图形.
起、止框 流 程 图 常 用 图 框 形 处理框 输入、 输入、输出框
2 什么叫算法的顺序结构? 按照步骤依次执行的一个算法结构, 按照步骤依次执行的一个算法结构,称 为顺序结构
ax > 8(a ≠ 0)
开始 其算法流程图如下 输入a 是
否
a>0
不等式的解为x>8/a
不等式的解为x<8/a
结束
选择结构的概念: 先根据条件作出判断,再决定执行哪一步操 作的算法结构称为选择结构(或分支结构和 条件结构)
判断条件真假
选择结构图示
假 真
步骤乙
步骤甲
选择结构和顺序结构不同的地方在哪里?
选择结构不同于顺序结构的地方是:它 不是依次执行操作指令进行运算,而是 依据条件作出判断,选择执行不同指令 中的一个。
例题讲解
通常说一年有365天,它表示地球围绕太阳转 一周所需要的时间,但事实并不是这样。根据天 文资料,地球围绕太阳转一周所需的精确时间是 365.242天,称之为天文年。这个误差看 似不大,却引起季节和日历之间难以预料的大变 动。在历法上规定四年一闰,百年少一闰,每四 百年又加一闰。如何判断某一年是闰年呢?请设 计一个算法,解决这个问题,并用流程图描述这 个算法。
第一步,判断x是否大于0, 第一步 若x>0,则x的绝对值等于 x,令m=x;若x≤0,则执行 第二步.
输入x x>0 是 m=x 输出m 否
第二步, x的绝对值
《选择结构》课堂教学设计
(3)培养学生的逻辑思维能力,促进学生对问题解决方法的理解。
2.情感态度:
通过趣味性教学,使同学们保持高涨的学习兴趣,在操作的同时获得成功的喜悦。
项目
内容
解决措施
教学重点
对用选择结构解决问题的方法和步骤的理解,并能根据实际问题写出程序代码。
讨论法与点拨法相结合:在教学中应尽量让学得好的同学互相搭配,以此来相互进行辅导和交流;另外,组织学生讨论,引导学生思考,然后师生达成共识。
学生较好的掌握了本课的目标要求。
2课时
(90分钟)
①媒体在教学中的作用分为:A.提供事实,建立经验;B.创设情境,引发动机;C.举例验证,建立概念;D.提供示范,正确操作;E.呈现过程,形成表象;F.演绎原理,启发思维;G.设难置疑,引起思辨;H.展示事例,开阔视野;I.欣赏审美,陶冶情操;J.归纳总结,复习巩固;K.自定义。
(1)窗体设计:
●在窗体中添加1个label控件,并命名。
(2)窗体控件属性设置如下表所示:
控件(对象)
属性名
所设置值
说明
From1
Caption
密码登陆程序
窗体标题
BorderStyle
2-fixed
显示窗体最大、最小按钮
Lable1
Caption
单击窗体,输入本程序的密码进行登陆
标题说明
(3)代码编写:根据任务分析,点击窗体,进代码如下:
②媒体的使用方式包括:A.设疑—播放—讲解;B.设疑—播放—讨论;C.讲解—播放—概括;D.讲解—播放—举例;E.播放—提问—讲解;F.播放—讨论—总结;G..边播放、边讲解;H.边播放、边议论;I.学习者自己操作媒体进行学习;J.自定义。
《选择结构》 上课完整ppt
Y
p
N
A
B
说明:
(1)在上面的选择结构中,无论条件P是否成
立,只能执行A,B中的一个,不可能两个都执
行;当两个框中可以有一个是空的,即不执行
任何操作; (2)一个判断结构可以有多个判断框.
开始
Y k← y 2 y 1
x2 x1
输 入 x1 , y1 , x2 ,
y2 x1≠x2
N
输出“斜率不存在”的
Y 输出a
a>b且 a>c
N
b>c
N 输出c
Y 输出b
结束
回顾反思
1.通过本节课的学习,我们掌握了算法框 图的选择结构及利用这种结构设计算法 流程图。
2.选择结构的特点是需要根据对条件的判 断结果来决定后面的步骤的结构.
谢谢观看
当两个框中可以有一个是空的,即不执行
图的选择结构及利用这种结构设计算法 已知两点(x1,y1),(x2,y2),求过两点的
②要使输出的y值为8,输入的
输出“斜率不存在”的值
输出y 实数根”,否则
,;
x值为多大?
③输入的x和输出的y能相等
结束
吗?
图1
练习2.下面流程图表示一个 开始
什么样的算法?
输入a,b,c
值
输出k
结束
数学应用
例1某铁路客运部门规定甲、乙两地之间旅客托运
行李的费用为 0.53w
, w50
c
,
500.53(w50)0.85.
计算费用c(单位:元)的算法可以用怎样的算法结构
来表示?
解:其算法为: Sl 输入行李的重量w;
S2 如果w≤50,那么
c ,0否.5则3w
选择结构(教案)
printf(“你还小,
不能上网。”);
结束
应用 举例
归纳小结
2、 从键盘输入一个整数, 判断该数是奇数还是 偶数。 程序: main(){ int temp; scanf(“d%”,&temp); if(temp % 2 == 0){ printf(“d%为偶数。”,temp); }else{ printf(“d%为奇数。”,temp); } } 3、 从键盘输入一个年份, 判断该年份是润年还 是平年。 程序: main(){ int year; scanf(“d%”,&year); if((year%4==0&&year%100!=0)|| year%400==0) { printf(“d%润年。”,year); }else{ printf(“d%平年。”,year); } } 1、选择结构的基本格式及功能。 2、选择结构的执行过程。 1、 判断用户输入的数是否被 3 整除。 2、 从键盘输入一个整数, 判断该数是否为素数 (素数指除了 1 和它本身,不被其它数整 除) 。
选择结构
一、教学目标
1、正确理解选择结构的功能,并掌握其基本结构。 2、掌握选择结构的执行步骤。
二、教的执行过程。
三、教学难点
让学生灵活运用选择结构解决实际问题。
四、教学方法
讲授法,问答法,练习法。
五、课时安排
1 课时(40 分钟)
五、教学过程
教学环节
int age
结束 教师和学生共 同分析得此题 的算法步骤为: 网管员检 查身份证, 如果 age 年龄) ( <18, 那么不能上网; 否则,即 age 年 ( 龄)>=18 能上 网。 现实生活中 的实际例子 可以使同学 们对程序设 计有更大的 兴趣。
选择结构PPT课件
所谓关系运算实际上是“比较运算”,即进行两个数的比较, 判断比较的结果是否符合指定的条件。
注意
由两个字符组成的运算符之间不允许有空格,如: <= 不能写成< =。 关系运算符是双目运算符,具有自左至右的结合性。 关系运算符的优先级 <、 <=、 >、 >=的优先级别相同 ==、!=的优先级相同 前四种的优先级高于后两种。 关系运算符、算术运算符和赋值运算符之间的优先级 次序是:算术运算符的优先级别最高, 关系运算符次之,赋值运算符的优先级别最低。
高到低的运算优先次序是: !→算术运算符→关系运算符→&&→‖→赋值运算符
关系运算和逻辑运算
——逻辑运算符和逻辑表达式
由逻辑运算符和运算对象组成的表达式称为逻辑表达式。 逻辑运算的对象可以是C语言中任意合法的表达式。 逻辑表达式的运算结果或者为1(“真”),或者为0(“假”)。
例如
当(x>y)为真,a和b为任意合法表达式,则 若变量a和b的值分别为10和16,则(a>b)&&(x>y)为“假”,表达式
关系运算和逻辑运算 所谓关系运算实际上是“比较运算”,即进行两个数的比较,判断比较的结果是否符合指定的条件。 ——关系运算符和关系表达式
所谓关系运算实际上是“比较运算”,即进行两个数的比较, 判断比较的结果值为10,变量b中的 值为6时,表达式a>=b为“真”,其 值为1; 若变量a中的值为10,变量b中的 值为16时,表达式a>=b为“假”,其 值为0。
关系运算和逻辑运算 ——逻辑运算符和逻辑表达式
关系运算和逻辑运算
——逻辑运算符和逻辑表达式
C语言提供了三种逻辑运算符: 1) &&逻辑“与” 2) ‖逻辑“或” 3) !逻辑“非”
第四讲 简单选择结构的实现
设计测试用例
printf("f(%.2f) = %.1f\n", x, y); return 0;
} }
printf("f(%f) = %.2f\n", x, y); return 0;
14
具有复合语句的if语句
语句组? 正确: if(条件) {条件为真时的处理语句 } else {条件为假时的处理语句 }
x>y
N z=x;
Y
x>y
N
z=x; x=y; y=z; x=y; y=z;
常见编程错误之一
if ( a>10 ) ….. else ……
改错!
if(x>y) { z=x;x=y;y=z; }
17
常见编程错误之二
==1) if(flag=1) y=x; else y=0;
改错!
if(0<=x<=10) x>=0 && x<=10) y=x+1; else y=x*x+1;
21
逻辑表达式示例
例:5>3&&8<4-!0
“!”→算术运算符→关系运算符 → “=” →“&&”和“||”
按优先级自左向右运算 :0
!0逻辑值为1 4-1值为3 5>3逻辑值为1
表达式值为0
1&&0逻辑值为0
8<3逻辑值为0 22
逻辑表达式的优化原则P65
在逻辑表达式的求解中,并不是所有的逻辑运算符都要被执行。 (1)a&&b&&c 只要a为假时,就不必判断b和c的值,只有a为真,才 判断b。a和b都为真才判断c。 (2)a||b||c 只要a为真,就不必判断b和c的值,只有a为假,才 判断b。a和b都为假才判断c
第四讲 选择结构-PPT精选.ppt
3、if语句可以多层嵌套。嵌套时为了避免误解,可以用 begin ,end括起嵌套部分;else分句一般和最近的if分句 配套:
IF 条件0
THEN BEGIN
if 条件1 then …… else ……;
END
ELSE BEGIN
if 条件2 then …… else ……;
end;
例1、输入两个数a,b,输出较大的数。 program tt; var a,b:integer; begin
program pcase1; var
oil,help:char; kg,total:real; begin write('Enter the amount in kilograms(kg):'); readln(kg); write('Which type of the gasoline(a,b,c):'); readln(oil); wirte('Which type for service(f,m,e):'); readln(help); case oil of
'a': total:=1.50*kg; 'b': total:=1.35*kg; 'c': total:=1.18*kg; else writeln('Input Error!') end; {——————处理汽油的类型} case help of 'f':; 'm': total:=total*(1-0.05); 'e': total:=total*(1-0.10); else writeln('Input Error!') end; {——————处理服务类型} writeln; writeln('Total is ',total:10:2); end.
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
PROGRAM DESIGN IN C LANGUAGE第四讲选择结构Selection Structures4.1 关系运算Relational Calculation4.2 if选择结构if Selection Structure4.3 if-else选择结构if-else Selection Structure4.4 逻辑运算Logical Calculation4.5 多重选择结构Multiple-Selection Structure关系运算Relational Calculation关系运算(比较运算)•比较两个值,结果为“真”或“假”•举例:a>3•如果a=8,则结果为“真”•如果a=1,则结果为“假”用关系运算进行条件判断•关系表达式表示一个条件,根据其结果判断条件是否满足•举例:a>3•如果a=8,结果为“真”,即条件满足•如果a=1,结果为“假”,即条件不满足关系运算符Relational Operators运算符含义优先级结合性<小于6左结合<=小于或等于>大于>=大于或等于==等于7!=不等于Relational Expressions关系表达式(Relational Expressions)<表达式1> <关系运算符> <表达式2>•表达式1和表达式2可以是任何表达式•举例a>bm+n<=20c!=‘y’(x>z)==(y>z)Relational Expressions关系表达式的值是一个逻辑值:“真”或“假”•C语言没有逻辑类型,因此•用整数1 表示“真”•用整数0 表示“假”•即关系表达式的值是整数1 或0•举例•若a=1,b=2,c=3a>ba+b<=c(a>c)==(b>c)‘Y’!=‘y’0 1 1 1关系表达式的使用Use Of Relational Expressions问题:写出下面各条件的关系表达式•x为不小于-5 的整数•x为非零的数•x的平方大于m与n的和x>=-5x!=0x*x>(m+n)The if Selection Structure选择结构(Selection Structure)•用于在可选择的几个操作之间进行选择•伪代码语句举例If student’s grade is greater than or equal to 60Print “Passed”•如果条件为真(学生分数大于等于60)•那么就打印或显示“Passed”,然后程序按顺序执行下一条伪代码语句•如果条件为假•就忽略打印或显示操作,顺序执行下一条伪代码语句The if Selection Structure 选择结构是一个单入/单出结构TruePrint “Passed”grade >= 60Falseif Selection Structureif (grade>=60)printf(“Passed”);条件判断可以是任何表达式0(zero ):false非0(nonzero ):trueThe if-else Selection Structureif Selection Structure•只有在条件为真时,才会执行一个操作;否则就会跳过这个操作if-else Selection Structure•条件为真时所执行的操作与条件为假时所执行的操作不同•伪代码语句举例If student’s grade is greater than or equal to 60Print “Passed”ElsePrint “Failed”The if-else Selection Structure if-else Selection Structure•伪代码转换成C 代码Print “Passed”TruePrint “Failed”grade >= 60Falseif-else Selection Structureif (grade>=60)printf(“Passed”);elseprintf(“Failed”);条件运算符Conditional Operator条件运算符:? :•三目运算符•右结合条件表达式<expression-1>?<expression-2>:<expression-3>•举例printf(“%s”,(grade>=60)? “Passed”:“Failed”);(grade>=60)?printf(“Passed”):printf(“Failed”);嵌套选择结构Nested Selection Structure嵌套的if-else结构(Nested If-else Structure)•对多种情况进行测试•伪代码语句举例If 学生的分数大于等于90打印“A”elseIf 学生的分数大于等于80Print “B”elseIf 学生的分数大于等于70Print “C”elseIf 学生的分数大于等于60Print “D”elsePrint “E”嵌套的选择结构Nested Selection Structure嵌套的if-else结构(Nested if-else Structure)•伪代码转换成C语言if(grade>=90)printf(“A”);elseif(grade>=80)printf(“B”);elseif(grade>=80)printf(“C”);elseif(grade>=60)printf(“D”);elseprintf(“E”);if(grade>=90)printf(“A”);else if(grade>=80) printf(“B”);else if(grade>=80) printf(“C”);else if(grade>=60) printf(“D”);elseprintf(“E”);选择结构中的复合语句Compound Statement Nested In if/else选择结构的if或else体可以是复合语句if (grade>=60)printf(“Passed”);else {printf(“Failed\n”);printf(“You must take the course again!”);}复合语句可以放在程序中单一语句能够放置的任何位置关系运算的不足Shortage Of Relational Calculation 关系表达式只能表达一些简单的条件•grade>=60•total>1000•每个判断只是对一个条件进行测试•如果要对多个条件进行测试就要在独立的语句或嵌套的if 或if-else 结构中进行测试•例1:10>y>5•例2:x<-10或者x>0if (y>5)if (y<10)…;if (x<-10) …;if (x>0) …;逻辑运算Logical Calculation逻辑运算•通过逻辑运算符把简单的条件组合起来,能够形成更加复杂的条件•例1:10>y>5 的逻辑表达式(y>5)&&(y<10)•例2:x<-10或者x>0 的逻辑表达式(x<-10)||(x>0)逻辑运算符•!(逻辑非,logical NOT)•&&(逻辑与,logical AND)•||(逻辑或,logical OR)逻辑表达式Logical Expression逻辑表达式[<表达式1>] <逻辑运算符> <表达式2>•表达式1和表达式2可以是任何表达式•举例(x>5)||(x<-5)!(a<b)&&(m!=n)(a+b>c)&&(a+c>b)&&(b+c>a)逻辑表达式的值1:true0:false整数Logical Calculation 逻辑运算真值表a!a10 01a b a&&b111100010000a b a||b111101011000!&&||Logical Calculation 运算符运算优先级小结算术运算关系运算逻辑运算与、或赋值运算逻辑非从高到低逻辑表达式的使用Use Of Logical Expression将下面的条件用C语言的逻辑表达式表达•例1:1≤x≤10且x≠7x>=1&&x<=10&&x!=7•例2:y能被4整除,但不能被100整除(y%4==0)&&(y%100!=0)逻辑与和逻辑非具有短路能力•例1:gender==‘F’&&age>65•如果gender不等于’F’,整个表达式的值就是假,求值过程将停止•例2:average>=90||finalExam>=90•如果average大于等于90,整个表达式的值就是真,求值过程将停止LOGICAL CALCULATION例4-1:逻辑表达式的使用Use Of Logical Expression问题:任意输入一个字符,判断它是字母还是数字。
void main() {char c;c=getchar();if ((c>=‘A’&&c<=‘Z’)||(c>=‘a’&&c<=‘z’))printf(“%c is a letter.”, c);else if (c>=‘0’&&c<=‘9’)printf(“%c is a digit.”, c);elseprintf(“%c is neither a letter nor a digit.”, c);} /*CW04-01.C*/多重选择结构Multiple-Selection Structureswitch•在判断过程中,一个变量或表达式会分别针对其可能会取的每个整型常量值进行测试,并采取不同的动作switch(expression){ case<constant_expression_1>:action_1; [break;] case <constant_expression_2>:action_2; [break;]……case <constant_expression_n-1>:action_n-1; [break;][default:action_n; [break;]]}Multiple-Selection Structure问题•根据考试成绩的等级打印相应的分数段grade=getchar();switch(grade){ case ‘A’: printf(“85~100\n”);case ‘B’: printf(“70~84\n”);case ‘C’: printf(“60~69\n”);case ‘D’: printf(“<60\n”);default: printf(“error\n”); }若grade=‘A’85~10070~8460~69<60errorMultiple-Selection Structure (cont.)分析例4-2的结果•流程图print “60~69”print “70~84”print “85~100”print “<60”print “error”grade‘A’‘B’‘C’‘D’defaultMultiple-Selection Structure 改进例4-2•改进后的流程图print “60~69”print “70~84”print “85~100”print “<60”print “error”grade‘A’‘B’‘C’‘D’defaultMultiple-Selection Structure (cont.)switch 中的break 语句•改进后的代码switch(grade){ case ‘A’: printf(“85~100\n”); break;case ‘B’: printf(“70~84\n”); break;case ‘C’: printf(“60~69\n”); break;case ‘D’: printf(“<60\n”); break;default: printf(“error \n”);}若grade=‘A’85~100break 语句终止switch 语句的执行Multiple-Selection Structure 问题•任意输入两个数,和一个运算符,输出运算结果。