算法程序设计_第1页
算法程序设计_第2页
算法程序设计_第3页
算法程序设计_第4页
算法程序设计_第5页
已阅读5页,还剩158页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

高一信息科技教师:周智敏办公室:敬业楼405Email:zhou_zhi_min@163.com1选学模块算法与程序设计(VisualBasic)2VisualBasic程序演示24点程序五子棋3VisualBasic程序演示简单的计算器计算器4第一章计算机和算法5第一章计算机和算法问题:做猜价格游戏,需要哪些角色??判断价格的人(判断者)猜价格的人(猜者)陈蓉三位猜价格的人6第一章计算机和算法计算机程序同学们猜者——判断者——7第一章计算机和算法判断者——计算机程序猜者——同学们根据猜者所猜的价格,给出判断……直至猜者所猜的价格正确根据判断者给出的判断结果继续猜价格直至所猜的价格正确8第一章计算机和算法判断者——猜者——计算机程序同学们计算机程序9分析问题并确定要计算机做什么计算者计算机程序——根据用户输入的数,进行计算并显示结果数据提供者用户——提供计算机程序计算的数据。10第一章计算机和算法计算机程序解决问题一般要经历以下三个阶段寻找解决问题的途径和方法用计算机进行处理分析问题并确定要计算机做什么编什么程序怎么编程序编写调试程序分析问题设计算法编写程序开始结束调试程序11问题1:数据的存储——在编写任何一个程序前需要考虑的两个问题数据在计算机程序中怎么表示?12数据的表示◆变量是用来存储程序中要用到的数据◆变量的实质是内存中的某一单元——变量存储单元内存13◆

变量的命名规则:变量名称只能由字母、数字和下划线组成组成,且必须由字母开头。_A_BA_B_C1A@axa.ba1数据的表示——变量辨别下列变量命名的正确性:abcd变量名——存储单元的名称10203040变量值——存储单元中存放的数据14变量的操作输入——从外界输入数据,将其存储到指定的变量中。例1:输入a例2:输入a,b注:输入数据的值是不定(随机)的ab5201015变量的操作输出——将文字,变量中的值或计算结果显示出来。例4:输出"您好"

例1:输出a例2:输出a,b例3:输出a+bab102016变量的操作s

a×b单个变量多个变量组成的表达式将右边表达式的值存入左边的单个变量中赋值:赋值符号“”17变量的操作规则1:“取之不尽”s

a×babs155318变量的操作规则2:“赋值即覆盖”a

2b

3s

a*ba

5b

6s

a*bab23s6563019练习问:以下步骤的输出结果是什么①输入aa80

输出a①a180aa1

输出a①a80②输入a③输出a①a80b80

输出a+b①a80

b80

ab

a+b

输出ab20变量的操作输入输出赋值运算操作算术运算关系(比较)运算逻辑运算21变量的操作——算术运算运算类型运算符运算结果优先级算术运算+,-,*(乘),/(除)\(求商)mod(求余数)数值k3^3pkmod4qpmod2p3q1k3^2p15\kqp\2p1q0^(乘方)k27922变量的操作——算术运算运算类型运算符运算结果优先级算术运算+,-,*(乘),/(除)\(求商)mod(求余数)数值^(乘方)1、^2、*,/3、\4、mod5、+,-输入a,b,cxa+b*c^2y(c+

b)/aaamodx\y-

b输出x,y,abcayx输入的值依次为1,2,323问:以下步骤的输出结果是什么?练习输入a,bc3d2e3aa-b*c\dmode输出a输入a,b,caa\3bb+acc+abb\3aa+bcc+bcc\3aa+cbb+c输出a,b,c输入的值依次为21,4输入的值依次为50,43,1324输入shs\3600m(smod3600)\60ssmod60输出h,"/",m,"/",s问:以下步骤的输出结果是什么?练习若输入的值363625负数的求商和求余数例:求-9mod4-5\-2-9mod4-94-2-8-1-5\-2-5-22-4-1=-1=2运算规则:|b|<=|x|且|c|<=|y|xyabc被除数除数商余数26课堂练习1、求9\–4和–70mod4的结果2、将数学表达式写成算法设计语言的表达式。3、求表达式

