高中数学程序框图的算法和逻辑结构 高一必修
高一数学必修三,算法与程序框图知识点及题型
第二节算法与程序框图一、基础知识1.算法(1)算法通常是指按照一定规则解决某一类问题的明确和有限的步骤.(2)应用:算法通常可以编成计算机程序,让计算机执行并解决问题.2.程序框图程序框图又称流程图,是一种用程序框、流程线及文字说明来表示算法的图形.3.三种基本逻辑结构(1)顺序结构(2)条件结构(3)循环结构三种基本逻辑结构的适用情境(1)顺序结构:要解决的问题不需要分类讨论.(2)条件结构:要解决的问题需要分类讨论.(3)循环结构:要解决的问题要进行许多重复的步骤,且这些步骤之间有相同的规律.考点一顺序结构和条件结构[例1] (2019·沈阳质检)已知一个算法的程序框图如图所示,当输出的结果为0时,输入的实数x 的值为( )A .-3B .-3或9C .3或-9D .-3或-9[解析] 当x ≤0时,y =⎝⎛⎭⎫12x -8=0,x =-3;当x >0时,y =2-log 3x =0,x =9.故x =-3或x =9,选B.[答案] B[例2] 某程序框图如图所示,现输入如下四个函数,则可以输出的函数为( )A .f (x )=cos x x ⎝⎛⎭⎫-π2<x <π2,且x ≠0 B .f (x )=2x -12x +1C .f (x )=|x |xD .f (x )=x 2ln(x 2+1)[解析] 由程序框图知该程序输出的是存在零点的奇函数,选项A 、C 中的函数虽然是奇函数,但在给定区间上不存在零点,故排除A 、C.选项D 中的函数是偶函数,故排除D.选B.[答案] B[解题技法] 顺序结构和条件结构的运算方法(1)顺序结构是最简单的算法结构,语句与语句之间、框与框之间是按从上到下的顺序进行的.解决此类问题,只需分清运算步骤,赋值量及其范围进行逐步运算即可.(2)条件结构中条件的判断关键是明确条件结构的功能,然后根据“是”的分支成立的条件进行判断. (3)对于条件结构,无论判断框中的条件是否成立,都只能执行两个分支中的一个,不能同时执行两个分支.[题组训练]1.半径为r 的圆的面积公式为S =πr 2,当r =5时,计算面积的流程图为( )解析:选D 因为输入和输出框是平行四边形,故计算面积的流程图为D. 2.运行如图所示的程序框图,可输出B =______,C =______.解析:若直线x+By+C=0与直线x+3y-2=0平行,则B=3,且C≠-2,若直线x+3y+C=0与圆x2+y2=1相切,则|C|12+(3)2=1,解得C=±2,又C≠-2,所以C=2.答案:32考点二循环结构考法(一)由程序框图求输出(输入)结果[例1](2018·天津高考)阅读如图所示的程序框图,运行相应的程序,若输入N的值为20,则输出T 的值为()A.1B.2C.3 D.4[解析]输入N的值为20,第一次执行条件语句,N=20,i =2,Ni =10是整数,∴T =0+1=1,i =3<5;第二次执行条件语句,N =20,i =3,N i =203不是整数,∴i =4<5;第三次执行条件语句,N =20,i =4,Ni =5是整数,∴T =1+1=2,i =5,此时i ≥5成立,∴输出T =2. [答案] B[例2] (2019·安徽知名示范高中联考)执行如图所示的程序框图,如果输出的n =2,那么输入的 a 的值可以为( )A .4B .5C .6D .7[解析] 执行程序框图,输入a ,P =0,Q =1,n =0,此时P ≤Q 成立,P =1,Q =3,n =1,此时P ≤Q 成立,P =1+a ,Q =7,n =2.因为输出的n 的值为2,所以应该退出循环,即P >Q ,所以1+a >7,结合选项,可知a 的值可以为7,故选D.[答案] D[解题技法] 循环结构的一般思维分析过程 (1)分析进入或退出循环体的条件,确定循环次数.(2)结合初始条件和输出结果,分析控制循环的变量应满足的条件或累加、累乘的变量的表达式. (3)辨析循环结构的功能. 考法(二) 完善程序框图[例1] (2018·武昌调研考试)执行如图所示的程序框图,如果输入的a 依次为2,2,5时,输出的s 为17,那么在判断框中可以填入( )A .k <n?B .k >n?C .k ≥n?D .k ≤n?[解析] 执行程序框图,输入的a =2,s =0×2+2=2,k =1;输入的a =2,s =2×2+2=6,k =2;输入的a =5,s =2×6+5=17,k =3,此时结束循环,又n =2,所以判断框中可以填“k >n ?”,故选B.[答案] B[例2] (2018·全国卷Ⅱ)为计算S =1-12+13-14+…+199-1100,设计了如图所示的程序框图,则在空白框中应填入( )A .i =i +1B .i =i +2C .i =i +3D .i =i +4[解析] 由题意可将S 变形为S =⎝⎛⎭⎫1+13+…+199-⎝⎛⎭⎫12+14+…+1100,则由S =N -T ,得N =1+13+…+199,T =12+14+…+1100.据此,结合N =N +1i ,T =T +1i +1易知在空白框中应填入i =i +2.故选B. [答案] B[解题技法] 程序框图完善问题的求解方法 (1)先假设参数的判断条件满足或不满足;(2)运行循环结构,一直到运行结果与题目要求的输出结果相同为止; (3)根据此时各个变量的值,补全程序框图.[题组训练]1.(2018·凉山质检)执行如图所示的程序框图,设输出的数据构成的集合为A ,从集合A 中任取一个元素a ,则函数y =x a ,x ∈[0,+∞)是增函数的概率为( )A.47B.45C.35D.34解析:选C 执行程序框图,x =-3,y =3;x =-2,y =0;x =-1,y =-1;x =0,y =0;x =1,y =3;x =2,y =8;x =3,y =15;x =4,退出循环.则集合A 中的元素有-1,0,3,8,15,共5个,若函数y =x a ,x ∈[0,+∞)为增函数,则a >0,所以所求的概率为35.2.(2019·珠海三校联考)执行如图所示的程序框图,若输出的n 的值为4,则p 的取值范围是( )A.⎝⎛⎦⎤34,78B.⎝⎛⎭⎫516,+∞C.⎣⎡⎭⎫516,78D.⎝⎛⎦⎤516,78解析:选A S =0,n =1;S =12,n =2;S =12+122=34,n =3;满足条件,所以p >34,继续执行循环体;S =34+123=78,n =4;不满足条件,所以p ≤78.输出的n 的值为4,所以34<p ≤78,故选A. 3.(2019·贵阳适应性考试)某程序框图如图所示,若该程序运行后输出的值是137,则整数a 的值为( )A .6B .7C .8D .9解析:选A 先不管a 的取值,直接运行程序.首先给变量S ,k 赋值,S =1,k =1,执行S =S +1k (k +1),得S =1+11×2,k =2;执行S =1+11×2+12×3,k =3;……继续执行,得S =1+11×2+12×3+…+1k (k +1)=1+⎝⎛⎭⎫1-12+⎝⎛⎭⎫12-13+…+⎝⎛⎭⎫1k -1k +1=2-1k +1,由2-1k +1=137得k =6,所以整数a =6,故选A.考点三 基本算法语句[典例] 执行如图程序语句,输入a =2cos 2 019π3,b =2tan 2 019π4,则输出y 的值是( )A .3B .4C .6D .-1[解析] 根据条件语句可知程序运行后是计算y =⎩⎪⎨⎪⎧a (a +b ),a <b ,a 2-b ,a ≥b ,且a =2cos 2 019π3=2cos π=-2,b =2tan 2 019π4=2tan 3π4=-2.因为a ≥b ,所以y =a 2-b =(-2)2-(-2)=6, 即输出y 的值是6. [答案] C[变透练清]1. 执行如图所示的程序,输出的结果是________.i =11S =1DOS =S*ii =i -1LOOP UNTIL i<9PRINT S END解析:程序反映出的算法过程为 i =11⇒S =11×1,i =10; i =10⇒S =11×10,i =9; i =9⇒S =11×10×9,i =8;i =8<9退出循环,执行“PRINT S ”. 故S =990. 答案:9902.阅读如图所示的程序.a 的值是________. 解析:由题意可得程序的功能是计算并输出a =⎩⎪⎨⎪⎧2+a ,a >2,a ×a ,a ≤2的值, 当a >2时,由2+a =9得a =7; 当a ≤2时,由a 2=9得a =-3, 综上知,a =7或a =-3. 答案:-3或7[课时跟踪检测]1.(2019·湖北八校联考)对任意非零实数a ,b ,定义a *b 的运算原理如图所示,则(log222)*⎝⎛⎭⎫18-23=( )A .1B .2C .3D .4解析:选A 因为log222=3,⎝⎛⎭⎫18-23=4,3<4,所以输出4-13=1,故选A. 2.执行如图所示的程序框图,则输出的x ,y 分别为( )A .90,86B .94,82C .98,78D .102,74解析:选C 第一次执行循环体,y =90,s =867+15,不满足退出循环的条件,故x =90;第二次执行循环体,y =86,s =907+433,不满足退出循环的条件,故x =94;第三次执行循环体,y =82,s =947+413,不满足退出循环的条件,故x =98;第四次执行循环体,y =78,s =27,满足退出循环的条件,故x =98,y =78.3.(2018·云南民族大学附属中学二模)执行如图所示的程序框图,若输出的k 的值为6,则判断框内可填入的条件是( )A .s >12?B .s >710?C .s >35?D .s >45?解析:选B s =1,k =9,满足条件;s =910,k =8,满足条件;s =45,k =7,满足条件;s =710,k =6,不满足条件.输出的k =6,所以判断框内可填入的条件是“s >710?”.故选B.4.(2019·合肥质检)执行如图所示的程序框图,如果输出的k 的值为3,则输入的a 的值可以是( )A .20B .21C .22D .23解析:选A 根据程序框图可知,若输出的k =3,则此时程序框图中的循环结构执行了3次,执行第1次时,S =2×0+3=3,执行第2次时,S =2×3+3=9,执行第3次时,S =2×9+3=21,因此符合题意的实数a 的取值范围是9≤a <21,故选A.5.(2019·重庆质检)执行如图所示的程序框图,如果输入的x =0,y =-1,n =1,则输出x ,y 的值满足( )A .y =-2xB .y =-3xC .y =-4xD .y =-8x解析:选C 初始值x =0,y =-1,n =1,x =0,y =-1,x 2+y 2<36,n =2,x =12,y =-2,x 2+y 2<36,n =3,x =32,y =-6,x 2+y 2>36,退出循环,输出x =32,y =-6,此时x ,y 满足y =-4x ,故选C.6.(2018·南宁二中、柳州高中联考)执行如图所示的程序框图,若输出的结果s =132,则判断框中可以填( )A .i ≥10?B .i ≥11?C .i ≤11?D .i ≥12?解析:选B 执行程序框图,i =12,s =1;s =12×1=12,i =11;s =12×11=132,i =10.此时输出的s =132,则判断框中可以填“i ≥11?”.7.(2019·漳州八校联考)执行如图所示的程序,若输出的y 的值为1,则输入的x 的值为( )INPUT xIF x>=1THENy=x2ELSEy=-x2+1END IFPRINT yENDA.0 B.1C.0或1 D.-1,0或1解析:选C当x≥1时,由x2=1得x=1或x=-1(舍去);当x<1时,由-x2+1=1得x=0.∴输入的x的值为0或1.8.执行如图所示的程序框图,若输入的n=4,则输出的s=()A.10 B.16C.20 D.35解析:选C执行程序框图,第一次循环,得s=4,i=2;第二次循环,得s=10,i=3;第三次循环,得s=16,i=4;第四次循环,得s=20,i=5.不满足i≤n,退出循环,输出的s=20.9.(2018·洛阳第一次统考)已知某算法的程序框图如图所示,则该算法的功能是()A.求首项为1,公差为2的等差数列的前2 018项和B.求首项为1,公差为2的等差数列的前2 019项和C.求首项为1,公差为4的等差数列的前1 009项和D.求首项为1,公差为4的等差数列的前1 010项和解析:选D由程序框图得,输出的S=(2×1-1)+(2×3-1)+(2×5-1)+…+(2×2 019-1),可看作数列{2n-1}的前2 019项中所有奇数项的和,即首项为1,公差为4的等差数列的前1 010项和.故选D.10.(2018·郑州第一次质量测试)执行如图所示的程序框图,若输出的结果是7,则判断框内m的取值范围是()A.(30,42] B.(30,42)C.(42,56] D.(42,56)解析:选A k=1,S=2,k=2;S=2+4=6,k=3;S=6+6=12,k=4;S=12+8=20,k=5;S =20+10=30,k=6;S=30+12=42,k=7,此时不满足S=42<m,退出循环,所以30<m≤42,故选A.11.(2019·石家庄调研)20世纪70年代,流行一种游戏——角谷猜想,规则如下:任意写出一个自然数n,按照以下的规律进行变换,如果n是奇数,则下一步变成3n+1;如果n是偶数,则下一步变成n 2.这种游戏的魅力在于无论你写出一个多么庞大的数字,最后必然会落在谷底,更准确地说是落入底部的4-2-1循环,而永远也跳不出这个圈子,下列程序框图就是根据这个游戏而设计的,如果输出的i值为6,则输入的n值为()A .5或16B .16C .5或32D .4或5或32解析:选C 若n =5,执行程序框图,n =16,i =2;n =8,i =3;n =4,i =4;n =2,i =5;n =1,i =6,结束循环,输出的i =6.若n =32,执行程序框图,n =16,i =2;n =8,i =3;n =4,i =4;n =2,i =5;n =1,i =6,结束循环,输出的i =6.当n =4或16时,检验可知不正确,故输入的n =5或32,故选C.12.(2018·贵阳第一学期检测)我国明朝数学家程大位著的《算法统宗》里有一道闻名世界的题目:“一百馒头一百僧,大僧三个更无争.小僧三人分一个,大小和尚各几丁?”如图所示的程序框图反映了对此题的一个求解算法,则输出的n 的值为( )A .20B .25C .30D .35解析:选B 法一:执行程序框图,n =20,m =80,S =60+803=8623≠100;n =21,m =79,S =63+793=8913≠100;n =22,m =78,S =66+783=92≠100;n =23,m =77,S =69+773=9423≠100;n =24,m =76,S =72+763=9713≠100;n =25,m =75,S =75+753=100,退出循环.所以输出的n =25.法二:设大和尚有x 个,小和尚有y 个, 则⎩⎪⎨⎪⎧x +y =100,3x +13y =100,解得⎩⎪⎨⎪⎧x =25,y =75, 根据程序框图可知,n 的值即大和尚的人数,所以n =25.13.已知函数y =lg|x -3|,如图所示程序框图表示的是给定x 值,求其相应函数值y 的算法.请将该程序框图补充完整.其中①处应填________,②处应填________.解析:由y =lg|x -3|=⎩⎪⎨⎪⎧lg (x -3),x >3,lg (3-x ),x <3及程序框图知,①处应填x <3?,②处应填y =lg(x -3).答案:x <3? y =lg(x -3)14.执行如图所示的程序框图,若输入的N =20,则输出的S =________.解析:依题意,结合题中的程序框图知,当输入的N=20时,输出S的值是数列{2k-1}的前19项和,即19(1+37)2=361.答案:36115.执行如图所示的程序框图,则输出的λ是________.解析:依题意,若λa+b与b垂直,则有(λa+b)·b=4(λ+4)-2(-3λ-2)=0,解得λ=-2;若λa+b与b平行,则有-2(λ+4)=4(-3λ-2),解得λ=0.结合题中的程序框图可知,输出的λ是-2.答案:-216.执行如图所示的程序框图,如果输入的x,y∈R,那么输出的S的最大值为________.解析:当条件x ≥0,y ≥0,x +y ≤1不成立时,输出S 的值为1,当条件x ≥0,y ≥0,x +y ≤1成立时,⎩⎪⎨⎪⎧x ≥0,y ≥0,x +y ≤1输出S =2x +y ,下面用线性规划的方法求此时S 的最大值.作出不等式组表示的平面区域如图中阴影部分所示,由图可知当直线S =2x +y 经过点M (1,0)时S最大,其最大值为2×1+0=2,故输出S 的最大值为2.答案:2。
高一数学人教A版必修三第一章 1.1 1.1.2 第一课时 程序框图、顺序结构
3.常见的程序框及其功能
图形符号
名称 功能 终端框(起止框) 表示一个算法的____ 结束 起始和____ ______________ 输入和____ 输出的 表示一个算法 ____ 输入、输出框 ______________ 信息 处理框(执行框) ______________ 判断框 __________
(6)在程序框图的图形符号内,用于描述的语言要简练、 清楚. 2.规则的记法 以上规则简记为:框图符号标准化;框内语言精练化; 框间流程方向化,从上到下,从左到右勿颠倒;起止框不可 少,判断框搞特殊:一进口,两出口.
[活学活用]
1.在程序框图中,表示判断框的图形符号的是 ( )
解析: 四个选项中的程序框依次为处理框, 输入、 输出框, 判断框和起止框. 答案:C
①任何一个程序框图都必须有起止框;②输入框、输出框可 以在算法中任何需要输入、输出的位置出现;③判断框是唯一具 有超过一个退出点的框图符号;④对于一个程序来说,判断框内 的条件是唯一的. A.1 个 C.3 个 B.2 个 D.4 个
(2)下列说法正确的是 A.程序框图中的图形符号可以由个人来确定
[随堂即时演练]
1.对程序框图叙述正确的是 A.表示一个算法的起始和结束,程序框是 B.表示一个算法输入和输出的信息,程序框是 C.表示一个算法的起始和结束,程序框是 D.表示一个算法输入和输出的信息,程序框是
解析:由程序框的算法功能可知,选项 C 正确. 答案:C
(
)
2.下列所画程序框图是已知直角三角形两直角边 a,b 求斜边 c 的 算法,其中正确的是 ( )
程序框图:
与顺序结构有关的读图问题
[例 3] 如图所示是解决某个问题而绘制的程序框图. 仔细分析各
高一数学必修三程序框图与算法的基本逻辑结构1
输出S
直到型结构
开始
i 1 S0
计数变量:用于记录循环次数,同时还用 于判断循环是否终止. 。 累加变量:用于输出结果,一般与计数变 量同步执行,累加一次,计数一次. 循环体
i i 1
循环终止条件
S Si
Y
i 100?
N
输出 S 结束
计数变量的取值一般都含在执行 或中止循环体的条件中。
(3)循环结构
Until(直到型)循环 While(当型)循环
循环体
满足条件?
循环体
否
满足条件?
是
是
否
执行一次循环体后,对条件 在每次执行循环体前,对 进行判断,如果条件不满足,就 条件进行判断,当条件满足, 继续执行循环体,直到条件满足 执行循环体,否则终止循环. 时终止循环. 反复执行循环体,直到条件满足 当条件满足时反复执行循环体
(1)确定循环结构的循环变量和初始条件; (2)确定算法中需要反复执行的部分,即循环体; (3)确定循环的终止条件.
例: 设计一个计算 1+2+3+…+100的值的算 法,并画出程序框图.
第1步,0+1=1. 第2步,1+2=3. 第3步,3+3=6. 第4步,6+4=10. …… 第100步,4950+100=5050.
用程序框图来表示算法,有 三种不同的基本逻辑结构: 顺序结构
求n除以i的余数r i=i+1
i≥n或r=0?
是 否 否
循环结构
r=0?
是
条件结构
n是质数
n不是质数
结束
循环结构分为当型循环结构和直到型循环结构
循环体 满足条件? 否 当型循环结构 是
循环体 否
高一数学必修3课件:1-1-2-3 循环结构、程序框图的画法
[思路分析] i=1,s=2; s=2-1=1, i=1+2=3; s=1-2=-2,i=3+2=5; s=-2-5=-7,i=5+2=7,则判断框内应填 “i<6?”,故选D.
[正解] D
1.在一个算法中,如果出现反复执行某一处理步骤的情 况,最好采用( )
A.顺序结构 B.条件结构 C.循环结构 D.条件结构或循环结构
[解析] 成绩不低于60分时输出“及格”,即x≥60时满 足条件,故框1填“是”,框2填“否”.
3.如下图是某一函数的求值流程图,则满足流程图的 函数解析式为________.
[答案]f(x)=|2x-1|-2
[解析]程序框图判断框中对“x>
1 2
”的判断表示f(x)为分
段函数.
当x>12时,f(x)=2x-3=2x-1-2;
[破疑点] 对循环结构的理解: ①循环结构中必须包含条件结构,以保证在适当的时候 终止循环. ②循环结构内不存在无终止的循环. ③循环结构实质上是判断和处理的结合,可以先判断, 再处理,此时是当型循环结构;也可以先处理再判断,此时 是直到型循环结构.
④循环结构中常量的几个变量: 计数变量:即计数器,用来记录执行循环体的次数,如i =i+1,n=n+1. 累加变量:即累加器,用来计算数据之和,如S=S+i. 累乘变量:即累乘器,用来计算数据之积,如P=P*i. ⑤在程序框图中,一般要根据实际情况先给这些变量赋 初始值.一般情况下,计数变量的初始值为1,累加变量的 初始值为0,累乘变量的初始值为1.
第一章 算法初步
1.1 算法与程序框图 1.1.2 程序框图与算法的基本逻辑结构 第3课时 循环结构、程序框图的画法
温故知新 1.下列问题的算法宜用条件结构表示的是( ) A.求点P(-1,3)到直线3x-2y+1=0的距离 B.由直角三角形的两条直角边求斜边 C.解关于x的方程ax+b=0 D.计算100个数的平均数 [答案] C
1.1.2__程序框图与和算法的基本逻辑结构
否
n是质数
结束
开始 输入n
顺序结构
i=2
是 r=0? 是 n不是质数 否
条件结构
n是质数
结束
求n除以i的余数r
i的值增加1,仍用i表示 i>n-1或r=0?
否
循环结构
是
顺序结构
顺序结构:是由若干个依次执行的步骤组 成的。这是任何算法都离不开的基本结构
步骤 n 步骤n+1
例3 已知一个三角形的三边长确分别为a,b,c,利用海 伧-秦九韶公式设计一个算法,求出它的面积,画出算 法的程序框图.
2、程序框图图例的名称和意义(作用) 3、如何用程序框图表示顺序结构、选择结构
1.1.2 程序框图与和算 法的基本逻辑结构
第二课时
复习:
起止框 流程线
程 序 框 图
处理框(执行框) 判断框
输入\输出框
终端框
程序框图
1、顺序结构
A
三种基本算法结构
2、条件结构
p
是 否
B
A
B
无论条件P是否成立,都 能执行A框、B框中的一个, 既不能同时执行、也不能 都不执行。A、B框中可以 有一个是空的。
思考4:该算法中哪几个步 骤构成循环结构?这个循环 结构用程序框图如何表示?
第二步,确定区间[a,b], 满足f(a)·f(b)<0. 第三步,取区间中点 m a b 2 第四步,若f(a)·f(m)<0,则 含零点的区间为[a,m];否则, 含零点的区间为[m,b].将新 得到的含零点的区间仍记为[a, b].
3、循环结构
直到型( Until )循环
当型(While)循环
A 循环体 循环体
新课标高中数学人教A版必修一全册课件-新课标高中数学人教A版必修一全册课件 程序框图与算法的基本逻辑结构
程序框图:
开始 输入a,b,c △= b2-4ac
△≥0?
程序框图:
开始
输入a,b,c
△= b2-4ac
△≥0?
是
p
b
2a
程序框图:
开始
输入a,b,c
△= b2-4ac
△≥0?
是
p
b
2a
q 2a
程序框图:
开始
输入a,b,c
△= b2-4ac
△≥0?
是
p
b
2a
q 2a
△=0?
程序框图:
开始
输入a,b,c
S p(p a)(p b)(p c)
试用这个公式设计一个计算三角形面积的算 法步骤.
第一步,输入三角形三条边的边长a,b,c.
S = p(p - a)(p - b)(p - c)
例1 若一个三角形的三条边长分别为a,b, c,令p=(a+b+c)/2,则三角形的面积
S p(p a)(p b)(p c)
第一步,给定一个大于2的整数n; 第二步,令i=2; 第三步,用i除n,得到余数r; 第四步,判断“r=0”是否成立.若是,则n不是
质数,结束算法;否则,将i的值增
加1,仍用i表示;
知识探究(一):算法的程序框图 1:复习“判断整数n(n>2)是否为质数”的 算法。
第一步,给定一个大于2的整数n; 第二步,令i=2; 第三步,用i除n,得到余数r; 第四步,判断“r=0”是否成立.若是,则n不是
程序框图:
开始
输入a,b,c
△= b2-4ac
△≥0?
是
p
b
2a
q 2a
△=0? 否 x1=p+q x2=p-q 输出x1,x2
高一数学必修课程中的算法初步及知识点
高一数学必修课程中的算法初步及知识点在高一数学的必修课程中,算法初步是一个重要且有趣的部分。
它为我们打开了一扇通往逻辑思维和问题解决的新大门,帮助我们以更加系统和高效的方式去思考和处理问题。
算法,简单来说,就是解决问题的一系列明确的步骤。
它就像是我们做菜时的菜谱,清晰地告诉我们先做什么,再做什么,每一步该怎么做。
算法的描述方式有多种,比如自然语言、程序框图和程序语言。
自然语言描述就像是我们日常的交流,用通俗易懂的话把步骤说清楚。
比如说计算 1+2+3++100 的和,我们可以用自然语言这样描述算法:先设一个变量 S 初始化为 0,再设一个变量 i 初始化为 1,然后判断 i是否小于等于 100,如果是,就把 i 加到 S 中,然后 i 增加 1,重复这个过程,直到 i 大于 100,最后得到的 S 就是所求的和。
程序框图则更加直观形象,通过各种图形符号来表示算法的流程。
常见的图形符号有起止框、输入输出框、处理框、判断框和流程线等。
还是以计算上述求和为例,我们可以用程序框图来表示:先画一个起止框表示开始,然后画一个输入输出框输入变量 i 和 S 的初始值,接着画一个处理框进行累加和 i 的增加,再画一个判断框判断 i 是否小于等于 100,如果是,就沿着流程线回到处理框继续执行,如果否,就输出S 的值结束。
程序语言则是能够让计算机直接执行的语言,比如常见的 Python、C++等。
用程序语言编写上述求和的算法代码,会更加精确和规范。
算法的基本逻辑结构有三种:顺序结构、条件结构和循环结构。
顺序结构是最简单的,就是按照从上到下的顺序依次执行各个步骤。
比如说先计算 2+3 的值,再把结果乘以 5,这就是顺序结构。
条件结构则是根据条件的判断来决定执行不同的步骤。
就像我们出门前根据天气决定是否带伞,如果下雨就带伞,不下雨就不带伞。
循环结构用于重复执行某些步骤,直到满足特定条件为止。
比如前面计算 1 到 100 的和,就是通过循环结构不断累加。
人教新课标版数学高一必修三教案 程序框图与算法的基本逻辑结构
1.1.2 程序框图与算法的基本逻辑结构(7)说出连接点的图形符号与功能.(8)总结几个基本的程序框、流程线和它们表示的功能.(9)什么是顺序结构?讨论结果:(1)程序框图又称流程图,是一种用程序框、流程线及文字说明来表示算法的图形.在程序框图中,一个或几个程序框的组合表示算法中的一个步骤;带有方向箭头的流程线将程序框连接起来,表示算法步骤的执行顺序.(2)椭圆形框:表示程序的开始和结束,称为终端框(起止框).表示开始时只有一个出口;表示结束时只有一个入口.(3)平行四边形框:表示一个算法输入和输出的信息,又称为输入、输出框,它有一个入口和一个出口.(4)矩形框:表示计算、赋值等处理操作,又称为处理框(执行框),它有一个入口和一个出口.(5)菱形框:是用来判断给出的条件是否成立,根据判断结果来决定程序的流向,称为判断框,它有一个入口和两个出口.(6)流程线:表示程序的流向.(7)圆圈:连接点.表示相关两框的连接处,圆圈内的数字相同的含义表示相连接在一起.(8)总结如下表.图形符号名称功能终端框(起止框)表示一个算法的起始和结束输入、输出框表示一个算法输入和输出的信息处理框(执行框)赋值、计算判断框判断某一条件是否成立,成立时在出口处标明“是”或“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. 程序框图如下:点评:很明显,顺序结构是由若干个依次执行的步骤组成的,它是最简单的逻辑结构,它是任何一个算法都离不开的基本结构. 变式训练下图所示的是一个算法的流程图,已知a 1=3,输出的b=7,求a 2的值.解:根据题意221a a +=7, ∵a 1=3,∴a 2=11.即a 2的值为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 000 10 300 10 609 10 927.27 11 255.09价格程序框图如下:点评:顺序结构只需严格按照传统的解决数学问题的解题思路,将问题解决掉.最后将解题步骤 “细化”就可以.“细化”指的是写出算法步骤、画出程序框图. 拓展提升如下给出的是计算201614121++++ 的值的一个流程图,其中判断框内应填入的条件是______________.答案:i>10. 课堂小结(1)掌握程序框的画法和功能.(2)了解什么是程序框图,知道学习程序框图的意义.(3)掌握顺序结构的应用,并能解决与顺序结构有关的程序框图的画法. 作业习题1.1A 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的算法,并画出程序框图例3 设计算法判断一元二次方程ax2+bx+c=0是否有实数根,并画出相应的程序框图.解:算法步骤如下:第一步,输入3个系数:a,b,c.第二步,计算Δ=b2-4ac.第三步,判断Δ≥0是否成立.若是,则输出“方程有实根”;否则,输出“方程无实根”.结束算法.相应的程序框图如右:点评:根据一元二次方程的意义,需要计算判别式Δ=b2-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)什么是循环结构、循环体?(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,,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”是否成立来控制循环.程序框图如下:知能训练由相应的程序框图如右图,补充完整一个计算1+2+3+…+100的值的算法.(用循环结构)第一步,设i的值为_____________.第二步,设sum的值为_____________.点评:(1)如果算法问题里涉及的运算进行了许多次重复的操作,且先后参与运算的数之间有相同的规律,就可引入变量循环参与运算(我们称之为循环变量),应用于循环结构.在循环结构中,要注意根据条件设计合理的计数变量、累加和累乘变量及其个数等,特别要求条件的表述要恰当、精确.(2)累加变量的初始值一般取0,而累乘变量的初始值一般取1.课堂小结(1)熟练掌握两种循环结构的特点及功能.(2)能用两种循环结构画出求和等实际问题的程序框图,进一步理解学习算法的意义.作业习题1.1A组2.第4课时程序框图的画法导入新课(直接导入)前面我们学习了顺序结构、条件结构、循环结构,今天我们系统学习程序框图的画法.推进新课新知探究提出问题(1)请大家回忆顺序结构,并用程序框图表示.(2)请大家回忆条件结构,并用程序框图表示.(2)算法步骤中的“第四步”可以用条件结构来表示(如下图).在这个条件结构中,“否”分支用“a=m”表示含零点的区间为[m,b],并把这个区间仍记成[a,b];“是”分支用“b=m ”表示含零点的区间为[a,m],同样把这个区间仍记成[a,b].(3)算法步骤中的“第五步”包含一个条件结构,这个条件结构与“第三步”“第四步”构成一个循环结构,循环体由“第三步”和“第四步”组成,终止循环的条件是“|a-b|<d或f(m)=0”.在“第五步”中,还包含由循环结构与“输出m”组成的顺序结构(如下图).(4)将各步骤的程序框图连接起来,并画出“开始”与“结束”两个终端框,就得到了表示整个算法的程序框图(如下图).点评:在用自然语言表述一个算法后,可以画出程序框图,用顺序结构、条件结构和循环结构来表示这个算法,这样表示的算法清楚、简练,便于阅读和交流.例 2 相传古代的印度国王要奖赏国际象棋的发明者,问他需要什么.发明者说:陛下,在国际象棋的第一个格子里面放1粒麦子,在第二个格子里面放2粒麦子,第三个格子放4粒麦子,以后每个格子中的麦粒数都是它前一个格子中麦粒数的二倍,依此类推(国际象棋棋盘共有64个格子),请将这些麦子赏给我,我将感激不尽.国王想这还不容易,就让人扛了一袋小麦,但不到一会儿就没了,最后一算结果,全印度一年生产的粮食也不够.国王很奇怪,小小的“棋盘”,不足100个格子,如此计算怎么能放这么多麦子?试用程序框图表示此算法过程.解:将实际问题转化为数学模型,该问题就是要求1+2+4+……+263的和. 程序框图如下:点评:对于开放式探究问题,我们可以建立数学模型(上面的题目可以与等比数列的定义、性质和公式联系起来)和过程模型来分析算法,通过设计算法以及语言的描述选择一些成熟的办法进行处理.例3 乘坐火车时,可以托运货物.从甲地到乙地,规定每张火车客票托运费计算方法是:行李质量不超过50 kg 时按0.25元/kg ;超过50 kg而不超过100 kg 时,其超过部分按0.35元/kg ;超过100 kg 时,其超过部分按0.45元/kg .编写程序,输入行李质量,计算出托运的费用.分析:本题主要考查条件语句及其应用.先解决数学问题,列出托运的费用关于行李质量的函数关系式.设行李质量为x kg ,应付运费为y 元,则运费公式为:y=⎪⎩⎪⎨⎧>-+⨯+⨯≤<-+⨯≤<,100),100(45.05035.05025.0,10050),50(35.05025.0,500,25.0x x x x x x整理得y=⎪⎩⎪⎨⎧>-≤<-≤<.100,1545.0,10050,535.0,500,25.0x x x x x x要计算托运的费用必须对行李质量分类讨论,因此要用条件语句来实现.解:算法分析:第一步,输入行李质量x.第二步,当x≤50时,计算y=0.25x ,否则,执行下一步.第三步,当x≤100,计算y=0.35x -5,否则,计算y=0.45x -15.第四步,输出y .程序框图如下:知能训练5的算法,画出算法的程序设计一个用有理数数幂逼近无理指数幂2框图.解:算法步骤:第一步,给定精确度d,令i=1.第二步,取出2的到小数点后第i位的不足近似值,记为a;取出2的到小数点后第i位的过剩近似值,记为b.第三步,计算m=5b-5a.5的近似值为5a;否则,将i的值增加1,返回第四步,若m<d,则得到2第二步.5的近似值为5a.第五步,得到2程序框图如下:拓展提升求)410(4141414个共++++,画出程序框图.分析:如果采用逐步计算的方法,利用顺序结构来实现,则非常麻烦,由于前后的运算需重复多次相同的运算,所以应采用循环结构,可用循环结构来实现其中的规律.观察原式中的变化的部分及不变项,找出总体的规律是4+x1,要实现这个规律,需设初值x=4.解:程序框图如下:。
高一数学必修3 程序框图1(顺序结构) ppt
| Z1 | Z2
;
§1.1.2程序框图
程序框图
开始
输入x0,y0,A,B,C
Z1=Ax0+By0+C
Z2=A2+B2
d | z1 | z2
输出d
结束
主页
§1.1.2程序框图
课堂小结 1.算法的描述 (1)文字描述 (2)程序框图:由于图形的描述方法既形象,又直 观,设计者的思路表达得清楚易懂,便于检查修 改,所以得到广泛的应用. 2.现以证明,无论多么复杂的问题,其算法都可 表示为这三种基本结构的组合.其结构清晰、易 于理解、易于验证其正确性,也易于查错和排 错.
X Y H , 2 X 4Y F .
X (4 H F ) / 2, Y ( F 2 H ) / 2.
主页
§1.1.2程序框图
解:用数学语言
程序框图
开始
第一步:输入总头数H,
总脚数F;
输入H和F
X=(4H-F)/2
第二步:计算鸡的个数
x=(4H-F)/2;
主页
§1.1.2程序框图
开始
输入n
否
i=2
r=0? 是
n不是质数 n是质数
求n除以i 的余数r i=i+1
否
i≥n或r=0? 结束
是 1 主页
§1.1.2程序框图
从上面的程序框图中,不难看出以下三种不 同的逻辑结构.
求n除以i 的余数r
输入n
r=0?
是
否
i=i+1
i=2
否 i≥n或r=0?
是
n不是质数
主页
输出框 结束框
§1.1.2程序框图
人教新课标版高中数学高一第1课时 程序框图、顺序结构
12345
解析 答案
3.如图所示的程序框图的运行结果是__2_.5___. 解析 初始值a=2,b=4, 得 S=42+24=2+12=2.5, 输出S的值为2.5.
12345
解析 答案
4.如图所示的程序框图,若输出的结果是S=7,则输入的A值为__3___.
解析 该程序框图的功能是输入A,计算2A+1的值. 由2A+1=7,解得A=3.
12345
解析 答案
5.写出求过点P1(3,5),P2(-1,2)的直线斜率的算法,并画出程序框图. 解 算法如下: 第一步,输入x1=3,y1=5,x2=-1, y2=2. 第二步,计算 k=xy11--xy22.
第三步,输出k. 程序框图如图.
12345
解答
规律与方法
1.在设计计算机程序时要画出程序运行的程序框图,有了这个程序框图, 再去设计程序就有了依据,从而就可以把整个程序用程序语言表述出来, 因此程序框图是我们设计程序的基本和开端. 2.规范程序框图的表示 (1)使用标准的框图符号; (2)框图一般按从上到下、从左到右的方向画,流程线要规范; (3)除判断框外,其他框图符号只有一个进入点和一个退出点; (4)在图形符号内描述的语言要非常简练、清楚.
解答
类型三 程序框图的应用 例3 一个算法如图,它的功能是什么? 解 其功能是求点(x0,y0)到直线Ax+ By+C=0的距离.
解答
反思与感悟 程序框图本身就是为直观清晰表达算法而生,故只需 弄清各种程序框、流程线的功能,再依次执行一下程序,不难读懂 该图所要表达的算法.
跟踪训练3 写出下列算法的功能: (1)图①中算法的功能是(a>0,b>0)_求__以__a_,__b_为__直__角__边__的__直__角__三__角__形__斜__边__ __c的__长___; (2)图②中算法的功能是_求__两__个__实__数__a_,__b_的__和___.
高一数学程序框图与算法的基本逻辑结构
开始
p=(2+3+4)/2
s=SQR(p*(p-2)*(p -3)*(p-4))
输出s
结束
例3 设计房租收费的算法,其要求是:住房面积80平方米 以内,每平方米收费3元,住房面积超过80平方米时,超过 部分,每平方米收费5元.输入住房面积数,输出应付的房租.
算法分析: 第一步:输入住房面积S 第二步:根据面积选择计费 方式:如果S小于或等于80, 则租金为M=s×3,否则为 M=240+(S-80)×5
判断一个正整数是否是质数的算法
开始 输入n n=2? 是
自然语言描述
第一步:判断n是否 等于2?若n=2,则n 是质数,否则,执行 第二步; 第二步:依次从2~ (n-1)检验是不是 n的因数,即能整除 n的数,若有这样的 数,则n不是质数; 若没有,则n是质数。
图形描述
否
d=2 否 d整除n? 是 flag=0 是 d<=n-1且 flag=1? 否 flag=1? 是 n是质数 结束 d=d+1
输入面积S 开始
否
S<=80 是 M=3*S M=240+5*(S-8)
第三步:输出房租M的值。
思考:整个程序框图有什么特点?
输出租金M
结束
例4 任意给定3个 正实数,设计一个 算法,判断分别以 这3个数为三边边 长的三角形是否 存在.画出这个算 法的程序框图..
开始
输入a,b,c
a+b>c,a+c > b, b+c > a是否同 时成立? 是
否
n不是质数
程序框图又称流程图,是一种用规定的图形,指向线及 文字说明来准确、直观地表示算法的图形。 程序框 名称 功能
高一数学程序框图1
(第一课时)
教学目标: 理解并掌握算法的三种基本 逻辑结构
程序框图又称流程图,是一种用规定的图形,指向线及 文字说明来准确、直观地表示算法的图形。 程序框 名称 功能
终端框(起 表示一个算法的起始和结束 止框) 输入、输出 表示算法的输入和输出的信 框 息 处理框(执 赋值、计算 行框) 判断框 判断一个条件是否成立,用 “是”、“否”或“Y”、 “N”标明
计算
输出X1、X2
b x1 2a b x2 2a
结束
开始
输入系数a,b,c
2 b 4ac 计算
设计算法,求一元二 次方程ax2+bx+c=0 (a≠0)的根,画出 相应的流程图 是
△<0? 否
x1 b b , x2 2a 2a
输出无实数解
是
存在这样 的三角形
否
a+b>c,b+c>a,c+a>b是否
都成立,若是,则存在这样 的三角形,若不是,则不存 在这样的三角形.
不存在这样 的三角形
结束
例5.设计算法,求一元二次方程ax2+bx+c=0 (a≠0 b2-4ac>0)的根,画出相应的流程图 开始
输入系数a,b,c
2 b 4ac 计算
顺序结构是任何一个算法都不可缺少的基 本结构,它由若干个依次执行的处理步骤 组成。
例3、已知一个三角形 的三边边长分别是 2,3,4,利用海伦-秦九 韶面积公式,求三角形 的面积. 解:求面积的算法:
23 4 第一步:计算 p 2
图示:
开始
23 4 p 2
S p(p 2)(p 3)(p 4)
人教新课标版数学高一-高中数学必修3导学案 程序框图与算法的逻辑结构(一)
1.1.2程序框图与算法的逻辑结构(一)【学习目标】1、熟练掌握程序框图的画法、意义和作用,并规范使用;2、通过实例,了解程序算法的三个基本逻辑结构,基本掌握顺序结构、条件结构. 【课前导学】阅读课本P6~12后填空:1、程序框图:(1)程序框图又称___________,是一种用__________、_____________及____________来表示算法的图形; (2)基本的程序框和它们各自表示的功能:2、算法的三种基本逻辑结构是____________、__________、___________. 用程序框图分别表示顺序、条件结构:【课内探究】例1、已知一个三角形三条边的边长分别为a 、b 、c ,利用海伦—秦九韶公式(即三角形面积 S =))()((c p b p a p p ---,其中p =2cb a ++)设计一个计算三角形面积的算法,并画出程序框图。
解:算法步骤如下: 画出程序框图:第一步,输入三角形三条边的边长a 、b 、c ;第二步,计算 ;第三步,计算;第四步,输出。
变式1:已知两个变量A和B的值,试设计一个交换这两个变量的值的算法,并画出程序框图。
例2、任意给定3个正实数a、b、c,设计一个算法,判断分别以这3个数为三边边长的三角形是否存在,并画出这个算法的程序框图。
画程序框图如下:解:算法步骤如下:第一步,;第二步,判断是否同时成立。
若是,则存在这样的三角形;否则,不存在这样的三角形。
变式2:某居民区的物业部门每月向居民收取卫生费,计费方法是:3人和3人以下的住户,每户收取5元;超过3人的住户,每超出1人加收1.2元。
(1)写出应收的卫生费y关于人数x的函数关系式;(2)设计一个算法,据输入的人数,计算应收取的卫生费,并画出程序框图。
【课后作业】1、给出以下一个算法的程序框图(如图所示),该程序框图的功能是(A .求输出a 、b 、c 三数的最大数B .求输出a 、b 、c 三数的最小数C .将a 、b 、c 按从小到大排列D .将a 、b 、c 按从大到小排列()()102 .10x x y x x -<⎧⎪=⎨+≥⎪⎩、画出求分段函数的函数值的程序框图。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
顺序结构、条件结构
算法是高中数学课程中的新内容,其思想是非常重要的,但并不神秘.算法内容是将数学中的算法与计算机技术建立联系,形象化地表示算法,为了有条理、清楚地表示算法,往往需要将解决问题的过程用一些通用图形符号构成一张来表示算法的图,这就是程序框图.程序框图是表示算法的方法之一. 用框图表达算法的优点是直观、形象、容易理解,因此正确理解算法的概念、框图符号及其作用,掌握画框图的基本规则是学好算法的根本.
一、学好框图需注意以下几个要点:
要点一、掌握常用框图符号的画法及意义
起、止框表示框图的开始与结束;输入、输出框表示数据的输入或者结果的输出;处理框表示赋值、执行计算语句、结果的传送;判断框表示根据条件判断;循环框表示程序做重复运算;连接点表示连接另一页或另一部分的框图.
要点二、熟练掌握画框图的规则
使用标准的框图的符号.
框图一般按从上到下、从左到右的方向画.
除判断框外,大多数框图符号只有一个进入点和一个退出点.判断框是具有超过一个退出点的惟一符号. 一种判断框是“是”与“不是”两分支的判断,有且只有两个结果;另一种是多分支判断,有几种不同的结果.
在图形符号内描述的语言要非常简练清楚.
要点三、熟悉框图的三种结构
顺序结构:顺序结构是一种最简单、最基本的结构,它描述的是可以按照步骤依次执行的一个算法.这个结构的各步只能按顺序执行.
条件分支结构:根据指定的条件进行判断,由判断的结果选取执行不同的分支路径中的一条.框图设计用选择结构,它包含一个判断框,当条件P成立时,执行A,否则执行B.
循环结构:循环结构是指在算法中需要重复执行一条或多条指令的控制结构,即从某处开始,按照一定的条件反复执行某一处理步骤,反复执行处理的步骤称为循环体.
算法的三种结构的共同特点:
只有一个入口;1.1.2程序框图与算法的基本逻辑结构文字资料(1)
只有一个出口;(请注意:一个判断框有两个出口,而一个条件结构只有一个出口,不要将判断框的出口和条件结构的出口混为一谈.)
结构内每一部分都有机会被执行到,也就是说每一个框都应该有从入口到出口的路径通过它;
结构内的循环都不是死循环,即都不是无终止的循环.
框图的问题主要出现在三种结构中,因此掌握三种结构的特点是画好框图的根本,这也是检查一个框图或算法是否正确、合理的基本方法.
二、算法的三种逻辑结构:
1、顺序结构:顺序结构由若干个依次执行的处理步骤组成。
这是任何一个算法都离不开的基本结构。
例1.请叙述一下烧水泡茶的过程
解:该算法用自然语言表述为:
Step1:洗好开水壶;
Step2:灌上凉水,放在火上,等待水开;
Step3:洗茶杯,茶杯里放好茶叶;
Step4:水开后再冲水泡茶。
程序框图表示为:
例 2. 已知一个三角形的三边长分别是
,,
a b c,它的面积可用海伦—秦九韶公式计算。
S=
,其中2
a b c
p
++
=。
为计算机设计一个算法,输入三角形的三条边长,,
a b c,输出三角形的面积S。
解:程序框图为
2、选择结构:选择结构由一个判断框和两个分支组成。
当条件框内的条件成立时,程序沿着分支1进行;否则程序沿分支2进行。
例3.给计算机编写一个算法,输入一个自变量x 的值,求分段函数22,0
(),0x x f x x x +≥⎧=⎨<⎩的函数值
解:该算法用自然语言表述为
Step1:输入x 的值;
Step2:进行判断,如果0x ≥,则()2f x x =+, 否则2()f x x =。
Step3: 输出结果。
程序框图表示为
例4.判断一元二次函数)0(0≠=++a c bx ax 是否有根。
分析:24b ac
∆=-,当0∆≥时,方程有实根;当0∆<时,方程无实根。
[思考]
(1)比较例3和例4,说出何时使用平行四边形,何时使用直角矩形?
___________________________________________________________
(2)例4中为什么只有0∆≥这一个判断框,而没有0∆<时的判断框?
___________________________________________________________
选择结构的嵌套
例9.函数
1(0)
0(0)
1(0)
x
y x
x
>
⎧
⎪
==
⎨
⎪-<
⎩,编写一个算法,输入x的值,输出y的值
解:此框图是嵌套选择结构,外层选择结构的“Yes”分支很简单,“No”分支中又包含了一个条件结构。
[探究]
________________________________________________________________________________
______________________________________。