读程序.docx
- 文档编号:6696707
- 上传时间:2023-01-09
- 格式:DOCX
- 页数:15
- 大小:28.51KB
读程序.docx
《读程序.docx》由会员分享,可在线阅读,更多相关《读程序.docx(15页珍藏版)》请在冰豆网上搜索。
读程序
读程序
数组的应用
一、数组的定义
DIMENTION数组名(数值表达式1,[数组表达式2...])
定义后单元默认值为.F.
二、一维数组
1、定义一个一维数组:
dimea(10)---定义一个10数组,且所有单元默认值为.F.
2、赋值:
例如:
a=''
a
(1)=20
a(3)={^2002/09/23}
a(7)=.T.
....
循环赋值:
dimea(10)
i=1
dowhilei<=10
input'请输入数:
'toa(i)
i=i+1
enddo
或者是:
fori=1to10
input'请输入数:
'toa(i)
Endfor
3、显示值:
fori=1to10
?
a(i)
endfor
使用dowhile大家思考
方法2:
listmemolikea
二、二维数组
例如:
dimes(5,4)
1、赋值:
例如:
s=0
s(3,4)=.t.
s(12)=‘AYA'&&相当于S(3,4)=‘AYA'
2、循环赋值
fori=1to5
forj=1to4
input'输入值:
'toa(i,j)
endfor
endfor
3、显示值:
fori=1to5
forj=1to4
?
?
a(i,j)+space
(2)
endfor
endfor
三、举例
例1:
将1、2、3、…10顺序输入一维数组,实现顺序输出和逆序输出。
DIMEA(10)
FORI=1TO10
A(I)=I
ENDFOR
FORI=1TO10
?
A(I)
ENDFOR
FORJ=10TO1STEP–1
?
A(J)
ENDFOR
例2:
排序问题(要求:
不一定能编写,但是重点地方能填空,基本方法要能理解)
输入5个数,将它们按照从大到小的顺序排列
算法:
(软件技术支持第263页)
冒泡排序
(1)n个数要比较n-1趟
(2)
(3)每趟要比较的次数为:
n-1趟数
(4)
(3)每次比较:
如果当前数a(j)大于后一个数a(j+1)那么就交换,否则不交换
cleardimea(5)
?
'输入5个数:
'
fori=1to5
input"请输入:
"toa(i)
endfor
fori=1to4&&外循环是行(趟数),内循环是列(比较次数)
forj=1to5-I
ifa(j)>a(j+1)
t=a(j+1)
a(j+1)=a(j)
a(j)=t
endif
endfor
endfor
FORI=1TO5
?
A(I)
ENDFOR
对N个数排序(从小到大)
clear
input"请问你想对多少个数进行排序?
"ton
dimea(n)
?
'请输入',n,'个数:
'
fori=1ton
input"请输入:
"toa(i)
endfor
fori=1ton-1
forj=1ton-i
ifa(j)>a(j+1)
t=a(j+1)
a(j+1)=a(j)
a(j)=t
endif
endfor
endfor
2.循环输入值
clear
dimexh(10)
store0toxh
@10,10say'请输入数字:
'getxh
(1)
i=2
dowhilei<=10
@row()+1,10say'请输入数字:
'getxh(i)
i=i+1
enddo
read
listmemolikexh
3.将字符“欢迎进入乐山师范学院”从屏幕的顶部移至底部
CLEAR
CH=“欢迎进入乐山师范学院”
N=1
DOWHILEN<=23
@N,26SAYSPACE(60)
@N+1,26SAYCH
T=INKEY(0.2)&&等待0.2秒
N=N+1
ENDDO
RETURN
注:
INKEY([<数值表达式>])
功能:
等待用户按键或鼠标输入,等待时间由数值表达式确定(单位为秒)返回由按键而产生的一个整数值.
程序分析:
1、
CLEAR
M=0
FORX=1TO10
IFMOD(X,3)=0
M=M+X
ENDIF
ENDFOR
?
M
RETURN
(1)该程序的功能是:
求1到10之间()
A.能被3整除数的个数B.能被3整除数的和
C.不能被3整除数的个数D.不能被3整除数的和
(2)该程序执行的结果是:
()
A.3B.10C.18D.37
(3)循环执行了__3____次,循环完成后X的值为10______。
2、阅读下面程序:
CLEARALL
STORE1TOJ,K
DOWHILEK<5
@J,KSAY“*”
K=K+1
ENDDO
RETU
(1)屏幕的其始坐标为()
26(A)1,5(B)0,0(C)1,1(D)任意
(2)程序执行后J,K的值是()
27(A)1,5(B)5,5(C)0,0(D)1,1
3.阅读下面程序:
CLEAR
X=0
DoWHILE.T.
X=X+2
IFX=INT(X/3)*3
?
X
ELSE
LOOP
ENDIF
IFX>5
EXIT
ENDIF
ENDDO
?
X
1)程序执行中第一个输出的结果是————
A)3B)0C)6D)2
2)程序执行中循环体的执行次数为————
A)2B)3C)4D)大于4
3)循环结束后变量X的值是————
A)2B)3C)4D)6
CBD
4.阅读下列程序:
BCC
CLEAR
ACCEPT“请输入字符串”toZF
I=0
DOWHILEI A=SUBSTR(ZF,LEN(ZF)-I,1) @10,ISAYA I=I+1 ENDDO RETURN (1)如果输入字符为“ABCDE”为,则程序运行结果为。 A、ABCDEB、EDCBAC、EDCBABCDED、BCDEDCBAA (2)如果将程序中第三行的“ACCEPT”改为“INPUT”,则在输入字符串时。 A、不能正常输入B、没有任何影响 C、需加定界符输入D、以上说法都不对 (3)程序运行完毕I的值为。 A、LEN(ZF)+1B、LEN(ZF)—1C、LEN(ZF)D、1 5.程序填空: 1)运行JJ.PRG程序后,将在屏幕上显示如下乘法表: 请对下面的程序填空: clear for___________ ? str(k,2)+')' form=1tok ? ? ___________ endfor ? endfor return 6.数据表文件DA.DBF存放的是某单位职工的档案.在下面程序中,用户通过按A键或者B键,可分别显示出全体女职工的或全体男职工的记录.已知A键的ASCII为65,B键的ASCII为66,ESC键的ASCII为27. CLEAR JP1='LISTFOR性别="男"' JP2='LISTFOR性别="女"' USEDA DOWHILE.T. CLEAR @1,10SAY"A-全体女职工B-全体男职工ESC-退出" K=INKEY(0)&&INKEY()返回从键盘输入的一个键的键值.0指无限等待. DOCASE CASEK=65 ___________ CASEK=66 ___________ CASE___________ EXIT ENDCASE ENDDO USE RETURN 7.共有三个表tb1.dbftb2.dbftb3.dbf。 下面程序功能是把每个表的末尾记录删除。 阅读下面程序,将程序填写完整。 n=1 dowhilen<=____ tb=______ use&tb gobottom dele pack _______ enddo use 3,“tb”+str(n,1),n=n-1 8.读程序题: 现有表stud.dbf.表中有: 学号C(6),姓名C(8),性别C (2), 出生日期D(8)等字段,并有若干条记录。 clea usestud indexontrim(姓名)toistud s=.t. dowhiles xm=space(8) accept"请输入姓名: "toxm iflen(trim(xm))=0 exit endif seekxm ifnoteof() @3,10say"学号" @row(),col()+6say学号 @row()+1,5say"姓名"+姓名 @row()+1,5say"性别"+性别 @row()+1,5say"出生日期: " @row(),col()+10say出生日期 else @20,3say"没有找到该姓名的学生。 " s=.f. endif wait enddo cancel (1)程序中的索引关键字和索引文件名分别为: ______ A、学号,stu.dbfB、姓名,istud.idx C、学号,istud.idxD、姓名,istud.cdx (2)执行程序中“@row()+1,col()+10say出生日期”命令,光标的行、列起始位置是_____ A、8,15B、6,15C、6,24D、8,24 (3)执行EXIT退出程序的条件是_______ A、输入姓名后直接回车B、未输入姓名直接回车 C、输入姓名先按空格然后再按回车D、输入姓名为0然后按回车 (4)该程序中循环有___种退出方式? A、1B、2C、3D、4 (5)上面程序使用的查找方式是: _______ A、顺序B、随机C、条件D、索引 答案>BCBB(EXIT,S=’F’)D 9.clea a="Abcde" n=len(a) i=1 dowhilei<=n b=substr(a,i,1) ifislow(b)&&islow函数判断是否是小写 b=chr(asc(b)-32) a=stuff(a,i,1,b)&&stuff是对a从位置i开始用b替换1个字节 endif i=i+2 enddo ? a retu (1)程序运行的结果是: A、abcdeB、ABCDEC、AbCdED、AbcDe (2)程序循环的次数是: A、5B、4C、3D、6 答案CC 10.list/disprest(all)/count等命令执行后都会使指针指向文件尾. sele2 usebook1 sele1 usebook2 skip3 repl数量with数量+4&&1 list sele2 skip2 disprest&&2 clea&&3 cleaall 设book1有40条记录,book2有26条记录, (1)程序执行到1处,被修改的记录是() (a)第3条(b)第4条(c)全部记录(d)第4条到末记录 (2)程序执行到2处,显示的记录是() (a)第3条记录(b)第4条到末记录(c)第3条到末记录(d)第2条记录 (3)程序执行到3处,两表book1和book2的记录指针分别是 (a)41,27(b)40,26(c)4,27(d)以上都不对 BCA 11.读下列程序: clea fork=1to4 a="$" forj=1tok a=a+str(k,1) endfor @k,5saya endfor retu 请写出屏幕显示结果。 程序结束后,K和J的值分别是多少? 答案: $1 $22 $333 $4444完成后k和j都为5 12、读下列程序: i=1 dowhilei<=21 i=i+2 ? ? str(i,2) ifi=9 exit endif enddo (1)程序一共循环了多少次? ___ (2)程序执行的结果是: ________ (3)循环完成后i的值为: ______ 参考答案 (1)4 (2)3579(3)9 13、读下列程序: i=0 dowhilei<10 ifint(i/2)=i/2 i=int(i/2)+3 endif i=i+2 enddo ? i (1)程序共循环了_____次 (2)程序结束后屏幕显示为: ______ 参考答案 (1)4 (2)11 14、 store0toh,k dowhile.t. k=k+1 h=h+k ifk>=10 exit endif enddo ? "h="+str(h,4) retu (1)该程序的功能是() A、计算1-10的整数之和B、计算1-9的整数之和 C、计算1-11的整数之和D、计算1-10以内数的和 (2)该程序执行的结果为: () A、55B、66C、h=55D、h=66 参考答案 (1)A (2)C 15、有学生信息表XS.DBF文件,其结构和记录如下: 记录号学号姓名年龄性别入学日期出生地 1Y001李明21男09/01/99重庆 2Y002林雨20女09/01/98成都 现在有一程序段: dimex(3) usexs scattertox x (1)="A003" x (2)="曾真" x(3)=19 appenblank gatherfromx list return (1)X数组的数据元素的个数是____个 list显示的最后一个人的人名是_____,他(她)的入学日期是_____
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序