15–6*2mod5<>3

的值a+b2ab27例m"123"n"321"strm+n输出str写出以下步骤执行后的输出结果"123"mn"321"字符串(文字)连接str"123321"m123n321strm+n输出str28练习m敬业中学n欢迎您strm+n输出str写出下列步骤执行后的输出结果m"敬业中学"nstr"

"

"

"

"欢迎您""敬业中学欢迎您"m"123"n321strm+n输出str29变量的操作——字符串运算运算类型运算符运算结果优先级算术运算+,-,*(乘),/(除)\(求商)mod(求余数)数值字符串运算+(字符串连接)字符串^(乘方)1、^2、*,/3、\4、mod5、+,-30变量的操作——关系(比较)运算运算类型运算符运算结果优先级关系运算>,<,>=,<=,=,<>True(T)或False(F)相同True(T):运算结果为真(成立)False(F):运算结果为假(不成立)例:表达式

6\4=5mod4的值是什么31变量的操作——关系(比较)运算运算类型运算符运算结果优先级关系运算>,<,>=,<=,=,<>True(T)或False(F)相同True(T):运算结果为真(成立)False(F):运算结果为假(不成立)例:已知x的值为5,表达式

xmod3>3modx的值是什么32变量的操作——关系(比较)运算运算类型运算符运算结果优先级关系运算>,<,>=,<=,=,<>True(T)或False(F)相同True(T):运算结果为真(成立)False(F):运算结果为假(不成立)例:若要使表达式100

100的值为True,则空格处可以填哪些关系运算符?33变量的操作——逻辑运算运算类型运算符运算结果优先级逻辑运算True(T)或False(F)1not(非)

2and(与)3or(或)and(与)or(或)not(非)34变量的操作——逻辑运算逻辑运算规则ABTrueTrueTrueFalseFalseTrueFalseFalseAorBTrueTrueTrueFalseAandBTrueFalseFalseFalseNotAFalseTrue35变量的操作——逻辑运算下列逻辑运算的结果是什么?1)notpandq2)notporq3)not(porq)4)notqorp5)not(qorp)pqTF36变量的操作——逻辑运算下列逻辑运算的结果是什么?6)(3<=4)andp7)p<>a8)(p=q)or("p"<"q")pqTF37变量的操作——逻辑运算运算类型运算符运算结果优先级逻辑运算and(与)or(或)not(非)True(T)或False(F)注:参与逻辑运算的只能是真(T)和假(F)

数值和字符串不能参加逻辑运算的TandFForFnotF1and90or"AB12ab"not1001not(非)

2and(与)3or(或)38常用函数sqr(x):x的算术平方根abs(x):x的绝对值int(x):小于等于x的最大整数

例:sqr(9) sqr(-4)abs(9)abs(0)abs(-9)int(8.87) int(-8.87)39运算的优先级算术运算(字符串运算)关系(比较)运算逻辑运算常用函数(sqr,abs,int)高低40赋值语句与表达式赋值语句:表达式aamodx\y-

b表达式算术表达式逻辑表达式41课堂练习问:以下是什么表达式,并给出结果1)sqr(a^2+b^2)2)a>b-a3)a<band(c-a)/2>0设变量a的值为3,b的值为4,c的值为542赋值语句与表达式赋值语句:aamodx\y-

b表达式TrueFalse(逻辑值)数值(字符串)最终结果表达式算术表达式逻辑表达式43课堂练习如果变量x的值为4,那么以下表达式的结果是什么?①x<=4andx>=6②x<=4orx>=6③notx<>4④not"a"

>"

b"44回家作业如果变量x的值为6,那么以下表达式的结果是什么?①x<=4andx>=6②x<=4orx>=6③notx<>4④not"a"

