20xx年普通专升本考试编程题总结

时间:2024.4.20

20##年普通专升本考试编程题总结

一、数学表达式

1、编写程序,其功能是:计算并输出下列多项式的值:, 将结果存到外存root.txt中。

CLEAR

SET TALK OFF

S=0

INPUT "请输入N的值:" TO N

FOR I=1 TO N

S=S+SQRT(N)

ENDFOR

?"S=",S

DISPLAY MEMORY LIKE S TO FILE ROOT

SET TALK ON

CANCEL

2、编写程序,其功能是:计算并输出下列多项式的值:

CLEAR

SET TALK OFF

S=0

INPUT "请输入N的值:" TO N

FOR I=1 TO N

S=S+1/i

ENDFOR

?"S=",S

SET TALK ON

CANCEL

3、编写程序,其功能是:计算并输出下列多项式的值:,并输出结果。例如,若n=20,则S=6.506583。

CLEAR

SET TALK OFF

S=0

INPUT "请输入N的值:" TO N

FOR I=1 TO N

S=S+log(i)

ENDFOR

s=sqrt(s)

?"S=",S

SET TALK ON

CANCEL

4、编写程序,计算表达式:直到。例如x=2.5,则函数值为:12.182494。

clear

SET TALK OFF

INPUT "请输入计算函数值的值:" to x

I=0

S=1

N=1

DO WHILE N>1E-6

I=I+1

N=N*X/I

IF N>1E-6

S=S+N

ENDIF

ENDDO

?"EX=",S

SET TALK ON

return

5、找出100~999之间的所有“水仙花数”(穷举法、统计)

clear

SET TALK OFF

for i=100 to 999

  a=int(i/100)

 b=int((i-a*100)/100)

 c=i-a*100-b*10

   if i==a^3+b^3+c^3

     ??i   

     endif

 endfor

SET TALK ON

return

6、从键盘输入10个数,然后找出其中的最大值和最小值。(找最大数、最小数)

clear

dime a(10)

 for i=1to 10

   input "请输入数:" to a(i)

 endfor

max=a(1)

 for i=2to 10

    if a(i)>max

      max=a(i)

     endif

  endfor

min=a(1)

 for i=2to 10

    if a(i)<min

      min=a(i)

     endif

  endfor 

?"最大数为:",max

?"最小数为:",min

return

7、任意输入n个数,按由小到大的顺序排列并显示输出。(排序算法--选择法排序)

clear

input "请输入数组的个数:" to n

 dimension a(n)

 for i=1 to n

   input "请输入数值数据:" to a(i)  &&输入数组的元素

 endfor

  for i=1 to n-1

     for j=i+1 to n

         if a(i)>a(j)

             temp=a(i)

             a(i)=a(j)

             a(j)=temp

         endif

     endfor

  endfor   

for i=1 to n   &&输出排序以后的数组

  ??a(i)

endfor 

cancel

8、求5的阶乘值(5!=?)

clear

p=1

for i=2 to 5

  p=p*i

endfor

?"1*2*3*4*5=",p

Cancel

9、计算 t=1!+2!+……+10! 即求阶乘之和(双循环)。

clear

s=1

p=1

for i=2 to 10

    for j=2 to i

      p=p*j

    endfor

  s=s+p 

endfor   

?"s=1!+2!+……+10!=",s

cancel

10、多项式S=1+2+22+23+……+232,请设计一个程序,求S的值。

clear

s=1

p=1

for i=1 to 32

    p=p*2

endfor

   s=s+p   

?"S=1+2+2^2+2^3+……+2^32=",s

cancel

二、矩阵的处理

编写程序,完成的功能是:实现B=A+A’,即把矩阵A加上A的转置,存放在矩阵B中。例如用户输入矩阵,其转置矩阵为,程序输出

clear

   dimension a(3,3)  

   dimension b(3,3)

   dimension c(3,3)

    for i=1 to 9   

      input "请给数组赋值:" to a(i)

   endfor

   for i=1 to 3

     for j=1 to 3

       b(i,j)=a(j,i)     

      endfor

   endfor

       

   for i=1 to 3

     for j=1 to 3

         c(i,j)=a(i,j)+b(i,j)       

      endfor

   endfor

  

   for i=1 to 3

      for j=1 to 3

        ?? c(i,j)

      endfor

         ?

     endfor  

return

(2)求矩阵A对角线元素之和。

clear

s=0

   dimension a(3,3)    

    for i=1 to 9   

      input "请给数组赋值:" to a(i)

   endfor 

          

   for i=1 to 3    

        s=s+a(i,i)    

   endfor

 ?"矩阵A对角线元素之和:" ,s   

