实训3 顺序结构与选择结构

合集下载

第3章顺序和选择结构程序设计

第3章顺序和选择结构程序设计

3.3 C语句
1.表达式语句
任何一个表达式加上一个分号就可以组成一条
语句。

例如: 表达式 a=b+c*(d+3) a+b+c i++
表达式语句 a=b+c*(d+3); a+b+c; i++;

函数调用也是表达式,在其后加一个分 号,就变成了函数调用语句。
eg:printf函数调用语句和scanf函数调 用语句
-1.0 (x<0) y= 0 (x=0) 1.0 (x>0)
运行结果: -88 y=-1.000000
3.4.4
if语句的嵌套
条件语句的嵌套就是在if语句中包含另一 个if语句。 从语法上讲,if语句中所包含的语句是一 个语句或一个复合语句,这个语句当然也 可以是另一个if语句,即内嵌if语句。

3.1 程序设计概述




程序设计的最终目的是能在计算机上计算出正确的 结果来。 1969年,Dijkstra首先提出了结构程序设计的概念, 强调从程序的结构和风格上来研究和设计程序。 首先应从全局上把握系统所具备的功能是什么,并 将系统划分成几个相对独立的子系统,而每个子系 统只涉及局部的环境和条件。 然后,进入第二步的实现阶段,即进行编码。在第 一阶段,只要知道“做什么”,而在实现阶段,才 考虑“如何做”。
用交换变量值的方法按顺序输出这两个数


交换变量值的思想: 不改变变量名,但变量值可改变的性质。 若a的值大于b的值,则a与b的值不交换;若a的值 小于b的值,则两者互相交换值。从而使得无论何 时,变量a的值始终大于变量b的值。最后,按先a 后b的顺序输出,即可实现按由大到小的顺序输出 的功能。 实现方法: 为了能够进行相互交换,必须引进一个临时变量 t。用以下三个赋值语句可实现交换。 t=a; a=b;b=t; /*t=a,a=b,b=t;*/

顺序结构与选择结构 教学设计

顺序结构与选择结构 教学设计

