01-算法和流程图01.docVIP

  • 10
  • 0
  • 约1.84千字
  • 约 3页
  • 2018-01-19 发布于河北
  • 举报
01-算法和流程图01

算法和流程图 一、学习目的和学习内容 学习各种软件的使用——让计算机按照我们的意图去完成一件事——编程序(软件)给别人用; 国际信息学(计算机)奥林匹克竞赛——全国中学生信息学奥赛——广东省中学生信息学奥赛; 比赛的内容就是编程比赛;这也是我们的学习目的和内容; 计算机程序设计语言:人类语言——用程序设计语言(如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; ②判断X0 ?; ③若X0,则打印X;结束。 例三:分别输入10个数,打印出其中的正数。 算法1:设T为计数器。 ①输入第一个数——X,1——T; ②判断X0 ? ; ③若X0,则打印输出; ④判断T10 ?     ⑤若T10,则表示10个数已经处理完,结束。 否则,再输入下一个数——X,且T+1——T,然后转②继续执行。 算法的表示形式 文字描述:二义性,如:甲叫乙把他的书拿来;小明连王刚都不认识; 伪代码:用符号,不直观; 流程图:简洁、直观、无二义性。有很多种,我们学N-S流程图。 结构化程序设计和N-S流程图 经过证明:任何一个算法都可以用以下3种基本结构表示: 1、顺序结构:例一; 2、分支结构:例二、例三中的②③; 3、循环结构:例三中的④⑤; 两种循环:直到型和当型。 相应的N-S图: 注意:一个算法往往需要几个简单结构复合在一起才能表示,即复合结构。 练习:用N-S图画出以上5个例子的流程图。 例一(算法1) 例二 例三 课后作业 要求:(1)写出算法,并画出相应的N-S流程图。。 (2)周五上午交。 求出1+2+3+…+N的值。 从10个数中挑选出最大的一个数,打印输出。 3 条件 成立 不成立 A B 当条件成立时做 A 直到条件成立时为止 A A B C 输入第一个数——X,1—— T 当T=10 做 X 0 Y N 打印X 输入下一个数——X T+1——T 输入1个数——X X0 Y N 打印X 找一个C A——C B——A C——B

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档