程序框图与算法的基本逻辑结构 说课稿 教案 教学设计
程序框图与算法的基本逻辑结构 学案 导学案 课件

例1:画出用“二分法”求方程()220,0x x -=>的近似解的程序框图的一般步骤
例 2.相传古代的印度国王要奖赏国际象棋的发明者,问他需要什么.发明者说:陛下,在国际象棋的第一个格子里面放1粒麦子,在第二个格子里面放2粒麦子,第三个格子放4粒麦子,以后每个格子中的麦粒数都是它前一个格子中麦粒数的二倍,依此类推(国际象棋棋盘共有64个格子),请将这些麦子赏给我,我将感激不尽.国王想这还不容易,就让人扛了一袋小麦,但不到一会儿就没了,最后一算结果,全印度一年生产的粮食也不够.国王很奇怪,小小的“棋盘”,不足100个格子,如此计算怎么能放这么多麦子?试用程序框图表示此算法过程.
例3 乘坐火车时,可以托运货物.从甲地到乙地,规定每张火车客票托运费计算方法是:行李质量不超过50 kg 时按0.25元/kg ;超过50 kg 而不超过100 kg 时,其超过部分按0.35元/kg ;超过100 kg 时,其超过部分按0.45元/kg .编写程序,输入行李质量,计算出托运的费用.
4题。
算法与程序框图教案

算法与程序框图教案教案标题:算法与程序框图教案教学目标:1. 了解算法和程序框图的概念及其在计算机科学中的重要性。
2. 掌握算法和程序框图的基本元素和表示方法。
3. 能够根据实际问题设计和实现简单的算法和程序框图。
教学准备:1. 教师准备:计算机、投影仪、教学PPT、白板、白板笔。
2. 学生准备:笔记本电脑或其他计算机设备。
教学过程:一、导入(5分钟)1. 教师通过展示一段程序代码,引导学生思考:在编写程序时,我们是如何组织和控制代码的执行顺序的?2. 学生回答后,教师引导学生思考:在日常生活中,我们是如何解决问题的?是否也需要一定的步骤和顺序?3. 引导学生思考并总结:在计算机科学中,我们通过算法和程序框图来描述和解决问题。
二、理论讲解(15分钟)1. 教师通过PPT或白板,简要介绍算法和程序框图的概念和作用。
2. 解释算法的定义:算法是一系列解决问题的明确指令或步骤。
3. 解释程序框图的定义:程序框图是一种图形化的表示方法,用于描述算法的执行流程和控制结构。
4. 介绍算法和程序框图的基本元素:起始点、结束点、输入/输出、判断、循环等。
三、示例分析(20分钟)1. 教师通过一个具体的例子,展示如何使用算法和程序框图来解决问题。
2. 教师首先列出问题的要求和输入条件,然后引导学生分析问题并设计算法。
3. 教师通过程序框图的绘制,展示算法的执行流程和控制结构。
4. 教师带领学生逐步实现算法,并通过编写程序代码进行验证。
四、练习与讨论(15分钟)1. 学生分组进行练习,设计算法和程序框图来解决给定的问题。
2. 学生展示自己的算法和程序框图,并进行讨论和改进。
3. 教师在讨论中指导学生理解和掌握算法和程序框图的设计原则和技巧。
五、巩固与拓展(10分钟)1. 学生个人或小组完成一道综合性问题的算法设计和程序框图绘制。
2. 学生展示自己的解决方案,并进行讨论和改进。
3. 教师总结本节课的教学内容,并对学生的表现给予肯定和指导。
2程序框图与算法地基本逻辑结构-教案设计

1.1.2程序框图算法的基本逻辑结构——————顺序结构、条件结构教学目标:掌握程序框图的概念;会用通用的图形符号表示算法,掌握算法的三个基本逻辑结构.掌握画程序框图的基本规则,能正确画出程序框图.通过模仿、操作、探索,经历通过设计程序框图表达解决问题的过程;学会灵活、正确地画程序框图.教学重点、难点:重点:程序框图的基本概念、基本图形符号和3种基本逻辑结构.难点:教学综合运用框图知识正确地画出程序框图教学基本流程:复习回顾引出探求算法表达方法的必要性――程序框图―――算法的三种逻辑结构―――顺序结构―――条件结构――课堂小结教学情景设计一、新课引入从1.1.1的学习中,我们了解了算法的概念和特征,即知道了“什么是算法”这节课我们来学习算法的表达问题,即解决“怎样表达算法”问题。
我们已知道用自然语言可以表示算法,但太烦琐,我们有必要探求直观、准确表示方法。
(S通过预习解决下面四个问题)1.算法的含义是什么?2.算法的5个特征.3.算法有几种基本的结构?4.如下图所示的几个图形在流程图中,分别代表什么框?5、任意给定一个正实数,设计一个算法求以这个数为棱长的正方体的体积。
二、问题设计:1. 教学程序框图的认识:①讨论:如何形象直观的表示算法?→图形方法.教师给出一个流程图(上面5题),学生说说理解的算法步骤.②定义程序框图:程序框图又称流程图,是一种用规定的图形、指向线及文字说明来准确、直观地表示算法的图形.输入、输出框表示一个算法输入和输出的信息处理(执行)框赋值、计算判断框判断一个条件是否成立流程线连接程序框④阅读教材P7的程序框图. →讨论:输入15后,框图的运行流程,讨论:输出的结果。
2. 教学算法的基本逻辑结构:①讨论:P7的程序框图,感觉上可以如何大致分块?流程再现出一些什么结构特征?→教师指出:顺序结构、条件结构、循环结构.②试用一般的框图表示三种逻辑结构. (见下图)②出示例1:已知一个三角形的三边分别为3,4,5,计一个算法,求出它的面积,并画出算法的程序框图. (学生用自然语言表示算法→师生共写程序框图→讨论:结构特征)T:点明顺序结构的定义与特征及其对应的程序框图。
教学设计2:13.4 算法与程序框图