顺序结构与选择结构教学设计教学分析用自然语言表示的算法步骤有明确的顺序性,但是对于在一定条件下才会被执行的步骤,以及在一定条件下会被重复执行的步骤,自然语言的表示就显得困难,而且不直观、不准确.因此,本节有必要探究使算法表达得更加直观、准确的方法.算法框图用图形的方式表达算法,使算法的结构更清楚、步骤更直观也更精确.为了更好地学习算法框图,我们需要掌握程序框的功能和作用,需要熟练掌握三种基本逻辑结构.三维目标1.熟悉各种程序框及流程线的功能和作用.2.通过模仿、操作、探索,经历通过设计算法框图表达解决问题的过程.在具体问题的解决过程中,理解算法框图的三种基本逻辑结构:顺序结构、选择结构和循环结构.3.通过比较体会算法框图的直观性、准确性.重点难点教学重点:算法框图的画法.教学难点:算法框图的画法.课时安排2课时教学过程第1课时顺序结构导入新课思路1(情境导入).我们都喜欢外出旅游,优美的风景美不胜收,如果迷了路就不好玩了,问路有时还听不明白,真是急死人,有的同学说买张旅游图不就好了吗,所以外出旅游先要准备好旅游图.旅游图看起来直观、准确,本节将探究使算法表达得更加直观、准确的方法.今天我们开始学习算法框图.思路2(直接导入).用自然语言表示的算法步骤有明确的顺序性,但是对于在一定条件下才会被执行的步骤,以及在一定条件下会被重复执行的步骤,自然语言的表示就显得困难,而且不直观、不准确.因此,本节有必要探究使算法表达得更加直观、准确的方法.今天开始学习算法框图.推进新课新知探究提出问题1.什么是算法框图?2.说出终端框(起止框)的图形符号与功能.3.说出输入、输出框的图形符号与功能.4.说出处理框(执行框)的图形符号与功能.5.说出判断框的图形符号与功能.6.说出流程线的图形符号与功能.7.说出连接点的图形符号与功能.8.总结几个基本的程序框、流程线和它们表示的功能.9.什么是顺序结构?讨论结果:1.算法框图又称程序框图,是一种用程序框、流程线及文字说明来表示算法的图形.在算法框图中,一个或几个程序框的组合表示算法中的一个步骤;带有方向箭头的流程线将程序框连接起来,表示算法步骤的执行顺序.2.椭圆形框:表示程序的开始和结束,称为终端框(起止框).表示开始时只有一个出口;表示结束时只有一个入口.3.平行四边形框:表示一个算法输入和输出的信息,又称为输入、输出框,它有一个入口和一个出口.4.矩形框:表示计算、赋值等处理操作,又称为处理框(执行框),它有一个入口和一个出口.5.菱形框:是用来判断给出的条件是否成立,根据判断结果来决定程序的流向,称为判断框,它有一个入口和两个出口.6.流程线:→表示程序的流向.7.圆圈:连接点.表示相关两框的连接处,圆圈内的数字相同的含义表示相连接在一起.89.很明显,顺序结构是由若干个依次执行的步骤组成的,这是任何一个算法都离不开的基本结构.顺序结构对应的算法框图,如图1所示:图1应用示例例1 尺规作图,确定线段AB 一个5等分点.分析:确定线段AB 的5等分点,是指在线段AB 上确定一点M ,使得AM =15AB .同学们都熟悉解决这个问题的方法:第一,从A点出发作一条与原直线不重合的射线;第二,任取射线上一点C,并在射线上作线段AD,使AD=5AC;第三,连接DB,并过C点作BD的平行线交AB于M,M就是要找的5等分点.这个过程也需要一步一步来实现.作法:作图步骤如下:1.如图2,从已知线段的左端点A出发,作一条射线AP;图22.在射线上任取一点C,得线段AC;3.在射线上作线段CE=AC;4.在射线上作线段EF=AC;5.在射线上作线段FG=AC;6.在射线上作线段GD=AC,那么线段AD=5AC;7.连接DB;8.过C作BD的平行线,交线段AB于M,这样点M就是线段AB的一个5等分点.这个实现过程可以用图3来表示.图3点评:通常,为了使算法结构更加清晰,可借助图来帮助描述算法.图的特点是直观、清楚,便于检查和交流.顺序结构的图见图 4.通常,像这样的图叫作框图.图4例2 已知一个三角形三条边的边长分别为a,b,c,利用海伦—秦九韶公式设计一个计算三角形面积的算法,并画出算法框图.(已知三角形三边边长分别为a,b,c,则三角形的面积为S=p p-a p-b p-c,其中p=a +b +c 2.这个公式被称为海伦—秦九韶公式)分析:只需先算出p 的值,再将它代入公式,最后输出结果.因此只用顺序结构就能表达出算法.解:算法步骤如下:1.输入三角形三条边的边长a ,b ,c .2.计算p =a +b +c2.3.计算S =p p -a p -b p -c .4.输出S . 算法框图如下:图5点评:很明显,顺序结构是由若干个依次执行的步骤组成的,它是最简单的逻辑结构,它是任何一个算法都离不开的基本结构.变式训练图6所示的是一个算法的算法框图,已知a 1=3,输出的b =7,求a 2的值.图6解:根据题意a 1+a 22=7,∵a 1=3,∴a 2=11,即a 2的值为11.知能训练利用梯形的面积公式计算上底为2,下底为4,高为5的梯形的面积,设计出该问题的算法及程序框图.分析:根据梯形的面积公式S =12(a +b )h ,计算即可.解:算法步骤如下: 1.a =2,b =4,h =5;2.S =12(a +b )h ;3.输出S .该算法的算法框图如图所示:图7点评:很多套用公式即可解决的题目,在顺序结构中常见. 拓展提升图8给出的是计算12+14+16+…+110的值的一个算法框图,其中处理框内应填入的是______.图8答案:S =S +110课堂小结1.掌握算法框图的画法和功能.2.掌握顺序结构的应用,并能解决与顺序结构有关的算法框图的画法. 作业习题2—2 A 组 1.设计感想 首先,本节的引入新颖独特,旅游图的故事阐明了学习算法框图的意义.通过丰富有趣的事例让学生了解了什么是算法框图,进而激发学生学习算法框图的兴趣.本节设计题目难度适中,逐步把学生带入知识的殿堂,是一节好的课例.。

顺序结构与选择结构

顺序结构与选择结构
12
算 法 的 流 程 如 图 所 示
13
练习1 设计一算法:输入圆的半径,输出圆的面积,
并画出流程图
开始
算法分析:
第一步:输入圆的半径
第二步:利用公式“圆的面 积=圆周率×(半径的平方)” 计算圆的面积;
第三步:输出圆的面积。
定义Pi=3.14 输入半径R 计算S=Pi×R2
思考:整个程序框图有什么特点?
11
在算法中含有一个判断,通过 判断来选择执行哪个流程,一 般来讲,数学中需要分类讨论 或分段函数问题均要用到选择 结构
对于给定的年份 y,确定他是否为闰 年,需要进行判断 ,利用顺序结构我 们无法解决,它需 要先进行判断,判 断的结果确定后面 的步骤,象这样的 结构我们通常称为 选择结构,选择结 构的算法流程如图 所示:
1
复习回顾:
前面我们学习了算法的基本思想,它实际 上是我们处理问题的一系列步骤,现代意义上的 “算法”通常是指可以用计算机来解决的某一类 问题的程序或步骤。
计算机发展到今天,可以说都是依赖算法的 进步,算法是软件的灵魂,软件是计算机的基础。 计算机在处理问题时,它不能加入自己的思考, 它只能依靠个人给定的算法形式进行运算或逻辑 判断,而计算机的发展是依靠众人的努力,大家 之间要想交流,就必须有一种共同的形式来沟通, 这就产生了算法的基本结构。
1.它只有在A执行完的情况下,才去执行B, 如例1,只有在完成上一步的基础上,才能 执行下一步
2.顺序结构只能处理一些简单的问题,如代入公 式求值,求函数值等
3.顺序结构是最基本的结构,任何结构都含有顺序 结构
6
请完成课本中86页的 思考交流
7
一个船工要送一匹狼、一只山羊和一棵白菜过 河.每次除船工外,只能带一个乘客渡河,并 且狼和山羊不能单独在一起,山羊和白菜也不 能单独在一起.应该如何渡河?

