框图与算法内容摘要:

• S3:如果 i1000, 则转 S7; • S4: S+i S • S5: i+1 i; • S6:转 S3; • S7:输出结果 S; • S8:结束 .  传统流程图 起止框:表示一个算法的开始或结束 输入、输出框:框内标明输入、输出的内容 菱形框 ( 判断框 ) :框内标明判断条件 ,有一个入口 , 两个出口 处理框:框内表示所进行的处理内容 流程线:表示从某一框到另外一个框的流向 连接框:表示算法流向的出入口连接点,圈内的字母相同表示同点 注释框:用于书写算法中的注释内容 用传统流程图表示的例 9 NS流程图的基本结构框 用 NS流程图表示的 1+ 2+ 3+ ...+ 10算法 用 NS流程图表示的例 3 常见的用于描述算法的 C语言语句 ( l) 输入语句 scanf( 格式控制字符串 , 输入项表 ) ( 2) 输出语句 printf( 格式控制字符串 , 输出项表 ) ( 3) 赋值语句 变量名 =表达式; ( 4) 条件语句 if条件 语句 ; 或者 if条件 语句 1else语句 2; ( 5) 循环语句 While 表达式 循环体语句 ; do 循环体语句 ; While表达式 ; for( 赋初值表达式 1; 条件表达式 2;步长表达式 3) 循环体语句 ) ; ( 6) 返回语句 return( 返回表达式 ) ; ( 7) 定义函数语句 函数返回值类型 函数名 ( 类型名 形参 1, 类型名 形参 2, … ) { 说明部分 ; 函数语句部分 ; } ( 8) 调用函数语句 函数名 ( 实参 1, 实参 2, … ) 用 C语言表示例 1算法 • 用辗转相减算法: ( 1) 输入 n, m的值。 ( 2) 若 nm, 则 n=nm。 ( 3) 若 mn, 则 m=mn。 ( 4) 若 n=m, 则算法结束 , 转第 5步;否则 , 重复上述过程 , 转回第 2步。 ( 5)输出 n(或 m)中的值,它是所求的最大公约数。 scanf( ” % d% d”, & n, & m) ; while( n。 =m) { if( n> m) n=nm; if( m> n) m=mn; } printf(” result=% d\ n”, n); 用 C语言表示例 5 (输入一个整数,将它倒过来输出)算法 void digit( x) long x; { int d; while( x。 =0) { d=x %10; printf( ” % 1d”, d) ; x= x/ 10; } } 用伪码表示例 1辗转相减算法 ( 1) 给 n和 m赋初值; ( 2) while( n/ m) { 21 if( nm) n=nm; 22 if( mn) m=mn; } ( 3)输出 n(或 m)中的结果; 用伪码表示例 5 (输入一个整数,将它倒过来输出)算法 ( 1) 输入一个整数送 x; ( 2) while( n≠0) { 21 d=x % 10; 22 输出 d; 23 x=x/10; } 用伪码表示例 11 迭代算法 ( 1) 输入实数 a: ( 2) xn=a/3; ( 3) do{ 31 x0=xn 32 xn=(2x0+a/x02)/3; } while( |xn x0|≥ε) ; ( 4)输出 xn; 3 算法的三种基本结构 • 顺序结构 • 选择结构 • 循环结构 当型 (while型 ) 直到型 (until型 ) 求 S=1+2+……+10 当型( while型) 直到型( until型) 三种基本结构共同的特点 ( 1) 只有一个入口 ( 2) 只有一个出口 ( 3) 结构内的每一部分都有机会被执行到。 ( 4)结构内不存在死循环(无终止的循环)。 4算法的特性 有穷性 确定性 可行性 通用性 输入 输出 有穷性。 一个算法必须在有穷步之后结束,即必须在有限时间内完成。 确定性。 算法的每一步必须有确切的定义 ,不应当产生歧义。 算法的执行对应着的相同的输入仅有唯一的一条路径。 可行性。 算法中的每一步都可以通过已经实现的基本运算的有限次执行得以实现。 通用性。 一个算法总是针对某类问题来设计的,所以对于求解某类问题中的任何一个问题都应该是有效的。 输入。 一个算法具有零个或多个输入 , 这些输入取自特定的数据对象集合。 输出。 一个算法具有一个或多个输出,这些输出同输入之间存在某种特定的关系。 5 算法的基本语句 算法基本语句 自然语句 TRUE BASIC语句 输入语句 输入 a的值 Input a 输出语句 输出 a的值 Print a 赋值语句 让 a等于 1 Let a=1 条件语句 如果 a大于 b,让 a为 max If ab then let a=max 循环语句 如果 i小于 5, 让 n等于 n+i,循环进行 , 否则结束。 Do while i5 6 算法初步的内容与要求 (约 12课时) ( 1) 算法的含义 、 程序框图 ① 通过对解决具体问题过程与步骤的分析( 如 , 二元一次方程组求解等问题 ) ,体会算法的思想 , 了解算法的含义。 ② 通过模仿、操作、探索,经历通过设计程序框图表达解决问题的过程。 在具体问题的解决过程中(如,三元一次方程组求解等问题),理解程序框图的三种基本逻辑结构:顺序、条件分支、循环。 ( 2)基本算法语句 经历将具体问题的程序框图转化为程序语句的过程,理解几种基本算法语句 ——输入语句、输出语句、赋值语句、条件语句、循环语句,进一步体会算法的基本思想。 ( 3)通过阅读中国古代数学中的算法案例,体会中国古代数学对世界数学发展的贡献。 事实 • 事实 1:求解问题的算法事倍功半。 讨论求解问题的算法 , 犹如日常去完成一个任务 , 当盲目无举措时事半功倍 , 当有办法和措施周密时事倍功半。 • 事实 2:对于使用现成算法的人来说 , 可以把一个算法看作是一个 “ 黑箱子 ” , 在 “ 黑箱子 ” 中是怎样工作的 , 他可以不必关心 , 他只要提供某些输入 , 便可得到确定的输出。 例如 , 用计算机工作 , 只需会使用相应的软件就可以了 , 至于软件在计算机内部是怎样工作的 , 那是程序设计人员的事 , 对使用者来说可不必深入了解。 7 算法学习的意义 • 理由 1:算法的思想和初步知识,正在成为普通公民的常识;算法思想已经成为现代人应具备的一种数学素养。 • 算法是一个全新的课题 , 已经成为计算科学的重要基础 , 它在科学技术和社会发展中起着越来越重要的作用。 算法的思想和初步知识 , 也正在成为普通公民的常识。 在必修课程中将学习算法的基本思想和初步知识。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。