>"A"45例:把下列数学算式写成程序设计表达式6、√p×(p-a)×(p-b)×(p-c)46例:当变量x的值为5时,表达式int(3/2)>5mod3or4/2*2<>1的值是什么?1>5mod3or4/2*2<>11>5mod3or4<>11>2or4<>1falseorTrueTrue47课堂练习写出下列步骤执行后的结果1)输入a,b,cx1a+b+cx2x1/3

输出x1,x2若输入a的值为3,b的值为7,c的值为-248课堂练习写出下列步骤执行后的结果2)

输入xxx+1yx+1zy+1

输出z若输入x的值349课堂练习3)m7n3

mm+n

nm+n

输出m和n写出下列步骤执行后的结果50课堂练习4)n123

anmod10

bn\100cn\10-b*10

输出a和b写出下列步骤执行后的结果51课堂练习5)

以下步骤的功能为:以秒为单位输入一个整数存入变量t,转换为时(h)分(m)秒(s)并依次输出。输入thms输出h,m和s若输入t的值3636则输出103652课堂练习6)

写出判断一个三位正整数(变量n)是否为对称三位数的关系表达式。对称三位数:该三位数的百位数和个位数相同。例121,343,797等若该数是对称三位数,则表达式的值为T;若该数不是对称三位数,则表达式的值为F百位数个位数=537)

写出判断一个年份(变量year)是否为闰年的逻辑表达式。闰年:该年份能被4整除并且不能被100整除,或者能被400整除。例:1992,2000,2004是闰年;1900,2100不是闰年;课堂练习若该年份是闰年,则表达式的值为T;若该年份不是闰年,则表达式的值为F54课堂练习8)

写出判断一个两位正整数(变量n),其十位数是否大于个位数的关系表达式。若该两位数为12,则表达式的值为F;若该两位数为54,则表达式的值为T十位数个位数>nmod10n\1055课堂练习9)

写出判断一个三位正整数(变量n),其百位数,十位数,个位数之和是否等于个17的关系表达式。若该三位数满足上述条件,则表达式的值为T;若该三位数不满足上述条件,则表达式的值为F;十位数个位数百位数++=17nmod10n\10n\10mod1056问题1:数据的存储——数据在计算机程序中怎么表示?问题2:计算的过程——计算过程如何用计算机的指令来表示?在编写任何一个程序前需要考虑的两个问题57问题1:数据的存储——数据在计算机程序中怎么表示?求矩形的周长和面积①输入长和宽②周长=(长+宽)×2③面积=长×宽④输出周长和面积58①输入长和宽②周长=(长+宽)×2③面积=长×宽④输出周长和面积需在程序中表示的数据有哪些?长,宽,周长和面积如何表示这些数据a:长b:宽c:周长s:面积变量问题1:数据的存储——数据在计算机程序中怎么表示?59如何表示这些数据a:长b:宽c:周长s:面积变量abcs531615问题1:数据的存储——数据在计算机程序中怎么表示?①输入长和宽②周长=(长+宽)×2③面积=长×宽④输出周长和面积①输入a和b②c=(a+b)×2③s=a×b④输出c和s60解决具体问题的步骤写出输入已知矩形的长和宽,输出其面积和周长的解题步骤。①开始②输入长a和宽b③计算周长c面积s

c(a+b)*2

sa*b④输出c和s⑤结束61猜价格游戏设:正确价格已存入变量M写出猜价格游戏(判断者)的解题步骤①开始②输入价格N⑤如果N<M,输出"低了!"④如果N>M,输出"高了!"③如果N=M,输出"猜对了!"转到⑥转到②转到②⑥结束62解决具体问题的步骤求矩形面积和周长算法猜价格游戏(判断者)②

输入价格N⑤如果N<M,输出“低了!”,

转到②④

如果N>M,输出“高了!”,

转到②③如果N=M,输出“猜对了!”转到⑥⑥结束①开始①开始②输入长a和宽b③计算周长c面积s

