算法基础与程序控制结构.ppt

莆田学院现代教育技术中心 2004年3月 C语言程序设计 第三讲 算法基础与程序的基本结构 绍兴文理学院 2014年2月 本章主要内容 程序设计方法简述 算法与流程图 算法的两种表示法 两种流程图 三种基本结构 选择结构程序设计 if …else 语句 switch语句 循环结构程序设计 四种循环语句 常用算法 枚举法(穷举法) 归纳法(递推法) 一、程序设计方法简述 1、计算机处理问题的过程 【例一】让某学生解方程 ax2+bx+c=0 求解过程: 一、程序设计方法简述 1、计算机处理问题的过程 一、程序设计方法简述 3、程序测试 目的 发现程序中的错误(Bug) 程序错误 ◆语法错误(编译系统检查) ◆逻辑错误(编程人员检查) 方法与技术 测试是以程序通过了编译,没有语法和连接错误为前提。在此基础上运行一组数据,来检测程序的逻辑错误。这一组测试数据应是以“任何程序都是有错误的”为前提精心设计出来的。它不仅应含有被测程序各种情况下的代表性输入数据,还应包括程序执行这些数据后预期的结果。 其他 著名计算机软件科学家E.W.Dijkstra曾断言:“程序测试只能证明错误的存在,而不能证明错误的不存在”。可以证明,除了很小的程序外,无论使用任何方法,要想做到彻底的测试,即发现程序中的所有错误,是不现实的。 常见所谓“β版”商业软件,就是软件正式发行前的测试版本。 二、算法与流程图 1、算法(algorithm) P14 算法:解题思路(解题步骤等) 算法有表示方式: 伪码(pseudocode) 用人类语言的形式(通常是英语)表示算法。 伪码不在计算机上执行,仅供程序员缩写程序之前构思时用(*注意伪码程序只包含执行语句,没有声明语句,后者仅仅是给编译器提供的信息) 流程图(flow chart) 用图示方式表示算法 编程依据(便于检查) 编程时用 使用流程图的优点:不易出错/便于编程/便于别人阅读和检查程序。 通常编程的技术路线是: 用伪码和自顶向下、逐步求精的方法来制定算法,然后再编写相应的C语言程序。 复杂程序处理部分宜用流程图表示程序处理的过程。 二、算法与流程图 1、算法(algorithm) 示例:根据学生成绩输出评定结果。 二、算法与流程图 2、传统流程图 P20 特点: 直观形象; 使用流线。 缺点: 占面积大,使用流线任意转移,易出现“乱麻”现象,造成编程与阅读程序困难。 二、算法与流程图 3、N-S结构化流程图 P27 77年美学者I.Nassi和B.Scheiderman提出。 特点 ①取消流线 ②不允许流程任意转移,只能从上而下顺序执行 ③规定三种基本结构的流程图单元,由这些基本结构象搭积木似的组成各种算法(结构化设计)。 优点 算法清晰,流程不会无规律乱转移。 二、算法与流程图 4、三种基本结构 P24- 通常情况下,程序中的语句是以所编写的顺序一句接一句地执行,这种执行方法称为“顺序执行”。许多C语句能够让程序员指定不按编写顺序执行下一条执行语句,这种执行方法称为“控制转移”。 Bohm和Jacopini的研究证实,所有的程序都能够只用三种控制结构编写,即 ◆顺序结构 ◆选择结构(selection structure) ◆循环结构(repetition structure) 顺序结构是C语言的基本结构,除非指示转移,否则计算机自动以语句编写的顺序一句一句地执行C语句。 任何C语言程序都是由七种控制结构(顺序结构、三种选择结构和三种循环结构)构成的。 二、算法与流程图 4、三种基本结构 P24- 顺序结构 A块、B块顺序执行(每块代表一个或一组操作) 二、算法与流程图 4、三种基本结构 P24- 选择结构 条件p成立时执行a块(否则执行b块) if 选择结构 条件为真时执行某个指定的操作,条件为假时跳过该操作(单路选择) if…else选择结构 条件为真时执行某个指定的操作,为假时执行另一个指定的操作(双路选择) switch选择结构 根据表达式的值执行众多不同操作中的某个指定的操作(多路选择) 二、算法与流程图 4、三种基本结构 P24- 循环结构 分当型和直到型两类。 当型 先判断,只要条件为真就反复执行A块,为假则结束循环。 直到型 先执行

文档评论(0)

1亿VIP精品文档

相关文档