顺序结构和选择结构教学设计

顺序结构和选择结构教学设计

2.1顺序结构和选择结构教学设计第二课时:选择结构执教者:高少峰教学目标1、熟悉选择结构程序框及流程(指向)线的功能和作用;2、通过模仿、操作、探索,经历通过设计算法框图表达解决问题的过程;3、在具体问题的解决过程中,理解算法框图的基本结构选择结构,并能利用顺序结构和选择结构去解决问题。

教学重点1、选择结构的定义;2、选择结构算法框图的画法;3、算法框图的两种基本结构-----顺序结构和选择结构。

教学难点1、如何确定选择结构的判定条件;2、选择算法框图的画法。

教学方法探究式教学教学过程(一)回顾算法,导入新课在日常生活中,有这样的脑筋急转弯,怎样将大象装进冰箱?通过这个问题,让学生讨论要如何解决。

从而提高学生的学习兴趣,引导学生复习数学算法中常见的结构形式-----顺序结构。

与此同时质疑刚刚的问题有个漏洞,大象能不能装进冰箱很难说,所以它的算法不应该是这样的,也就是说,原来的顺序结构已经不够用了。

那这种需要分类讨论的算法问题该如何去描述呢?通过质疑顺利的导入新课算法中另外一种常见的结构形式-----选择结构。

(二)质疑算法,讲解新课引导学生去写出具体算法的步骤,做一个对比。

第一种:第一步:打开冰箱第二种:第一步:打开冰箱第二步:将大象装入第二步:判断大象能否装进冰箱第三步:关上冰箱1、若能直接放入2、不能,将大象分开,再装进冰箱第三步:关上冰箱分析引出选择结构的定义,在大象问题中,我们要判断大象能否装入冰箱。

但是利用顺序结构我们无法解决,它需要先进行判断,用判断的结果来确定后面的步骤,像这样的结构我们通常称为选择结构,选择结构的算法流程如图所示。

(三)类比算法,导入框图顺序结构框图 选择结构框图 (四)小试牛刀,灵活应用1、下面三个问题 中必须用选择结构才能实现的个数 是( )①已知梯形上下底为a ,b ,高为h ,求梯形面积 ② 计算一个数的绝对值 ③A :0个 B:1个 C:2个 D:3个 2下图的作用是判断输入正整数x 的奇偶性, 则①处应为____总结选择结构中最重要的环节是找出 判断条件条件步骤甲步骤乙是否开始 结束打开冰箱将大象装进冰箱关上冰箱分开大象开始 打开冰箱大象能直接装入将大象装进冰箱是否结束在刚刚大象问题中,判断的条件是什么? 我们一起来完善它的流程框架图。

顺序结构与选择结构(参赛说课稿)

顺序结构与选择结构(参赛说课稿)

顺序结构与选择结构(参赛说课稿)顺序结构与选择结构(说课稿)参赛选手:******尊敬的各位评委老师,大家上午好!今天我说课的内容选自普通高中课程标准实验教科书《数学(必修三)》第二章第三节第一课时——顺序结构与选择结构。

下面,我将从以下七个方面介绍我对本节课的教学设想:一、说教材;二、说学情;三、说教法及依据;四、说学法及依据;五、说教学过程;六、说板书设计;七、说教学反思。

一、说教材1、教材的地位和作用算法是数学及其应用的重要组成部分,是计算科学的重要基础。

随着现代信息技术的飞速发展,算法在科学技术和社会发展中中发挥的作用越来越大。

而顺序结构与选择结构则是算法的两种基本结构,既是为以后学习循环结构打下基础,也是为以后学习更高深的算法作好铺垫。

2、教学目标的确定根据本课教材的特点、教学大纲对本节课的教学要求以及学生的认知水平,我制定了以下的三维教学目标:1、知识与技能目标:(1)了解算法框图的概念,掌握各种框图符号的功能。

(2)了解顺序结构和选择结构的概念,能用算法框图表示顺序结构和选择结构。

2、过程与方法目标:(1)通过学习算法框图的各个符号的功能,培养学生对图形符号语言和数学文字语言的转化能力。

(2)学生通过设计算法框图表达解决问题的过程,在具体问题的解决过程中理解流程图的结构。

3、情感、态度与价值观目标:学生通过动手,用程序框图表示算法,进一步体会算法的基本思想,体会数学表达的准确与简洁,培养学生的数学表达能力和逻辑思维能力。

3、教学的重点和难点根据教学目标和本年龄段学生的认知规律,我把教学重点设为:重点:各种程序框图功能,以及用算法框图表示顺序结构和选择结构。