c(a+b)*2

sa*b④输出c和s⑤结束63算法:是在有限步骤内求解某一问题所使用的具有精确定义的一系列操作规则。

简单地说,算法就是指解决问题的具体方法和步骤算法的概念:64算法的特性

是在有限步骤内求解某一问题所使用的具有精确定义的一系列操作规则算法◆

有穷性(有限的)◆能行性(可行的)◆确定性(无二义性)◆有0个或多个输入◆有1个或多个输出五个特性65指出以下算法违反哪些特性开始ht\3600m(tmod3600)\60stmod60结束x5y2xx*正整数yx/(y-2)输出x◆有穷性◆确定性◆确定性◆有1个或多个输出◆可行性66算法的三种表示方法用自然语言描述算法用流程图描述算法用伪代码描述算法67自然语言伪代码流程图④计算分钟数存入变量m①开始②输入以秒为单位的一个整数存入变量t⑦

结束⑥

输出变量h,m,s

的值③计算小时数存入变量h开始输入th=t\3600s=tmod60输出h,m,s结束⑤计算秒数存入变量sm=(tmod3600)\60转换秒至时分秒的算法表示68■用伪代码描述算法简化了的编程语言■用流程图描述算法用图形的方法来描述算法■用自然语言描述算法汉语+必要数学符号算法的三种表示方法不直观,不简洁69自然语言伪代码流程图④计算分钟数存入变量m①开始②输入以秒为单位的以个整数存入变量t⑦

结束⑥

输出变量h,m,s

的值③计算小时数存入变量h开始输入th=t\3600s=tmod60输出h,m,s结束⑤计算秒数存入变量sm=(tmod3600)\60转换秒至时分秒的算法表示ht\3600stmod60输入t输出h,m,s开始结束m(tmod3600)\6070流程图中的图形开始、结束框(圆角矩形)输入、输出框

(平行四边形)算法中具体的计算操作处理框(矩形)算法中的判断操作判断框(菱形)流程线(有向线段)指出算法的流程方向连接框(圆形)ht\3600stmod60输入t输出h,m,s开始结束m(tmod3600)\6071自然语言伪代码流程图④计算面积存入变量s①开始②输入长和宽存入变量a和b⑥结束⑤输出变量s和c

的值③计算周长存入变量c开始输入a和bc=(a+b)*2s=a*b输出s和c结束已知矩形的长和宽,求面积和周长的算法表示c(a+b)*2sa*b输入a,b输出s,c开始结束72典型算法1:输入两个数存入变量a和b中,将这两个变量的值互相交换一下并输出。ab35ab5335交换两个变量的值输入a,b输出a,b开始结束73典型算法1:输入两个数存入变量a和b中,将这两个变量的值互相交换一下并输出。tab33553①②③ab53输入a,b输出a,b开始结束74输入a,b输出a,b开始结束tab33553①②③典型算法1:输入两个数存入变量a和b中,将这两个变量的值互相交换一下并输出。taabbtab53①②③75典型算法练习:实现下面的算法:输入两个数存入变量a和b中,将两个变量的值互相交换一下并输出要求1:不允许使用第三个变量要求2:画出该算法的流程图①②③输入a,b输出a,b开始结束aa+bba-b输入a,b输出a,baa-b开始结束76算法流程图的题型举例读流程图,写执行结果读流程图,写算法功能根据流程图的功能描述,将流程图填空根据问题,设计算法画出流程图77读流程图,写执行结果输出fb3开始结束c4a2d(a+b)*c/278读流程图,写算法功能输入a,b,c开始结束averagesum/3suma+b+c输出average算法功能:输入三个数,输出这三个数的平均数79根据流程图的功能描述,将流程图填空输出f开始结束a2.5f3*a^3+5*a^2-12*a-9.8计算并输出,当a=2.5时,代数式3a3+5a2-12a-9.8的值80根据流程图的功能描述,将流程图填空输入圆柱体底面直径和高,输出其体积Π取3.14输出v开始结束s3.14*d*d/4vh*s输入d,h81例:输入任意一个两位正整数,输出它的十位数字输入任意一个两位正整数n①需要输入吗?②如何解决?③输出什么?将n的十位数字存入变量f输出变量f输入n输出f开始结束fn\10根据问题,设计算法画出流程图82练习:输入任意一个大于9的正整数,输出它的十位数字输入n输出f开始结束根据问题,设计算法画出流程图83转换公式:华氏温度=(9/5)×摄氏温度+32练习:输入摄氏温度,输出相应的华氏温度84例:输入任意一个三位正整数,输出它的百位数和个位数互换之后的新三位正整数(若输入456,则输出654)输入什么?操作步骤?输出什么?输入任意一个三位正整数n①将n的十位数存入变量c将n的百位数存入变量a重新组后变量a,b,c之后存入变量f输出变量f根据问题设计算法,并画出流程图输入n输出f开始结束设计算法将n的个位数存入变量b②③④⑤⑥开始结束⑦⑧85交换一个三位正整数的百位和个位数字an\100输入x输出xbn\10mod10cnmod10fc*100+b*10+a开始结束按照流程线方向依次执行步骤2步骤3步骤1顺序模式一个入口一个出口求矩形面积和周长c(a+b)*2sa*b输入a,b输出s,c开始结束输入a,b输出a,btaabbt交换两个变量的值开始结束86例:输入三角形三边的长度a,b,c(都是正整数),输出其面积ss=√p×(p-a)×(p-b)×(p-c)其中p=(a+b+c)/2若a,b,c为三边长度,则面积s为输入a,b,c输出sp(a+b+c)/2ssqr(p*(p-a)*(p-b)*(p-c))

