程序设计算法基础.doc

程序设计算法基础.doc

ID:59461524

大小:140.00 KB

页数:48页

时间:2020-11-02

程序设计算法基础.doc_第1页
程序设计算法基础.doc_第2页
程序设计算法基础.doc_第3页
程序设计算法基础.doc_第4页
程序设计算法基础.doc_第5页
资源描述:

《程序设计算法基础.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、程序设计算法基础一、递推算法[1]:1.数列求和:数列求和的基本形式是S=1+2+3+…+n或S=1*2*3*…*n,其算法思想是设定一个变量作为累加器或累乘器,然后不断使它的值增加一个指定的有规律的序列的某一项的值。考点:循环语句的使用,循环变量的递增量或递减量,循环次数的确定,以及S=S+i(循环变量)或S=S*i(循环变量)的理解,其特点为:循环次数(或上下界)确定,循环变量的递增量或递减量为一常数C;一般只包含以下三种形式:①形如S=1+2+3+…+n:²算法思想:确定循环次数(或上下界),确定循环变量的递增量或递减量,使用一个for循环即可解决问题u示例代码:us

2、=0ufori=1tonstep1us=s+iuendfor②形如S=1-2+3-4+…+(2n-1)-2n:²算法思想:确定循环次数(或上下界),确定循环变量的递增量或递减量,使用一个for循环,在循环中根据循环变量的当前值判断其正负号,即可解决问题u示例代码:us=0ufori=1tonstep1uifi%2==0us=s-iuelseus=s+iuendifuendfor①形如S=1+(1+2)+(1+2+3)+…+(1+2+3+…+n):²算法思想:这种题目的规律是:求累加和,同时累加和中的每一项又是一个累加和,每一项的累加的个数有规律可寻;解决这种问题的基本思路是

3、:使用两个循环语句,一个外层循环包含一个内层循环(称为循环嵌套);外层循环用于计算最终的累加和,而内层循环用于计算每一项的累加和,内层循环的循环次数由外层循环当前的循环变量的值确定。u示例代码:usa=0ufori=1tonstep1usb=0uforj=1toistep1usb=sb+juendforusa=sa+sbuendfor1.常用级数:级数与数列求和的表现形式和算法思想基本是一致的,其区别只有一个:在一般情况下,级数的计算不知道确切的循环次数,而只知道级数计算的结束条件。因此级数的计算适合采用dowhile循环而不是for循环;形如,直到。²算法思想:确定循环结

4、束的条件,使用dowhile循环即可解决问题;同时注意的是,在计算级数时也有可能使用循环嵌套(如此题),解题思路除使用dowhile循环外与数列求和基本一致u示例代码:uinput“请输入x的值:”toxun=1ufn=1&&fn的值为1!uex=1+x&&ex的值初始化udowhile(x^n)/fn>1e-6un=n+1ufn=1&&fn的值初始化ufori=1tonufn=fn*iuendforuex=ex+(x^n)/fnun=n+1uenddo1.梯形积分法:利用程序求积分的方法都是一样的,基本上与级数的计算方法一模一样,只是需要了解公式中各参数的含义形如=²算法

5、思想:先确定公式中各个参数的含义(需要一定的高等数学知识),再观察各参数变化的规律,最后根据题目要求使用dowhile循环或for循环求解u示例代码:uinput“请输入分割次数n的值:”tonua=0ub=pi()/2&&或者b=3.14159/2uh=(b-a)/nusinx=(h/2)*(sin(a)-sin(b))&&剥离不变项,作为初始值ufori=1tonusinx=sinx+h*sin(a+i*h)uendfor一、初等数论问题[1]:1.最大公约数:使用程序求两个正整数的最大公约数,其方法一般采用所谓辗转相除法,即两个正整数的最大公约数等于其中较小的数与两数

6、的差的最大公约数。考点:掌握常用算法思想,循环语句的使用形如:使用键盘输入a和b的值,假设a=252,b=105,求其最大公约数²算法思想:按照辗转相除法的定义²第一步:确定252>105,则252%105=42,42!=0;²第二步:因为105>42,则105%42=21,21!=0²第三步:因为42>21,则42%21=0,故最大公约数为21u示例代码:uinput“请输入正整数a的值:”toauinput“请输入正整数b的值:”tobuifa>bubig=ausmall=buelseubig=busmall=auendifuflag=.t.udowhileflagur

7、=big%smalluifr==0ufactor=smalluflag=.f.uelseubig=smallusmall=ruendifuenddo1.最小公倍数:使用程序求两个正整数的最小公倍数,其方法一般借助两数的最大公约数,即假设两个正整数A、B,它们的最大公约数为C,那么它们的最小公倍数等于A*B/C。考点:掌握常用算法思想,循环语句的使用形如:使用键盘输入a和b的值,假设a=252,b=105,求其最小公倍数²算法思想:先算出其最大公约数,再利用公式求解其最小公倍数即可u示例代码:uinput“请输入正整

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。