由于学生首次接触算法框图,认知上会有一定的困难,故把教学难点设为:难点:对顺序结构和选择结构的概念的理解;和用算法框图表示顺序结构和选择结构。

二、说学情从知识结构上来说,学生在本章第一节已经了解了一些算法的基本思想,这是本节课的重要知识基础,从能力上来说,这个阶段的学生已经具有一定的分析问题、解决问题的能力,逻辑思维能力也初步形成,思维比较活跃但缺乏严谨性。

实验3-顺序结构、选择结构

实验3-顺序结构、选择结构

实验3-顺序结构、选择结构以下是为大家整理的实验3-顺序结构、选择结构的相关范文,本文关键词为实验,顺序,结构,选择,c语言程序设计,实验,报告,序号,项,您可以从右上方搜索框检索更多相关文章,如果您觉得有用,请继续关注我们并推荐给您的好友,您可以在教育文库中查看更多范文。

《c语言程序设计》实验报告实验序号:3实验项目名称:顺序结构、选择结构学号实验地点1507052114实1-316姓名指导教师何蕾吴芸专业、班级实验时间15软件工程1班20XX/11/10一、实验目的及要求1.2.3.4.掌握正确使用逻辑运算符和逻辑表达式表示逻辑判断;熟练掌握用if语句编写选择结构的程序;掌握switch语句的正确使用;初步了解调试程序的一般方法。

二、实验设备(环境)及要求使用Turboc或Visualc++6.0;windows 系列操作系统的环境。

三、实验内容与步骤0.根据输入的百分制成绩score,转换成相应的五分制成绩grade并打印输出。

标准为:grade=A90≤score【算法提示】1)定义实变量c,f2)提示输入\3)读入f4)根据公式计算c5)打印两位精度的结果。

测试结果:华氏温度f100.250.523.782.有一函数x(x=10)用scanf函输入x的值,求y 值。

【算法提示】1)定义实变量x,y2)提示输入\3)读入x4)判断x所在的区间,对应出y的计算公式并求值(进一步细化)5)打印结果。

运行结构截图:摄氏温度c37.92-17.50-4.573.从键盘上输入一个正整数,判断这个数能否同时被3和5整除;运行结构截图:4.设计算法输入一个四位正整数,将它们倒排,例如输入1234,输出4321。

(提示:分别应用/求整数部分,%求余数部分。

例如7/5=1,7%5=2)。

运行结构截图:5.某公司的招聘条件如下:①experiencewithc②bachelordegree③lessthan30要求屏幕输出如下:根据应聘者输入数据逐步提问,如应聘者输入n,则提示应聘者全满足则输出【提示】:必须考虑用户输入大写Y或者n。

实验三-选择结构程序设计

实验三-选择结构程序设计

实验三选择结构程序设计3.1实验要求与目的1.掌握关系表达式和逻辑表达式的正确应用2.条件表达式的正确应用3. 掌握if语句,if-else语句,if语句的嵌套的编程方法4. 掌握switch的编程方法及执行特点5.掌握相关的算法(大小写字母的转换,判断数的奇偶,整数的整除,分段函数的求解,成绩的转换等)6. 培养解决实际问题的能力3.2实验指导结构化程序设计的三大结构:顺序结构、选择结构和循环结构。

计算机在执行过程时,根据条件选择所要执行的语句,称为选择结构,也称为分支结构。

在解决实际问题时,可能会因为其种条件的约束产生分支,可能是单分支结构、双分支结构和多分支结构等。

因此可选择相应的语句进行程序设计。

C语言程序设计实现单分支结构常采用,if语句;实现双分支结构常采用:if-else语句;实现多分支结构常采用:if-else嵌套语句或switch语句。

选择结构的程序设计除了选择适当的语句外,另一关键问题是条件的正确表示。

条件可以用表达式来描述,如关系表达式、逻辑表达式等。

【3.1】录入下列程序,输入给定的测试数据,观察其程序执行结果。

程序文件名为:ex3_1.c。

输入测试数据:23 56程序运行结果:max=56#include<stdio.h>void main(){int a,b,max;scanf("%d%d",&a,&b); /*从键盘输入两整数*/max=a;if(max<b)max=b;printf("max=%d\n",max); /*输出最大数*/}该程序的执行过程,从键盘输入两个整数赋予a,b,把a的值先赋予变量max,采用if 语句判别max和b的大小,若max小于b,则把b的值赋予max,然后执行printf语句输出max的值;若max大于b,不执行if后的语句,而执行printf语句输出max的值;max中的值总是大数。

北师大版高中数学必修三2.2.1顺序结构与选择结构.docx

北师大版高中数学必修三2.2.1顺序结构与选择结构.docx

