算法和流程图

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

算法和流程图

一、学习目的和学习内容

学习各种软件的使用——>让运算机按照我们的意图去完成一件事——>编程序(软件)给别人用;

国际信息学(运算机)奥林匹克竞赛——全国中学生信息学奥赛——江苏省中学生信息学奥赛;

竞赛的内容确实是编程竞赛;这也是我们的学习目的和内容;

运算机程序设计语言:人类语言——>用程序设计语言(如Pascal语言)表示——>再翻译成机器语言;

二、运算机解决问题的步骤

做任何一件事都要有一定的的步骤,如求1+2+3+4+5+6+7+8+9+10;

运算机解题步骤:分析问题

——>确定解决问题的方法和步骤(即算法)

——>选择一种运算机语言,依照算法编写运算机程序

——>让运算机执行那个程序获得结果

三、算法的概念

1、为解决某一个问题而采取的方法和步骤,称为算法。或者说算法是解决一个问题的方法的精确描述。

如:已知半径,运算圆的面积的算法。

算法读入半径R的值——>运算圆的面积S=π*R*R——>输出圆的面积S。

注意:算法不一定唯独,如求1+2+3+4+5+6+7+8+9+10的算法。

2、算法的特点:

①有穷性:必须在执行了有穷个运算步骤后终止;

②确定性:每一个步骤必须是精确的、无二义性的;

③可行性:能够用运算机解决、能在有限步、有限时刻内完成;

④有输入:

⑤有输出:

四、算法举例

例一:交换两个大小相同的杯子中的液体(A水、B酒)。

算法1:

1、再找一个大小与A相同的空杯子C;

2、A——>C;

3、B——>A;

4、C——>B;终止。

或(B——>C、A——>B、C——>A)

算法2:

1、再找两个空杯子C和D;

2、A——>C、B——>D;

3、C——>B、D——>A;终止。

注意:一个算法往往具有代表性,能解决一类问题,如例一能够引申为:交换两个变量的值。

例二:输入1个数给运算机,若为正数则打印出来。

算法:①输入1个数——>X;

②判定X>0 ?;

③若X>0,则打印X;终止。

例三:分别输入10个数,打印出其中的正数。

算法1:设T为计数器。

①输入第一个数——>X,1——>T;

②判定X>0 ? ;

③若X>0,则打印输出;

④判定T>10 ?

⑤若T>10,则表示10个数差不多处理完,终止。

否则,再输入下一个数——>X,且T+1——>T,然后转②连续执行。

例四:从10个数中选择出最大的一个数,打印输出。

诱导:以从10个人中挑出最高的人为例,让学生发挥想象。

算法1:“打擂台”或“比武招亲”,设MAX为大力士,T为计数器。

①先输入1个数——>MAX,1——>T;(擂主)

②再输入下一个数——>X,T+1——>T;(上一个挑战者)

③比较X>MAX ?;(比武)

④若X>MAX成立,X——>MAX;(打败擂主,即新的大力士产生)

否则,MAX仍旧是最厉害,即值不变;(败下阵来)

⑤判定T=10 ?;(看看还有没有挑战者)

⑥若T=10成立,则说明10个数已比较玩,最大的数在MAX中,输出MAX即可;(颁奖)

否则,转②连续找下一个挑战者比武。(下一个)算法2:两个两个打(剔除赛)。

例五:运算1*2*3*4*5*6*7*8*9*10。

描述:阶乘10!

算法1:找两个容器T和I;T为累乘器,初值为1;I为计数器,初值为1。

①1——>T,1——>I;

②T*I——>T;

③I+1——>I;

④判定I>10 ?

⑤成立,则输出T,终止。

否则,转②连续乘。

提问:1、T的初值可不能够为0?不能

2、I的初值可不能够放0?不能

3、I 的初值可不能够放2?能够

4、I 可不能够放10?能够,如何改算法?让学生完成。

5、可不能够先判定后执行?

6、现在要求1+2+3+4+5+6+7+8+9+10,如何办?让学生完成。

五、 算法的表示形式

1、 文字描述:二义性,如:甲叫乙把他的书拿来;小明连王刚都不认识;

2、 伪代码:用符号,不直观;

3、 流程图:简洁、直观、无二义性。有专门多种,我们学N-S 流程图。

六、结构化程序设计和N-S 流程图

通过证明:任何一个算法都能够用以下3种差不多结构表示:

1、顺序结构:例一;

2、分支结构:例二、例三中的②③、例四中的③④;

3、循环结构:例三中的④⑤、例四中的⑤⑥、例五;

两种循环:直到型和当型。

相应的N-S 图:

注意:一个算法往往需要几个简单结构复合在一起才能表示,即复合结构。

练习:用N-S 图画出以上5个例子的流程图,举例让学生仿照。

例五

例四(算法一)

例一(算法1) 例二

例三

让学生将直到型循环和当型循环相互转换:关键是条件的取反。

七、 课后作业

1、 求1+1/2+1/3+1/4+……+1/10。

2、 求两个自然数的最大公约数。

要求:写出算法,画出相应的N-S 流程图。

第1题

第2题

相关文档
最新文档