开始结束87结束YN输出sp(a+b+c)/2ssqr(p*(p-a)*(p-b)*(p-c))"无法构成三角形"输出(a+b>c)and(b+c>a)and(c+a>b)逻辑运算例:输入三角形三边的长度a,b,c(都是正整数),输出其面积s输入a,b,c开始88算法的三种基本模式顺序模式选择模式一步一步地依次执行有选择地执行89选择模式选择条件是步骤A否步骤B两个数据的大小比较>,<,>=,<=,=,<>关系表达式根据给定条件是否成立而决定执行不同步骤的算法模式

逻辑表达式

与,或,非And,Or,Not关系运算符逻辑运算符真/假真/假90例:输入一个数x,输出x的绝对值YN输入xaxa-x方法一开始结束x>=0输出a91判断条件选择条件是步骤A否步骤B选择模式根据判断框中的条件,有选择地执行某一步骤选择条件是步骤A否双分支选择模式单分支选择模式92例:输入一个数x,输出x的绝对值YNx>=0输入x输出aaxa-x方法一开始结束N输入xY输出x方法二开始结束x<0x-x93选择算法练习:输入三个数a,b和c,输出其中的最大数要求:将所给的流程图填完整YN输入a,b,c输出maxc>maxNY

开始结束94选择算法练习:输入三个数a,b和c,输出其中的最大数要求:将所给的流程图填完整YN输入a,b,ca>bmaxamaxb开始输出maxc>maxNY

结束maxc95典型选择算法练习要求1:将流程图画在本子上下课后交练习:输入三个数a,b和c,输出其中的最小数YN输入a,b,c输出minNY

开始结束96选择模式的嵌套问题:输入一元二次方程ax2+bx+c=0的系数a、b、c(a<>0),输出此方程的根x1,x2=-b+2*a√b2-4*a*cx1=x2=-b2*ab2-4*a*c>0b2-4*a*c=0b2-4*a*c<0无实数根具体操作选择条件97输出x1选择模式的嵌套YNd>0db*b-4*a*cNYd=0x1(-b)/(2*a)输出"无实根"输入a,b,c开始结束输出x1,x2x1(-b+sqr(d))/(2*a)x2(-b-sqr(d))/(2*a)问题:输入一元二次方程ax2+bx+c=0的系数a、b、c(a<>0),输出此方程的根98YNYNYNYN选择模式的嵌套YNYNYN99拓展:输入方程ax2+bx+c=0的系数a,b,c,输出此方程的根