§2算法框图的基本结构及设计2.1顺序结构与选择结构[读教材·填要点]1.顺序结构(1)定义:按照步骤依次执行的一个算法,称为具有“顺序结构”的算法,或者称为算法的顺序结构.(2)算法框图:如图所示.2.选择结构(1)定义:在算法中,需要判断条件的真假,依据判断的结果决定后面的步骤,像这样的结构通常称为选择结构.(2)算法框图:如图所示.3.几个基本程序框、流程线和它们各自表示的功能图形符号名称功能终端框(起止框) 表示一个算法的起始和结束输入、输出框表示一个算法输入和输出的信息处理框(执行框) 赋值、计算判断框成立时标明“是”或“Y”;不成立时标明“否”或“N”流程线连接程序框连接点连接框图的两部分[小问题·大思维]1.顺序结构和选择结构有什么区别?提示:选择结构不同于顺序结构的地方是:它不是依次执行,而是依据条件作出逻辑判断,选择执行不同指令中的一个.2.什么问题适合用选择结构的框图进行设计?提示:(1)凡根据条件先作出判断,再决定进行哪一个步骤的问题,在画程序框图时,必须引入判断,应用条件结构.如分段函数求值、数据的大小比较及含“若……则……”字样等问题.(2)解决问题时的注意事项:常常先判断条件,再决定程序流向,菱形图有两个出口,但在最终执行程序时,选择的路线只能有一条.[研一题][例1]一次考试中,某同学的语文,数学,英语,物理,化学的成绩分别是a,b,c,d,e,设计一个计算该同学的总分和平均分的算法,并画出算法框图.[自主解答]算法步骤如下:1.输入该同学的语文,数学,英语,物理,化学的成绩:a,b,c,d,e.2.计算S=a+b+c+d+e.3.计算W=S 5.4.输出S和W.算法框图如图所示.[悟一法]顺序结构的执行顺序为从上到下依次进行.在画框图时要遵循以下原则: (1)特定的符号表示特定的含义,不能随意创造; (2)图形符号内的语言要精炼; (3)框图的方向是自上而下或自左向右.[通一类]1.已知一个三角形三条边的边长分别为a ,b ,c ,则三角形面积为S =p (p -a )(p -b )(p -c ),其中p =a +b +c2.请利用上述公式设计一个计算三角形面积的算法,并画出算法框图.解:1.输入三角形三条边的长a ,b ,c . 2.计算p =a +b +c2.3.计算S =p (p -a )(p -b )(p -c ). 4.输出S .算法框图如图所示:[研一题][例2] 某居民区的物业管理部门每月向居民收取卫生费,计费方法是:3人和3人以下的住户,每户收取5元;超过3人的住户,每超出1人加收1.2元,设计一个算法,根据输入的人数,计算应收取的卫生费,画出算法框图.[自主解答] 设住户的人数为x ,收取的卫生费为y 元,依题意有y =⎩⎪⎨⎪⎧5 (x ≤3), 5+1.2(x -3) (x >3),这是一个分段函数求值问题,算法步骤如下: 1.输入x ;2.若x ≤3,则y =5;否则y =5+1.2(x -3); 3.输出y . 算法框图如图:[悟一法]1.设计算法框图时,首先设计算法步骤(自然语言),再将算法步骤转化为算法框图(图形语言).如果已经非常熟练掌握了画算法框图的方法,那么可以省略设计算法步骤而直接画出算法框图.对于算法中含有分类讨论的步骤,在设计算法框图时,通常用选择结构的算法框图.2.解决分段函数的求值问题,一般采用选择结构来设计算法.解决此类问题的关键是判断框中内容的填写,通常为分段函数的某一段自变量的范围.[通一类]2.任意给定3个正实数,设计一个算法,判断以这3个正实数为三条边边长的三角形是否存在,并画出这个算法框图.解:算法如下:1.输入3个正实数a ,b ,c ;2.判断a +b >c ,b +c >a ,c +a >b 是否同时成立,若是,则存在这样的三角形;否则,不存在这样的三角形.算法框图如图所示.[研一题][例3]如图所示是解决某个问题而绘制的算法框图,仔细分析各程序框内的内容及程序框之间的关系,回答下面的问题:(1)该算法框图解决的是怎样的一个问题?(2)若最终输出的结果y1=3,y2=-2,当x取5时输出的结果5a+b的值应该是多大?(3)在(2)的前提下,输入的x值越大,输出的ax+b是不是越大?为什么?(4)在(2)的前提下,当输入的x值为多大时,输出结果ax+b等于0?[自主解答](1)该框图解决的是求函数f(x)=ax+b的函数值的问题.其中输入的是自变量x的值,输出的是x对应的函数值.(2)y1=3,即2a+b=3 ①y2=-2,即-3a+b=-2 ②由①②得a=1,b=1.∴f(x)=x+1.∴当x取5时,5a+b=f(5)=5×1+1=6.(3)输入的x值越大,输出的函数值ax+b越大,因为f(x)=x+1是R上的增函数.(4)令f(x)=x+1=0,得x=-1,因而当输入的x值为-1时,输出的函数值为0.[悟一法]已知算法框图的函数问题,将框图所表示的算法翻译成自然语言,是由用自然语言表达的算法画出算法框图的逆向过程,对这两种语言的互译有助于熟练掌握算法的设计,而将算法框图翻译成自然语言相对而言比较陌生,是一个难点.[通一类]3.阅读算法框图,写出它表示的函数.解:y =错误!如图,给出了一个算法框图,其作用是输入x 的值,输出相应的y 的值.若要使输入的x 的值与输出的y 的值相等,则这样的x 的值有()A .1个B .2个C .3个D .4个[错解] 该算法框图的作用是求分段函数y =⎩⎪⎨⎪⎧x 2, x ≤1,2x -3, 1<x ≤3,f(1x, x >3,)的函数值.(1)当x ≤1时,令x 2=x ,得x =0或x =1. (2)当1<x ≤3时,令2x -3=x ,得x =3.(3)当x >3时,令1x =x ,得x =±1均不满足x >3,故舍去.综上,只有3个值符合.[错因] 忽视分段函数定义域,而导致出错. [正解] 该算法框图的作用是求分段函数y =⎩⎪⎨⎪⎧x 2, x ≤1,2x -3, 1<x <3,f(1x, x ≥3,)的函数值.(1)当x ≤1时,令x 2=x ,得x =0或x =1符合. (2)当1<x <3时,令2x -3=x ,得x =3,不符合,舍去. (3)当x ≥3时,令1x =x 得x =±1,均不满足x ≥3,故舍去.综上可知,有2个值符合题意. [答案]B1.下列关于选择结构的说法中正确的是( ) A .对应的算法框图有一个入口和两个出口 B .对应的算法框图有两个入口和一个出口 C .算法框图中的两个出口可以同时执行D .对于同一个算法来说,判断框中的条件是唯一的 答案:A2.如图所示的算法框图,当输入x =2时,输出的结果是( ) A .4 B .5 C .6D .13解析:该算法框图的执行过程是:x =2,y =2×2+1=5,b =3×5-2=13,输出b =13.答案:D3.如图所示的算法框图,其功能是()A .输入a ,b 的值,按从小到大的顺序输出它们的值B .输入a ,b 的值,按从大到小的顺序输出它们的值C .求a ,b 中的最大值D .求a ,b 中的最小值解析:输入a =2,b =1,运行算法框图可得输出2,根据题意可知该算法框图的功能是输入a ,b 的值,输出它们中的最大值,即求a ,b 中的最大值.答案:C4.如图所示的框图,若a =5,则输出b =________.解析:这是一个分段函数b =⎩⎪⎨⎪⎧a 2+1,a ≤5,2a ,a >5,的求值问题.根据条件易知,b =52+1=26.答案:265.阅读如图所示的框图,若输入x 的值为2,则输出y 的值为________.解析:框图的实质是一个分段函数求值问题. 此分段函数为y =⎩⎪⎨⎪⎧x 2-4x +4,x >1,1, x =1,x , x <1.若输入x =2,则应代入第一个式子, 则有y =x 2-4x +4=4-8+4=0.答案:06.“特快专递”是目前人们经常使用的异地邮寄信函或托运物品的一种快捷方式,某快递公司规定甲、乙两地之间物品的托运费用根据下列方法计算:f =⎩⎪⎨⎪⎧0.53ω(ω≤50), 50×0.53+(ω-50)×0.85(ω>50). 其中f (单位:元)为托运费,ω为托运物品的重量(单位:千克),试画出计算费用f 的算法框图.解:一、选择题1.如图所示的选择结构,下列说法错误的是( )A .当条件为假时,执行步骤甲B .当条件为真时,执行步骤乙C .无论条件是真是假,只能执行步骤甲和步骤乙中的一个D .可能同时执行步骤甲和步骤乙 解析:步骤甲和乙不能同时执行. 答案:D2.已知函数y =⎩⎪⎨⎪⎧x -1,x <0, 0,0≤x ≤6,3x ,x >6,输入自变量x 的值,求对应的函数值,设计算法框图时所含有的基本逻辑结构是( )A .顺序结构B .选择结构C .顺序结构、选择结构D .以上都不是解析:任何算法框图中都有顺序结构,由于自变量在不同的范围内,有不同的对应法则,用选择结构.答案:C3.如图所示的算法框图,输入x =2,则输出的结果是( )A .1B .2C .3D .4解析:输入x =2;则x =2>1,∴y =2+2=2,输出y =2. 答案:B4.如图所示,算法框图运行的结果为s =( )A.25B.52 C .1D .2解析:由框图可知s =a b +b a =24+42=12+2=52.答案:B5.如图所示的算法框图中,当输入a 1=3时,输出的b =7,则a 2的值是( ) A .11B .17C .0.5D .12解析:b =a 1+a 22=3+a 22=7,∴a 2=11. 答案:A二、填空题6.如图所示的算法功能是_____________________________________________.答案:求两个实数a 、b 差的绝对值7.已知函数y =⎩⎪⎨⎪⎧ (x -1)2, x >0, 0, x =0,(x +1)2, x <0,如图是计算函数值y 的算法框图,则在空白的判断框中应填________.解析:由函数y =⎩⎪⎨⎪⎧ (x -1)2, x >0,0, x =0,(x +1)2, x <0,可知第一个判断框的否定条件为x ≤0,第二个判断框的肯定条件的结果为y =0,因此空白判断框内应填“x =0”.答案:x =08.阅读算法框图(如图所示),若a =50.6,b =0.65,c =log 0.65,则输出的数是________.解析:算法框图的功能是输出a ,b ,c 中最大的数,又因为a >1,0<b <1,c <0,所以输出的数为50.6.答案:50.6三、解答题9.已知函数y =⎩⎪⎨⎪⎧ -1 (x >0), 0 (x =0),1 (x <0),写出求函数值的算法并画出算法框图.解:算法如下:1.输入x ;2.如果x >0,那么y =-1;如果x =0,那么y =0;如果x <0,那么y =1;3.输出函数值y .算法框图如图所示:10.阅读如图所示的算法框图,根据该图和各问题的条件回答下面几个小题:(1)该算法框图解决一个什么问题?(2)若当输入的x 值为0和4时,输出的值相等.问当输入的x 值为3时,输出的值为多大?(3)依据(2)的条件,要想使输出的值最大,输入x的值为多大?解:(1)该算法框图是求二次函数y=-x2+mx的函数值.(2)当输入的x值为0和4时,输出的值相等,即f(0)=f(4),可得m=4.∴f(x)=-x2+4x.∴f(3)=3.(3)由(2),知f(x)=-x2+4x=-(x-2)2+4,∴当输入的x值为2时,函数输出最大值4.。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实训3 顺序结构与选择结构3.1实训目的(1)掌握顺序结构程序的设计。

