1、第二章 程序设计概念解决问题的一般概念日常生活问题的解决A.明确问题 B.理解问题 C.寻找备选方案 D.从备选方案列表中找出最好的解决方案 E.列出所选择的解决方案的指令 F.评价解决方案计算机中的问题 计算机并不能解决人类所面临所有问题 1 算法问题:主要执行非常困难和耗时的数据计算,如微分问题,地球轨迹, 10000名字排序 2 启发式问题 :人工智能领域,下象棋,打牌 1 算法方案:可以通过一系列明确的动作来解决 . 2 启发式方案 :需具有相应的知识和经验,经过不断的尝试和失败才能达到最终目标。 1 计算型 如数学计算过程,大多数学问题都是计算型 2 逻辑型 如包含关系或逻辑处理的问
2、题 3 反复型 反复执行一组数学型或逻辑型指令的问题,大多启发式问题都属于反复型。 计算机解决问题的类型计算机解决问题的基本过程:分析问题分析问题 设计算法设计算法 调试程序调试程序编写程序编写程序 检测结果检测结果解决问题的难点:人人计算机计算机 编写指令算法 计算机解决的任何问题都可以通过按特定顺序执行一系列操作来完成,对操作的描述就是算法( Algorithm)。 算法包括了执行的操作和执行操作的顺序。 李开复:算法的力量算法是计算机科学领域最重要的 基石之一 ,但却受到了国内一些程序员的冷落。 许多学生看到一些公司在招聘时要求的编程语言五花八门就产生了一种误解,认为学计算机就是学各种编程语言,或者认为,学习最新的语言、技术、标准就是最好的铺路方法。其实大家都被这些公司误导了。 编程语言虽然该学,但是学习 计算机算法和理论更重要, 因为计算机语言和开发平台日新月异,但万变不离其宗的是那些算法和理论,例如数据结构、算法、编译原理、计算机体系结构、关系型数据库原理等等。 整天赶时髦的人最后只懂得招式,没有功力,是不可能成为高手的。