13.4算法与程序框图1.算法(1)算法通常是指按照一定规则解决某一类问题的明确和有限的步骤. (2)应用:算法通常可以编成计算机程序,让计算机执行并解决问题. 2.程序框图定义:程序框图又称流程图,是一种用程序框、流程线及文字说明来表示算法的图形. 3.三种基本逻辑结构)1.(人教A版教材习题改编)阅读如图图9-1-19-1-1的程序框图,若输入x=2,则输出的y值为()A.0B.1C.2 D.3【解析】∵2>0,∴y=2×2-3=1.【答案】B2.(2012·安徽高考)如图9-1-2所示,程序框图(算法流程图)的输出结果是()图9-1-2A.3B.4C.5D.8【解析】当x=1,y=1时,满足x≤4,则x=2,y=2;当x=2,y=2时,满足x≤4,则x=2×2=4,y=2+1=3;当x=4,y=3时,满足x≤4,则x=2×4=8,y=3+1=4;当x=8,y=4时,不满足x≤4,则输出y=4.【答案】B3.①算法可以无限的操作下去;②算法的每一步操作必须是明确的、可行的;③一个程序框图一定包含顺序结构;④一个程序框图不一定包含条件结构和循环结构.以上说法正确的个数是()A.1 B.2 C.3 D.4【解析】算法必须在有限步操作后停止,所以①不正确;算法的每一步操作都是明确的、可行的,所以②正确;一个程序框图一定包含顺序结构,但不一定包含条件结构和循环结构,所以③与④都正确.【答案】C4.如图9-1-3所示的程序框图输出的S是126,则①应为()图9-1-3A.n≤5? B.n≤6?C.n≤7? D.n≤8?【解析】∵2+22+23+24+25+26=126,∴应填入n≤6?【答案】B5.(2012·湖南高考)如果执行如图9-1-4所示的程序框图,输入x=-1,n=3,则输出的数S=________.图9-1-4【解析】当n=3时,i=3-1=2,满足i≥0,故S=6×(-1)+2+1=-3.执行i=i-1后i的值为1,满足i≥0,故S=(-3)×(-1)+1+1=5.再执行i=i-1后i的值为0,满足i≥0,故S=5×(-1)+0+1=-4.继续执行i=i-1后i的值为-1,不满足i≥0,故输出S=-4.【答案】-4(见学生用书第182页)(1)(2012·天津高考)阅读如图9-1-5所示的程序框图,运行相应的程序,则输出S的值为()A.8B.18C.26D.80图9-1-5 图9-1-6(2)(2012·广东高考)执行如图9-1-6所示的程序框图,若输入n 的值为8,则输出s 的值为________.【思路点拨】 分析程序框图→运行程序框图→确定输出值 【尝试解答】 (1)执行一次循环S =2,n =2. 执行第二次循环:S =2+32-31=8,n =3. 执行第3次循环:S =8+33-32=26,n =4. 满足n ≥4,故输出S =26.(2)当i =2,k =1时,s =1×(1×2)=2; 当i =4,k =2时,s =12×(2×4)=4;当i =6,k =3时,s =13×(4×6)=8;当i =8时,i <n (n =8)不成立,输出s =8. 【答案】 (1)C (2)8,1.对条件结构,无论判断框中的条件是否成立,都只能执行两个分支中的一个,不能同时执行两个分支.2.利用循环结构表示算法,第一要确定是利用当型还是直到型循环结构;第二准确表示累计变量;第三要注意从哪一步开始循环.(2012·浙江高考)某程序框图如图9-1-7所示,则该程序运行后输出的值是________.图9-1-7【解析】 执行一次循环:T =1,i =2,不满足i >5; 执行第二次循环:T =12,i =2+1=3,不满足i >5;执行第三次循环:T =T i =16,i =3+1=4,不满足i >5;执行第四次循环:T =124,i =5不满足i >5;执行第五次循环:T =1120,i =6满足i >5.输出T =1120.【答案】1120(2013·郑州调研)如图9-1-8所示的框图,当x 1=6,x 2=9,p =8.5时,x 3等于( )图9-1-8A .7B .8C .10D .11【思路点拨】 先读懂图中的逻辑顺序,然后进行计算判断,其中判断条件|x 3-x 1|<|x 3-x 2|是否成立是利用框图知识反推出x 3的值的关键,是完善该框图的任务所在.【尝试解答】 x 1=6,x 2=9,则|x 1-x 2|=3≤2不成立.因此,输入x 3, 若x 2=x 3,则8.5=6+x 32,∴x 3=11,此时不满足|x 3-x 1|<|x 3-x 2|,不合题意. 若x 1=x 3,则8.5=9+x 32,∴x 3=8,此时不满足|x 3-x 1|<|x 3-x 2|,符合题意. 【答案】 B ,1.程序框图的完善是高考的热点,熟悉框图的结构与功能是解题的关键,本题常见的错误是忽视对条件|x 3-x 1|<|x 3-x 2|的检验,误选D.2.解答此类题目:(1)要明确程序框图的顺序结构,条件结构和循环结构;(2)理解程序框图的功能即解决问题;(3)要按框图中的条件运行程序,按照题目的要求完成解答.(1)已知函数y =⎩⎪⎨⎪⎧log 2x , x ≥2,2-x , x <2.如图9-1-9表示的是给定x 的值,求其对应的函数值y 的程序框图, ①处应填写________;②处应填写________.图9-1-9 图9-1-10(2)(2012·陕西高考)如图9-1-10所示是计算某年级500名学生期末考试(满分为100分)及格率q 的程序框图,则图中空白框内应填入________.【解析】 (1)由程序框图知,“是”分支执行y =2-x .又函数y =⎩⎪⎨⎪⎧log 2x , x ≥2,2-x , x <2,∴①处填“x <2?”; “否”执行“y =log 2x ”填②处.(2)由判断框输出可知,M 表示及格人数,N 表示不及格人数,∴及格率q =MM +N ,因此执行框为“q =MM +N”.【答案】 (1)x <2? y =log 2x (2)q =MM +N运行如下所示的程序,输出的结果是________.a =1b =2a =a +b PRINT a END【思路点拨】分析各语句的结构及含义,运行算法程序,确定输出结果.【尝试解答】a=1,b=2,a=a+b=1+2=3,∴输出的结果为3.【答案】3,1.本题主要考查程序框图中的赋值语句,输出语句.要注意赋值语句一般格式中的“=”不同于等式中的“=”,其实质是计算“=”右边表达式的值,并将该值赋给“=”左边的变量.2.解决此类问题关键要理解各语句的含义,以及基本算法语句与算法结构的对应关系.运行如下所示的程序,当输入a,b分别为2,3时,最后输出的m的值为________.INPUT a,bIF a>b THENm=aELSEm=bEND IFPRINT m【解析】∵a=2,b=3,∴a<b,应把b值赋给m,∴m的值为3.【答案】3一条规律每个算法结构都含有顺序结构,循环结构中必定包含一个条件结构,用于确定何时终止循环体.循环结构和条件结构都含有顺序结构.两点注意1.赋值号左边只能是变量(不是表达式),在一个赋值语句中只能给一个变量赋值.2.利用循环结构表示算法,要明确是利用当型循环结构,还是直到型循环结构.要注意:(1)选择好累计变量;(2)弄清在哪一步开始循环,满足什么条件不再执行循环体.(见学生用书第183页)程序框图是每年高考的必考内容,主要考查程序框图的识别与运行.常常求输入、输出值、填写判断条件,以选择题、填空题为主,预计2014年高考仍将延续这一命题趋势,求解时要特别注意条件的判断对循环结构的影响以及各变量的含义.易错辨析之十五变量的含义理解不准致误(2012·北京高考)执行如图9-1-11所示的程序框图,输出的S值为()图9-1-11A.2B.4C.8D.16【错解】第一次执行循环:S=1×20=1.第二次执行循环:S=1×22=4.第三次判定,不满足k<3,因此输出S=4.【答案】B错因分析:(1)是把执行循环体的次数n误认为是变量k的值,没有注意到k的初始值为0.(2)对循环结构:①判断条件把握不准;②循环次数搞不清楚;③初始条件容易代错.防范措施:(1)要分清是当型循环结构还是直到型循环结构;要理解循环结构中各变量的具体含义以及变化规律.(2)在处理含有循环结构的算法问题时,关键是确定循环的次数,循环中有哪些变量,且每一次循环之后的变量S、k值都要被新的S、k值所替换.【正解】当k=0时,满足k<3,因此S=1×20=1;当k=1时,满足k<3,则S=1×21=2;当k=2时,满足k<3,则S=2×22=8;当k=3时,不满足k<3,输出S=8.【答案】C1.(2012·山东高考)执行下面的程序框图,如果输入a=4,那么输出的n的值为()图9-1-12A.2B.3C.4D.5【解析】a=4,P=0,Q=1,n=0时,P≤Q,P=0+40=1,Q=2×1+1=3,n=1;P ≤Q ,P =1+41=5,Q =2×3+1=7,n =2;P ≤Q ,P =5+42=21,Q =2×7+1=15,n =3;P ≤Q 不成立,输出n =3.【答案】 B2.(2013·潍坊模拟)运行如图9-1-13所示的程序框图,若输出的结果为137,则判断框中应该填的条件是( )图9-1-13A .k >5B .k >6C .k >7D .k >8【解析】 第一次运行S =1+11×2,k =2;第二次运行S =1+11×2+12×3,k =3;…; 第n 次运行S =1+11×2+12×3+…+1n (n +1)=137,k =n +1,此时结束循环. ∴137=1+1-1n +1,得n =6,故判断框中应该填入“k >6”. 【答案】 B。
说课(程序框图与算法的基本逻辑结构)