(2)掌握可视化输入输出语句的使用。

(3)掌握if语句的使用以及if语句的嵌套编程特点。

(4)掌握switch语句的使用。

3.2 知识要点输入操作是指由外部设备将信息写入计算机系统内部;输出操作是指将计算机系统中的信息输出给外部设置。

通过输入、输出操作,可以实现人机交互,同时也是验证程序正确性的必要手段。

3.2.1 赋值语句所谓语句即向计算机系统发出的操作命令。

由赋值运算符构成的表达式,称为赋值表达式。

赋值表达式后面加上分号,即成为赋值语句。

分号是Java语言的语句结束符。

赋值语句的格式为:变量=表达式;3.2.2 顺序结构结构化程序设计的三种基本流程结构为:顺序结构、分支结构(选择结构)、循环结构。

Java语句虽然是面向对象的程序设计语言,但是在方法体内或其语句段内,仍旧是按照面向过程的结构化程序设计原则来组织语句的。

顺序结构是程序设计中最简单、最基本的一种流程结构,是按照语句在程序中出现的顺序逐条执行。

顺序结构中的每一条语句都被执行一次,而且只能被执行一次。

3.2.3 可视化输入/输出Java程序的数据输入及输出比较麻烦,但可借助Java语言提供的“选择对话框类(JOptionPane)”可以进行数据的可视化输入/输出。

