第3章-程序设计初步-1.ppt

第3章-程序设计初步-1

第2篇 面向过程的程序设计 第3章 程序设计初步 一. 面向过程的程序设计和算法 简单算法举例 简单算法举例 (续) 算法的特点 算法的表示 结构化流程图 (NS流程图) 结构化流程图 (续) 伪代码 二. C++程序和语句 C++程序的基本结构(续) C++的语句 执行语句(续-1) 空语句 赋值语句 三. 顺序结构程序设计 输入输出流的基本操作 输入输出流中的控制符 输入输出流中的控制符(续-1) 格式标志的获取与设置 格式标志的设置 (续) C++流输出格式控制举例 getchar和putchar函数 scanf和printf函数 printf 函数 (续-1) 附加说明符及其意义: [-][+][w][.p][ ][#][h/l/L] printf函数的例子 (32位系统下) scanf 函数 scanf 函数 (续-1) scanf 函数 (续-2) scanf 函数 (续-3) 顺序结构程序设计举例 例3.10 第3章 练习-1 第3章 程序设计初步 普通字符: 除上述两类字符外的其它字符. 输入时必须输入相应的字符. 如, int i; char c; scanf (i=%d %c, i, c); 若要使i值为45, c值为a, 则可以输入: i=45 a /* 注: 字符a前面的空格跳过. */ #include stdio.h void main(void) { char c,s[20]; int i; double d; scanf(%4d%2c%6lf%s,i,c,d,s); printf(%d,%c,%.3f,%s\n, i,c,d,s); } 若输入: _9012345 则输出结果: 1234,5,78.901,2345 注: %2c: 以宽度为2输入一个字符,只输入第一个字符; 例3.8: 运行程序… 1 2 3 #include iostream #include iomanip #include cmath using namespace std; void main (void) { double x1, x2, x3, y1, y2, y3; double x12,y12, x13, y13, square; coutInput coordinate x,y:endl; cin x1 y1x2y2 x3 y3; x12 = x2-x1; y12 = y2-y1; x13 = x3-x1; y13 = y3-y1; square = 0.5 * (x12*y13 - x13*y12); square = fabs (square); 若输入: 0 0 10 0 0 10 则输出结果: Square = 50.000 目的: 输入三点的x,y坐标, 计算三点组成的三角形面积. 方法: 利用向量的叉积: 第3章 程序设计初步 cout setiosflags(ios::fixed); cout setprecision(3); coutSquare = square endl; } 例3.9 运行程序… * 第3章 程序设计初步 算法的概念 著名计算机科学家N.Wirth提出: 程序=数据结构+算法 数据结构: 数据的类型、组织形式及结构关系 (另有课程介绍) 算法:解决一个问题的方法及具体步骤. 具体到什么程度? 数值运算:求问题的数值解 研究得较多,目前已有许多成熟的算法库和程序, 如:数组排序、查找,线性方程组求解,特征值问题 如:管理信息系统,图书检索,自动控制系统等 非数值运算:用于事务性管理问题 分两大类:数值运算算法、非数值运算算法 可以从粗到细, 直到能用计算机语言来实现. 如果只是简单地使用设计好的算法, 那么就将其看成一个黑箱,只要知道数据接口(输入输出)即可. 第3章 程序设计初步 闰年的条件:(满足下面两个条件之一) 能被4整除,但不能被100整除; 能被400整除; 算法如下: S1: 2000?y; S2: 若y能被400整除,输出“y是闰年”,转S5; S3: 若y能被100整除,输出“y不是闰年”,转S5; S4: 若y能被4整除,输出“y是闰年”;否则,输出“y不是闰年”; S5: y+1?y; S6: 若y≤2500, 转S2; S7: 结束 例3.1. 找出2000-2500年中所有的闰年并输出. 第3章 程序设计初步 方法: 例3.2. 判断一个≥3的正整数n是否素数, 并输出结果. 用 之间的整数除n,若都不能整除,则n是素数 S1: 输入≥3的一个整数n; S2: i?2, j? 的

文档评论(0)

1亿VIP精品文档

相关文档