已阅读5页,还剩68页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
程序设计补充知识,字符串比较的规律: 同规格的字母比较,按字母的顺序排列,后面的大; 大小写字母比较,大写字母大于小写字母; 数字字符比较,按数值的大小排列,数值大的大; 字母与数字比较,数字(09)均小于字母; 空格比数字、标点、字母等常见符号都小。,程序设计例题,例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元计算。,刚才提出的问题,铁路托运行李,从甲地到乙地,按规定每张客票托运行李不超过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 编写一个程序,使之能对输入的一个学生任意一门考试成绩输出是优秀、良好、中等、及格或不及格五个等级。具体要求:90100为优秀、8089为良好、7079为中等、6069为及格、059为不及格。,INPUT “请输入一个成绩(0100):“ 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 x=100 s=s+x x=x+1 ENDDO ? “s=“,s CANCEL,例8 求两个数中较大的数。 编写程序如下: CLEAR INPUT “INPUT A: “ TO A INPUT “INPUT B: “ TO B IF AB 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 Num100 WAIT “继续吗(Y/N)?“ TO Anser WINDOWS IF UPPER(Anser)=“N“ ENDIF ENDIF Num=Num+1 ENDDO,例11 计算1-100之间所有奇数之和。 CLEAR s=0 FOR x=1 TO 100 STEP 2 s=s+x ENDFOR ? “1-100之间所有奇数之和为:“ ,s,例12 编写程序显示学生基本信息中入学成绩在570分以上的学生人数。 STORE 0 TO X USE 学生 SCAN IF 入学成绩=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 求020之间奇数之和、偶数之积。 STORE 0 TO N ,X STORE 1 TO Y DO WHILE N20 N=N+1 IF .not. INT(N/2)=N/2 X=X+N,程序设计例题,ELSE Y=Y*N ENDIF ENDDO ? “020之间奇数之和为:“,X ? “020之间偶数之积为:“,Y CANCEL,程序设计例题,例16 显示入学成绩大于550分的学生信息 Use 学生 Locate for 入学成绩550 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 I=N T=T*I I=I+1 ENDDO S=S+T N=N+1 ENDDO ? “S=“,S Cancel,例18 键盘输入一个汉字字符串,逆向输出该字符串(如:输入“勇夺金牌”,输出“牌金夺勇”) clear accept “请输入字符“to abc for I=len(abc)-1 TO 1 STEP -2 ?SUBSTR(abc,I,2) endfor,例19 打印图形 clear for I=1 to 5 ?space(5-I) for j=1 to I ?str(I,1) endfor ? endfor,例20 打印图形 clear ?space(5)+“#“ ? for I=1 to 5 ?space(5-I) ?“#“ for j=1 to 2*I-1 ?“*“ endfor ?“#“ ? endfor,例21 编写能完成输出直角三角形(如下图)的程序。 * * * * * CLEAR FOR I=1 TO 5 FOR J=6-I TO 1 STEP -1 ?* ENDFOR ? ENDFOR,例22 显示九九表的程序。 clea For a=1 to 9 for b=1 to a c=a d=b e=a*b ?str(c,1),“*“,str(d,1),“=“,str(e,2),space(2) ENDfor ? ENDfor CANCEL,程序设计例题,例23 求两个数中较大的数。 编写程序如下: CLEAR INPUT “INPUT A: “ TO A INPUT “INPUT B: “ TO B IF AB 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 Num100 WAIT “继续吗(Y/N)?“ TO Anser WINDOWS IF UPPER(Anser)=“N“ ENDIF ENDIF Num=Num+1 ENDDO SET TALK ON,程序设计例题,例26 计算1-100之间所有奇数之和。 编写程序如下: CLEAR s=0 FOR x=1 TO 100 STEP 2 s=s+x ENDFOR ? “1-100之间所有奇数之和为:“ ,s,例27 编写程序显示学生基本信息中入学成绩在570分以上的学生人数。 SET TALK OFF STORE 0 TO X USE 学生 SCAN IF 入学成绩=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 I=M p=p*I I=I+1 enddo s=s*p m=m*3 enddo ?“1!*3!*9!=“,s return,例29 设计在学生中查找学号的程序,直到输入“#”停止 use 学生 accept “请输入要查找的学号“ to xh do while xh!=“#“ locate for 学号=xh if found() ?学号,姓名 else ?“无此学号“ endif accept “请继续输入要查找的学号“ to xh enddo ?“谢谢使用此系统“ use,例30 从键盘输入三角形的边长,输入边长满足两边之和大于第三边,且为正值。计算并输出三角形的面积;若不满足以上条件,显示输出“不能构成三角形“。将面积值存入变量AREA中。请按照题目要求,在下面编写程序代码。 INPUT TO A INPUT TO B INPUT TO C ? “三角形面积为“,FUN(A,B,C) YZJ() RETURN FUNCTION FUN(a,b,c) AREA=-1 *Program* * End * RETURN AREA,FUNCTION YZJ() USE IN LOCAT FOR TIHAO=1 IF FOUND() A=N1 B=N2 C=N3 O=FUN(A,B,C) DO YZJ1 WITH O ELSE ?“试题输入文件已损坏,请重新配置考试环境“ ENDIF RETURN 答案 s=(a+b+c)/2 if a+bc 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. I=50 3. I=I+1,题目:通过循环程序输出图形: 1 321 54321 7654321 FOR N=1 TO 4 *SPACE* 【?】 *SPACE* FOR M=1 TO 【?】 ? “ “ ENDFOR FOR M=1 TO 2*N-1 *SPACE* ? STR(【?】,1) ENDFOR ENDFOR 1.? 2. 8-N*2 3. 2*N-M,程序改错例题,题目:将XSDB.DBF表中奖学金超过60元的学生姓名和奖学金显示在屏幕上。 注意:不可以增加或删除程序行,也不可以更改程序的结构。 USE XSDB *FOUND* IF 奖学金“60“ DO WHILE .NOT.EOF() *FOUND* ?“姓名=“+姓名,“奖学金=“+奖学金 CONT ENDDO USE 错误答案: 1.LOCATE FOR 奖学金60 2 .?“姓名=“+姓名,“奖学金=“+STR(奖学金,4,1),题目:通过键盘输入一个数N,计算22+4
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025青岛数字文化科技有限公司招聘笔试历年参考题库附带答案详解
- 2025陕西榆林吴堡县县属国有企业招聘笔试和笔试历年参考题库附带答案详解
- 2025贵州贵阳产业发展控股集团有限公司实习生招聘12人笔试历年参考题库附带答案详解
- 2025福建莆田市湄洲湾北岸经济开发区国发投资有限公司物管员招聘5人笔试历年参考题库附带答案详解
- 2025浙江广电象山影视(基地)有限公司招聘1人笔试历年参考题库附带答案详解
- 2025河南开封综合保税区建设发展有限公司海关协管员岗位招聘7人笔试历年参考题库附带答案详解
- 2025江苏苏州交投华设设计有限公司招聘3人笔试历年参考题库附带答案详解
- 2025年浙能集团甘肃有限公司新能源项目(第二批)招聘17人笔试历年参考题库附带答案详解
- SOP品牌管理体系建设方案
- SOP创新思维培养方案
- 国家机关事务管理局所属事业单位2025年度公开招聘应届毕业生笔试模拟试题
- 【喀什】2025下半年新疆喀什技师学院面向社会公开引进急需紧缺人才23人笔试历年典型考题及考点剖析附带答案详解
- 初中地理七年级下册《热力巴西-自然基底与人文脉动探究》教案
- 发电厂设备预防性试验作业指导书
- 2026年及未来5年市场数据中国IC封装载板行业发展全景监测及投资前景展望报告
- 2026年高考地理高分冲刺学习指南
- 第二单元 辽宋夏金元时期:民族关系发展和社会变化 单元总结 - 学生版
- 国开2026年《公共政策概论》形成性考核任务1-4答案
- YDT 5102-2024 通信线路工程技术规范
- GB/T 12616.1-2004封闭型沉头抽芯铆钉11级
- 铝用预焙阳极生产简介课件
评论
0/150
提交评论