首页  前一页  后一页  末页
[396] [397] [398] [399] [400]
本留言簿共有493条记录, 现在时间2025-5-24 19:09:41,计算机地址:192.168.9.44
日期查询:
现在是第79页
一共有99页
Books库中表及结构信息 环境:一键安装 库表:Mysql.sql  xx3.sql xx4.sql 页面:Myphp.php   
序号 留言内容
400

D:2019-5-9
T:11:30:00
IP:192.168.10.41



作者:
张顺海

*xt11.prg  求随机产生10个0-99之间的随机数,并显示出最大、最小的

clea
*input "no1" to n
n=int(rand()*100)
?n
stor n to ma,mi

for i=2 to 10
 *inpu "no"+ltrim(str(i+1)) to n
 n=int(rand()*100)
 ? n
 if ma   ma=n
 endif

 if mi>n
  mi=n
 endif
next
? "ma="+ltrim(str(ma))
? "mi=",mi

do xt10  &&调用另一个程序

 

 

 

 

now=DATETIME()
t={^2021-06-7}-DATE()
thisform.label2.Caption=ALLTRIM(STR(t))+"天"+ALLTRIM(str(23-HOUR(now)))+"小时"+ALLTRIM(STR(59-MINUTE(now)))+"分"+ALLTRIM(STR(60-SEC(now)))+"秒"
399

D:2019-5-8
T:8:24:00
IP:188.188.2.253



作者:
张顺海

2019.5.8 星期一

 

期中考试试卷

 

 

398

D:2019-4-29
T:7:19:00
IP:192.168.9.2



作者:
张顺海

2019.04.29 星期一

 

期中考试试卷解析:

 

相关程序测试代码:

期中考试试卷程序部分
题号   子题号 代码 结果 备注
三、填空

1

m=10
n=6
i=1
DO whil .t.
   ?i
   i=i+1
   m=m-1
   IF M<=n
      EXIT
   ENDIF
endd
? 'I=',i
return
4  
五、程序分析 1
 
s=0
FOR i=3 to 100
  FOR j=2 to INT(SQRT(i))
    IF i%j=0
    EXIT
    ENDIF
    ENDFOR
    IF INT(SQRT(i) )<j
       s=s+i
    ENDIF
ENDFOR
?s
 

 

显示3-100之间的素数之和

 
六   1
x=234567
y=0
flag=.t.
DO whil flag
y=x%10+y*10
x=INT(x/10)
IF x=0
  flag=.f.
ENDIF
ENDDO
?y
return
765432  
  2
SET SAFETY off
CREATE table cjb (bj_name c(3),xm c(8),yw n(4,1))
INSERT into cjb (bj_name,xm,yw) value ("g31","zq",89)
INSERT into cjb (bj_name,xm,yw) value ("g32","lwx",80)
INSERT into cjb (bj_name,xm,yw) value ("g31","mq",72)
INSERT into cjb (bj_name,xm,yw) value ("g31","smw",85)
INSERT into cjb (bj_name,xm,yw) value ("g32","hsh",88)
INSERT into cjb (bj_name,xm,yw) value ("g31","mxy",90)
INSERT into cjb (bj_name,xm,yw) value ("g31","mq",65)
INSERT into cjb (bj_name,xm,yw) value ("g31","hyh",95)
acce "请输入班级名称" to bjm
INDEX ON  yw tag ywsx 
LIST
 
GO top
DIMENSION temp(10)
k=0
sav=0
n=0
 
DO whil not EOF()
IF Trim(bj_name)=TRIM(bjm)
   temp(k+1)=yw
   k=k+1
ENDIF
n=n+1
sav=sav+yw
SKIP
ENDDO
 
? "K=",k
FOR m=1 to 1
   zh1=temp(m)
ENDFOR
FOR m=2 to 2
 zh2=temp(m)
 ENDFOR
 FOR m=3 to 3
   IF k<3
      zh3=zh2
   ELSE
    zh3=temp(k)
 ENDIF
 ENDFOR
 
 
 LIST MEMORY like temp*
 ?zh1,zh2,zh3,sav,n
 p=zh1*0.5+zh2*0.35+zh3*0.15-sav/n
 ?p
 
return
-11.05  
  3
