分支结构(精)
分支结构(精)
第四章分支结构教学目的和要求:学会使用合适的表达式描述问题,掌握分支结构程序设计的方法,掌握利用分支结构进行程序设计。
教学重难点:IF 、SWITCH、分支嵌套语句课时安排:4+2(上机)教学内容:§3.1 选择结构一、单分支选择结构(A)(B)二、多分支选择结构三、选择语句1、if 语句If 语句的三种形式A、if 表达式语句B、if 表达式语句1 else 语句2C、if 表达式1 语句1else if 表达式2 语句2else if 表达式3 语句3……else 语句n2、switch语句形式:switch (表达式){case 常量表达式1:语句1 ;break ;case 常量表达式2:语句2;break ;case 常量表达式3:语句3;break ;……case 常量表达式n:语句n;break ;default :语句n+1}说明:1、switch 后面的表达式可以是整型或字符型,也可以是枚举型2、当表达式的值与某一个case后面的常量表达式相等时,就执行此case语句后面的语句,若所有的case 中的常量表达式的值都没有与表达式的值匹配的,就执行default后面的语句。
3、break 语句是跳转语句,直接跳出switch语句外。
可以没有该语句4、多个case语句可以共用一组执行语句switch(grade)…case ‘a’:case ‘b’:case ‘c’: printf( “>60\n”);break;…例2、求一个整数的绝对值main( ){int a,absa;printf(“enter one number:”);scanf (“%d”,&a);if a<0absa=-a;absa=a;printf(“|%d|=%d”,absa);}例3、求解一元二次方程ax2+bx+c=0的根。
# include “math.h”main ( ){float a,b,c,d,x1,x2scanf (“%f%f%f”,&a,&b,&c);if (a!=0){d=b*b-4*a*c;if d>=0{x1= (-b+sqrt(d))/(2*a);x2=( -b-sqrt(d))/(2*a);printf(“x1=%f,x2=%f\n”,x1,x2);}else{re=-b/(2*a);im=sqrt(-d)/(2*a);printf (“re=%f,im=%f I\n”,re,im);}}}例4、运输公司对用户计算运费,根据距离(s)收费标准如下:s<250 没有折扣250<=s<500 2%折扣500<=s<1000 5%折扣1000<=s<2000 8%折扣2000<=s<3000 10%折扣3000<=s 15%折扣设每公里运费为P(PRICE),重量W,距离S,折扣D,总运费F=P*W*S*(1-D)main( ){int c,s;float p,w,d,f ;scanf (%d%f%f”,&s,&p,&w);if (s>=3000) c=12;else c=s/250;switch(c);{case 0 : d=0;break;case 1 : d=2;break;caes 2:case 3: d=5;break;case 4:case 5:case 6:case 7: d=8;break;case 8:case 9:case 10:case 11: d=10;break;case 12: d=12;break;}f=p*w*s*(1-d/100.0);printf(“freight=%15.2f”,f);}。
第五章--分支结构PPT课件
2021/7/22
8
例2.用cond函数来描述下列计算式: x 0≤x<2
F(x)=
x2 2≤x<5 x3 5≤x<7
ex x≥7
程序为:
(initget 7)
(setq x (getreal “Enter x=? (x >= 0)”))
(setq fx (cond ((and (>= x 0) (< x 2)) x)
可以是表。
2021/7/22
5
2.〈测试—表达式〉的值不一定必须为T才算成立,因为从逻辑角度来说任何 非 nil 的 表 达 式 都 与 T 等 效 , 只 要 其 值 为 非 nil 即 可 , 例 如 〈 测 试 — 表 达 式 〉 为 1.2.“text”,(List 1 2 3),(setq a 3.0) (+ 13 8),(print “a”),a(已赋值)等,其值虽非T, 但为非nil,固测试均成立。并进行〈则—表达式〉。只有〈测试—表达式〉的值 为nil,如/(),(and (< 4 1) (> 3 2))测试不成功,则进行〈否则—表达式〉。
执行该函数时对表达式依次求值,只要有一个表达式的值为非nil则返回T。
只有2全021部/7/2表2 达式的值为nil,才返回nil,例如:
3
(or 1 2 3 nil)
返回值T
(or (< 5 3) (= 2 1) (/= 2 2) (> 3 5)
返回值nil
(or a b c d)
返回值nil
;(a b c d均未赋值)
((and (>= x 2) (< x 5)) (* x x))
((and (>= x 5) (< x 7)) (expt x 3))
分支结构1
用流程图描述下列问题的算法。
1、某超市促销苹果,购买一斤苹果,每斤5元, 购买5斤及以下每斤原价;超过5斤部分每斤打8 折,输入购买的斤数,输出应付款额。
a
顺序结构能解决各种问题吗?
二、选择模式
(分支结构)
分支结构的两种类型
1)单分支
2)双分支
N 条件
Y
步骤
Y 步骤1
条件
N 步骤2
特点:先找出判定条件,然后根据条件的成 立与否,在两个预定的处理步骤中,选 择其中的一个处理步骤来执行。
判断是单分支还是双分支?
例1:从键盘输入两个数,输出其中较大的数。 (用双分支实现)
例2:输入两个数,按从小到大的次序输出这
两个数。(双分支)
开始开始
输入输a入,ba,b
YY
a>ba?<b?
NN
输出输b出,aa,b
输出输a出,bb,a
结束结束
例3:输入一个数a,输出它的绝对值。(分别 用单分支和双分支实现)
开始
输入a
Y
N
a>=0?
输出a
输出-a结束Fra bibliotek总结1.用分支结构解决问题 2.特点:先找出判定条件,然后根据条件的
(假设变量:weight表示斤数,pay表示应付款额)
2、输入两个数a,b,比较大小,将大数放在a中, 小数放在b中,然后输出a,b。(用单分支结构 实现)
2.2作出判断的分支(分支结构)教学设计教科版高中信息技术必修1
4.学生上机实践,教师巡回指导,解答学生疑问。
(五)总结归纳
在总结归纳环节,我将从以下方面进行:
1.让学生回顾本节课所学的内容,总结分支结构的基本概念、分类、应用场景及编程规范。
2.教师对学生在课堂上的表现进行评价,强调团队合作、勇于尝试、善于思考等品质的重要性。
1.生活实例引入:向学生展示一个与分支结构相关的日常生活中的例子,如“根据天气情况决定是否出门游玩”。通过这个例子,让学生感受到分支结构在生活中的应用,从而引出本节课的主题。
2.提问方式:询问学生:“你们觉得在编程中,如何根据不同的情况执行不同的操作呢?”让学生思考并尝试回答,为后续讲解分支结构做好铺垫。
3.各小组分享讨论成果,展示程序运行结果,其他小组给予评价和建议。
4.教师对各组讨论情况进行点评,指出优点和不足,引导学生进一步优化程序。
(四)课堂练习
在课堂练习环节,我将设计以下任务:
1.编写一个判断学生成绩等级的程序,要求使用分支结构实现。
2.编写一个计算个人所得税的程序,根据收入范围和税率,计算出应缴纳的税费。
2.2作出判断的分支(分支结构)教学设计教科版高中信息技术必修1
一、教学目标
(一)知识与技能
1.了解分支结构在程序设计中的重要性,掌握分支结构的基本概念和分类;
2.掌握使用条件语句(如if-else语句)实现分支结构,并能够运用到实际问题中;
3.学会分析问题,根据问题需要设计合适的分支结构,培养解决问题的能力;
3.教学方法:
-采用任务驱动法,激发学生的学习兴趣和主动性;
-结合讲授法、讨论法、实践法等多种教学方法,提高学生的知识掌握程度和实际操作能力;
浙教版五年级上册信息科技第7课《分支结构》(教学设计)
五年级上册第二单元第7课《分支结构》教学设计【教材分析】《分支结构》是小学信息科技五年级上第二单元第7课的内容。
本课内容处于基本知识传授与基本技能的培养。
第二单元安排了算法的控制结构,包括顺序结构、分支结构、双分支结构,在分支结构中还安排了算法的验证,整个内容这样安排都意在为解决问题找方法,进而培养计算思维能力,为第三单元的《用算法解决问题》做铺垫。
因为算法是五年级刚接触的内容,因此在第二单元学习算法设计前需要对算法及算法的描述有一个初步认识。
故把算法的控制结构安排在了第一单元“算法与算法的表示”之后。
处在第7课的《分支结构》主要是讲单分支,为第8课的《双分支结构》做铺垫。
【学情分析】所面对的是五年级的学生,五年级的学生对信息科技并不陌生,已经具备了信息科技的基本知识与技能,三四年级已经学过office软件,在知识的迁移下相信学生会使用word文字处理软件中自带的流程图工具绘制流程图。
而且在本教材第一单元中经过前几节课的学习,想必学生绘制流程图的熟练程度也有所提高,所以在本次课中绘制流程图应该并不难。
但与上一节课不同的是,学生需要考虑条件的设定,确定判断条件的方法十分重要,也有一定的难度。
学生必须要联系生活仔细地去思考、探索,以小组合作讨论的方式进一步去尝试找出确定判断条件的方法。
本课迎来了首次用伪代码来验证,验证的目的也在于找出算法中存在的问题,虽然伪代码易懂,但要找出算法中存在的问题还是有难度,所以在验证这一环节上,需要教师耐心引导,并演示验证过程来化难为易。
在任务的布置上,考虑到学生水平的不同,可以进行分层布置。
【教学目标】1.通过采用顺序与分支两种结构的比较,用自然语言描述诈骗过程和测体温的过程来认识分支结构,体会分支结构的作用。
2.能用流程图描述入校测体温的过程,掌握使用在线工具绘制含有分支结构流程图的方法。
3. 知道可以通过计算机程序来验证分支结构,在验证的过程中完善算法。
核心素养目标:1.会用自然语言描述诈骗过程和测体温的过程,认识分支结构,体会分支结构的作用。
实验4分支结构(精)
实验四分支结构程序设计实验一、实验目的1.掌握分支结构程序设计的基本设计方法;2.掌握条件转移指令和无条件转移指令的使用方法; 3.掌握指令对标志寄存器中各标志位的影响情况;4.掌握多分支结构程序设计的三种方法:树型结构法、地址常数表法和指令常数表法。
二、实验要求1.学会使用DEBUG 的T 命令,跟踪检查指令对标志位的影响情况; 2.学会使用DEBUG 中的P 命令,对INT 指令的跟踪方法; 3.学会利用设置断点调试程序的方法;4.了解大写、小写字母及数字在计算机内的表示方法及转换方法。
三、实验内容1.编写程序,已知在DATA 开始的内存单元中,连续存放着三个一位十六进制数,找出其中最大数及最小数,存放在指定的内存单元中。
2.编写程序,从键盘输入若干个任意字符,如果是小写字母a ~z 之间的字符,请将它们转换成相应的大写字母,若为其它字符,则保持不变,将转换后的新字符保存在指定的存储单元中。
四、解题思路1.先对DATA 内存单元连续存放三个一位十六进制数。
先对DATA 内存单元里的前两个数据比较,较大的数据再和第三个数据比较,从而得到最大数据存到MAX 内存单元里。
把两次比较得到的两个较小的数据进行比较,从而得到最小数据存到MIN 内存单元里。
两个无符号数据比较后,用JA/JNBE、JAE/JNB/JNC/、JB/JNAE/JC和JBE/JNA来判别两数的大小关系,这些条件转移指令是把进位标志CF 和零标志位ZF 结合起来判别的。
2.先开辟20个字节的内存单元DATA 用来存储输进来字符串和修改后的字符串。
对字符串的输入是以‘#’为结束字符的,当字符的个数少于20时,只要输入的字符串是以‘#’结尾,就代表字符串输入结束(其中结束字符‘#’也是字符串中的一个字符存储到内存单元里)。
每次输入一个字符,就对其进行判别。
若输入的字符在字符‘a ’到‘z ’之间,那么就对其进行转换成对应的大写字母(方法把小写字母的值减去32即可),然后再存到指定的内存单元中;否则,直接把输入的字符存到指定的内存单元中去。
分支结构PPT-复习课件
8
Pseudocode :
如果 学生的成绩(grade)大于或等于60分,输出"Passed";
C++ statements: if ( grade >= 60 ) cout << "Passed";
C++ program // A decision of student's grade (完整的C++程序) #include <iostream.h>
9
2.6
if…else Double-Selection Structure
10
问题:如果学生成绩及格,打印"Passed",否则打印"Failed". Flowchart of pseudocode statement(伪代码语句的活动图)
11
Pseudocode
如果 学生的成绩(grade)大于或等于 60分 打印输出"Passed" 否则 // 判断条件为false 或 0 打印输出"Failed"
if, if/else, switch
– Repetition structures(循环结构)
while, do/while, for
6
2.5
if Single-Selection Structure: (单选择结构) Single - entry / single - exit
7
问题:如果学生的成绩及格,打印"Passed". Flowchart of pseudocode statement(伪代码语句的活动图)
9 57
实验二各种分支结构(精)
实验二各种分支结构一.实验目的1. 了解C语言中表示逻辑量的方法(以0代表“假”,以1代表“真”)。
2. 正确使用C语言中的逻辑运算符和逻辑表达式。
3. 熟练掌握if语句,if-else语句和switch-case语句。
二.实验要点在C语言中主要用以下方法实现分支结构:1. if-else语句格式:if(表达式)语句块1else语句块2若表达式的值为真,就执行语句块1;否则,执行语句块2。
2.switch-case语句if语句只有两个分支可供选择,switch语句可以提供多个分支选择。
switch-case语句格式:switch (表达式{ case 常量1:语句1;case 常量2:语句2;case 常量3:语句3;case 常量4:语句4;default: 语句n}三.实验要求1.上机前编写好以下程序。
(1为程序改错,2-6为填空2.上机输入和调试自己所编的程序并存在自己的软盘上。
3.检查实验结果是否正确。
4.上机结束后,整理实验报告。
四.实验内容上机调通以下程序,并写出以下程序的输出结果。
改正以下程序的错误,并上机调通,程序完成输入两个数,按由小到大的顺序输出。
main({int a,b;scanf(“%d,%d”,a,b;if(a>bc=b;b=a;a=c;printf(“%d,%d”,a,b;}输入45,-55 ( 表回车main({int a,b,c;scanf("%d,%d",&a,&b;if(a>b{c=b;b=a;a=c;}printf("%d,%d",a,b;}45,-55-55,45Press any key to continue以下程序的输出结果是()。
main({printf(“%d\t”,3&&6&&9;printf(“%d\t”,3||6||!0;printf(“%d\n”,0&&1||0;}1 1 0Press any key to continue有一函数 x (x<1y= 2x-1 (1≤x<103x-11 (x≥10用scanf函数输入x的值,求y的值。
第7课分支结构(共15张PPT)
【双分支结构流程图-大值】问题:画流程图,输入两个整数a和b,输出其中的大值。提示:采用双分支结构,输入a、b后,将大值赋值给另外一个变量,最后输出结果。
【分支嵌套流程图1-三级成绩】画流程图,输入学生的百分制成绩s,根据其值,输出其等级成绩。90分以上为优秀,60分以上为合格,不足60分为不合格。
【分支嵌套流程图2-五级成绩】画流程图,输入学生的百分制成绩s,根据其值,输出其等级成绩。90分以上为优秀,80分以上为良好,70分以上为中等,60分以为及格,不足60分为不及格。
【分支嵌套流程图2-五级成绩】画流程图,输入学生的百分制成绩s,根据其值,输出其等级成绩。90分以上为优秀,80分以上为良好,70分以上为中等,60分以为及格,不足60分为不及格。
作业布置完成课本 P30页练习题。
感谢聆听
同学们再见!
授课老师:
时间:2024年9月1日
2024课件
同学们再见!
授课老师:
时间:2024年9月1日
分组讨论与展示 展示以上程序的编译、运行,显示结果整个过程,并符以一定的解说.
巩固提高 编写一个程序,输入学生成绩,根据学生成绩给出学生的评定等级成绩>=90:为“=70,成绩<80:为:中成绩>=60,成绩<70为:及格成绩<60为:不及格
第7课分支结构
目录
CONTENTS
2.用流程图表示分支结构。
1.分支结构。
1.分支结构。
01
关于分支结构到底怎样来定义,其实分支结构就是选择结构。选择结构就是通过判断条件的真假,依据判断的结果决定后面的步骤。
2.用流程图表示分支结构。
02
单分支结构流程图-大值问题:画流程图,输入两个整数a和b,输出其中的大值。提示:当a<b时,交换a和b,最后输出的a一定是其中的大值。流程图中可以直接给出交换a和b的具体算法,也可以用文字“交换a和b”说明。流程图是面向人的设计语言,人能看明白即可。
分支结构(选择结构)
分支结构(选择结构)布尔运算(逻辑运算)要判断“ A>B”是否成立,其结果不是一个具体的数值,而是“真”或“假”,即“是”或“否”的问题。
这类问题在我们日常生活中是很多的,诸如这类判断的问题,其结果都是只有两个:真或假,这就是我们所说的布尔运算(逻辑运算)。
•布尔常量和布尔变量布尔型的常量或变量的值只有两个: TRUE(真)和 FALSE(假)。
要把一个变量定义成布尔类型,用的数据类型是: BOOLEAN。
例如程序:var a,b:boolean;begina:=true;b:=false;……end.•布尔表达式布尔表达式有以下两种操作:•关系运算符: =; <>; >; <; >=; <=,是用来进行关系操作(对比)运算的符号,其结果为 BOOLEAN型。
如: 2=3,其结果为 FALSE。
*注意:这里的“ =”与赋值符号“: =”是完全不同的,其作用和结果均不同。
•逻辑运算符: AND(逻辑和); OR(逻辑或); NOT(逻辑非)。
是用来进行逻辑值的逻辑运算的。
如:( 2=3) AND ( 4<>3),值为 FALSE。
布尔表达式的运算顺序是:()à函数à NOT à *,/.DIV,MOD,AND,+,-,ORà >,<,>=,<=,<>,= 。
布尔表达式中的逻辑运算如下表所示: a和 b 均为布尔型表达式或常 /变量 .由上可以看出:•用 AND运算时,左右两个值同为 TRUE时,运算结果才为 TRUE,即两个条件同时满足,结果才为 TRUE。
这就是我们平常所说的“和”。
•用 OR运算时,左右两个值只需有一个为 TRUE,运算结果就为 TRUE,即两个条件满足其中一个,结果就为 TRUE。
这就是我们平常所说的“或”。
•用 NOT运算时,只是把其后的逻辑值取反,即“非”。
分支结构教学设计
学会分支,也学会选择《分支结构》教学设计一、教材内容分析1、本节的主要内容及在本章中的地位分支结构是程序设计结构中的一个重要模化。
既是顺序结构的延续,又是程序编写的一个基础。
对以后编程影响重大。
通过本课的学习,可以促进学生对问题解决方法和思想的理解与掌握,从而提升学生的问题解决能力,让学生在按照一定的流程解决问题的过程中,去体会和理解程序设计的思想,而且也为高中时学习多分支选择结构打下基础。
2、课时安排:一课时二、学习者分析本节是在学习了程序的基本要素和顺序结构的基础上学习的,大部分学生对程序的编写和结构有了一种认识,所以在这个基础上学习,学生可以再上一个台阶。
但仍有部分学生对程序的要素和顺序结构认识不够、掌握不好,不能顺利地编写好程序;这部分学生仍需老师的辅导、鼓励和同学的帮助。
三、教学目标1.知识与技能(1)了解分支程序的结构,流程以及作用。
(2)熟悉掌握分支语句的作用格式。
(3)掌握分支选择结构实现条件判断控制。
(4)能够运用分支选择结构设计编制程序解决问题。
情感目标:1、在思维分析中,体验学习带来的自信与成功感,激发学生学习的兴趣。
2、通过趣味性的教学内容,使同学们保持高涨的学习兴趣,在操作的同时获得成功的喜悦。
3、培养学生的逻辑思维能力,促进学生对问题解决方法的理解。
2.过程与方法(1)通过简单游戏程序的运行和流程思考,培养学生的思考逻辑分析能力。
(2)通过运行程序、分析程序、编写程序提高学生自主学习的能力。
(3)通过分层教学和辅导,学生能力得到提高。
(4)通过小组学习,提高学生的学习兴趣和团结合作精神。
3.情感态度价值观通过体验程序,分析程序,修改程序和编写程序,提高学生学习兴趣,克服畏惧心理,培养学生的团结合作精神和拓展学生的能力,使每个学生的能力都有提高。
四、教学重点及难点重点:分支语句的流程图,分支语句的实现过程以及分支语句的格式。
难点:分支语句的应用以及分支语句的格式,。
五、教学策略本节是本章的一个重点、难点,故采用情景设置,游戏导入,讲练结合,任务驱动,分层辅导,分层练习,小组学习等多种立体方式呈现。
第3章 分支结构1
本章要点
什么是分支结构?它的作用是什么? switch 语句中的 break 起什么作用? 逻辑运算和关系运算的相同之处是什么?
它们之间又有什么不同? 字符型数据在内存中是如何存储的?
3.1 简单的猜数游戏
例3-1 简单的猜数游戏。输入你所猜的整数(假定
1~100内),与计算机产生的被猜数比较,若相等, 显示猜中;若不等,显示与被猜数的大小关系。
语句2;
…
else if (表达式n-1) 语句n-1;
else 语句n;
if (表达式1) 语句1 else if(表达式2) 语句2
…… else if(表达式n-1) 语句n-1 else 语句n
else – if 语句
假 表达式
1
假
真
表达式
2
真
n个分支需要n-1次比较
假 假
表达式n-1
语句1
{t=b;b=c;c=t;} /*实现b和c的互换*/
printf("%5.2f,%5.2f,%5.2f\n",a,b,c); }
3.1.3 多分支结构和else – if 语句
else-if 语句是最常用的实现多分支 (多路选择)的方法。
一般形式为:if (表达式1)
语句1; else if (表达式2)
源程序-统计成绩
{ int count, i, n;
/* count记录不及格成绩的个数*/
double grade, total; /* grade存放输入的成绩,total保存成绩之和 */
printf(“Enter n: “); /* 提示输入学生人数n*/
scanf("%d", &n);
Python03-03_分支和循环1(03-01流程图、03-02思维导图,略)
Python03-03_分⽀和循环1(03-01流程图、03-02思维导图,
略)
1. 分⽀结构
Python 的分⽀结构由 if 语句来操⼑实现。
if 语句总共有 5 钟语法结构,其中前 4 种是⽐较常见的,⽽最后 1 种是⽐较炫酷的操作。
第 1 种是判断⼀个条件,如果这个条件成⽴,就执⾏其包含的某条语句或某个代码块。
语法结构如下:
1if条件:
2某条语句或某个代码块
3else:
4某条语句或某个代码块
第 2 种同样是判断⼀个条件,跟第 1 种的区别是如果条件不成⽴,则执⾏另外的某条语句或某个代码块。
语法结构如下:
1if条件:
2某条语句或某个代码块
3else:
4某条语句或某个代码块
第 3 种是判断多个条件,如果第 1 个条件不成⽴,则继续判断第 2 个条件,如果第 2 个条件还不成⽴,则接着判断第 3 个条件……
如果还有第 4、5、6、7、8、9 个条件,你还可以继续写下去。
语法结构如下:
1if第1个条件:
2某条语句或某个代码块
3elif第2个条件:
4某条语句或某个代码块
5elif第3个条件:
6某条语句或某个代码块
第 4 种是在第 3 种的情况下添加⼀个 else,表⽰上⾯所有的条件均不成⽴的情况下,执⾏某条语句或某个代码块。
语法结构如下:
1if第1个条件:
2某条语句或某个代码块
3elif第2个条件:
4某条语句或某个代码块
5elif第3个条件:
6某条语句或某个代码块
7else:
8某条语句或某个代码块。
IF分支结构教案(精)
情境导入教师活动从现实生活引入实际问题,让学生理解什么是分支结构树枝图片、十字路口视频生活中常见的分支结构。
引出多分支和双分支结构。
再导入本节课我们学习的IF语句就是双分支结构。
教师活动节一. IF分支语句流程图的画法1、以路口红绿灯为例,讲述IF分支结构流程图的画法。
学生活动观看课件回答问题学生活动设计意图通过贴近现实生活的实例,从而引出今天的课题设计意图学习新知2以Y型路口为例,画流程图。
3以下雨带雨具为例,让学生动手画流程图。
小结:IF流程图用菱形符号,在菱形框中设置条件,当条件成立时执行一边的语句,当条件不成立时执行另一边的语句。
4、以两个数学题例画流程图,第一题老师讲解,第二题学生学生观察并记住语句格式动手画流程图了解if语句流程图的画法以三个生活的实例画流程图,让学生知道IF分支结构流程图的画法自主练习。
流程图练习1:从键盘分别输入两个不相等的数到变量a、b, 输出其中较大的数。
流程图练习2:输入一个数到变量a,输出它的绝对值(不用绝对值函数)二、If语句的格式1、If…Then语句的格式方式1:If <表达式> Then<语句块1>Else<语句块2>End If方式2:If <表达式> Then语句块End If小结if….endif要成对出现条件成立执行THEN后面的语句,条件不成立执行ELSE 后面的语句小结流程图的组成先讨论算法设计再将算法说出来再以两个正式题目画流程图, 生活结合实践。
学习新知听讲记录,学会IF分支语句的写法了解if语句的用法,让学生形成在编程过程中,设计算法后,先画出流程图,再编写程序的习惯2、再以两个填空题的形式,把程序填写完整。
从而加深对IF语句的理解。
填空1从键盘分别输入两个不相等的数到变量 a 、b ,输出 其中较大的数。
填空2:输入一个数到变量 a ,输出它的绝对值(不用绝对值 函数) 三、IF 语句的学以致用(三个练习题) 分析下列程序段,写出程序运行的结果 第一题 x=1 y=2if x>y thenprint x,y elseprint y,x endif 第二题x=2 y=2 if x>2 then y=x*x (电脑中的乘号是 *)endif print x,y第三题d1=10学生根据题 意,思考后将 答案填在空格内先思考,后回 答问题思考后回答问 题讲解print 的用法提出问题,学生 思考后回答,加 深对IF 语句的 应用由浅入深的三 个小题,加深对IF 分支语句的。
多分支结构程序设计习题(精)
多分支结构程序设计习题1、【水仙花数问题】题目描述:在三位整数中,有这样一种数:它每个数位上的数的立方和等于它本身,这样的数被称为“水仙花数”。
例如:153是一个水仙花数,因为153=13+53+33,请你编程测试下列各数是否为“水仙花数”。
测试数据:111 123 153 230 370 371 372 400 407 501 9992、【月份的天数问题】题目描述:给定某年某月,编程输出这个月的天数。
输入格式:1900 2 输出格式:282004 2 293、【个人所得税问题】-1600元)*税率;请编程实现以上计算方案。
输入格式:1000 输出格式:02500 904、【划分等级问题】题目描述:给出一百分制成绩(整型),要求输出成绩等级‘A’、‘B’、‘C’、‘D’、‘E’。
90分以上为‘A’,80-89分为‘B’,70-79分为‘C’,60-69分为‘D’,60分以下为‘E’。
输入格式:92 输出格式:A45 E5、【运输打折问题】题目描述:某运输公司对用户计算运费。
路程(S)越远,每公里运费越低。
标准如下:其中基本运输费用为每吨每公里1元,现请你帮助该运输公司设计自动计费程序,帮助会计人员计算运输费用。
要求输入每次运输的载重(吨)、里程(公里),输出其运输费用。
输入格式:1 200 输出格式:20010 2500 22500简单分支习题部分参考答案5、求解一元二次方程#include <iostream.h>void main(){int a,b,c;cout<<"Please input a,b,c=";cin>>a>>b>>c;if ((a+b>c) && (b+c>a) && (a+c>b))if ((a*a+b*b==c*c) || (b*b+c*c==a*a) || (a*a+c*c==b*b))cout<<"Yes"<<endl;elsecout<<"No"<<endl;elsecout<<"Error"<<endl;}6、求解一元二次方程#include <iostream.h>#include <math.h>void main(){float a,b,c,d,x1,x2;cout<<"Please input a,b,c=";cin>>a>>b>>c;d=b*b-4*a*c;if (d<0)cout<<"Not real root"<<endl;elseif (d>0){x1=(-b+sqrt(d))/(2*a);x2=(-b-sqrt(d))/(2*a);cout<<"x1="<<x1<<endl;cout<<"x2="<<x2<<endl;}else{x1=-b/(2*a);cout<<"x1=x2="<<x1<<endl;}}7、排序问题#include <iostream.h>void main(){ int a,b,c,t;cout<<"Please input a,b,c=";cin>>a>>b>>c;if (a<b){t=a;a=b;b=t;}if (a<c){t=a;a=c;c=t;}if (b<c){t=b;b=c;c=t;}cout<<a<<"\t"<<b<<"\t"<<c<<endl;}8、大小写转换问题#include <iostream.h>void main(){char c;cout<<"Please input a char:";cin>>c;if (c>='A' && c<='Z')c=c+32;elseif (c>='a' && c<='z')c=c-32;cout<<c<<endl;}9、闰年问题#include <iostream.h>void main(){int year;cout<<"Please input year=";cin>>year;if (((year%4==0) && (year%100!=0)) || (year%400==0))cout<<"Yes"<<endl;elsecout<<"No"<<endl;}。
分支结构练习(精)
"B") 1、要求假如 x 被 7 除余 2,则输出 x 的值,以下语句中不可以实现此功能的语句是A ) If x Mod 7 = 2 Then Print xB)If x - (x \ 7) * 7 = 2 Then Print xC)If x - (x / 7) * 7 = 2 Then Print xD) If x - Int(x / 7) * 7 = 2 Then Print x2、设 A = "A",B = "B",C = "C",D ="D" ,履行语句X = IIf((A < B) Or (C后, X 的值为 ___D___。
A) "a"B)"b"C)"B"D)"A"__C____。
> D), "A",3、现有以下语句:x = IIf(a > 50, Int(a \ 3), a Mod 2)当 a = 52 时, x 的值是 ___A___。
A)17B)0C)18D)14、编写以下程序:Private Sub Command1_Click()Dim a As Integer, b As Integera = 3b = 2If a * b < 10 Then b = b + 1 Else b = b - 1Print b - a > 0End Sub程序运转后,单击命令按钮A)1B)-1Command1,输出结果为C) False___C___。
D ) True5、编写以下程序Private Sub Command1_Click()Dim x As String, y As Stringx = Right("abcd", 2)y = Mid("dcba", 2, 3)If x > y ThenPrint x + yElsePrint y + xEnd IfEnd Sub程序运转后,单击命令按钮Command1,输出结果为 ___D___ 。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
分支结构【基本信息】【课标要求】1.内容标准(1)理解并掌握一种程序设计语言的基本知识,包括语句、数据类型、变量、常量、表达式、函数。
会使用程序设计语言实现选择控制结构。
(2)理解模块化程序设计的基本思想,初步掌握其基本方法。
(3)初步掌握调试、运行程序的方法。
(4)在使用某种面向对象程序设计语言解决问题的过程中,掌握面向对象程序设计的基本思想与方法,熟悉对象、属性、事件、事件驱动等概念并学会运用。
2.活动建议(1)选择实例,根据解决问题的要求分析设计算法,恰当地使用选择控制结构编写源程序,调试并运行该程序,在过程中体验程序设计语言的逻辑特点。
【学情及教材分析】《分支结构》是江苏省高中信息技术教材第六章第五节的内容,它是建立在学生已学习的顺序结构的基础之上,为后续学习循环结构作了铺垫。
VB中IF语句的分支结构对学生来说,并不难理解,特别是学生在英语中已学过IF引导的条件语句,它和VB有诸多相似之处,所以我以英语中的IF条件语句作引子,导入本节课的内容,本节课的重心放在如何引导学生明确程序设计的思想是什么,如何培养学生利用IF语句解决实际问题的能力。
『此处,作者对“学情及教材”进行分析之后,加入了“教学策略”的描述,特别是提出了结合英语中的“IF引导的条件语句”这样一个知识点来引入教学的方法,让人眼前一亮,会给人“我怎么没有想到呢?”的感觉。
这体现了作者对学生已有的认知结构把握较准,善于将学生已有的知识与新知建立联系,从而提高教学效率的能力,同时也指出了本节课的教学重点。
』【教学目标】知识与技能(1)掌握IF语句的格式和功能(2)会画IF语句的流程图(3)学会用IF语句解决日常生活中的实际问题过程与方法经历实践、分析、归纳,掌握IF语句的格式和功能。
情感态度与价值观运用半成品加工策略,完善程序,发展学生思维的逻辑性,及严谨的学习态度。
『“情感态度与价值观”目标中的“运用半成品加工策略,完善程序”应属于“过程与方法”的范畴。
对“情感态度与价值观”目标的设计与描述还显得“空泛”,不够扎实。
』【教学思路】根据上述分析,为实现教学目标拟采取的教学方法、策略或秉承的教育理念,特别要指出教学的重点和难点及处理策略。
重点:掌握IF语句的格式和功能难点:提高学生运用IF语句解决实际问题的能力。
【教学过程】(一)创设情境引入课题教师活动:出示两条英文语句,请学生朗读并翻译:If you feel happy then you will smileIf you feel happy then you will smile else you will feel sad.这是英文中用IF来描述根据条件的不同,会有不同的结果的例子,而在VB中我们能否根据不同的条件,执行不同的语句呢?这节课我们将学习程序结构中的分支结构。
(设计意图:成功的教学不是强制,而在于激发学生的学习兴趣,从学生熟悉的事情着手,创设教学情境,有效地激发学生的学习兴趣。
)『正如作者分析的那样,一开始学生会被教师的教学行为深深吸引是因为学生不明白,“信息技术课”怎么突然变成“英语课“了?随着教师导入语的展开才释然,既成功引起学生的注意,也顺利过渡到新知。
』(二)合作探究构建新知如何让计算机感到幸福,就微笑呢?教师启发:计算机也是有思想的,只不过这种思想是人所赋予的。
学生活动:畅所欲言,如何在VB中让计算机感到幸福就微笑。
1、分析:肯定每位学生的闪光点,并提出建议性意见,最后根据学生所谈,理出一个普遍被大家都认可的意见:(1)程序运行时,屏幕首先出示“Do you fe e l happy?”(2)当从键盘输入“y”,则计算机表示“幸福”,输入其他,则表示“不幸福”。
(3)当其感受到幸福就在图像框中出示一张笑脸的图片,否则就出示一张苦脸的图片。
『读到此处,一开始并没弄清作者的意图,再一读才体会到作者的“用心良苦”。
作者旨在让学生用程序来实现“让计算机感到幸福,就微笑”的命题。
这样的设计拥有足够的“创意”,同样会激发学生极大的兴趣。
问题是,这样的命题过于开放,学生的思维会发散的很厉害,教师要注意加强引导,并控制好讨论时间。
接下来的“分析”和“理出”的“意见”其实就是“算法”,教师应在此处或其后给予点明。
』2、建立VB程序(1)学生自主完成建立程序初始界面和设置对象属性对象名属性值label1 caption Do you feel happy?Text1 text 空白Command1 caption 确定『此处要求学生对前面的知识掌握较好,操作比较熟练。
上面的控件选择以及属性值应以某种方式直接呈现给学生,可提高课堂效率。
』(2)编写代码:教师启发:计算机如何判断键入的是y还是其他字母呢?学生活动:if text1.text=“y” then picture1.picture=loadpicture(“d:\1.jpg”)『学生的活动结果,也就是上面的一行代码是如何得到的?仅凭教师的那句“启发”吗?显然是不够的,需要更细致的引导过程。
比如,让学生用英语来描述解决这一问题的方法,描述出来的英语句子实际上就和上面代码的结构相同了,然后再让学生用已知的VB知识来改写一下。
也许是作者在此处没有写这一过程,但这一过程是很重要的。
』(3)调试运行程序在这一过程中,学生会出现很多错误。
反馈结果:通过多媒体广播系统,展示个别有代表性的学生的结果。
首先引导学生判断该程序对不对,告诉学生“实践是检验真理的唯一标准”,要知道对不对运行此程序即可;其次,若程序不对,引导学生分析此程序错在哪?为什么会错,这样的错误将导致什么样的结果?最后提出如何解决?以此帮助部分薄弱的学生重新调整思路,便于更好地解决问题。
在这一过程中,教师应注意控制好时间。
如果学生出的问题比较多,怎么办?如果每个出现的问题都这样去讲解的话,时间肯定是不够的。
另外,在课堂上能即时地发现“有代表性”的错误吗?会不会有遗漏?还有,在讲解时,是对全班广播讲解吗?应该是对有类似错误的同学讲解,以避免浪费不会犯此错误的学生的时间,较好的方法应该是用投影仪来讲解,但这样又需要犯错误的学生有足够的注意力才行。
总之,这样的“纠错”过程有很多值得我们思考的问题。
不是说不要,还是要尽可能地设计完善些,考虑周全些。
(4)提升:在这过程中会有学生提出这样问题:输出小写的y会出笑脸,怎么输入大写的“Y”,就不能显示笑脸呢?引导学生分析后,学生按自已的独特感受,自已尝试解决,学生解决的方法是多样的,有的学生运用两条IF语句,有的学生想用数学上的逻辑“与”,但是按照数学表达式来写是不可行的。
这时教师归纳:虽然VB表达式不同于数学表达式,但其思想和数学一致。
这和武学原理大有相似之理,招式虽有不同,内功心法应是相通的。
『提升部分是通过学生自己对问题的发现,从而由教师引导归纳至IF语句的格式上来。
』归纳结论:IF语句的格式1:If 条件 then 语句功能是:当条件成立时,则执行语句,条件不成立,则直接执行下一条语句。
画出格式1的流程图。
『及时总结,给出规范的格式,统一思想。
』3、完善程序教师活动:演示若键入”Y”,则屏幕显示“J”;若键入“N”,则屏幕显示“L”的程序。
学生活动:学生在原来程序基础上修改程序,通过多媒体广播系统展示有代表性学生的成果,师生共同分析。
归纳结论:IF语句的格式2:If 条件 then 语句1 else 语句2功能是:当条件成立时,则执行语句1,否则执行语句2。
(设计意图:教学过程第二部分让学生在探究的过程中归纳结论,体现了既重过程又重结论的新课程教学要求。
同时这一部分的设计充分体现了两个转变,教师由讲授者变教学活动的组织者、引导者、合作者;学生由被动接受者变主动参与学习的主体。
)『再引入IF语句的第二种格式,但选用的例子不好,应该还是用前面“计算机幸福”的例子,即当输入其他字符时呈现“哭脸”的图片。
这样可保持学生接生新知的连贯性,易于学生对问题的思考和总结。
』(三)完善程序巩固新知引入“半成品加工策略”,出示顺序结构中曾经完成的练习,要求学生指出原程序中有哪些还不够完善的地方,请运用本课知识,进行修改、调试,巩固本课重点。
要求两人一组,两人共同对两个练习进行分析,然后每人选做一题,可以互相帮助,做完后互相交流,互相评价结果。
练习一:一个小球,不停地向上方滚动,可到顶端后就再也看不见了,此处设计意在引导学生运用IF语句实现小球不停地上下滚动。
练习二:输入三角形的三边长,输出三角形的面积。
此处设计意在引导学生正确处理如果输入的三个数值无法构成三角形,则应该显示“不能构成三角形”。
『“半成品加工策略”的使用可以有效提高课堂效率,在巩固练习中使用非常适合。
』师生互动:在学生活动过程中,我以合作者学习者的身份加入到各合作学习小组进行指导,指导学生虚心听取他人意见,尊重他人发言,鼓励学生敢于阐述自己的观点,当学生遇到困难时,总是引导点拔他们自己去寻找解决问题的方法。
交流评价:推出几个小组代表上台,按照预先提供的评价标准,对小组的所经历的程序分析、程序代码结果及合作情况作自我反思与自我评价,学生在此过程中可以共享思路,激发灵感,反思自我。
『此处要是能附上评价标准就更好了。
』教师总结:对课堂情况作总结性评述,引导学生在活动过程中对所获得的经验和教训作梳理,帮助学生内化知识。
(设计意图:以自主学习为基础,合作为形式,探究为方法,培养学生的批判性思维及创新思维,同时为达成本节课的情感态度与价值观目标构筑平台。
)(四)回归生活学以致用1、超市中购买苹果,若购买10斤以下,则2元一斤,则购买10斤以上,则打8折,请设计一个程序,输入购买的斤数,输出应付款总额。
师生互动:利用多媒体广播系统出示某个有代表性学生的解题结果,其他同学对其程序进行分析评价。
以征询的口气问:哪位做错的同学能站起来告诉大家,你错在哪?怎么错呢?以此给其他同学提个醒,避免下次再犯类似的错误。
此处化错误为资源,化难堪为体面,帮助学生找回自信。
『让做错的学生起来分析错误,我不知道愿意站起来的学生有多少。
能够站起来的固然勇气可嘉,不愿站起来的恐怕也不能帮他“化难堪为体面”,此处的设计应该再斟酌一下。
』2、引导学生分析此程序还适用于生活中的哪些事例,以达到举一反三的效果。
(设计意图:让学生通过编程解决生活的事例,以培养学生的知识和技能为主,在活动过程中掌握运用信息技术解决问题的思想和方法,让学生意识到现实生活中蕴藏着丰富的程序设计例子,从而体现“小课堂,大社会”的教育观。
)(五)小结学生畅谈本课知识上的收获与疑问,学习过程中的愉悦及挫折中的体验,使课堂教学充满活力。
(六)课后作业神舟六号的成功发射振奋中华儿女,请你结合物理学知识,编程实现以下功能:输入飞船速度,程序判断飞船是否能升空。