x=-cba=0a<>0x1,x2=-b+2*a√b2-4*a*cx1=x2=-b2*ab2-4*a*c>0b2-4*a*c=0b2-4*a*c<0无实数根b=0b<>0c=0c<>0方程不成立x为一切实数100选择模式嵌套的练习练习:购买地铁车票:乘1-4站3元/位;5-9站4元/位;9站以上5元/位;输入人数person、站数n,输出应付款pay。

YN输入n,person输出payNY开始结束101典型选择算法:输入三个数,将这三个数按从大到小的顺序输出Ya>cN输入a,b,cNa>bY输出a,b,cYb>cN输出a,c,b输出c,a,b输出b,a,ca>cYN输出b,c,ab>cYN输出c,b,a开始结束102方法二Na<b?YtaabbtNa<c?Ytaacct11b<c?YtbbcctN典型选择算法:输入三个数,将这三个数按从大到小的顺序输出输入a,b,c开始输出a,b,c结束103例:有一分段函数y=xx>0-1x=0-xx<0,根据输入的x,输出相应的y值x>0YN输入xyxx=0输出yNYy-1y-x选择模式的嵌套开始结束104算法的三种基本执行流程顺序模式选择模式依次执行根据条件有选择地执行循环模式?步骤2步骤3步骤1选择条件Y步骤AN步骤B105例:输入某一个成绩,输出其是否及格。score>=60YN输出"及格"输出"不及格"输入score例:输入某班某次测验的成绩,统计并输出这次测验的及格与不及格人数注:假设班级的总人数为40开始结束106score>=60YN输出"及格"输出"不及格"输入scorescore>=60YN输出"及格"输出"不及格"输入scorescore>=60YN输出"及格"输出"不及格"输入score•••40次例:输入某班某次测验的成绩,统计并输出这次测验的及格与不及格人数注:假设班级的总人数为40开始结束107开始结束例:输入某班某次测验的成绩,统计并输出这次测验的及格与不及格人数注:假设班级的总人数为40score>=60YN输出"及格"输出"不及格"输入score108Nscore>=60YN输出"及格"输出"不及格"输入score执行次数+1执行次数赋值为0输出及格人数,不及格人数i0例:输入某班某次测验的成绩,统计并输出这次测验的及格与不及格人数注:假设班级的总人数为40开始结束执行次数<40Y及格人数+1不及格人数+1使用变量如下i执行次数i0,c10,c20i<40ii+1c2c2+1c1c1+1输出c1,c2c1及格人数c2不及格人数109Nscore>=60YN输入score开始结束Yi0,c10,c20i<40ii+1c2c2+1c1c1+1输出c1,c2循环条件循环体循环初始化110循环体Y循环条件N循环初始化对循环条件和循环体中使用的变量赋初始值循环模式——流程图的基本架构

需要重复执行的操作

决定循环体是否执行111算法的三种基本执行流程顺序模式选择模式依次执行根据条件有选择地执行循环模式?在一定条件下重复执行某些步骤112①高一年级去上海科技馆参加志愿者活动,从学校到上海科技馆有两条路线,已知各路线所需的时间,根据所需时间请你选择耗时最短的一种路线。②教师批改一个班级40位同学的回家作业。③“台风纳沙”来临,广播中连续播出停课通知5次。以下的事例中哪些适宜用循环模式来解决?头脑风暴113以下的事例中哪些适宜用循环模式来解决?头脑风暴④小明参加“挑战者”体能竞赛,根据竞赛活动指南图依次完成所有项目。⑤计算1*2*3*…*n的结果。⑥公共交通实行的换乘优惠方针,若两辆车换乘时间间隔小于2小时,第二辆车的车票优惠1元,计算一下你一天所需的路费。114以下的事例中哪些适宜用循环模式来解决?头脑风暴⑦学校开展财产维修登记,班级的财产管理员需统计出教室中40套课桌椅中有多少套破损,并将统计情况报告总务处。⑧早上小组长不小心把小组8位同学的数学作业和物理作业混在一起交给了物理课代表。请帮助小组长找出这8位同学的数学作业。115练习:输入20个数,统计出其中正数的个数,负数的个数以及零的个数YNYN输入numYN开始结束116例:输入某班某次测验所有同学的成绩,统计并输出这次测验该班的平均成绩注:假设班级的总人数为40N

