重庆普通专升本《计算机程序设计》中常用算法复习.docx
- 文档编号:6675206
- 上传时间:2023-01-08
- 格式:DOCX
- 页数:10
- 大小:16.70KB
重庆普通专升本《计算机程序设计》中常用算法复习.docx
《重庆普通专升本《计算机程序设计》中常用算法复习.docx》由会员分享,可在线阅读,更多相关《重庆普通专升本《计算机程序设计》中常用算法复习.docx(10页珍藏版)》请在冰豆网上搜索。
重庆普通专升本《计算机程序设计》中常用算法复习
重庆普通专升本《计算机程序设计》中常用算法复习
一、常用算法有8个方面:
1、递推算法(级数、数列求和、二分法、梯形法、穷举法等)
2、排序算法(选择法排序、冒泡法)
3、查找算法(顺序查找、折半查找、统计、求和、计数)
4、有序数列的插入、删除操作
5、求解算法(最大数、最小数、素数、最大公约数、最小公倍数)
6、矩阵的处理(生成矩阵、交换和基本运算)
7、递归算法(求阶乘、最大公约数)
8、字符串处理(插入、删除、连接和比较)
二、常用算法的应用举例:
(有21个程序)
1、计算S=1+2+…+100的值。
(求和、统计)
2、找出100~999之间的所有“水仙花数”(穷举法、统计)
3、从键盘输入10个数,然后找出其中的最大值和最小值。
(找最大数、最小数)
4、任意输入n个数,按由小到大的顺序排列并显示输出。
(排序算法--选择法排序)
5、(对字符串排序处理)有5个英文单词,分别为:
Word,Excel,Powerpoint,Type,Angle,要求设计出如下程序:
(1)在键盘上输入数N(本例输入5),把英文单词放入名为X大小为N的数组中
(2)显示出X数组中的英文单词
(3)对数组中的英文单词从小到大排序
(4)显示出排序后X数组中英文单词
6、求5的阶乘值(5!
=?
)
7、计算t=1!
+2!
+……+10!
(即求阶乘之和)。
计算t=1!
+2!
+……+10!
即求阶乘之和(双循环)。
8、多项式S=1+2+22+23+……+232,请设计一个程序,求S的值。
9、除了1和它本身之外不能被任何一个整数所整除的自然数叫质数,除去2之外,其它质数都是奇数,又称为素数。
请设计一个程序,在屏幕上输出3——150之间的所有素数。
10、设计1个程序,要求是:
(查找算法、统计、求和、找素数或质数)
(1)在键盘上输入1个不小于3的自然数N(例输入10),求出其不到第N个自然数中奇数之和,并输出结果
(2)输出1到第N自然数中所有质数的个数
11、穷举法,整钱找零.prg
程序如下:
*
(1)穷举法整钱找零.prg"、
*整钱找零:
100=x1*10+x2*5+x3*1
*x1,x2,x3>=1,x1+x2+x3=20
forx1=1to10
forx2=1to20
x3=20-x1-x2
if100=x1*10+x2*5+x3*1andx3>0then
?
x1,x2,x3
endif
nextx2
nextx1
12、求级数.prg
程序如下:
*求级数1.prg"
*s=1+1/2-1/3+1/4+....
s=1
d=1
clear
input"输入N:
"ton
fori=2ton
s=s+d*1/i
d=-d
?
S
nexti
?
"s=",s
13、求数列.prg
程序如下:
*求数列2.prg"
fibnocsi数列
f1=1
f2=1
?
?
f1,f2
fori=1to20
f2=f2+f1
f1=f2-f1
?
?
f2
nexti
14、生成矩阵.prg
程序如下:
*(4)生成矩阵.prg"
clear
dimea(5,5)
fori=1to5
forj=1to5
docase
casei a(i,j)=2 casei=j a(i,j)=1 otherwise a(i,j)=3 endcase nextj nexti fori=1to5 forj=1to5 ? ? a(i,j) nextj ? nexti 15、查找算法(顺序查找.prg) 程序如下: * (1)顺序查找.prg" clear dimea(10) fori=1to10 a(i)=int(rand()*100) ? ? a(i) nexti input"输入要查找的数: "tox fori=1to10 ifa(i)=x ? "找到: ",x,i return endif nexti ? "没有找到! " 16、查找算法(折半查找.prg") 程序如下: * (2)折半查找.prg"(先排序,后查找) clear dimea(10) n=10 fori=1to10 a(i)=int(rand()*100) ? ? a(i) next *排序 fork=1ton-1 forj=k+1ton ifa(k)>a(j) t=a(k) a(k)=a(j) a(j)=t endif endfor ? a(k) endfor ? a(n) return *折半查找 input"输入要查找的数: "tox l=1 h=10 dowhilel<=h m=int((l+h)/2) ifa(m)=xthen exit else ifa(m)>xthen h=m-1 else l=m+1 endif endif enddo ifl<=hthen ? "找到",M,a(m) else ? "没有找到! " endif 17、求解算法(最大公约数) 程序如下: * (1)最大公约数 input"输入M: "tom input"输入N"ton ifn=0then ? "数据有错! " exit endif r=mod(m,n) dowhiler>0 m=n n=r r=mod(m,n) enddo ? "最大公约数是: ",n 18、求解算法(最小公倍数) 程序如下: * (2)最小公倍数 input"输入M: "tom input"输入N"ton a=m b=n ifn=0then ? "数据有错! " exit endif r=mod(m,n) dowhiler>0 m=n n=r r=mod(m,n) enddo ? "最大公约数是: ",n ? "最小公倍数是: ",a*b/n 19、有序数列的插入操作 程序如下: *有序序列插入操作.prg" settalkoff clear *定义数组 input'输入n=? 'ton dimea(10) *给数组提供值 fork=1ton input'逐个输入数据'toa(k) endfor *排序开始 fork=1ton-1 forj=k+1ton ifa(k)>a(j) t=a(k) a(k)=a(j) a(j)=t endif endfor ? a(k) endfor ? a(n) *插入数据 input"输入要插入的数: "tox a(7)=x fori=nto1step-1 ifa(i)>xthen a(i+1)=a(i) else exit endif nexti a(i+1)=x ? "插入一个元素后: " fori=1ton+1 ? ? a(i) nexti 20、有序数列的删除操作 程序如下: *有序序列删除操作.prg" clear dimea(11) n=10 fori=1to10 a(i)=int(rand()*100) ? ? a(i) next fori=1ton-1 forj=ntoi+1step-1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机程序设计 重庆 普通 计算机 程序设计 常用 算法 复习