JOptionPane类主要用来生成各种标准的对话框,实现显示出信息、提出问题、警告、用户输入参数等功能。

这些对话框都是模式对话框。

使用这个类的成员函数时,用到javax 文件夹下的swing子文件夹中JoptionPane文件,故需要添加JoptionPane类的定义文件:import javax.swing.JOptionPane;(1)显示信息对话框showMessageDialogJOptionPane.showMessageDialog(null,消息内容,对话框标题, 消息类型) 例:JOptionPane.showMessageDialog(null, "在对话框内显示的描述性的文字", "标题条文字串", JOptionPane.ERROR_MESSAGE);结果如图3.1所示:图5.1 显示信息对话框(2)显示及供用户进行输入对话框showInputDialogJOptionPane.showInputDialog(消息内容)例:String str=JOptionPane.showInputDialog("Please input a value");结果如图3.2所示:图5.2 显示输入对话框3.3 程序代码编写风格与书写规范Eclipse是一个开放源代码的、跨平台的自由集成开发环境(IDE),最初主要用于Java 语言的开发。

Eclipse本身只是一个框架和一组服务,通过插件的支持构建开发环境,使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性,所以亦有人通过插件使其作为其他计算机语言比如C++和Python的开发工具。

在软件规格与复杂程度不断增长的今天,程序员在编写代码的过程中只注重个人风格和编程技巧,而对代码的可读性、后续的维护及功能扩展没有给与足够的重视,会制约软件业的进一步发展。

逻辑正确但过分强调个人风格,书写格式杂乱无章的程序没有实用价值。

为了增加程序代码的可读性,下面两个原则是必须遵守的:1.根据程序的逻辑结构设置代码的层次比较下面两个功能相同的程序片段可以发现前者将多条语句写在同一行中,缺乏层次感,降低其可读性;相比之下后者层次感就好很多。

int x=10,y=30;if (x<y) System.out.println( "x小于y" ); x=x*2;if (x==y) System.out.println( "x现在等于y" ); else {x=x*2; if (x>y) System.out.println( "x现在大于y" );}int x = 10, y = 30;if (x < y)System.out.println("x小于y");x = x * 2;if (x == y)System.out.println("x现在等于y");else {x = x * 2;if (x > y)System.out.println("x现在大于y");}在编写代码的过程中适当地使用空格、空行和缩进方式,可以增加程序的层次感和可读性。

