[计算机软件及应用]程序设计语言第一章.ppt

[计算机软件及应用]程序设计语言第一章

程序设计语言 杨玉婷 QQ e-mail:tudou_yeah@ 课堂要求 上课纪律要求 迟到; 上课纪律; 平时作业 平时成绩计算方法:出勤+课后作业 关于期中考试及期末考试安排 第一章 C语言概述 需要解决的问题: 什么是编程语言和程序? 为什么要学习C语言? C语言的基本特点是什么? 本章主要内容 程序和算法 C程序介绍 C程序的基本操作 程序设计中的三种基本结构 顺序结构 C语言规约 1.1 程序和算法 程序: 1. 定义 广义:指完成特定工作的有序步骤;(入党) 狭义:指完成特定功能而编写的指令集合,这组指令依据既定的逻辑控制计算机的运行。 1.1 程序和算法 2. 包含的内容 一个程序应包括以下两个方面的内容。 对数据的描述:在程序中要指定数据的类型和数据的组织形式,即数据结构(data structure) 对操作的描述:即操作步骤,也就是算法(algorithm) 数据是操作的对象,操作的目的是对数据进行加工处理,以得到期望的结果。 著名计算机科学家沃思提出一个公式: 数据结构 + 算法 = 程序 算法、数据结构、程序设计方法和语言工具4个方面是一个程序设计人员所应具备的知识。 1.1 程序和算法 算法: 1. 定义: 人们把为解决一个问题而采取的方法和步骤称为算法;例如,日常生活中的吃饭,上学。 解决问题的方法很多,但是有优劣之分,一般来说,希望采用方法简单、运算步骤少的方法。 2. 分类:数据运算算法和非数值运算算法。 数值运算的目的是求数值解,例如求方程的根;非数据运算包括很多,例如图书检索、人事管理等; 数值运算的算法研究成熟,有现成的库可以使用,非数值运算问题种类多,不易总结。 1.1 程序和算法 3. 简单算法举例 例子:求1×2×3×4×5 分析:可以用最原始的方法进行: 步骤1:先求1×2,得到结果2; 步骤2:将步骤1得到的乘积2再乘以3,得到结果6; 步骤3:将6再乘以4,得24; 步骤4:将24再乘以5,得120,这就是最后的结果。 问题:上述方法能用,但是太繁琐,如果要求1×2×3×……×99,则要写99个步骤,显然不可取。应采用一种通用的方法。 1.1 程序和算法 解:设两个变量p,i p —— 为被乘数; i —— 为乘数; 这里不另外设用于存放乘积结果的变量,而直接将每一步骤的乘积放在被乘数变量中。因此,算法改写如下: S1:使p=1 S2:使i=2 S3:使p*i,乘积仍放在变量p中,可表示为:p*i=p S4:使i的值加1,即i+1=i S5:如果i不大于5,返回重新执行步骤S3以及其后的步骤S4和S5;否则,算法结束。最后得到p的值就是5!的值。 1.1 程序和算法 4. 算法具备的五大特征: 有穷性:一个算法只能包括有限步; 确定性:算法的每一步都必须有确切的定义; 有0个或多个输入:输入是指在执行算法时需要从外界取得必要的信息; 有1个或多个输出:算法的目的是为了求解,“解”就是输出; 有效性:算法中的每一个步骤都应当能有效地执行,并得到确定的结果。 1.1 程序和算法 5. 如何表示一个算法 表示一个算法,最常用的方法有:自然语言、结构化流程图、伪代码、N-S图等。 1)用自然语言表示算法: 在上一部分所举的例子中,我们就使用了自然语言来描述一个算法。 用自然语言表示通俗易懂,但文字冗长,容易出现歧义;一般只有简单的问题,我们才使用自然语言表示。 2)用流程图表示算法: 流程图是用一些图框来表示各种操作。用图形表示算法,直观形象,易于理解。 1.1 程序和算法 1.1 程序和算法 例子:将前面例子中1×2×3×4×5的算法用流程图表示,结果如右图所示: 1.1 程序和算法 【例1.1】 任意输入两个数,输出其中大数的算法流程图。 1.1 程序和算法 说明: 从上面的例子可以看出,一个流程图包括以下几部分: 表示相应操作的框; 带箭头的流程线; 框内外必要的文字说明; 注意: 在画流程图的过程中不要忘记画箭头,因为它反映了流程执行的先后次序; 1.1 程序和算法 6. 用计算机语言表示算法 要完成一件工作,包括设计算法和实现算法两个部分。而设计算法,其最终目的就是为了实现算法,然后通过已经实现了的算法解决实际问题。因此,在实际过程中,除了要考虑如何设计一个算法之外,还需要考虑如何实现一个算法。 之前,我们讨论的都是如何设计一个算法,为了能让计算

文档评论(0)

1亿VIP精品文档

相关文档