return

三、字符串的处理

1、编写一个程序,它的功能是:将ss字符串中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。例如,若输入“abc4EFg”,则应输出“AbC4EFG”。

set talk off

clear

ACCEPT "请输入一串字符:" to ss

n=len(ss)

for I=1 TO N STEP 2

 aa=substr(ss, i,1)

    if (aa>="a".and.aa<="z")

       bb=upper(aa)

    ss=STUFF(ss,i,1,bb) 

     endif

 endfor

 ?"输出转换后的字符串SS:",SS   

 SET TALK ON

 CANCEL

2、程序的功能是:将s所指字符串中ASCII值为偶数的字符删除,串中剩余字符形成一个新串放在t所指的数组中。

例如,若s所指字符串中的内容为:“ABCDEFG12345”,其中字符B的ASCII码值为偶数、…、字符2的ASCII码值为偶数、…、都应当删除,其它依此类推。最后t所指的数组中的内容应是:“ACEG135”。

set talk off

clear

ACCEPT "请输入一串字符:" to s

n=len(s)

C=""

for I=1 TO N

  w=substr(s, i,1)

  ACI=ASC(W)&&返回最左边的一个字符的ASCII值。

    if ACI%2=0      

        s=STUFF(s,i,1,C) 

    endif

 endfor

 ?"输出转换后的字符串S:",S

 SET TALK ON

 CANCEL

3、编写程序,实现将s所指字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的先后次序。例如,原字符串为:def35adh3kjsdf7,执行结果为:defadhkjsdf3537

set talk off

clear

ACCEPT "请输入一串字符:" to s

n=len(s)

C=""

B=""

for I=1 TO N

  w=substr(s, i,1)

    if (w>="0".and.w<="9")

        b=b+w

        s=STUFF(s,i,1,C) 

        i=i-1

     endif

 endfor

 S=S+b

 ?"输出转换后的字符串S:",S

 SET TALK ON

 CANCE

4、假定输入的字符串中只包含字母和*号。请编写程序,它的功能是:使字符串中尾部的*号不得多于n个;若多于n个,则删除多于的*号;若少于或等于n个,则什么也不做,字符串中间和前面的*号不删除。

set talk off

clear

J=0

ACCEPT "请输入一串字符:" to S

INPUT "请输入使字符串中尾部的*号最大值:" to N

LS=len(s)

for I=1 TO LS

  w=substr(s, i,1)

     if W!="*"   

         J=0      

       endif  

     if W=="*"    

        J=J+1  &&J用于统计串尾连续的*个数

     endif

 endfor

 IF J>N

   S=LEFT(S,LS-(J-N))

 ENDIF

 ?"输出转换后的字符串S:",S

 SET TALK ON

 CANCEL

5、(对字符串排序处理)有5个英文单词,分别为:Word,Excel,Powerpoint,Type,Angle,要求设计出如下程序:

(1)在键盘上输入数N(本例输入5),把英文单词放入名为X大小为N的数组中

(2)显示出X数组中的英文单词

(3)对数组中的英文单词从小到大排序

(4)显示出排序后X数组中英文单词

set talk off

clear

INPUT "请输入数组的个数:" to N

DIMENSION A(N)

for I=1 TO N

ACCEPT "请输入一串字符:" to A(I)

ENDFOR

for i=1 to n-1

   for j=i+1 to n

        if a(i)>a(j)

          temp=a(i)

           a(i)=a(j)

           a(j)=temp

        endif

    endfor

endfor   

for i=1 to n   &&输出排序以后的数组

  ??a(i),space(3)

endfor 

 SET TALK ON

 CANCEL

三、数据的处理

1、程序的功能是:将两个两位数的正整数a.b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的个位和百位上,b数的十位和个位数依次放在c数的千位和十位上。

例如,当a=45,b=12时,执行该程序后,c=1524。

set talk off

clear

INPUT "请输入第一个正整数:" to a

INPUT "请输入第二个正整数:" to b

c=int(a/10)+(a-int(a/10)*10)*100

c=c+int(b/10)*1000+(b-int(b/10)*10)*10

?"c=",c

SET TALK ON

CANCEL

2、请编写程序,它的功能是:求出1到1000之间能被7或11整除,但不能同时被7和11整除的所有整数并将它们放在a所指的数组中,通过n返回这些数的个数。

set talk off

clear

j=0

dimension a(500)

for i=1 to 1000

  do case

     case  i%7==0

         if i%11!=0

             j=j+1

             a(j)=i            

          endif

     case  i%11==0

          if i%7!=0

              j=j+1

             a(j)=i            

          endif

    otherwise

     loop

   endcase

