《C程序设计》第02章(算法).pps

上传人:b****2 文档编号:1771979 上传时间:2022-10-24 格式:PPS 页数:38 大小:431.50KB
下载 相关 举报
《C程序设计》第02章(算法).pps_第1页
第1页 / 共38页
《C程序设计》第02章(算法).pps_第2页
第2页 / 共38页
《C程序设计》第02章(算法).pps_第3页
第3页 / 共38页
《C程序设计》第02章(算法).pps_第4页
第4页 / 共38页
《C程序设计》第02章(算法).pps_第5页
第5页 / 共38页
点击查看更多>>
下载资源
资源描述

《C程序设计》第02章(算法).pps

《《C程序设计》第02章(算法).pps》由会员分享,可在线阅读,更多相关《《C程序设计》第02章(算法).pps(38页珍藏版)》请在冰豆网上搜索。

《C程序设计》第02章(算法).pps

第二章算法C程序设计第二章第二章第二章第二章程序的灵魂程序的灵魂程序的灵魂程序的灵魂-算法算法算法算法第二章算法C程序设计主要内容算法的概念及其特性算法的表示结构化程序设计方法第二章算法C程序设计现实世界抽象抽象模型N.Wirth提出:

程序=数据结构+算法程序=数据结构+算法+程序设计方法+工具/环境操作步骤对数据的描述第二章算法C程序设计2.1算法的概念算法:

为了解决一个问题而采取的方法和步骤。

步骤之间可能存在先后顺序关系;解决一个问题的算法不是唯一的;解决同一个问题的算法在具体情况下又有优劣之分;举例:

做菜洗菜切菜点火炒菜计算机算法的类别:

数值运算算法非数值运算算法第二章算法C程序设计2.2简单算法举例例2.1求1X2X3X4X5算法1:

步骤1:

先求1X2,得出结果2;步骤2:

将结果2X3,得出6;步骤3:

将结果6X4,得出24;步骤4:

将结果24X5,得出120,即最终结果。

不是一个通用的算法。

第二章算法C程序设计2.2简单算法举例算法2:

S1:

令p=1S2:

令i=2S3:

让pXi,结果仍放在p中,表示为ppxiS4:

让i的值加1,表示为ii+1S5:

如果i5?

结束ynS1:

令t=1S2:

令i=2S3:

让tXi,结果仍放在t中,表示为ttxiS4:

让i的值加1,表示为ii+1S5:

如果i50?

结束yngi80?

打印ni,giYN算法:

n代表学号,g代表成绩S1:

i1;S2:

如果gi80,则打印ni和gi;否则不打印。

S3:

ii+1;S4:

如果i50,返回S2继续执行,否则算法结束。

第二章算法C程序设计2.4算法的表示例3:

判定润年的算法开始y2000yy+1y2500?

结束ynY不能整除100?

Y不能整除4?

Y不能整除400?

“润年”“润年”“非润年”“非润年”YNYNNY第二章算法C程序设计2.4算法的表示流程图组成:

表示相应操作的框;带箭头的流程线;框内外必要的文字说明。

流程图表示法特点:

直观形象,逻辑关系明确;空隙较大,布局不太容易;第二章算法C程序设计2.4算法的表示三种基本的控制结构(顺序结构、选择结构)ABP?

ABYN第二章算法C程序设计2.4算法的表示三种基本的控制结构(循环结构)p?

AAp?

当(while)型循环直到(until)型循环成立不成立不成立成立第二章算法C程序设计2.4算法的表示三种基本的控制结构的共同特点:

唯一入口,唯一出口;每一部分都有机会被执行到;不能存在“死循环”;三种基本结构可以相互嵌套;由三种基本控制结构描述的算法能够解决任意复杂的问题,所表示的算法属于结构化算法。

第二章算法C程序设计三种基本程序结构三种基本程序结构ABCABCTpFABA直到P为真当P为真A顺序结构顺序结构选择结构选择结构循环结构循环结构N-S流程图ABTF判断pAPFTAPFT去掉了带箭头的流程线第二章算法C程序设计例4求5!

t=1i5t=tXii5?

结束yn输出t第二章算法C程序设计开始i1ii+1i50?

结束yngi80?

打印ni,giYN例5打印出50名学生中成绩在80分以上学生的学号和成绩i50i=80成立不成立打印ni,gi第二章算法C程序设计例6判断某年是否为闰年打印“闰年”输入年份yy/4余数为0?

y/100余数为0?

打印“非闰年”y/400余数为0?

是否是否打印“非闰年”打印“闰年”开始y2000yy+1y2500?

结束ynY不能整除100?

Y不能整除4?

Y不能整除400?

“润年”“润年”“非润年”“非润年”YNYNNY第二章算法C程序设计2.4算法的表示N-S流程图表示法特点:

直观形象,逻辑关系明确;比传统流程图紧凑易画;N-S流程图上下顺序就是执行时的顺序第二章算法C程序设计例7计算1-1/2+1/3-1/4+-1/100当100denosum1,deno2,sign1sign(-1)xsigntermsignx1/denodenodeno+1sumsum+term输出sum第二章算法C程序设计2.4算法的表示例8:

判断一个数N是否为素数开始输入nw0i2rn/i的余数r=0?

sq(n)i和w=0?

ii+1w1AAW=0?

“素数”“非素数”结束第二章算法C程序设计2.4算法的表示直到i大于n的平方根或w0输入nw0,i2rn/i的余数Yr=0?

Nw1ii+1Yw=0?

N“是素数”“非素数”第二章算法C程序设计2.4算法的表示5伪码表示法介于自然语言和计算机语言之间的一种语言,是受限的自然语言。

例9:

打印x的绝对值IFxispositiveTHENprintxELSEprintx如果x为正输出x否则输出xIFx为正printxELSEprintx书写格式自由,易修改易表达出设计者思想但算法不如流程图直观AX=0?

输出x输出-x结束YN第二章算法C程序设计2.4算法的表示6计算机语言表示法main()inti,t;t=1;i=2;while(ii如果xi未去掉,则将xi+1到xn间是xi倍数的数去掉ii+1yxi=0n将xi+1到xn间是xi倍数的数去掉ji+1当n=j将能被xi整除xj去掉jj+1yxj=0或xj不能被xi整除nxj=0第二章算法C程序设计2.5结构化程序设计方法i1当i=n如果xi未去掉,则将打印xiii+1yxi=0n打印xi第二章算法C程序设计作业1依次输入10个数,要求打印其中的最大数;2读入3个数A、B、C,按从大到小的顺序打印输出;3求1+2+3+100;4求两个数m、n的最大公约数;求两个数m、n的最小公倍数;5求方程ax2+bx+c=0的根,要求考虑虚根和无穷个解的情况,其中a、b、c三个系数输入。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1