教学设计中,有特色的是: 1、 改变学生学习方式。学习由被动接受变为舒畅的学习。 2、 协作学习,转换师生间交流方式。
四、多媒体应用
在本课中我主要采用 多媒体课件 和多媒体投影。
开始 输入n i=2
求n除以i的余数r
i的值增加1,仍用i表示
否 i>n-1或 r=0? 是
r=0?
是 n不是质数 结束
否
n是质数
五、教学过程
创设情景 激发兴趣
自主探索 归纳新知
巩固新知 应用新知 回顾反思 升华提高
判断一个大于2的整数n是否 是质数的程序框图
(1)教学目标:
根据教材结构与内容分析,考虑到学生已有的 认知结构心理特征,我制定如下教学目标: 认知目标:理解程序框图的含义,能读懂程序框 图;掌握算法的逻辑结构及其间的关系。 能力目标:培养学生自主探索、自主学习的能 力和培养学生的团体协作的能力。
(2)教学重点与难点:
重点:程序框图的逻辑结构, 画简单程序框图; 难点:算法程序框图结构的认识
1.1.2 程序框图与 算法的基本逻辑结构
新乡市铁路高级中学 王银尚
教材分析 学生情况分析
说 课 流 程
教法与学法 多媒体应用
教学过程
教学反思
一、教材分析
本节课是新人教版必修三的内容,也是新课改 增添的新的内容. 程序框图是学生认识、读懂算法最直观的方法, 也是书写程序语句的基础; 算法的逻辑结构贯穿全章,是设计算法结构、 书写算法的灵魂.
开始 输入n i=2
求n除以i的余数r
i的值增加1,仍用i表示
否 i>n-1或 r=0? 是
r=0?
是 n不是质数 结束
否
n是质数
程序框图与算法的基本逻辑结构(3课时)

循环结构的设计步骤
a 300? 当型循环结构
(1)确定循环结构的循环变量和初始条件; t 0.05a (2)确定算法中需要反复执行的部分,即循环体;a a t n n1 (3)确定循环的终止条件.
a 300?
直到型循环结构
ቤተ መጻሕፍቲ ባይዱ
开始
n 2005 a 200 t 0.05a
条件结构 否
f (a ) f ( m ) 0?
是
bm
am
ab 循环结构 2 [a , m];否则, 含零点的区间为[m, b]. 第四步:若 f (a ) f ( m ) 0, 则含零点的区间为 将新得到的含零点的区间仍记为[a , b]. 第五步:判断[a , b]的长度是否小于d或f(m)是否等于0. 若是,则m是方程的近似值;否则,返回第三步.
开始
计数变量:用于记录循环次数,同时还用 于判断循环是否终止. 累加变量:用于输出结果,一般与计数变 量同步执行,累加一次,计数一次. 循环体
i 1 S0
i i 1
循环终止条件
S Si
Y
i 100?
N
输出 S 结束
循环结构的三要素 循环变量,循环体、循环的终止条件. 循环结构的设计步骤 (1)确定循环结构的循环变量和初始条件; (2)确定算法中需要反复执行的部分,即循环体; (3)确定循环的终止条件.
程序框 图
图象 程序框图
又称流程图,是一种用程序框、流程线 及文字说明来表示算法的图形.
程序框
名称
终端框 (起止框)
输入、输出框 处理框 (执行框)
功能
表示一个算法的起始和结束
表示一个算法输入和 输出的信息 赋值、计算 判断某一条件是否成立,成立 时在出口处标明“是”或“Y”; 不成立时标明“否”或“N”. 连接程序框
程序框图与算法的基本逻辑结构 说课稿 教案 教学设计