endfor

?"1到1000之间能被7或11整除,但不能同时被7和11整除的所有整数的个数:",j

for i=1 to j

??a(i)

endfor

SET TALK ON

CANCEL

3、编写程序,求Fibonacci数列中大于t的最小的一个数。其中Fibonacci数列F(n)的定义为:

F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)。例如:当t=1000时,函数值为:1597。

clear

set talk off

input "请输入Fibonacci数列中的个数" to n

dime f(n)

f(1)=0

f(2)=1

for i=3to n

 f(i)=f(i-1)+f(i-2)

endfor

for i=1 to n

?"f("+str(i,2)+")=",str(f(i),4)

endfor

set talk on

cancel

4、编写程序,实现根据输入的三个边长(整型值),判断能否构成三角形;构成的是等边三角形,还是等腰三角形。若能构成等边三角形函数返回3,若能构成等腰三角形函数返回2,若能构成一般三角形函数返回1,若不能构成三角形函数返回0。

set talk off

clear

input "请输入三角形的第一条边长值A=" TO a

input "请输入三角形的第一条边长值b=" TO b

input "请输入三角形的第一条边长值c=" TO c

s=f1(a,b,c)

?"返回构成等边三角形的类型:",S

SET TALK ON

CANCEL

*自定义函数F1

FUNCTION F1

PARAMETER X,Y,Z

if (X+Y)>Z.AND.(X+Z)>Y.AND.(Y+Z)>X

    DO CASE

        CASE X=Y.AND.X=Z.AND.Z=Y

          FAN=3

        CASE X==Y.or.X==Z.or.Z==Y

         FAN=2

      OTHERWISE

         FAN=1

      ENDCASE   

 ELSE

    FAN=0

ENDIF

RETURN (FAN)

5、编写程序,实现计算并输出3到n之间(含3和n)所有素数的平方根之和。例如,n=100,则输出s=148.874270,注意:要求n的值大于2但不大于100。

clear

a=0

b=0

s=0

input "请输入n的值:" to n

for i=3 to N

 a=sqrt(i)

    for b=2 to a

           if i%b=0

            exit

          endif

         endfor

      if b>a

         ??i

         S=S+sqrt(i)

      endif

endfor

?"输出3到n之间(含3和n)所有素数的平方根之和:",s

return

6、编写程序,它的功能是:利用以下所示的简单迭代方法求方程:cos(x)-x=0的一个实根。迭代表达式为:xn+1=cos(xn)

(1) 取x1初值为0.0;

(2) x0=x1,把x1的值赋给x0

(3) x1=cos(x0),求出一个新的x1;

(4) 若x0-xl的绝对值小于0.000001,执行步骤(5),否则执行步骤(2);

(5)所求x1就是方程cos(x)-x=0的一个实根,作为函数值返回。

clear

 x1=0.0

 x0=x1

 x1=cos(x0)

  do while (abs(x0-x1)>=0.000001)

      x0=x1

     x1=cos(x0) 

  enddo

  ?"cos(x)-x=0的一个实根是:",X1

 return

1. 有3个数a,b,c,要求按大小顺序把它们打印出来。
2. 求1+2+3+………+100。
3. 判断一个数n 能否同时被3和5整除。
4. 将100~200之间的素数打印出来
5. 求两个数m和n的最大公约数。
6. 求方程式ax2+bx+c=0的根。分别考虑:(1)有两个不等的实根:(2)有两个相等的实根。

8. 有一个函数:
     x     (x<1)
y=   2x-1   (1≤x<10)
    3x-11 (x≥10)
写一个程序,输入x,输出y值。
9. 给出一个百分制成绩,要求输出成绩等级‘A’,‘B’,‘C’,‘D’,‘E’。90分以上为‘A’,80-90分为‘B’,70~79分为‘C’,60~69分为‘D’,60分以下为‘E’。
10. 求Fibonacci数列40个数。这个数列有如下特点:第1,2两个数为1,1。从第3个数开始该数是其前面两个数之和。即:     F1=1      (n=1)   F2=1      (n=2)  这是一个有趣的古典数学问题:有一对兔子,从出生后第3 个月起每个月都生一对兔子。小兔子长到第3个月后每个月又生
Fn =Fn-1+Fn-2 (n≥3) 一对兔子。假设所有兔子都不死,问每个月的兔子总数为多少?
11. 求100~200间的全部素数。     
12. 求1!+ 2!+ 3!+ 4!+ … +20!。
13. (1+2+…+100) +(12+22+…+502 )+(1+1/2+…+1/10)。               
14. 打印出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。例如,153是一水仙花数,因为153=13+53+33。
15. 有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13,…,求出这个数列的前20项之和。
16. 猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个,第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第十天早上想再吃时,就只剩下一个桃子了。求第一天共摘多少桃子?
17. 用二分法求下面方程在(-10,10)之间的根。
              2x3-4x2+3x-6=0               

19. 用起泡法对10个数排序(由大到小)。
20. 将一个二维数组行和列元素互换,存到另一个二维数组中。
例如:  a= 1 2 3         

4 5 6   

   b=  1 4  

 2 5         

3 6
22. 有一个3×4的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号。
23. 用筛法求100之内的素数。
24. 用选择法对10个整数排序。
25. 一个3×3矩阵对角线元素之和。
26. 已有一个排好序的数组,今输入一个数,要求按原来排序的规律将它插入数组中。
27. 将一个数组按逆序重新排放。例如,原来顺序为8,6,5,4,1。要求改为1,4,5,6,8。

1、计算1到100的立方根,将结果存于外存,文件名为ROOT。C

CLEAR MEMORY

S=0

DIMENSION X(100)  &&定义100个数组

FOR I= 1 TO 100

X(I)=I^(1/3)  &&将每个数的立方根放在数组中

S=S+X(I)

ENDFOR

DISPLAY MEMORY  LIKE * TO FILE ROOT &&讲所有的内存变量都显示在窗口和写到文件

RETURN

2、近似计算COS(X)=

(X为弧度,计算精度为10-6

clear

SET TALK OFF

INPUT "请输入计算余弦函数值的弧度值:" to x

I=0

S=1

N=1

DO WHILE ABS(N)>=1E-6

I=I+2

N=-N*X*X/((I-1)*I)

S=S+N

ENDDO

?"cos("+str(x)+")=", S

SET TALK ON

return

3、计算出1100的平方根,将结果存于外存,其文件名为“result.C

CLEAR MEMORY

S=0

DIMENSION X(100)

FOR I=1 TO 100

X(I)=sqrt(I)

S=S+X(I)

ENDFOR

DISPLAY MEMORY LIKE * TO FILE ROOT

RETURN

4、用梯形法求定积分:

   a=0,b=∏/2

要求数据初始化、调用子函数及其输出计算结果用主函数(主程序)实现,其余用子函数(过程、子程序、类)实现。近似计算公式如下:                                                                                                                 

h/2[sia(a)+2(sin(a+h)+sin(a+2h)+...+ sin(a+nh))-sin(b)]

set talk off

clear

a=0

b=pi()/2

input "请输入近似公式中梯形的个数:" to n

tjf=Txjf(a,b,n)

? "所求正弦函数定积分的近似值为:",tjf

set talk on

return

* 子函数

function Txjf(x,y,z)

h=(y-x)/z

s=0

for i=1 to z

s=s+sin(a+i*h)

endfor

s=(sin(a)+2*s-sin(b))*h/2                            

return s

endfunction

5、编写程序计算:ex=1+x+x2/2!+ x3/3!+.....+ xn/n!,直到最后一项小于105

clear

SET TALK OFF

INPUT "请输入计算函数值的值:" to x

I=0

S=1

N=1

DO WHILE N<1E5

I=I+1

N=N*X/I

IF N<1E5

S=S+N

ENDIF

ENDDO

?"EX=",S

SET TALK ON

return

6、编写程序,从键盘上任意输入10个整数,将这10个数在屏幕上显示成一行,并在下一行显示其中最接近平均值的数。

clear

s=0

j=0

b=0

n=1

top=0

bottom=0

dimension a(10)

for i=1 to 10

 INPUT "请输入数值:" to a(i)

  s=s+a(i)

endfor

S=s/10

clear

 for i=1 to 10

    ??a(I)

   ENDFOR

top=abs(S-a(1))

bottom=a(1)

for j=2 to 10      

    if top>abs(S-a(j))

      bottom=a(j)

      top=abs(S-a(j))

      n=j

   endif

endfor

?"接近平均值为A"+STR(N,2)+"=",bottom

?"平均值为=",S

return

6、已知笼中有鸡和兔共36只,他们的脚共有100只,编写程序计算鸡和兔分别有多少只。

clear

M=0

N=0

  FOR X=1 TO 36

    FOR Y=1 TO 36

      IF ((X+Y==36).AND.(2*X+4*Y==100))

         M=X

         N=Y

      ENDIF

     ENDFOR

   ENDFOR  

?"鸡和兔分别是",M,N

return

8、编写程序,运行时接收用户键盘输入的一个长字符串,统计其中包含字母A的个数(不区分大小写),并在屏幕上输出统计结果。文本框: 第一种方法
clear
N=0
b=0
accept "请输入一个长字符串" TO X
n=len(x)
 for i=1 TO n
    zf=substr(x, i,1)&&substr(x, i,1)返回字符串X中的第i位字符。
       if ((zf=="a").or.(zf=="A"))
         b=b+1
       endif
  endfor
?"字母A的个数(不区分大小写):",b
return

文本框: 第二种方法
clear
accept "请输入一个长字符串" TO X
x=(OCCURS("A",X)+OCCURS("a",X))&& OCCURS("A",X)计算x字符串中a出现的次数。
?"字母A的个数(不区分大小写):",x
Return

更多相关推荐:
党员(预备党员)毕业专升本总结报告-工管系学生第一党支部

重庆机电职业技术学院工商管理系学生第一党支部党员(预备党员)毕业专升本总结报告姓名:张三专业班级:会计与审计20xx级一班学号:1260720xx1888专升本考试成绩:312分专升本报考学校:重庆理工大学报告…

专升本学习总结

学习总结时光像水中的倒影,一晃时间就过去了。昨日那埋怨时间过的太慢的情愫似乎还游移在脑际,而今大学的生活即将结束,蓦然回首,感慨颇多。依稀记得高考失利给自己带来的不愉快;依稀记得那愤愤不平的心;依稀记得刚进大学…

专升本毕业总结

专升本毕业总结回想三年前为什么想提升自身学历,为什么选择夜大专升本,我想每个同学都有各自的想法和目的。如果顺利毕业,实事求是的说我想我收获的主要是学历(在最后的冲刺阶段以最大努力拿到学士学位),其次是丰富了专业…

专升本自我总结

时光飞逝,转眼间三年的专升本学习即将结束。首先要感学华南师范大学,给了我这次再学习和提高的机会,通过再次系统全面的学习教育管理专业知识,我的专业技能得到了全面地提高,为实现人生的价值打下了坚实的基础。本人主要从…

专升本学期总结

期末个人总结第一学期的专升本学习已经告一段落了,经历的期末复习的紧张刺激,成绩虽不算喜人,但至少让我自己洞察到我与别人的差距,至少努力后的成果。这一个学期除了努力完成自己的学习目标,也利用各种活动丰富自己的生活…

专升本自学总结

自学总结为了今年年底相对短暂的函授课程更顺利的进行,高质量的完成本学期的函授课程,自今年年初开始了本学期课程的自学,通过近一年的一边工作一边学习,完成了本学期7门课程的自学,通过学习学到了很多新知识,也使得以前…

专升本第一学期个人总结

过去的半年,是个值得珍惜的半年,我们和刚入学的大一的新生有很大不同。虽然我们也是来到联合大学的第一年,但是我们已经经历了三年的大专生活,不再像刚刚离开家时,感觉到生涩与陌生。在老师和同学们的关心帮助下,通过自身…

专升本计算机基础总结与复习

专升本计算机基础总结与复习第1章计算机的基本概念11计算机概述1电子计算机电子模拟计算机电子数字计算机2计算机之父冯诺依曼JVonNeumann奠定现代计算机的体系结构3冯诺依曼在EDVAC设计方案中提出了存储...

毕业实习报告(专升本)

专升本心得体会班级10信息312班姓名XXXXX起止时间20xx年3月1日校内指导老师XXXX专升本心得面对四季梅花选择了苦寒面对大地青松选择了山崖面对前程翠竹选择了云霄面对人生我选择了心灵的不凡去创造惊世的人...

毕业实习报告(专升本)

土木工程学院专升本毕业实习报告实习时间20xx年5月13日至20xx年6月7日共计4周学号220xx085037姓名指导老师实习地点浙江舜杰建筑集团股份有限公司1234到规划建筑物周围相对比较稳定的已建建筑物上...

专升本毕业实习报告

河南工程学院毕业实习报告系部电气信息工程系专业电气自动化班级学生姓名学号起止日期20xx220xx520xx年5月9日毕业实习报告1概述渐淡的春天愈浓的夏天迎来了靠近的五月也迎来了我的毕业时刻时光飞逝转眼间三年...

专升本实习大纲

四川大学建筑与环境学院工程管理土木工程管理专业网络专科专升本毕业实习大纲一目的毕业实习是本专业教学计划要求的一项重要实践性环节实习前学生已学完全部专业课程实习学生是以技术人员助手的身份参加现场施工和管理工作在实...

专升本总结(16篇)