[第04讲]用流程图描述算法_第1页
[第04讲]用流程图描述算法_第2页
[第04讲]用流程图描述算法_第3页
[第04讲]用流程图描述算法_第4页
[第04讲]用流程图描述算法_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、全国青少年信息学奥林匹克竞赛全国青少年信息学奥林匹克竞赛网络学习社区网络学习社区C语言语言http:/www.ZXGL.com/omsNoi/上海交大出版社主编李明C语言程序设计语言程序设计主讲主讲Mr. Chen042009年7月29日版权所有 Mr.ChenCopyright(2009)第第04讲用流程图描述算法讲用流程图描述算法设计算法设计算法 1. 算法的概念算法的概念2. 算法的特点算法的特点3. 算法的描述算法的描述描述算法描述算法 1. 结构化流程图结构化流程图2. 用流程图描述算法用流程图描述算法编写程序编写程序 1. 根据流程图编程根据流程图编程2. 调试程序调试程序3. 优

2、化算法优化算法A 复习复习C 编写程序编写程序B 流程图流程图2+3+4+5+ +99 = ?1+100高斯小时候的故事高斯小时候的故事智力故事连环画智力故事连环画本地播放本地播放 远程播放远程播放开始开始第第1步:步:1+2=3第第2步:步: 3+3=6第第3步:步: 6+4=10 第第99步:步:4950+100=5050结束结束分析分析第第1组:组:1+100=101第第2组:组:2+99 =101第第3组:组:3+98 =101第第50组:组: 50+51=101开始开始第第1步:步: 10150=5050结束结束=101+算法的特点算法的特点算法(算法(Algorithm)是为解决一

3、个特定问题而采取的)是为解决一个特定问题而采取的确定的、有限的方法和步骤。确定的、有限的方法和步骤。 有穷性:有穷性:一个算法包含的操作步骤是有限的。一个算法包含的操作步骤是有限的。有效性:有效性:算法中的每一个步骤都应当能有效地执行,并得到算法中的每一个步骤都应当能有效地执行,并得到确定的结果。确定的结果。有输出:有输出:算法执行后必须输出(算法执行后必须输出(1n个)信息。个)信息。有输入:有输入:算法执行时需要输入(算法执行时需要输入(0n个)信息。个)信息。确定性:确定性:算法中的每一个步骤都是确定的。算法中的每一个步骤都是确定的。结构化流程图的符号结构化流程图的符号流程图是用一些图框

4、表示各种操作。流程图是用一些图框表示各种操作。用图形表示算法,直观形象,易于理解。用图形表示算法,直观形象,易于理解。开始/结束赋值/计算条件起止框起止框输入输出框输入输出框事件处理框事件处理框判断框判断框流程线流程线输入/输出开始开始输入输入赋值赋值/计算计算输出输出结束结束结构化流程图结构化流程图 (1) 顺序结构顺序结构/ 文件名:文件名:Yingwuxueshe.c/ 功能:在屏幕上显示用户输入的整数功能:在屏幕上显示用户输入的整数int main() int i;printf(请输入一个整数:请输入一个整数:);scanf(%d,&i);printf(“你输入的整数是:你输入的整数是

5、:%d,i);printf(%c,7); printf(n n); system(pause);结构化流程图结构化流程图 (2) if-else 选择结构选择结构/ 文件名:文件名:Judge.c/ 功能:判断两个整数的大小功能:判断两个整数的大小 int main()int a,b;scanf(%d,&a);scanf(%d,&b);if (a=b)printf(%d %d,a,b);elseprintf(%d =b?否否是是输入两个整数 a,b输出 ab输出 ab结构化流程图结构化流程图 (3) for 循环结构循环结构/ 文件名:文件名:Sum100_for.c/ 功能:计算功能:计算

6、s=1+2+3+99+100int main() int i,s; s=0; for for ( (i=1i=1; ;i i=100;100;i+i+) ) printf(“s=%d,i=%d ,s+i=%d n,s,i,s+i); s=s+i; printf(“n 1+2+3+ +99+100=%d,s); printf(n n); system(pause);开始开始i=100?是是否否赋值 s=0; i=1; 累加 i=i+1;输出 s结束结束计算 s=s+i;结构化流程图结构化流程图 (4) while 循环结构循环结构/ 文件名:文件名:Sum100_while.c/ 功能:计算功能:计算 s=1+2+3+99+100int main() int i,s; i=1; s=0; while (i=100) printf(“s=%d,i=%d ,s+i=%d n,s,i,s+i); s=s+i; i=i+1; printf(“ n 1+2+3+ +99+100=%d,s); printf(n n); system(pause);开始开始i=b?否否是是输入两个整数 a,b输出 ab输出 a

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论