程序框图与算法的基本逻辑结构整体设计教学分析用自然语言表示的算法步骤有明确的顺序性,但是对于在一定条件下才会被执行的步骤,以及在一定条件下会被重复执行的步骤,自然语言的表示就显得困难,而且不直观、不准确.因此,本节有必要探究使算法表达得更加直观、准确的方法.程序框图用图形的方式表达算法,使算法的结构更清楚、步骤更直观也更精确.为了更好地学好程序框图,我们需要掌握程序框的功能和作用,需要熟练掌握三种基本逻辑结构.三维目标1.熟悉各种程序框及流程线的功能和作用.2.通过模仿、操作、探索,经历通过设计程序框图表达解决问题的过程.在具体问题的解决过程中,理解程序框图的三种基本逻辑结构:顺序结构、条件结构、循环结构.3.通过比较体会程序框图的直观性、准确性.重点难点数学重点:程序框图的画法.数学难点:程序框图的画法.课时安排4课时教学过程第1课时程序框图及顺序结构导入新课思路1(情境导入)我们都喜欢外出旅游,优美的风景美不胜收,如果迷了路就不好玩了,问路有时还听不明白,真是急死人,有的同学说买张旅游图不就好了吗,所以外出旅游先要准备好旅游图.旅游图看起来直观、准确,本节将探究使算法表达得更加直观、准确的方法.今天我们开始学习程序框图.思路2(直接导入)用自然语言表示的算法步骤有明确的顺序性,但是对于在一定条件下才会被执行的步骤,以及在一定条件下会被重复执行的步骤,自然语言的表示就显得困难,而且不直观、不准确.因此,本节有必要探究使算法表达得更加直观、准确的方法.今天开始学习程序框图. 推进新课新知探究提出问题(1)什么是程序框图?(2)说出终端框(起止框)的图形符号与功能.(3)说出输入、输出框的图形符号与功能.(4)说出处理框(执行框)的图形符号与功能.(5)说出判断框的图形符号与功能.(6)说出流程线的图形符号与功能.(7)说出连接点的图形符号与功能.(8)总结几个基本的程序框、流程线和它们表示的功能.(9)什么是顺序结构?讨论结果:(1)程序框图又称流程图,是一种用程序框、流程线及文字说明来表示算法的图形.在程序框图中,一个或几个程序框的组合表示算法中的一个步骤;带有方向箭头的流程线将程序框连接起来,表示算法步骤的执行顺序.(2)椭圆形框:表示程序的开始和结束,称为终端框(起止框).表示开始时只有一个出口;表示结束时只有一个入口.(3)平行四边形框:表示一个算法输入和输出的信息,又称为输入、输出框,它有一个入口和一个出口.(4)矩形框:表示计算、赋值等处理操作,又称为处理框(执行框),它有一个入口和一个出口.(5)菱形框:是用来判断给出的条件是否成立,根据判断结果来决定程序的流向,称为判断框,它有一个入口和两个出口.(6)流程线:表示程序的流向.(7)圆圈:连接点.表示相关两框的连接处,圆圈内的数字相同的含义表示相连接在一起.图形符号名称功能终端框(起止框)表示一个算法的起始和结束输入、输出框表示一个算法输入和输出的信息处理框(执行框)赋值、计算判断框判断某一条件是否成立,成立时在出口处标明“是”或“Y”;不成立时标明“否”或“N”流程线连接程序框连接点连接程序框图的两部分(9)很明显,顺序结构是由若干个依次执行的步骤组成的,这是任何一个算法都离不开的基本结构.三种逻辑结构可以用如下程序框图表示:顺序结构条件结构循环结构应用示例例1 请用程序框图表示前面讲过的“判断整数n(n>2)是否为质数”的算法.解:程序框图如下:点评:程序框图是用图形的方式表达算法,使算法的结构更清楚,步骤更直观也更精确.这里只是让同学们初步了解程序框图的特点,感受它的优点,暂不要求掌握它的画法. 变式训练观察下面的程序框图,指出该算法解决的问题.解:这是一个累加求和问题,共99项相加,该算法是求100991431321211⨯++⨯+⨯+⨯ 的值.例2 已知一个三角形三条边的边长分别为a ,b ,c ,利用海伦—秦九韶公式设计一个计算三角形面积的算法,并画出程序框图表示.(已知三角形三边边长分别为a,b,c ,则三角形的面积为S=))()((c p b p a p p ---),其中p=2cb a ++.这个公式被称为海伦—秦九韶公式)算法分析:这是一个简单的问题,只需先算出p 的值,再将它代入分式,最后输出结果.因此只用顺序结构应能表达出算法. 算法步骤如下:第一步,输入三角形三条边的边长a,b,c. 第二步,计算p=2cb a ++. 第三步,计算S=))()((c p b p a p p ---.第四步,输出S.程序框图如下:点评:很明显,顺序结构是由若干个依次执行的步骤组成的,它是最简单的逻辑结构,它是任何一个算法都离不开的基本结构.变式训练下图所示的是一个算法的流程图,已知a1=3,输出的b=7,求a2的值.解:根据题意221aa=7,∵a1=3,∴a2=11.即a2的值为11.例3 写出通过尺轨作图确定线段AB的一个5等分点的程序框图.解:利用我们学过的顺序结构得程序框图如下:点评:这个算法步骤具有一般性,对于任意自然数n,都可以按照这个算法的思想,设计出确定线段的n 等分点的步骤,解决问题,通过本题学习可以巩固顺序结构的应用. 知能训练有关专家建议,在未来几年内,中国的通货膨胀率保持在3%左右,这将对我国经济的稳定有利无害.所谓通货膨胀率为3%,指的是每年消费品的价格增长率为3%.在这种情况下,某种品牌的钢琴2004年的价格是10 000元,请用流程图描述这种钢琴今后四年的价格变化情况,并输出四年后的价格.解:用P 表示钢琴的价格,不难看出如下算法步骤: 2005年P=10 000×(1+3%)=10 300; 2006年P=10 300×(1+3%)=10 609; 2007年P=10 609×(1+3%)=10 927.27; 2008年P=10 927.27×(1+3%)=11 255.09; 年份 2004 2005 2006 2007 2008 钢琴的价格 10 00010 30010 60910 927.2711 255.09点评:顺序结构只需严格按照传统的解决数学问题的解题思路,将问题解决掉.最后将解题步骤 “细化”就可以.“细化”指的是写出算法步骤、画出程序框图. 拓展提升如下给出的是计算201614121++++ 的值的一个流程图,其中判断框内应填入的条件是______________.答案:i>10.课堂小结(1)掌握程序框的画法和功能.(2)了解什么是程序框图,知道学习程序框图的意义.(3)掌握顺序结构的应用,并能解决与顺序结构有关的程序框图的画法.作业习题1.1A 1.设计感想首先,本节的引入新颖独特,旅游图的故事阐明了学习程序框图的意义.通过丰富有趣的事例让学生了解了什么是程序框图,进而激发学生学习程序框图的兴趣.本节设计题目难度适中,逐步把学生带入知识的殿堂,是一节好的课例.第2课时条件结构导入新课思路1(情境导入)我们以前听过这样一个故事,野兽与鸟发生了一场战争,蝙蝠来了,野兽们喊道:你有牙齿是我们一伙的,鸟们喊道:你有翅膀是我们一伙的,蝙蝠一时没了主意.过了一会儿蝙蝠有了一个好办法,如果野兽赢了,就加入野兽这一伙,否则加入另一伙,事实上蝙蝠用了分类讨论思想,在算法和程序框图中也经常用到这一思想方法,今天我们开始学习新的逻辑结构——条件结构.思路2(直接导入)前面我们学习了顺序结构,顺序结构像是一条没有分支的河流,奔流到海不复回,事实上多数河流是有分支的,今天我们开始学习有分支的逻辑结构——条件结构.推进新课新知探究提出问题(1)举例说明什么是分类讨论思想?(2)什么是条件结构?(3)试用程序框图表示条件结构.(4)指出条件结构的两种形式的区别.讨论结果:(1)例如解不等式ax>8(a≠0),不等式两边需要同除a,需要明确知道a的符号,但条件没有给出,因此需要进行分类讨论,这就是分类讨论思想.(2)在一个算法中,经常会遇到一些条件的判断,算法的流程根据条件是否成立有不同的流向.条件结构就是处理这种过程的结构.(3)用程序框图表示条件结构如下.条件结构:先根据条件作出判断,再决定执行哪一种操作的结构就称为条件结构(或分支结构),如图1所示.执行过程如下:条件成立,则执行A框;不成立,则执行B框.图1 图2注:无论条件是否成立,只能执行A、B之一,不可能两个框都执行.A、B两个框中,可以有一个是空的,即不执行任何操作,如图2.(4)一种是在两个“分支”中均包含算法的步骤,符合条件就执行“步骤A”,否则执行“步骤B”;另一种是在一个“分支”中均包含算法的步骤A,而在另一个“分支”上不包含算法的任何步骤,符合条件就执行“步骤A”,否则执行这个条件结构后的步骤.应用示例例1 任意给定3个正实数,设计一个算法,判断以这3个正实数为三边边长的三角形是否存在,并画出这个算法的程序框图.算法分析:判断以3个任意给定的正实数为三条边边长的三角形是否存在,只需验证这3个数中任意两个数的和是否大于第3个数.这个验证需要用到条件结构.算法步骤如下:第一步,输入3个正实数a,b,c.第二步,判断a+b>c,b+c>a,c+a>b是否同时成立.若是,则存在这样的三角形;否则,不存在这样的三角形.程序框图如右图:点评:根据构成三角形的条件,判断是否满足任意两边之和大于第三边,如果满足则存在这样的三角形,如果不满足则不存在这样的三角形.这种分类讨论思想是高中的重点,在画程序框图时,常常遇到需要讨论的问题,这时要用到条件结构.例2 设计一个求解一元二次方程ax2+bx+c=0的算法,并画出程序框图表示.算法分析:我们知道,若判别式Δ=b 2-4ac>0,则原方程有两个不相等的实数根 x 1=a b 2∆+-,x 2=ab 2∆--; 若Δ=0,则原方程有两个相等的实数根x 1=x 2=ab2-; 若Δ<0,则原方程没有实数根.也就是说,在求解方程之前,可以先判断判别式的符号,根据判断的结果执行不同的步骤,这个过程可以用条件结构实现.又因为方程的两个根有相同的部分,为了避免重复计算,可以在计算x 1和x 2之前,先计算p=ab2-,q=a 2∆.解决这一问题的算法步骤如下:第一步,输入3个系数a ,b ,c.第二步,计算Δ=b 2-4ac.第三步,判断Δ≥0是否成立.若是,则计算p=ab2-,q=a 2∆;否则,输出“方程没有实数根”,结束算法.第四步,判断Δ=0是否成立.若是,则输出x 1=x 2=p ;否则,计算x 1=p+q ,x 2=p-q ,并输出x 1,x 2.程序框图如下:例3 设计算法判断一元二次方程ax 2+bx+c=0是否有实数根,并画出相应的程序框图. 解:算法步骤如下:第一步,输入3个系数:a ,b ,c.第二步,计算Δ=b 2-4ac.第三步,判断Δ≥0是否成立.若是,则输出“方程有实根”;否则,输出“方程无实根”.结束算法.相应的程序框图如右:点评:根据一元二次方程的意义,需要计算判别式Δ=b 2-4ac 的值.再分成两种情况处理:(1)当Δ≥0时,一元二次方程有实数根;(2)当Δ<0时,一元二次方程无实数根.该问题实际上是一个分类讨论问题,根据一元二次方程系数的不同情况,最后结果就不同.因而当给出一个一元二次方程时,必须先确定判别式的值,然后再用判别式的值的取值情况确定方程是否有解.该例仅用顺序结构是办不到的,要对判别式的值进行判断,需要用到条件结构. 例4 (1)设计算法,求ax+b=0的解,并画出流程图. 解:对于方程ax+b=0来讲,应该分情况讨论方程的解.我们要对一次项系数a 和常数项b 的取值情况进行分类,分类如下:(1)当a≠0时,方程有唯一的实数解是ab -; (2)当a=0,b=0时,全体实数都是方程的解; (3)当a=0,b≠0时,方程无解.联想数学中的分类讨论的处理方式,可得如下算法步骤: 第一步,判断a≠0是否成立.若成立,输出结果“解为ab-”. 第二步,判断a=0,b=0是否同时成立.若成立,输出结果“解集为R ”.第三步,判断a=0,b≠0是否同时成立.若成立,输出结果“方程无解”,结束算法. 程序框图如下:点评:这是条件结构叠加问题,条件结构叠加,程序执行时需依次对“条件1”“条件2”“条件3”……都进行判断,只有遇到能满足的条件才执行该条件对应的操作. 知能训练设计算法,找出输入的三个不相等实数a 、b 、c 中的最大值,并画出流程图. 解:算法步骤:第一步,输入a ,b ,c 的值.第二步,判断a>b 是否成立,若成立,则执行第三步;否则执行第四步.第三步,判断a>c 是否成立,若成立,则输出a ,并结束;否则输出c ,并结束. 第四步,判断b>c 是否成立,若成立,则输出b ,并结束;否则输出c ,并结束. 程序框图如下:点评:条件结构嵌套与条件结构叠加的区别: (1)条件结构叠加,程序执行时需依次对“条件1”“条件2”“条件3”……都进行判断,只有遇到能满足的条件才执行该条件对应的操作.(2)条件结构的嵌套中,“条件2”是“条件1”的一个分支,“条件3”是“条件2”的一个分支……依此类推,这些条件中很多在算法执行过程中根据所处的分支位置不同可能不被执行. (3)条件结构嵌套所涉及的“条件2”“条件3”……是在前面的所有条件依次一个一个的满足“分支条件成立”的情况下才能执行的此操作,是多个条件同时成立的叠加和复合. 例5 “特快专递”是目前人们经常使用的异地邮寄信函或托运物品的一种快捷方式.某快递公司规定甲、乙两地之间物品的托运费用根据下列方法计算: f=⎩⎨⎧>⨯-+⨯≤).50(,85.0)50(53.050),50(,53.0ωωωω其中f (单位:元)为托运费,ω为托运物品的重量(单位:千克). 试画出计算费用f 的程序框图.分析:这是一个实际问题,根据数学模型可知,求费用f的计算公式随物品重量ω的变化而有所不同,因此计算时先看物品的重量,在不同的条件下,执行不同的指令,这是条件结构的运用,是二分支条件结构.其中,物品的重量通过输入的方式给出.解:算法程序框图如右图:拓展提升有一城市,市区为半径为15 km的圆形区域,近郊区为距中心15—25 km的范围内的环形地带,距中心25 km以外的为远郊区,如右图所示.市区地价每公顷100万元,近郊区地价每公顷60万元,远郊区地价为每公顷20万元,输入某一点的坐标为(x,y),求该点的地价.分析:由该点坐标(x,y),求其与市中心的距离r=22yx+,确定是市区、近郊区,还是远郊区,进而确定地价p.由题意知,p=⎪⎩⎪⎨⎧>≤<≤<.25,20,2515,60,150,100rrr解:程序框图如下:课堂小结(1)理解两种条件结构的特点和区别.(2)能用学过的两种条件结构解决常见的算法问题.作业习题1.1A组3.设计感想本节采用引人入胜的方法引入正课,选用的例题难度适中,有的经典实用,有的新颖独特,每个例题都是很好的素材.条件结构是逻辑结构的核心,是培养学生逻辑推理的好素材,本节设计符合新课标精神,难度设计略高于教材.第3课时循环结构导入新课思路1(情境导入)我们都想生活在一个优美的环境中,希望看到的是碧水蓝天,大家知道工厂的污水是怎样处理的吗?污水进入处理装置后进行第一次处理,如果达不到排放标准,则需要再进入处理装置进行处理,直到达到排放标准.污水处理装置是一个循环系统,对于处理需要反复操作的事情有很大的优势.我们数学中有很多问题需要反复操作,今天我们学习能够反复操作的逻辑结构——循环结构.思路2(直接导入)前面我们学习了顺序结构,顺序结构像一条没有分支的河流,奔流到海不复回;上一节我们学习了条件结构,条件结构像有分支的河流最后归入大海;事实上很多水系是循环往复的,今天我们开始学习循环往复的逻辑结构——循环结构.推进新课新知探究提出问题(1)请大家举出一些常见的需要反复计算的例子.(2)什么是循环结构、循环体?(3)试用程序框图表示循环结构.(4)指出两种循环结构的相同点和不同点.讨论结果:(1)例如用二分法求方程的近似解、数列求和等.(2)在一些算法中,经常会出现从某处开始,按照一定的条件反复执行某些步骤的情况,这就是循环结构.反复执行的步骤称为循环体.(3)在一些算法中要求重复执行同一操作的结构称为循环结构.即从算法某处开始,按照一定条件重复执行某一处理的过程.重复执行的处理步骤称为循环体.循环结构有两种形式:当型循环结构和直到型循环结构.1°当型循环结构,如图(1)所示,它的功能是当给定的条件P成立时,执行A框,A 框执行完毕后,返回来再判断条件P是否成立,如果仍然成立,返回来再执行A框,如此反复执行A框,直到某一次返回来判断条件P不成立时为止,此时不再执行A框,离开循环结构.继续执行下面的框图.2°直到型循环结构,如图(2)所示,它的功能是先执行重复执行的A框,然后判断给定的条件P是否成立,如果P仍然不成立,则返回来继续执行A框,再判断条件P是否成立.继续重复操作,直到某一次给定的判断条件P时成立为止,此时不再返回来执行A框,离开循环结构.继续执行下面的框图.见示意图:当型循环结构直到型循环结构(4)两种循环结构的不同点:直到型循环结构是程序先进入循环体,然后对条件进行判断,如果条件不满足,就继续执行循环体,直到条件满足时终止循环.当型循环结构是在每次执行循环体前,先对条件进行判断,当条件满足时,执行循环体,否则终止循环.两种循环结构的相同点: 两种不同形式的循环结构可以看出,循环结构中一定包含条件结构,用于确定何时终止执行循环体.应用示例思路1例1 设计一个计算1+2+……+100的值的算法,并画出程序框图.算法分析:通常,我们按照下列过程计算1+2+……+100的值.第1步,0+1=1.第2步,1+2=3.第3步,3+3=6.第4步,6+4=10.……第100步,4 950+100=5 050.显然,这个过程中包含重复操作的步骤,可以用循环结构表示.分析上述计算过程,可以发现每一步都可以表示为第(i-1)步的结果+i=第i步的结果.为了方便、有效地表示上述过程,我们用一个累加变量S来表示第一步的计算结果,即把S+i的结果仍记为S,从而把第i步表示为S=S+i,其中S的初始值为0,i依次取1,2,…,100,由于i同时记录了循环的次数,所以也称为计数变量.解决这一问题的算法是:第一步,令i=1,S=0.第二步,若i≤100成立,则执行第三步;否则,输出S,结束算法.第三步,S=S+i.第四步,i=i+1,返回第二步.程序框图如右:上述程序框图用的是当型循环结构,如果用直到型循环结构表示,则程序框图如下:点评:这是一个典型的用循环结构解决求和的问题,有典型的代表意义,可把它作为一个范例,仔细体会三种逻辑结构在程序框图中的作用,学会画程序框图.变式训练已知有一列数1,,43,32,21+n n ,设计框图实现求该列数前20项的和. 分析:该列数中每一项的分母是分子数加1,单独观察分子,恰好是1,2,3,4,…,n ,因此可用循环结构实现,设计数器i ,用i=i+1实现分子,设累加器S ,用S=1++i i S ,可实现累加,注意i 只能加到20.解:程序框图如下:方法一: 方法二:点评:在数学计算中,i=i+1不成立,S=S+i 只有在i=0时才能成立.在计算机程序中,它们被赋予了其他的功能,不再是数学中的“相等”关系,而是赋值关系.变量i 用来作计数器,i=i+1的含义是:将变量i 的值加1,然后把计算结果再存贮到变量i 中,即计数器i 在原值的基础上又增加了1.变量S 作为累加器,来计算所求数据之和.如累加器的初值为0,当第一个数据送到变量i中时,累加的动作为S=S+i,即把S的值与变量i的值相加,结果再送到累加器S中,如此循环,则可实现数的累加求和.例2 某厂2005年的年生产总值为200万元,技术革新后预计以后每年的年生产总值都比上一年增长5%,设计一个程序框图,输出预计年生产总值超过300万元的最早年份.算法分析:先写出解决本例的算法步骤:第一步,输入2005年的年生产总值.第二步,计算下一年的年生产总值.第三步,判断所得的结果是否大于300,若是,则输出该年的年份,算法结束;否则,返回第二步.由于“第二步”是重复操作的步骤,所以本例可以用循环结构来实现.我们按照“确定循环体”“初始化变量”“设定循环控制条件”的顺序来构造循环结构.(1)确定循环体:设a为某年的年生产总值,t为年生产总值的年增长量,n为年份,则循环体为t=0.05a,a=a+t,n=n+1.(2)初始化变量:若将2005年的年生产总值看成计算的起始点,则n的初始值为2005,a 的初始值为200.(3)设定循环控制条件:当“年生产总值超过300万元”时终止循环,所以可通过判断“a>300”是否成立来控制循环.程序框图如下:思路2例1 设计框图实现1+3+5+7+…+131的算法.分析:由于需加的数较多,所以要引入循环结构来实现累加.观察所加的数是一组有规律的数(每相临两数相差2),那么可考虑在循环过程中,设一个变量i,用i=i+2来实现这些有规律的数,设一个累加器sum,用来实现数的累加,在执行时,每循环一次,就产生一个需加的数,然后加到累加器sum中.解:算法如下:第一步,赋初值i=1,sum=0.第二步,sum=sum+i,i=i+2.第三步,如果i≤131,则反复执第二步;否则,执行下一步.第四步,输出sum.第五步,结束.程序框图如右图.点评:(1)设计流程图要分步进行,把一个大的流程图分割成几个小的部分,按照三个基本结构即顺序、条件、循环结构来局部安排,然后把流程图进行整合.(2)框图画完后,要进行验证,按设计的流程分析是否能实现所求的数的累加,分析条件是否加到131就结束循环,所以我们要注意初始值的设置、循环条件的确定以及循环体内语句的先后顺序,三者要有机地结合起来.最关键的是循环条件,它决定循环次数,可以想一想,为什么条件不是“i<131”或“i=131”,如果是“i<131”,那么会少执行一次循环,131就加不上了.例2 高中某班一共有40名学生,设计算法流程图,统计班级数学成绩良好(分数>80)和优秀(分数>90)的人数.分析:用循环结构实现40个成绩的输入,每循环一次就输入一个成绩s,然后对s的值进行判断.设两个计数器m,n,如果s>90,则m=m+1,如果80<s≤90,则n=n+1.设计数器i,用来控制40个成绩的输入,注意循环条件的确定.解:程序框图如下图:知能训练由相应的程序框图如右图,补充完整一个计算1+2+3+…+100的值的算法.(用循环结构)第一步,设i的值为_____________.第二步,设sum的值为_____________.第三步,如果i≤100执行第_____________步,否则,转去执行第_____________步.第四步,计算sum+i并将结果代替_____________.第五步,计算_____________并将结果代替i.第六步,转去执行第三步.第七步,输出sum的值并结束算法.分析:流程图各图框的内容(语言和符号)要与算法步骤相对应,在流程图中算法执行的顺序应按箭头方向进行.解:第一步,设i的值为1.第二步,设sum的值为0.第三步,如果i≤100,执行第四步,否则,转去执行第七步.第四步,计算sum+i并将结果代替sum.第五步,计算i+1并将结果代替i.第六步,转去执行第三步.第七步,输出sum的值并结束算法.拓展提升设计一个算法,求1+2+4+…+249的值,并画出程序框图.解:算法步骤:第一步,sum=0.第二步,i=0.第三步,sum=sum+2i.第四步,i=i+1.第五步,判断i是否大于49,若成立,则输出sum,结束.否则,返回第三步重新执行.程序框图如右图:。
程序框图与算法的基本逻辑结构(教学用)

紐绅中学
算法的概念是什么?
在数学中,按照一定规则解决某一类问题的明确和有限的步骤称为算法.
复习回顾
算法的步骤 我们可以用自然语言表述一个算法,但往往过程复杂,缺乏简洁性。 因此,我们有必要探究使算法的结构更清楚、步骤更直观也更精确的方法。
这个想法可以实现吗?
第(i-1)步的结果+i=第i步的结果
各步骤有共同的结构:
为了方便有效地表示上述过程,我们引进一个累加变量S来表示每一步的计算结果,从而把第i步表示为 S=S+i
S的初始值为0,i依次取1,2,…,100,
由于i同时记录了循环的次数,所以i称为计数变量.
程序框图:
开始
i=1
S=0
S=S+i
i=i+1
条件结构
算法的三种基本逻辑结构
你能说出这三种基本逻辑结构的特点吗?
条件结构与循环结构有什么区别和联系?
2、算法的三种基本逻辑结构
01
顺序结构、条件结构、循环结构。
单击此处添加小标题
02
顺序结构是由若干个依次执行的步骤组成的。这是任何一个算法都离不开的一种基本算法结构。
单击此处添加小标题
03
顺序结构
开始
i=1
i>3?
是
输出S
结束
S=0
i=i+1
S=S+i2
否
题型一:程序框图的阅读与理解
14
说明:(1)一般地,循环结构中都有一个计数变量和累加变量.计数变量用于记录循环次数,同时它的取值还用于判断循环是否终止,累加变量用于输出结果.累加变量和计数变量一般是同步执行的,累加一次,记数一次.
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
程序框图
一、教学目标:
1、知识与技能:掌握程序框图的概念;会用通用的图形符号表示算法,掌握算法的三个基本逻辑结构;掌握画程序框图的基本规则,能正确画出程序框图。
2、过程与方法:通过模仿、操作、探索,经历通过设计程序框图表达解决问题的过程;学会灵活、正确地画程序框图。
3、情感态度与价值观:通过本节的学习,使我们对程序框图有一个基本的了解;掌握算法语言的三种基本逻辑结构,明确程序框图的基本要求;认识到学习程序框图是我们学习计算机的一个基本步骤,也是我们学习计算机语言的必经之路。
二、重点与难点:重点是程序框图的基本概念、基本图形符号和3种基本逻辑结构,难点是能综合运用这些知识正确地画出程序框图。
三、学法与教学用具:
1、通过上节学习我们知道,算法就是解决问题的步骤,在我们利用计算机解决问题的时候,首先我们要设计计算机程序,在设计计算机程序时我们首先要画出程序运行的流程图,使整个程序的执行过程直观化,使抽象的问题就得十分清晰和具体。
有了这个流程图,再去设计程序就有了依据,从而就可以把整个程序用机器语言表述出来,因此程序框图是我们设计程序的基本和开端。
2、我们在学习这部分内容时,首先要弄清各种图形符号的意义,明确每个图形符号的使用环境,图形符号间的联结方式。
例如“起止框”只能出现在整个流程图的首尾,它表示程序的开始或结束,其他图形符号也是如此,它们都有各自的使用环境和作用,这是我们在学习这部分知识时必须要注意的一个方面。
另外,在我们描述算法或画程序框图时,必须遵循一定的逻辑结构,事实证明,无论如何复杂的问题,我们在设计它们的算法时,只需用顺序结构、条件结构和循环结构这三种基本逻辑就可以了,因此我们必须掌握并正确地运用这三种基本逻辑结构。
3、教学用具:电脑,计算器,图形计算器
四、教学设想:
1、创设情境:
算法可以用自然语言来描述,但为了使算法的程序或步骤表达得更为直观,我们更经常地用图形方式来表示它。
基本概念:
(1起止框是任何流程图都不可缺少的,它表明程序的开始和结束,所以一个完
(2表示数据的输入或结果的输出,它可用在算法中的任何需要输入、输出的位置。
图1-1中有三个输入、输出框。
第一个出现在开始后的第一步,它的作用是输入未知数的系数a11,a12,a21,a22和常数项b1,b2,通过这一步,就可以把给定的数值写在输入框内,它实际上是把未知数的系数和常数项的值通知给了计算机,另外两个是输出框,它们分别位于由判断分出的两个分支中,它们表示最后给出的运算结果,左边分支中的输出分框负责输出D≠0时未知数x1,x2的值,右边分支中的输出框负责输出D=0时的结果,即输出无法求解信息。
(3它是采用来赋值、执行计算语句、传送运算结果的图形符号。
图1-1中出现了两个处理框。
第一个处理框的作用是计算D=a11a22-a21a12的值,第二个处理框的作用是计算x1=(b1a22-b2a12)/D,x2=(b2a11-b1a21)/D的值。
(4判断框一般有一个入口和两个出口,有时也有多个出口,它是惟一的具有两个或两个以上出口的符号,在只有两个出口的情形中,通常都分成“是”与“否”(也可用“Y”与“N”)两个分支,在图1-1中,通过判断框对D的值进行判断,若判断框中的式子是D=0,则说明D=0时由标有“是”的分支处理数据;若D≠0,则由标有“否”的分支处理数据。
例如,我们要打印x的绝对值,可以设计如下框图。
从图中可以看到由判断框分出两个分支,构成一个选择性结构,其中选择的标准是“x≥0”,若符合这个条件,则按照“是”分支继续往下执行;若不符合这个条件,则按照“否”分支继续往下执行,这样的话,打印出的结果总是x 的绝对值。
在学习这部分知识的时候,要掌握各个图形的形状、作用及使用规则,画程序框图的规则如下:(1)使用标准的图形符号。
(2)框图一般按从上到下、从左到右的方向画。
(3)除判断框外,大多数流程图符号只有一个进入点和一个退出点。
判断框具有超过一个退出点的惟一符号。
(4)判断框分两大类,一类判断框“是”与“否”两分支的判断,而且有且仅有两个结果;另一类是多分支判断,有几种不同的结果。
(5)在图形符号内描述的语言要非常简练清楚。
2、典例剖析:
例1:已知x=4,y=2,画出计算w=3x+4y的值的程序框图。
解:程序框如下图所示:
2 4和2分别是x 和y 的值
小结:现在任何位置。
基础知识应用题
1)顺序结构:顺序结构描述的是是最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的。
例2:已知一个三角形的三边分别为2、3、4,利用海伦公式设计一个算法,求出它的面积,并画出算法的程序框图。
算法分析:这是一个简单的问题,只需先算出p 的值,再将它代入公式,最后输出结果,只用顺序结构就能够表达出算法。
程序框图:
2)条件结构:一些简单的算法可以用顺序结构来表示,但是这种结构无法对描述对象进行逻辑判断,并根据判断结果进行不同的处理。
因此,需要有另一种逻辑结构来处理这类问题,这种结构叫做条件结构。
它是根据指定打件选择执行不同指令的控制结构。
例3:任意给定3个正实数,设计一个算法,判断分别以这3个数为三边边长的三角形是否存在,画
出这个算法的程序框图。
算法分析:判断分别以这3个数为三边边长的三角形是否存在,只需要验收这3个数当中任意两个数的和是否大于第3个数,这就需要用到条件结构。
程序框图:
3)循环结构:在一些算法中,经常会出现从某处开始,按照一定条件,反复执行某一处理步骤的情况,这就是循环结构,反复执行的处理步骤为循环体,显然,循环结构中一定包含条件结构。
循环结构又称重复结构,循环结构可细分为两类:
(1)一类是当型循环结构,如图1-5(1)所示,它的功能是当给定的条件P1成立时,执行A框,A 框执行完毕后,再判断条件P1是否成立,如果仍然成立,再执行A框,如此反复执行A框,直到某一次条件P1不成立为止,此时不再执行A框,从b离开循环结构。
(2)另一类是直到型循环结构,如下图所示,它的功能是先执行,然后判断给定的条件P2是否成立,如果P2仍然不成立,则继续执行A框,直到某一次给定的条件P2成立为止,此时不再执行A框,从b点离
b b
当型循环结构直到型循环结构
(1)(2)
例4:设计一个计算1+2+…+100的值的算法,并画出程序框图。
算法分析:只需要一个累加变量和一个计数变量,将累加变量的初始值为0,计数变量的值可以从1到100。
程序框图:
3、课堂小结:。