收藏 分销(赏)

程序设计上机练习.pptx

上传人:丰**** 文档编号:10458453 上传时间:2025-05-28 格式:PPTX 页数:72 大小:466.09KB 下载积分:16 金币
下载 相关 举报
程序设计上机练习.pptx_第1页
第1页 / 共72页
程序设计上机练习.pptx_第2页
第2页 / 共72页


点击查看更多>>
资源描述
,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,#,单击此处编辑母版标题样式,程序设计例题,例,1,某储户在取款机上提取,x,元现金,计算钞票总张数最少(假设,x,只能为,50,的整数倍)。,CLEAR,INPUT ,请输入取款金额:,TO x,Y1=INT(x/100),x=x-100*y1,Y2=INT(x/50),?100,元钞票的张数:,Y1,?50,元钞票的张数:,Y2,例,2,设,A=10,,,B=20,,将它们的值互换后输出。,问题分析:交换两个变量的值需要借助第三个变量,例如建立一个临时变量,T,根据分析,写出程序如下:,A=10,B=20,T=A,A=B,B=T,?A=,A,?B=,B,CANCEL,程序设计例题,例,3,问题的提出:,例如,:,铁路托运行李,从甲地到乙地,按规定每张客票托运行李不超过,50,公斤时,每公斤,0.45,元,如超过,50,公斤,超过部分按每公斤,0.65,元计算。,X=50,输入行李的重量:,X,0.45*X,0.45*50+0.65*(X-50),输出应付费用,结 束,Y,N,刚才提出的问题,铁路托运行李,从甲地到乙地,按规定每张客票托运行李不超过,50,公斤时,每公斤,0.45,元,如超过,50,公斤,超过部分按每公斤,0.65,元计算。我们可以编写如下程序加以实现:,INPUT,请输入行李重量:,TO X,IF X=50,P=0.45*50+0.65*(X-50),ELSE,P=0.45*X,ENDIF,?,应付运费为:,P,元,CANCEL,程序设计例题,例,4,输入一个四位正整数,如果百位为,6,且可被,3,整除,输出该数,input,请输入四位正整数,to abc,if substr(str(abc,4),2,1)=6 and mod(abc,3)=0,?,该数符合要求,abc,endif,例,5,判断输入的字符是属于字母、数字或特殊符号(字母、数字之外的符号),编写代码如下:,SET TALK OFF,ACCEPT,请输入一个字符:,TO cVar,DO CASE,CASE UPPER,(,cVar,),=A,?cVar,输入的是字母,CASE cVar=0,?cVar,输入的是数字,OTHERWISE,?cVar,输入的是特殊符号,ENDCASE,SET TALK ON,程序设计例题,例,6,编写一个程序,使之能对输入的一个学生任意一门考试成绩输出是优秀、良好、中等、及格或不及格五个等级。具体要求:,90,100,为优秀、,80,89,为良好、,70,79,为中等、,60,69,为及格、,0,59,为不及格。,INPUT,请输入一个成绩(,0,100,):,TO X,DO CASE,CASE X100 .OR.X=90,?,优秀,CASE X=80,?,良好,CASE X=70,?,中等,CASE X=60,?,及格,OTHERWISE,?,不及格,ENDCASE,CANCEL,例,7,求,1+2+3+99+100,问题分析:可以采用累加的方法,用循环变量,x,来产生,1,、,2,、,3,、,99,、,100,的数;用累加变量,s,保存累加和,从,1,开始,每次增加,1,,送到累加变量,s,中。,程序如下:,CLEAR,s=0,x=1,DO WHILE xB,X=A,ELSE,X=B,ENDIF,?X,例,9,从键盘输入,10,任意数,并将,10,个数按从小到大的顺序输出。,CLEAR,DIMENSION X(10),FOR I=1 TO 10,X(I)=0,II=STR(I,2),Input,请输入第,+II+,个数据,to x(I),ENDFOR,FOR I=1 TO 10,FOR J=I+1 TO 10,IF X(I)X(J),T=X(I),X(I)=X(J),X(J)=T,ENDIF,ENDFOR,ENDFOR,FOR I=1 TO 10,?X(I),ENDFOR,例,10,计算并输出,1100,中整数的平方根,要求每屏,20,个数。,CLEAR,Num=1,DO WHILE Num=570,X=X+1,ENDIF,ENDSCAN,?X,例,13,求,1,!*,3,!*,9,!的值,要求使用,DO while,结构。,m=1,s=1,do while m=9,I=1,p=1,do while I=M,p=p*I,I=I+1,enddo,s=s*p,m=m*3,enddo,?1,!*,3,!*,9,!,=,s,例,14,设计在学生中查找学号的程序,直到输入“,#”,停止,use,学生,accept,请输入要查找的学号,to xh,do while xh!=#,locate for,学号,=xh,if found(),?,学号,姓名,else,?,无此学号,endif,accept,请继续输入要查找的学号,to xh,enddo,?,谢谢使用此系统,use,程序设计例题,例,15,求,0,20,之间奇数之和、偶数之积。,STORE 0 TO N,X,STORE 1 TO Y,DO WHILE N550,disp,Do while not eof(),Continue,Disp,Enddo,例,17,求,1+2,!,+3,!,+4,!,+20,!,问题分析:,该题用循环嵌套(双重循环)来实现。,内循环求每个阶乘,外循环对每个阶乘进行累加。,程序如下:,Clear,S=0,N=1,Do while N=20,T=1,I=1,程序设计例题,Do while IB,X=A,ELSE,X=B,ENDIF,?X,程序设计例题,例,24,从键盘输入,10,任意数,并将,10,个数按从小到大的顺序输出。,CLEAR,DIMENSION X(10),FOR I=1 TO 10,X(I)=0,II=STR(I,2),Input,请输入第,+II+,个数据,to x(I),ENDFOR,程序设计例题,FOR I=1 TO 10,FOR J=I+1 TO 10,IF X(I)X(J),T=X(I),X(I)=X(J),X(J)=T,ENDIF,ENDFOR,ENDFOR,FOR I=1 TO 10,?X(I),ENDFOR,例,25,计算并输出,1100,中整数的平方根,要求每屏,20,个数。,编写程序如下:,SET TALK OFF,CLEAR,Num=1,DO WHILE Num=570,X=X+1,ENDIF,ENDSCAN,?X,RETURN,例,28,求,1,!*,3,!*,9,!的值,要求使用,DO whileenddo,结构,m=1,s=1,do while m=9,I=1,p=1,do while Ic and a+cb and b+ca and a0 and b0 and c0,area=sqrt(s*(s-a)*(s-b)*(s-c),Endif,例,31,利用循环程序输出图形:,*,4,*333,*22222,*1111111,*,并将最后一行存入变量,S,中 请按照题目要求,在下面编写程序代码。,SET TALK OFF,SET LOGERRORS ON,S=,*Program*,*End *,DO YZJ15 WITH S,SET TALK ON,答案,FOR N=1 TO 4,?SPACE(4-N),FOR M=1 TO 2*N-1,?STR(4-N+1,1),ENDFOR,ENDFOR,S=1111111,习题,求,1,到,100,的奇数积,偶数和,求,1+3+5,+99,之和,统计,300,到,600,之间,(,闭区间,),中可被,3,整除的数的个数,通过键盘输入四个数,求出其中最小的数,显示,100,以内,6,的倍数,并求出这些数的和,将学生表第一条记录和最后一条记录的,“,姓名,”,字段内容互换。,通过键盘输入二十个学生成绩,按从高到低顺序排列,CLEAR,A=Y,B=X,M=X+Y,X=9,Y=2,Z=%,?A+B,&A*&B,?&M,&M.&Z.Y,RETURN,读程序写结果例题,读程序写结果,SET TALK OFF,CLEAR,A=5,B=20,DO SUB,?A,B,RETURN,PROCEDURE SUB,PRIVATE B,A=10,B=15,?A,B,RETURN,下列程序运行后,屏幕上显示的结果是:,X=1,Y=2,Z=0,DO SUB1,M=X+Y+Z,?M,RETURN,PROCEDURE SUB1,PRIVATE X,Y,M,X=10,Y=20,Z=30,M=X+Y+Z,?M,ENDPROC,读程序写结果,CLEAR,A=Y,B=X,M=X+Y,X=9,Y=2,Z=%,?A+B,&A*&B,?&M,&M.&Z.Y,读程序写结果,CLEAR,A=5,B=20,DO SUB,?A,B,RETURN,PROCEDURE SUB,PRIVATE B,A=10,B=15,?A,B,RETURN,下列程序运行后,屏幕上显示的结果是:,X=1,Y=2,Z=0,DO SUB1,M=X+Y+Z,?M,RETURN,PROCEDURE SUB1,PRIVATE X,Y,M,X=10,Y=20,Z=30,M=X+Y+Z,?M,ENDPROC,表单设计例题,例一 制作如图表单,注意事项,:,选中粗体或斜体复选框时,,label1,中的字体会成为粗体或斜体。,*check1(,粗体,),复选框的,interactivechange,代码,if this.value=1,thisform.label1.fontbold=.t.,else,thisform.label1.fontbold=.f.,Endif,*check2(,斜体,),复选框的,interactivechange,代码,if this.value=1,thisform.label1.fontItalic=.t.,else,thisform.label1.fontItalic=.f.,endif,例二 制作如图表单,注意事项,:,使用页框,本页是第一页,用三个线段控件构成三角形,例二 制作如图表单,注意事项,:,使用页框,本页是第二页,放置形状控件,其,curvature,为,99,,高宽相等。,例二 制作如图表单,注意事项,:,使用页框,本页是第三页,放置选项按钮组控件,,buttoncount,属性决定了按钮数量,要求设置热键,(,如第一个的,caption,应为,:,农大,(n),。,例三 制作如图表单,(,本图为设计时刻的表单,),注意事项,:,放置两个,label,和一个,timer,。并设置,timer,的,interval,为,500,(仅供参考),例三 制作如图表单,(,本图为运行时刻的表单,),Timer1,的,timer,代码,:,thisform.label1.caption=dtoc(date(),thisform.label2.caption=time(),问题:,timer,为什么看不见了,是否可称它为不可见对象,例四 制作如图表单,(,本图为设计时刻的表单,),要求设置,text1,的,forecolor,为红色,text2,的,passwordchar,为,“,*,”,form1,的,closable,为,.f.,form1,的,minbutton,为,.f.,退出按钮具有关闭表单的功能,例四 制作如图表单,(,本图为运行时刻的表单,),程序填空例题,题目,:,下面程序是计算,1+3+5+,+99,之和的程序。请在,【】,处添上适当的内容,使程序完整。,SET TALK OFF,*SPACE*,【?】,*SPACE*,FOR I=1 TO 99【?】,S=S+I,ENDFOR,*SPACE*,?,结果,=,【?】,RETURN,SET TALK ON,填空答案,:,1.s=0 2.step 2 3.s,题目,:,在,XSDB.DBF,数据表中查找学生王迪,如果找到,则显示:学号、姓名、英语,生年月日,否则提示,查无此人!,。请在,【】,处添上适当的内容,使程序完整。,*,SPACE*,【?】,XM=,王迪,*SPACE*,【?】,姓名,=XM,IF FOUN(),*SPACE*,【?】,学号,姓名,英语,生年月日,ELSE,?,查无此人!,ENDIF,填空答案,:,1.USE XSDB 2.locate for 3.display,题目,:,依次显示,XSDB.DBF,数据表中的记录内容。请在,【】,处添上适当的内容,使程序完整。,*,SPACE*,【?】,*SPACE*,DO WHILE【?】,DISP,*SPACE*,【?】,ENDDO,USE,RETURN,填空答案,:,1.use xsdb 2.not.eof()3.SKIP,题目,:,求,1,到,50,的累加和(,S=1+2+3+.+50,)并显示。请在,【】,处添上适当的内容,使程序完整。,*,SPACE*,【?】,I=1,*SPACE*,DO WHILE【?】,H=H+I,*SPACE*,【?】,ENDDO,?H,RETURN,填空答案,:,1.H=0 2.I60,DO WHILE.NOT.EOF(),*FOUND*,?,姓名,=+,姓名,奖学金,=+,奖学金,CONT,ENDDO,USE,错误答案,:,1.LOCATE FOR,奖学金,60,2.?,姓名,=+,姓名,奖学金,=+STR(,奖学金,4,1),题目:通过键盘输入一个数,N,计算,22+44+,+NN,的值并显示输出。注意:不可以增加或删除程序行,也不可以更改程序的结构。,T=0,I=2,INPUT N=to N,*FOUND*,DO WHILE.NOT.EOF(),T=T+II,*FOUND*,I=I+T,ENDDO,?TOTAL=,T,错误答案,:,1.DO WHILE I=N 2.I=2+I,题目:通过字符串变量操作先竖向显示,“,伟大祖国,”,,再横向显示,“,祖国伟大,”,。,STORE,伟大祖国,TO XY,*FOUND*,N=0,DO WHILE N8,?SUBS(XY,N,2),N=N+2,ENDDO,?,*FOUND*,?SUBS(XY,4,4),?SUBS(XY,1,4),错误答案,:,1.N=1 2.?SUBS(XY,5,4),题目:在,XSDB.DBF,表中统计法律和中文两个系的总人数和奖学金总额。注意:不可以增加或删除程序行,也不可以更改程序的结构。,USE XSDB,STORE 0 TO R,S,DO WHILE.T.,*FOUND*,IF,系别,=,法律,.AND.,系别,=,中文,STORE S+,奖学金,TO S,R=R+1,ENDIF,SKIP,*FOUND*,IF.NOT.FOUN(),EXIT,ENDIF,ENDDO,?,S,R,USE,错误答案,:,1.IF,系别,=,法律,.OR.,系别,=,中文,2.IF EOF(),题目:以下程序输出如下图所示的图形。,*,!$!,*!$!$!$,*!$!$!,*!$!$!$!$!$,注意:不可以增加或删除程序行,也不可以更改程序的结构。,SET TALK OFF,I=4,DO WHILE I10,*FOUND*,IF INT(I/2)=I/2,I=I*2,ELSE,I=I-1,ENDIF,FOR J=1 TO I,*FOUND*,IF J/2=0,?!,ELSE,?$,*FOUND*,ENDDO,ENDFOR,?,ENDDO,RETURN,错误答案,:,1.IF INT(I/2)I/2,2.IF J%2=1 3.ENDIF,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服