求总分

sumsum+score循环体Y循环条件循环初始化输入score执行次数+1执行次数<40ii+1i<40i0sum0开始结束输出平均分输出sum/i使用变量如下i执行次数sum总分117N

sumsum+scoreY输入scoreii+1i<40i0sum0开始结束输出sum/i特殊变量:累加器存储一些数据之和的变量(sum)典型用法1、置初值sum02、在循环体中执行

累加操作

sumsum+score118N

sumsum+scoreY输入scoreii+1i<40i0sum0开始结束输出sum/i例:输入某一班级某次测验的数学成绩,统计并输出及格与不及格的人数注:假设班级的总人数为50特殊变量:计数器作用:记录某事件发生的次数(i)计数器变量用法1置初值i02记录某事件发生时,在循环体中执行ii+1119score>=60YN输出“及格”输出“不及格”输入scoreii+1i0i<50YNc2c2+1c1c1+1输出c1,c2i0c10c20计数器变量计数操作左边的流程图中有计数器变量吗?计数器变量赋初值开始结束120+1001+2+3+……求的和输出sumii+1NY课堂练习问1:循环体问2:循环条件问3:循环初始化所累加的数加1累加求和sum0i1i<=100ii+1sumsum+i开始结束121输出结果:+1001+2+3+……求的和sum011+2231+2+341i1+…+98991+…+991001+…+100101••••••输出sumii+1i<=100sum0i1sumsum+iNY开始结束5050122输出sumii+1i<=100i1sumsum+iNY开始结束sum0循环变量控制循环是否执行的变量?i循环如何控制循环变量如何使用循环体执行的次数是否已知?100次1)设初值i12)设终值i<=1003)设步长ii+1123N

sumsum+scoreY输入scoreii+1i<40i0sum0开始结束输出sum/i循环变量i循环体执行的次数40次循环如何控制循环变量如何使用1)设初值i02)设终值i<403)设步长ii+1计数器124控制循环方法计数法循环体的执行次数已知循环变量的初值

循环变量的终值

循环变量的步长

125课堂练习:画出求解以下问题的算法流程图求满足1+2+3+4+…+n>2000最小的n值问2:循环体问3:循环条件问1:能否计数法控制循环不能循环体次数未知累加器sum<=2000i1NYsum0开始结束所累加的数加1累加求和ii+1sumsum+i126课堂练习:画出求解以下问题的算法流程图用某(些)变量的值是否满足规定条件来控制循环标志法——求满足1+2+3+4+…+n>2000最小的n值ii+1sum<=2000i1sumsum+iNYsum0输出i-1开始结束127控制循环方法计数法循环体的执行次数已知标志法循环体的执行次数未知用某(些)变量的值是否满足规定条件来控制循环128练习:输入一批学生的成绩,输出这些成绩的平均分。(由于成绩必>=0,所以当输入-1时表示结束)问3:循环体问2:循环条件问1:计数法?标志法?输入的成绩score<>-1输入成绩score累加求总分计数操作(学生的总人数)问4:循环初始化sum0count0sumsum+scorecountcount+1scoresum累加器count计数器成绩变量129例:输入一批学生的成绩,输出这些成绩的平均成绩。(由于成绩必>=0,所以当输入-1时表示所有的学生成绩输入完毕)YN