2. 标识符的名称应有明确的含义标识符包括文件夹名称、类名、变量名等,虽然Java语言本身对标识符的命名没有太多限制,但是如果程序中的标识符名称能反应其类型、含义、功能、特点,则利于识别和理解,程序的功能及可读性也提高了。

如用变量systolicPressure 和diastolicPressure分别表示血压的收缩压和舒张压,就比用空洞、无意义的x和y好。

不用担心定义有实际意义的变量名比较长,会增加输入代码时的负担,下面介绍Eclipse的智能编辑技巧,能帮助用户自动输入(上周实验后面操作说明)。

3.4 实训样例分析(自己学习和思考,不用写在本上)1 样例1编写一个Java程序,实现以下功能:已知梯形的上底为5,下底为8,高为3.5,求其面积。

【分析】先计算梯形的面积,再输出结果。

梯形面积公式为:(上底+下底)*高/2。

【参考程序1】public class Area1 {public static void main(String[] args) {double x=5; //上底double y=8; //下底double h=3.5; //高double s=(x+y)*h/2; //计算面积System.out.println("面积为"+s);}}程序运行结果如图3.4所示:图3.4 求梯形的面积【参考程序2】public class Area2 {public static void main(String[] args) {double s=(5+8)*3.5/2;System.out.println("面积为"+s);//计算面积}}【说明】:(1)计算机编写程序可以是多样的,但只要能实现目标即可。

(2)编写程序还要注意程序的可读性,增加适当的程序注释,有利于程序的阅读。

(3)对程序中引入的变量通常要加以注释。

(4)变量的命令一般是见其名知其意。

(5)Eclipse中很多代码可以使用键盘快捷方式“Alt+/”辅助输入。

如输入“syso”之后,按下“Alt+/”就可以自动生成整行“System.out.println();”代码,只要填入括号中的内容就可以了。

(6)注意输出语句中变量与字符串之间的连接表示。

2 样例2编写一个Java程序,实现以下功能:已知a=200,b=100,交换变量a和b的值,使得a=100,b=200,并输出结果。

【参考程序】public class Swap {public static void main(String[] args) {int a=200; //变量a赋初值int b=100; //变量b赋初值int t; //增加一个中间变量t=a; a=b; b=t;System.out.println("a的值为:"+a);System.out.println("b的值为:"+b);}}程序运行结果如图3.5所示:图3.5 交换两个数【思考】:(1)变量t在程序中的作用?(2)假如把t=a;a=b;b=t;这三个语句改成a=b;b=a;这两句语句,程序运行的结果又会是什么?为什么会有这样的结果。

(3) t=a;a=b;b=t;这三个语句的顺序能否颠倒?3 样例3编写一个Java程序,实现以下功能:从键盘上任意输入一个正数,计算其平方根,并通过可视化消息框输出结果。

【分析】:本题的关键是在于变量的键盘赋值方式。

为此可借助Java语言提供的“选择对话框类(JOptionPane)”可以进行数据的可视化输入。

【参考程序】import javax.swing.JOptionPane;public class Squar {public static void main(String[] args) {double a,b;String str;str=JOptionPane.showInputDialog("输入一个正数:");a=Double.parseDouble(str);b=Math.sqrt(a);str=a+"的平方根为:"+b;JOptionPane.showMessageDialog(null,str);}}程序运行,执行结果如图3.6所示,输入数据15后,结果如图3.7所示。

图3.6 程序运行后的输入对话框图3.7 程序运行结果【说明】:(1)方法showInputDialog的返回值是字符串型的数据,故接收数据存放的变量str的类型需定义为字符串类型(注意定义时String中的第一个字母是大写)。

输入程序代码“str=JOp”后,可按组合快捷键“Alt+/”,代码自动生成一半“str=JOptionPane”,再键入一个点,稍停,继续输入“showi”后再按“Alt+/”,就可以完成整行代码的自动输入。

(2)可视化输入/输出JoptionPane类要用到javax文件夹下的swing子文件夹中JoptionPane文件,故需要有语句import javax.swing.JOptionPane;告诉Eclipse编辑器将该文件导入到本程序中。

import javax.swing.JOptionPane;可以直接手工输入;也可以在代码输入“str=JOp”后按组合快捷键“Alt+/”时被Eclipse编辑器自动插入到相应的位置。

(3)Double.parseDouble(str)的作用是从字符串变量str转换为双精度数。

(4)求平方根可调用数学函数Math.sqrt。

(5)注意字符串与非字符串数据之间的连接。

4 样例4编写一个Java程序,实现以下功能:从键盘上输入一个学生的成绩,根据成绩给出相应的等级(要求分别用if语句和switch语句来完成)。

⎪⎪⎪⎩⎪⎪⎪⎨⎧≤<≤<≤<≤≥=6070608070908090成绩不及格成绩及格成绩一般成绩良好成绩优秀等级 【分析】:根据题意可以先画出相应的程序流程图,在流程图的基础之上来编写程序。

相关文档
最新文档