预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共66页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

程序设计导论一个程序主要包括以下两方面的信息: 对数据的描述。在程序中要指定用到哪些数据以及这些数据的类型和数据的组织形式: 这就是数据结构(datastructure) (2)对操作的描述。即要求计算机进行操作的步骤 也就是算法(algorithm)数据: 是操作的对象 操作的目的: 是对数据进行加工处理,以得到期望的结果 著名计算机科学家沃思(NikiklausWirth)提出一个公式: 算法+数据结构=程序1.什么是算法2.简单的算法举例例:判定2000—2500年中的每一年是否闰年,并将结果输出。 闰年的条件: (1)能被4整除,但不能被100整除的年份都是闰年,如2008、2012、2048年 (2)能被400整除的年份是闰年,如2000年 不符合这两个条件的年份不是闰年 例如2009、2100年设year为被检测的年份。算法表示如下: S1:2000year S2:若year不能被4整除,则输出year的值和“不是闰年”。然后转到S6 S3:若year能被4整除,不能被100整除,则输出year的值和“是闰年”。然后转到S6 S4:若year能被400整除,则输出year的值和“是闰年”,然后转到S6 S5:其他情况输出year的值和“不是闰年” S6:year+1year S7:当year≤2500时,转S2,否则停止例:给出一个大于或等于3的正整数,判断它是不是一个素数。 所谓素数(prime),是指除了1和该数本身之外,不能被其他任何整数整除的数 例如,13是素数,因为它不能被2,3,4,…,12整除。判断一个数n(n≥3)是否素数:将n作为被除数,将2到(n-1)各个整数先后作为除数,如果都不能被整除,则n为素数 S1:输入n的值 S2:i=2(i作为除数) S3:n被i除,得余数r S4:如果r=0,表示n能被i整除,则输出n“不是素数”,算法结束;否则执行S5 S5:i+1i S6:如果i≤n-1,返回S3;否则输出n“是素数”,然后结束。十进制数转换成二进制数(整数部分) 方法:除2取余 3.算法的特性4.怎样表示一个算法(1)用自然语言表示算法(2)用流程图表示算法(4)用伪代码表示算法例:求5! begin(算法开始) 1t 2i whilei≤5 {t*it i+1i } printt end(算法结束)(5)用计算机语言表示算法例:(求5!)用C语言表示。二、程序流程图与算法的基本逻辑结构例:判断素数的算法用流程图表示。对一个大于或等于3的正整数,判断它是不是一个素数。N通过以上例子可以看出流程图是表示算法的较好的工具 一个流程图包括以下几部分: (1)表示相应操作的框 (2)带箭头的流程线 (3)框内外必要的文字说明 流程线不要忘记画箭头,否则难以判定各框的执行次序 2.三种基本结构和改进的流程图的画法以上三种基本结构,有以下共同特点: (1)只有一个入口 (2)只有一个出口 一个判断框有两个出口 一个选择结构只有一个出口 (3)结构内的每一部分都有机会被执行到。也就是说,对每一个框来说,都应当有一条从入口到出口的路径通过它 (4)结构内不存在“死循环”由三种基本结构派生出来的结构: