1、PowerBuilder数据库应用开发练习题教学教材PowerBuilder数据库应用开发练习题1、设计一个用户界面,如下图所示,并编写相应脚本,从单行编辑框中输入圆的半径r,按“计算”按钮后,计算圆的周长和面积并将其值输出。在cb_1click事件中输入decimal RR=dec(sle_1.text)sle_2.text=string(3.1415926*2*r)sle_3.text=string(3.1415926*r*r)在app_1中输入open(w_main)2、设计一个乘法器,要求输入两个数后,点击乘法按钮,显示计算结果。界面如下图所示: 在cb_1click事件输入decim
2、al m,nm=dec(sle_1.text)n=dec(sle_2.text)sle_3.text=string(m*n)在app_1中输入open(w_main)3、编程实现求两个自然数的最大公约数,界面如下图所示:在cb_1中输入 long m,n,rm=dec(sle_1.text)n=dec(sle_2.text)r=mod(m,n)do while r0 m=n n=r r=mod(m,n)loop sle_3.text=string(n)在app_1中输入open(w_main)4、铁路托运行李,从甲地到乙地,规定每张客票托运费计算方法是:行李重量不超过50千克时,每千克0.25
3、元;超过50千克而不超过100千克时,其超过部分每千克0.35元;超过100千克时,其超过部分每千克0.45元。编写程序,输入行李重量,计算并输出托运的费用,设计一个用户界面,界面如下图所示,并编写相应脚本。 在cb_1中输入 dec g,fg=dec(sle_1.text)choose case g case is =50 sle_2.text=string(g*0.25) case 50 to 100 sle_2.text=string(g - 50)*0.35+50*0.25) case else sle_2.text=string(g - 100)*0.45+50*0.35+50*0.
4、25)end chooseopen(w_main )5、设计一个用户界面,如下图所示,将1800年2010年之间所有闰年输出,并统计个数,编写其相应脚本。在cb_1的declare instance variables 中输入int c=0integer li_year,sfor s=1800 to 2010 if mod(s,4)=0 and mod(s,100)0 or mod(s,400)=0 then lb_1.additem(string(s) c=c+1 end ifnext 在cb_2中输入sle_1.text=string(c)图26、设计个人所得税计算器,按如下公式进行收税:
5、在cb_1中输入integer istring taxi=integer(sle_1.text)choose case i case is =2000 tax=string(0)case 2000 to 2500 tax=string(i - 2000)*0.05)case 2500 to 4000 tax=string(i - 2000)*0.1 - 25)case 4000 to 9000 tax=string(i - 2000)*0.15 - 125)case else tax=string(i - 2000)*0.2 - 325)end choosesle_2.text=taxopen
6、(w_main)7、设计一个界面并编写相应脚本,将100500之间所有除3余1、除5余2且除7余2的所有数输出,并统计其个数。dec aint istring str=for i=100 to 500 if mod(i,3)=1 and mod(i,5)=2 and mod(i,7)=2 then a=a+1 str=str+ +string(i) end ifnextsle_1.text=strsle_2.text=string(a) 8、设计一个界面并编写相应脚本,将11000之间的所有“完备数”输出。所谓“完备数”即其值等于其所有的因数(不包括其自己本身)的和的数。如6=1+2+3,28
7、=1+2+4+7+14。int i,j,s,sumfor i=1 to 1000 s=0 for j=1 to i - 1 if mod(i,j)=0 then s=s+j end if next if i=s then sle_1.text=sle_1.text+string(i)+ end ifnext9、编写一个华氏温度与摄氏温度之间转换的程序,界面如下图所示。要使用转换的公式是:,摄氏温度转化为华氏温度,f为华氏温度,华氏温度转化为摄氏温度,c为摄氏温度10、在购买某物品时,若所标明的价钱x在下述范围内,所付钱y按对应折扣支付: dec a,ba=integer(sle_1.text)
8、choose case a case is3000 b=0.7*aend choosest_3.text=string(b,#.#)+元11、编写一个求任意梯形面积的程序,界面如下图所示。要使用转换的公式是:,a为上低,b为下底,h为高,s是要输出的面积。dec a,b,h,sa=integer(sle_1.text)b=integer(sle_2.text)h=integer(sle_3.text)s=h*(a+b)*0.5sle_4.text=string(s)12、新东方购物广场五一劳动节促销,方案如下:消费1000元以上顾客,全部商品7.0折;消费800元以上的顾客,全部商品7.5折;
9、消费500元以上的顾客,全部商品8.0折;消费300元以上的顾客,全部商品8.5折;消费低于300元的顾客,不享受打折优惠。设计一个计算顾客应付金额的应用程序。dec a,ba=integer(sle_1.text)choose case a case is1000b=0.7*aend choosesle_2.text=string(b)13、编程求1+3+5+n(n为奇数),界面如下图所示。integer s,i,nn=integer(sle_1.text)s=0for i=1 to n step 2s=s+inextsle_2.text=string(s)14、编一个程序输入上网的时间并计
10、算上网费用,计算的方法如下:费用=dec a,ba=integer(sle_1.text)choose case a case is=50 b=2*aend choosesle_2.text=string(b)15、请编程输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字的立方和等于数的本身。例如,153是一个水仙花数,因为153=13+53+33。界面如下图所示。 在cb_1中输入 integer i,j,k,nstring str=for n=100 to 999 i=n/100 /百位数字 j=n/10 - i*10 /十位数字 k=mod(n,10) /个位数字if (
11、i*100+j*10+k)=(i*i*i+j*j*j+k*k*k) then lb_1.additem(string(n) end ifnext16、编程求解如下二元一次方程组,从单行编辑框中输入m和n,按“求解”按钮后,求得x和y并将其值输出。dec m,n,x1,y1m=integer(sle_1.text)n=integer(sle_2.text)x1=(2*n - m)/7y1=(5*m - 3*n)/14sle_3.text=string(x1)sle_4.text=string(y1)17、编程将学生的百分制成绩转换为等级,要求输出成绩等级:“A”,“B”,“C”。85分及以上为“
12、A”,6084分为“B”,60分以下为“C”。界面如下图所示: 在cb_1中输入integer scorestring gradescore=integer(sle_1.text)if score=90 then grade=Aelseif score=85 grade=A case 60 to 84 grade=B case is(a - 80)*0.7+10 then st_7.text=偏重 elseif b(a - 70)*0.6+10 then st_7.text=偏重 elseif b(a - 70)*0.6 - 10 then st_7.text=偏瘦 else st_7.text=适中 end ifend if五、连接数据库 把D盘中的PB数据库文件夹下xsgl数据库连接上,要求把连接过程及参数设置的对话框截取下来,放到下面空白处,一共是两个图。 要求:把语句及运行结果截
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1