2 C语言程序设计.pptVIP

  • 2
  • 0
  • 约2.56千字
  • 约 21页
  • 2018-03-28 发布于河南
  • 举报
2 C语言程序设计.ppt

南京师范大学 C语言程序设计 周维 南京师范大学 2 程序的灵魂-算法 内容提要: 1 算法及其算法的表示方法 2 结构化程序设计方法 3 程序、程序设计和程序设计语言 著名计算机科学家沃思(Nikiklaus Wirth)提出: 数据结构+算法 程序 2.1算法的概念 2.2 算法的描述方法 描述算法的方法有多种,归纳为两大类 文字和图形 符号 常用的算法描述方法 1、带序号的自然语言描述(例2.1-2.5) 易懂却不直观,不严格 2、流程图:灵活、自由、形象、直观,可表示任何算法 输入输出 处理 判断 起止 连接点 流程图 3、N-S图(盒图):完全去掉了带箭头的流程图,算法的所有处理步骤都写在一个大矩形框(表示简单、符合结构化思想) 处理 判断 当循环 直到循环 4、伪代码:用介于自然语言与计算机语言之间的文字及符号来描述算法 方便、易懂、便于向计算机语言过渡 例1:计算S 1+2+3+…+100,写出其算法 2.3 结构化程序设计方法 一、结构化程序的三种基本结构 1966年提出三种基本结构,用这三种结构作为表示一种良好算法的基本单元:顺序、选择、循环 任何复杂的算法都是由这三种基本结构按一定规律组成 二、三种基本结构的共同特点 1、单入口单出口 2、结构内的每一部分都有机会被执行 3、不存在“死循环” 三、结构化程序设计的优点 用三种基本结构组成的程序是结构化程序 优点:易编、易读、易懂、易维护 强调:程序设计风格和程序结构的规范化 核心思想:自顶向下、逐步细化、模块化设计、 结构化编码(如:学校办公自动化系统) 回顾:输入三个数,输出其中最大值 练习:输出10个数中的最大值 四、结构化程序设计过程 1、确定算法:分析问题,(建立数学模型,选择公式),写出算法描述 2、编写程序:用计算机语言写出实现算法的程序 3、上机调试:输入(编辑)程序 编译、连接、执行程序 输出结果 举例 张丘建在《算经》中提出“百鸡问题”:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、母、雏各几何?(体会编辑步骤) 1、分析:cocks+hens+chicken 100 5*cocks+3*hens+chicken/3 100 0≤cocks≤19 0 ≤hens≤33 0 ≤chicken≤100 思路: 依次取cocks的值域中的值,然后求其余两数,看是否 合乎题意 1、算法描述 cocks 0 当cocks≤19时 hens 0 当hens≤33时 chicken 100-cocks-hens 如果 5*cocks+3*hens+chicken/3 100 则输出 hens加1 cocks加1 2、用计算机语言写出程序 void main int cocks 0,hens,chicken; while cocks 19 hens 0; while hens 33 chicken 100-cocks-hens; if 5*cocks+3*hens+chicken/3 100 printf “%d%d%d\n”,cocks,hens,chicken ; hens++; cocks++; * 对数据的类型和组织形式的描述 对数据的操作步骤的描述 做事情都有-方法、步骤(顺序)-决定事情成败 1、算法:计算机求解某一问题而采用的具体方法、步骤。 2、两大类计算机算法 数值运算算法:求数值解(成熟) 非数值运算算法:事物管理(广泛) 算法的特性:有穷性、确定性、有效性等 A P T F A B A P A P 1.#include void main int max int x,int y ; int a,b,c,d,m; scanf “%d%d%d”,a,b,c ; d max a,b ;m max d,c ; printf “max %d”,m ; int max int x,int y int z; if x y z x; else z y; return z ; 2.#include void main int max int x,int y,int z ; int a,b,c,m; scanf “%d%d%d”,a,b,c ; m max a,b,c ; printf “max %d”,m int max int x,int y,int z int o,n; if x y o x; else o y; if o z n o; else n z; return n ; 3.#include void main int a,b,c,m; scan

文档评论(0)

1亿VIP精品文档

相关文档