sum0count0countcount+1输入score开始结束130例:输入一批学生的成绩,输出这些成绩的平均成绩。(由于成绩必>=0,所以当输入-1时表示所有的学生成绩输入完毕)NYscore=-1sum0count0sumsum+score输入scorecountcount+1开始131例:输入一批学生的成绩,输出这些成绩的平均成绩。(由于成绩必>=0,所以当输入-1时表示所有的学生成绩输入完毕)NYscore=-1sum0count0sumsum+score输入scorecountcount+1开始循环条件循环体循环初始化132NY循环条件循环体循环初始化“直到型”循环模式执行顺序1)先循环初始化2)再循环体3)最后循环条件YN注:循环条件不满足返回循环操作循环条件满足不返回循环操作133循环条件YN循环体循环初始化“当型”循环模式执行顺序1)先循环初始化2)再循环条件3)最后循环体Y当循环条件满足执行循环体当循环条件不满足不执行循环体N134循环模式“当型”循环模式“直到型”循环模式循环体有可能一次也不执行循环体至少执行一次135例:输入一批学生的成绩,输出这些成绩的平均成绩。(由于成绩必>=0,所以当输入-1时表示所有的学生成绩输入完毕)YN

sumsum+scoresum0count0输入scorecountcount+1score<>-1输入score1开始YN输出sum/count1count=0输出“数据异常”结束136输出(sum+1)/(count-1)count=1输出“数据异常”结束YNNYscore=-1sum0count0sumsum+score输入scorecountcount+1开始例:输入一批学生的成绩,输出这些成绩的平均成绩。(由于成绩必>=0,所以当输入-1时表示所有的学生成绩输入完毕)137NY循环条件循环体循环初始化“直到型”循环模式循环条件YN循环体循环初始化“当型”循环模式相互转换先判断循环条件再执行循环体再判断循环条件先执行循环体138例:用“直到型”循环模式来画出1+2+3+……+100的算法流程图。输出sum开始NY结束139N例:求满足1+2+3+4+…+n>20最小的n值ii+1sum<=20开始i1sumsum+iNY结束sum0输出(i-1)开始i1sum0结束输出(i-1)sum>20ii+1sumsum+iY140求满足1+2+3+4+…+n<100最大的n值用“当型”和“直到型”循环模式分别画出以下问题的算法流程图开始NY结束开始NY结束141循环模式“当型”循环模式控制循环方法计数法——用某(些)计数器变量来控制循环(循环体执行次数已知)标志法——用某(些)变量的值是否满足规定条件来控制循环(循环体执行次数未知)“直到型”循环模式循环条件循环体循环初始化142课堂练习:画出求解以下问题的算法流程图画出求自然数1×2×3×……×n的流程图,n由键盘输入结束开始输出sumii+1Ni<=100sum0i1sumsum+iY输入ni<=nsumsum×isum1i1sum111×2231i1×2×341×…×nn+1143画出求课堂练习:画出求解以下问题的算法流程图111+2+3+4+…1n+11的流程图,n由键盘输入结束开始输出sumii+1Ni<=100sum0i1Y输入ni<=n144课堂练习:画出求解以下问题的算法流程图结束开始Ni<=100Y求sum=2+4+6+……+n的值,其中n为偶数,由键盘输入145课堂练习:画出求解以下问题的算法流程图求满足1+2+3+4+…+n>20最小的n值结束开始ii+1Ni<=100sum0i1sumsum+iY146课堂练习:画出求解以下问题的算法流程图画出输入30个数,输出这些数的平均数的算法流程图YN

开始sumcount输入num输出sum/30结束countcount+1147课堂练习:画出求解以下问题的算法流程图求满足1+2+3+4+…+n>20最小的n值分析题意:1+2+3+4+5+6=21>20循环体循环条件循环初始化累加和1+2+3+…+n<=20ii+1sumsum+isum<=20sum0i1148求满足1+2+3+4+…+n>20最小的n值课堂练习:画出求解以下问题的算法流程图结束开始ii+1Ni<=100sum0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论