文档介绍:第一周辅导
2013年4月19日星期五
程序设计的基本方法
学习计算机语言的目的是:利用该语言工具设计出可供计算机的运行的程序。
完整的程序设计应该是:数据结构+算法+程序设计方法+语言工具。
一个程序应包括两方的内容:(1)对数据的描述:数据结构(2)对操作的描述:算法
在拿到一个需要解决的实际问题之后,一般操作步骤如下:
分析问题——确定数学模型与数据结构——设计算法——编写程序——程序编译调试并运行
【例1】己知半径求圆面积问题。
分析问题:根据半径求圆面积公式,可以借助数学公式完成。
确定数学模型与数据结构
①数学模型:使用求面积公式S=πr2
②数据结构:本问题可以设计一个变空间r存储半径的值,一个变量空间S存储面积的值。
(3)设计算法:算法是指解决一个问题所采取的具体步骤和方法。也就是给定初始状或输入数据,经过计算机程序的有限次运算,能够得出所要求或期望的终止状态或输出数据。
求面积算法设计如下:①输入半径r;②依据圆面积公式求圆面积S;③输出圆面积S。
编写程序:用计算机语方描述算法的过程,这一步常称为“编码”,程序的质量主要是由算法决定。
程序编译调试和运行:通过编译调试和运行程序,获得正确的编码和正确的结果。
二、算法
程序设计中最关键的一步就是设计算法,程序设计能力水平的高低在于能否设计出优秀的算法。
算法是解决问题方法的精确描述,解决一个问题的过程就是实现一个算法的过程。
算法的特点:
输入:一个算法可以有零个或多个输入量。
输出:一个算法必须有一个或多个输出量,输出量是算法设计的结果。没有输出的算法是毫无意义的。
确定性:算法的描述必须无歧义,以保证算法的执行结果是确定的。
有穷性:算法必须在有限步骤内实现。
有效性:以称可行性,算法中的每一步骤都应该能有效地执行,执行算法最后应该得到确定的结果。
对于确定的算法,可以把一个算法看作是一个“黑箱子”,根据输入得到确定的输出。
求半径为r的圆面积算法
r 面积
三、算法描述
为了描述一个算法,可以采用不同的方法,常用的有:自然语言、流程图、N-S流程、伪代码。
第二节顺序结构程序设计
顺序结构、选择结构、循环结构是三种基本程序设计。“顺序结构”就是按顺序完成事情的步骤。比如:起床——穿衣——洗漱——吃早点——上学。本周我们先学习顺序结构程序设计用到的最基本的输入、输出、赋值语句的语法格式和使用方法,从具体的问题出发,分析解决问题的顺序结构,进而编写出解决实际问题的顺序结构程序。
问题引导
【问题1】
鸡和兔子关在一个笼子里,可以看到共有12个头、40只脚,求鸡和兔子名有多少只?
【问题2】已知旅行的距离和汽车平均速度,每公升汽油可以行驶的公里数以及每公升汽油的价格,求驾驶汽车旅游所花费的时间和购买汽油的钱数。
2、问题分析
【问题1分析】
鸡兔同笼是一个古老的数学问题。求解方法很多,这里不妨直接应用结论。用chick 和rabbit分别表示鸡和兔子的只数,那么:
rabbit=(40-2*12)/2
chick=40-rabbit
【算法描述】
(1)计算兔子的只数rabbit=(40-2*12)/2;
(2)计算鸡的只数chick=40-rabbit;
(3)输出鸡和兔子的只数chick和rabbit的值。
【问题2分析】
设旅行的距离为s,汽车平均速度为v,每公升汽油可以维持的公里数为k,每公升汽油价格为p。则:
(1)汽车行驶时间=s/v;
(2)所用汽油公升数liter=s/k;
(3)旅行总共花费total=liter*p。
【算法描述】
(1)输入距离、汽车平均速度、每公升汽油可以维持的公里数、每公升汽油价格的值;
(2)计算汽车行驶时间;
(3)计算所用汽油公升数;
(4)计算旅行总共花费;
(5)输出汽车所花费的时间和钱;
(6)算法结束。
3、解决方案
程序设计就是用各种程序设计语言将算法转化成可被计算机执行的代码的过程。从上述问题的算法描述中,可以看到解决问题的过程一步一步由上至下,这种有序的过程称为顺序结构,顺序结构程序设计完成的是用顺序结构思想设计的算法编制程序的过程。通过上面对问题的分析,可以归纳出顺序结构程序设计一般由三部分组成。
(1)输入部分:确定己知变量的值;
(2)处理部分:按顺序进行求解。
(3)输出部分:给出结果。
结构化程序设计语言提供了输入、赋值、输出语句,用来实现上述三部分最基本的描述。
顺序结构算法设计
使用输入、赋值、输出语句实现算法程序设计
执行程序得到正确结果
顺序结构问题解决方案:
、变量及其数据类型
C语言中数据有常量和变量之分。在程序运行的