SET SAFETY off
CLOSE DATABASES
CREATE DATABASE zkscore
CREATE TABLE cjb (准考证号 c(9),姓名 c(8),学校名称 c(20),班级名称 c(20),总分 n(5,1))
INSERT into cjb (准考证号,姓名,学校名称,班级名称,总分) value ("801510101","张琪","一中","一班",273.6)
INSERT into cjb (准考证号,姓名,学校名称,班级名称,总分) value ("801510102","林文龙","二中","一班",267.0)
 
INSERT into cjb (准考证号,姓名,学校名称,班级名称,总分) value ("801510103","冯刚","二中","一班",249.0)
INSERT into cjb (准考证号,姓名,学校名称,班级名称,总分) value ("801510104","张禇","二中","二班",268.0)
 
INSERT into cjb (准考证号,姓名,学校名称,班级名称,总分) value ("801510105","李铁辉","一中","二班",268.0)
INSERT into cjb (准考证号,姓名,学校名称,班级名称,总分) value ("801510107","孙宇","一中","二班",259.0)
 
INSERT into cjb (准考证号,姓名,学校名称,班级名称,总分) value ("801510109","张也","二中","二班",272.0)
INSERT into cjb (准考证号,姓名,学校名称,班级名称,总分) value ("801510110","霍映心","一中","一班",255.0)
 
INSERT into cjb (准考证号,姓名,学校名称,班级名称,总分) value ("801510111","赵一凡","二中","二班",218.0)
INSERT into cjb (准考证号,姓名,学校名称,班级名称,总分) value ("801510112","金姗姗","二中","一班",268.0)
 
INSERT into cjb (准考证号,姓名,学校名称,班级名称,总分) value ("801510113","司佳奇","一中","一班",261.0)
INSERT into cjb (准考证号,姓名,学校名称,班级名称,总分) value ("801510114","张丽丽","二中","二班",268.0)
ALTER TABLE cjb add x2 n(2,0)
 
acce "请输入准考证号" to zkz
SELECT 准考证号,姓名,学校名称,班级名称,总分,x2 from cjb orde by 学校名称,班级名称,总分 desc into table cjtmp
 
list
GO top
x=1
y=x
nx1=cjtmp.总分
bj=cjtmp.班级名称
xx=学校名称
 
DO whil not EOF()
   IF bj=cjtmp.班级名称 and xx=cjtmp.学校名称 
      REPLACE x2 with IIF(nx1=cjtmp.总分,y,x)
      y=cjtmp.x2
      x=x+1
      bj=cjtmp.班级名称
      xx=学校名称
      nx1=cjtmp.总分
    ELSE
      x=1
      y=x
      nx1=cjtmp.总分
      REPLACE x2 with x
      x=x+1
      bj=cjtmp.班级名称
      xx=cjtmp.学校名称
    ENDIF
    SKIP
 ENDDO
 list
 SELECT 准考证号,姓名,x2 where 准考证号=zkz from cjtmp into table tempjg
 ? 准考证号,姓名,x2
 
RETURN
801510109 张也 1  
七、程序填空   1
CLEAR
input "请输入一个数" to M
STORE M to ma,mi
FOR i=2 to 10
    input "请输入下一个数" to M
    IF m>ma
       ma=m
    ENDIF
    IF m<mi
       mi=m
    ENDIF
ENDFOR
? "最大数",ma
? "最小数",mi
RETURN
 

1. m>ma

2.m <mi

397

D:2019-4-25
T:11:37:00
IP:192.168.10.41



作者:
张顺海

2019.4.25

 

 

程序记录:

xt9.prg

 

clea
use x96
 go top
do whil not eof()
   *repl zf with yw+sx
   upda x96 set zf=yw+sx
   ? xm,zf
   skip
enddo
use
retu
 

xt10.prg

clea
accept "请输入一个字符串" to st
l=len(st)
for j=1 to L
   ?? iif(subs(st,j,1)!=" ",subs(st,j,1)+"-","")

endfor
?
? st
return
 

 

396

D:2019-4-24
T:7:34:00
IP:192.168.3.41



作者:
张顺海

2019.4.24  星期三

复习内容:SQL

复习目的:SQL

一、DML:

1.记录的插入

指令格式:

INSERT INTO 表名 [(字段名 [, 字段名2, ...])]   VALUES (表达式1 [,表达式2, ...])

注意事项:

  • 表名必须存在
  • 字段名必须存在
  • 三个一一对应(字段名与表达式的个数一一对应,位置一一对应,类型一一对 应)
  • 一个Insert一次只能插入一条记录,如果需要插入多条记录,请使用多条命令
  • 插入成功新记录以后,记录指针指向新记录,可以用函数recn()测试记录号
  •  

 

2.记录的修改

指令格式 :

UPDATE [数据库名!]数据表名  SET 字段名1 = 表达式1 [, 字段名2 = 表达式 ...]
[WHERE 条件1   [AND | OR 条件2 ...]]]

注意事项:

  • 表名必须存在
  • 如果更新非当前库,则指定数据库名,注意数据库名与数据表名之间的!。
  • set 短语 来完成修改功能
  • 字段名1=表达式1  的值替代,更新指定的字段,不指定的段则不发生改变。
  • Where 指的是符合条件的记录才发生更新,如果省略Where短语,则更新全部记录的指定字段。可以根据需要加入多个筛选条件,条件之间用 AND 或 OR操作符连接。也可以用NOT取反。

3.记录的删除

指令格式:

DELETE FROM [数据库名!]数据表名  [WHERE 条件1  [AND | OR 条件2 ...]]

注意事项:

  • 表名必须存在
  • 如果更新非当前库,则指定数据库名,注意数据库名与数据表名之间的!。
  • From 短语来指定需要删除记录的数据表
  • Where短语和UPDATE一样,只有条例条件的记录,才会被删除,如果省略Where 短语,则默认删除全部记录。
  • 这种删除叫做逻辑删除(加删除标记),如果物理删除需要执行PACK指令。
  • 且在执行PACK前,可以用Recall命令恢复。

4.记录的物理删除与恢复

物理删除:PACK

记录恢复:recall  [范围]

清空:ZAP

5.相关函数与开关

reccount()  记录条数

Dele()  &&测试当前记录是否有删除标志

count  to a  &&记录的统计

list/disp  &&记录的显示

set dele on/off   删除标记对显示与统计结果的影响开关

 

6.

1.DML(数据操作语言)是针对数据记录的操作指令和语法规范的集合

2.一般包括记录的插入、记录的修改、记录的删除,还包括记录的查询(以后单讲)

3.指令为:insert into、update ...set、dele from

4.相关测试函数与开关

7.练习

1.打开数据库V96

2.创建数据库表x9.dbf ,数据表的结构要求为:

xm  c  6

xb c 2  默认值为女   要求xb为男或者女  否则报“性别只能选择男或者女"

nl n 2

3.增加如下三个记录

张三   男  18

李四   女  20

王五   男  19

4.指令如下:

insert into x9 (xm,xb,nl) value (”张三","男",18)

insert into x9 (xm,,nl,xb) value (”李四",20,"女")

insert into x9  value (”王五","男",19)   &&注意此条插入命令的使用,省略了字段列表,但Value不得省略,则需要按照表结构中的字段顺序填写。

5.测试命令

list或者disp all &&查看当前的数据表中,是否已经成功插入了三条记录

6.将所有记录的性别改为“女”

update x9 set xb="女"    &&因为省略了Where 条件,默认所有 记录都发生更新,即使已经是女的记录

7.将所有人的年龄加1岁

upda x9 set nl=nl+1  &&因为省略了Where 条件,默认所有 记录都发生更新,即使所有记录的nl字段加上1,再更新nl记录,实现长1岁

8.测试命令

list或者disp all &&查看当前的数据表中,是否已经每个记录的NL长了一岁。

9.所有记录加删除标志

delete from x9

10.测试命令

list或者disp all,看看是不是每一条记录已经加了删除标志,结果是在每一条记录号与第一个字段中间出现一个*号

11.使用set dele on后,再次查看

list或者disp all,发现没有任何记录信息了,说明加了删除标记【第9步造成的】,且已经将删除开关至于打开状态,则发生隐含【第11步完成的】,所以就没有可以显示的记录了。

12.使用set dele off 后,再次查看

list或者disp all,发现没有加有删除标志的记录又显示出来了,可以看到那个*号

13.使用命令

recall for nl>=20   &&将已经 加有删除标志的NL在20岁(含)以上的去掉删除标志,也叫恢复删除标志。

14.测试命令

list或者disp all,只剩下了那个张三,原来年龄18岁,后来每个记录年龄长一岁后19岁,没有达到或超过20岁,所以张三的删除标志没有被恢复,其他的两条记录,李四 21和王五 20 ,因为达到恢复删除标志的条件,所以它俩前边的*号不见了。

15.结束

二、

 

首页  前一页  后一页  末页
现在是第79页一共有99页