文档库 最新最全的文档下载
当前位置:文档库 › 程序题目中有关解答方法2

程序题目中有关解答方法2

程序题目中有关解答方法2
程序题目中有关解答方法2

程序题目中有关解答方法:

1、接收数据的命令使用:

INPUT [<字符表达式>] TO <内存变量>

接收任何数据类型,多数用来接收数值型数据

ACCEPT [<字符表达式>] TO <内存变量>

接收数据按C型处理

例如:

题目1:键盘输入X值时,求其相应的Y值

* ┌-1 (X<0)

* │

* Y=├0 (X=0)

* │

* └ 1 (X>0)

SET TALK OFF

**********FOUND**********

ACCEPT "请输入一个数:" TO X

**********FOUND**********

DO WHILE

CASE X<0

Y=-1

CASE X=0

Y=0

**********FOUND**********

DEFAULT X>0

Y=1

ENDCASE

? Y

SET TALK OFF

*题目2:表XSDA.DBF结构为:学号(C,6),姓名(C,6),* 性别(C,2),入学成绩(N,6,2)。

* 本程序实现按学号查找记录,直到输入"#"为止。

SET TALK OFF

USE XSDA

**********FOUND**********

ACCEPT "请输入要查找的学号" ON XH

DO WHILE XH!= "#"

**********FOUND**********

LOCATE FOR 学号="CJ"

IF FOUND()

?学号,姓名,入学成绩

ELSE

? "无此学号"

ENDIF

ACCEPT "请继续输入要查找的学号" TO XH

**********FOUND**********

ENDFOR

?"谢谢使用本查找系统"

USE

SET TALK ON

*题目3:从键盘上输入5个数,统计其中奇数的个数。

SET TALK OFF

A=0

FOR J=1 TO 5

**********FOUND**********

ACCEPT "请输入第"+STR(J,2)+ "数" TO M

**********FOUND**********

IF INT(M/2)=M/2

A=A+1

ENDIF

ENDFOR

**********FOUND**********

?奇数个数是,A

CANCEL

2、利用IF语句对数进行奇、偶判断以及求某数的倍数问题。

常用的写法:IF INT(数值/2)=数值/2

或IF MOD(数值,2)=0 -----------判断数值为偶数

或IF 数值%2=0

IF INT(数值/2)<>数值/2

或IF MOD(数值,2)<>0 -----------判断数值为奇数

或IF 数值%2<>0

IF INT(数值1/数值2)=数值1/数值2

或IF MOD(数值1,数值2)=0 -----------判断为某数值的倍数或IF 数值1%数值2=0

例如:

题目1:从键盘上输入5个数,统计其中奇数的个数。

SET TALK OFF

A=0

FOR J=1 TO 5

**********FOUND**********

ACCEPT "请输入第"+STR(J,2)+ "数" TO M

**********FOUND**********

IF INT(M/2)=M/2

A=A+1

ENDIF

ENDFOR

**********FOUND**********

?奇数个数是,A

CANCEL

题目2:求1到10之间奇数的阶乘和t=1!+3!+5!+ (9)

**********FOUND**********

t=1

P=1

I=1

**********FOUND**********

Do while I<10

P=p*I

**********FOUND**********

If int(i/2)=i/2

T=t+p

Endif

I=I+1

Enddo

?"t=",t

题目3:计算出1-30以内(包含30)能被5整除的数之和。SET TALK OFF

X=0

**********FOUND**********

Y=1

DO WHILE .T.

X=X+1

DO CASE

CASE MOD(X,5)=0

Y=Y+X

CASE X<=30

**********FOUND**********

EXIT

CASE x>30

**********FOUND**********

LOOP

ENDCASE

ENDDO

?Y

SET TALK ON

题目4:将200到300之间的所有能被3整除或被5整除的数求和并统计个数。

STORE 0 TO S,C

I=200

DO WHILE I<=300

***********FOUND**********

IF INT(I/3)=INT(I/5)

S=S+I

***********FOUND**********

C=C+I

ENDIF

I=I+1

ENDDO

?"200到300之间的所有能被3整除或被5整除的数之和="+STR(S,6)

?"200到300之间的所有能被3整除或被5整除的数的个数="+STR(C,6)

3、输出运算的结果多用: ?”某个输出内容:”,运算后的结果

?”某个输出内容:”+STR(运算后的结果,长度)

4、循环结构条件、趋于结束语句的设置:

(1)DO WHILE语句:

一、对表记录扫描:DO WHILE NOT EOF()------SKIP

题目:依次显示XSDB.DBF数据表中的记录内容。请在【】处添上适当的内容,使程序完整。

***********SPACE**********

【?】

***********SPACE**********

DO WHILE【?】

DISP

***********SPACE**********

【?】

ENDDO

USE

RETURN

题目1:查找RSH.dbf 中女职工的最高工资,并显示其姓名和工资。USE RSH

MGZ = 0

DO WHILE .NOT.EOF()

***********FOUND**********

IF 性别="女",MGZ<"工资"

MGZ=工资

MXM=姓名

ENDIF

***********FOUND**********

CONT

ENDDO

?MXM,MGZ

USE

*题目2:统计RSH.dbf 中职称是教授、副教授、讲师和助教的人数。USE RSH

***********FOUND**********

STORE 1 TO A , B , C , D

DO WHILE .NOT.EOF ( )

DO CASE

CASE 职称= "教授"

A = A + 1

CASE 职称= "副教授"

B = B + 1

CASE 职称= "讲师"

C = C + 1

CASE 职称= "助教"

D = D + 1

ENDCASE

***********FOUND**********

NEXT 1

ENDDO

USE

? A,B,C,D

对表记录扫描:

LOCA FOR 字段名=”值”

DO WHILE FOUND()---------CONT

题目3:用循环程序计算XSDB.DBF中法律系学生的计算机平均成绩、* 英语平均成绩和奖学金总额。

USE XSDB

STORE 0 TO JSJ,YY,JXJ,RS

LOCA FOR 系别="法律"

***********FOUND**********

DO WHILE FIND()

JSJ=JSJ+计算机

YY=YY+英语

JXJ=JXJ+奖学金

RS=RS+1

CONT

ENDDO

***********FOUND**********

?JSJ,YY,JXJ

题目4: STUDENT.DBF是一个学生信息文件,包含学号(C 8)、姓名(C 8)、性别(C 2)、政治面目(C 4)、班级(C 5)等字段;其中性别用字符串"男"或"女"表示,政治面目用字符串"党员"、"团员"或"群众"表示。

程序MODI1.PRG的功能是:显示输出所有政治面目为"群众"的男生姓名和班级

set talk off

clear

USE STUDENT

LOCATE FOR 政治面目="群众"

***********FOUND**********

DO WHILE .not. FOUND()

IF 性别="女"

CONTINUE

***********FOUND**********

break

ENDIF

? 姓名,班级

***********FOUND**********

skip

ENDDO

USE

SET TALK ON

二、已知次数的循环:

循环变量=初值(求和:循环变量=0;求积:循环变量=1)

DO WHILE 循环变量<=终值

循环变量=循环变量+步长值

ENDDO

或FOR 循环变量=初值TO 终值STEP <步长值>

循环体

ENDFOR

题目1:打印由数字组成的图形,要求第一行空10个空格打印5个1,第

* 二行空11个空格打印5个2…,图形如下:

* 22222

* 33333

* 44444

* 55555

CLEA

FOR I=1 TO 5

?SPAC(9-I)

FOR J=1 TO 5

***********FOUND**********

??STR(J,1)

ENDFOR

ENDFOR

题目: 下面程序是计算1+3+5+…+99之和的程序。

* 请在【】处添上适当的内容,使程序完整。

*-------------------------------------------------------

SET TALK OFF

***********SPACE**********

【?】

***********SPACE**********

FOR I=1 TO 99 【?】

S=S+I

ENDFOR

***********SPACE**********

?"结果=",【?】

RETURN

SET TALK ON(中外)

题目: 百马百担问题:有100匹马,驮100担货,大马驮三担,中马驮2担,两匹小马驮一担,求大、中、小马各多少匹?。请在【】处添上适当的内容,使程序完整。

SET TALK OFF

clear

for hb=0 to 100

***********SPACE**********

for hm=0 to 100-【?】

***********SPACE**********

hs=【?】

***********SPACE**********

if hb*3+hm*2+【?】=100

? "大马有:",hb,"中马有:",hm,"小马有:",hs

endif

endf

endf

set talk on

canc

题目: 1982年我国第三次人口普查,结果全国人口为10.3亿,假如人口增长率为5%。编写一个程序求在公元多少年总人口翻了一番。请在【】处添上适当的内容,使程序完整。

*-------------------------------------------------------

SET TALK OFF

CLEAR

P1=10.3

N=1

R=0.05

P2=P1*(1+R)

***********SPACE**********

DO WHILE P2<=【?】

***********SPACE**********

N=【?】

***********SPACE**********

P2=P2【?】(1+R)

ENDD

N=1982+N

? N,"年人口总数翻了一番"

SET TALK ON

CANC

题目:本程序计算1!×3!×9!的乘积。

SET TALK OFF

M=1

**********FOUND**********

S=0

DO WHILE M<=9

I=1

P=1

**********FOUND**********

DO WHILE M<=9

P=P*I

I=I+1

ENDDO

S=S*P

**********FOUND**********

M=M+3

ENDDO

? "1!×3!×9!=",S

SET TALK ON

RETURN

*题目:求X =1+2+3+…+100,并同时求出1到100 之间的奇数之和Y,而且显示输出这两个和。

CLEAR

STORE 0 TO I , X , Y

***********FOUND**********

DO WHILE I<=100

I = I+1

X =X+I

IF I/2 = INT(I/2)

***********FOUND**********

EXIT

ENDIF

Y=Y+I

ENDDO

?X,Y

RETURN

三、随机循环

DO WHILE .T.

IF 条件CASE 条件

EXIT 或EXIT

ENDIF ENDCASE

题目1:计算出1-30以内(包含30)能被5整除的数之和。

CLEAR

SET TALK OFF

X=0

**********FOUND**********

Y=1

DO WHILE .T.

X=X+1

DO CASE

CASE MOD(X,5)=0

Y=Y+X

CASE X<=30

**********FOUND**********

EXIT

CASE x>30

**********FOUND**********

LOOP

ENDCASE

ENDDO

?Y

SET TALK ON

【程序改错】

*-------------------------------------------------------

*题目2:计算出1-50以内(包含50)能被3和5整除的数之和。

CLEAR

SET TALK OFF

X=0

**********FOUND**********

Y=1

**********FOUND**********

DO WHIL NOT EOF()

X=X+1

DO CASE

CASE MOD(X,5)=0 AND MOD(X,3)=0

Y=Y+X

CASE X<=50

LOOP

CASE X>50

EXIT

ENDCASE

ENDDO

**********FOUND**********

?X

SET TALK ON

题目3:用户选择菜单中的功能序号,程序将根据序号对数据表XSDB.DBF进行对应的操作。

USE XSDB

DO WHILE .T.

?" 1-追加记录2-修改记录3-显示记录0-结束程序"

INPUT "请选择(1,2,3,0):" TO ANS

***********FOUND**********

IF ANS>=0.AND.ANS<=3

WAIT "输入错误,按任意键重新输入!"

LOOP

ENDIF

DO CASE

CASE ANS=1

APPE

CASE ANS=2

BROW

CASE ANS=3

LIST

OTHERWISE

***********FOUND**********

?"结束!"

ENDCASE

ENDDO

USE

四、注意步长值的变化及输出语句的格式:

题目: 下面程序是计算1+3+5+…+99之和的程序。请在【】处添上适当的内容,使程序完整。

SET TALK OFF

***********SPACE**********

【?】

***********SPACE**********

FOR I=1 TO 99 【?】

S=S+I

ENDFOR

***********SPACE**********

?"结果=",【?】

RETURN

SET TALK ON

五、素数问题:

素数问题基本上涉及的循环。

外层循环解决的问题是从X到Y的循环次数及素数个数的累加、素数和的累加等。

内层循环解决的问题是判断X----Y中某个数是否是素数,常用到IF语句

1、输出3—100之间的所有素数

clear

m=3

do while m<=100

i=2

do while i

if int(m/i)=m/i

exit

endif

i=i+1

enddo

if i=m

?m

endif

m=m+1

enddo

return

题目: 编写程序,输出1000 以内的所有完数及其因子。所谓完数是指一个

整数的值等于它的因子之和。例如 6 的因子是 1 、 2 、 3 ,而6=1+2+3 ,故 6 是一个完数。请在【】处添上适当的内容,使程序完整。

SET TALK OFF

clear

dime a(100)

for i=1 to 1000

m=i

***********SPACE**********

【?】

k=1

j=1

do while j

if m%j=0

s=s+j

a(k)=j

k=k+1

endif

j=j+1

endd

***********SPACE**********

if s!=0 【?】s=m

j=1

? '因子是:'

do while j

?? a(j),' '

***********SPACE**********

【?】

endd

? '完数是',i

?

endif

endf

题目: 下面程序的功能是输出1到100之间每位数的乘积大于每位数的和的数。例如数字26,数位上数字的乘积12大于数字之和8。请在【】处添上适当的内容,使程序完整。SET TALK OFF

clear

***********SPACE**********

for n=1 to 【?】

k=1

s=0

m=n

do while m>0

k=k*(m%10)

***********SPACE**********

s=s+【?】

***********SPACE**********

m=【?】(m/10)

endd

***********SPACE**********

if k>【?】

? 'n=',n

endif

endf

set talk on

canc

2、图形输出问题:

此类题多数为双循环:外层循环解决行数,内层解决一行中输出多少个数

题目:输出下面图形:(要求使用双重循环语句)

* *

* * *

* * * *

* * * * *

* 请按照题目要求,在下面编写程序代码。要求:将输出第三行的所有字符存入变量S中

for i=1 to 4

for j=1 to i

??"*"

endfor

?

endfor

S="***"

题目:利用循环程序输出图形:

* 1

* 222

* 33333

* 4444444

*并将输出第三行存入变量S中----------------------

N=1

FOR N=1 TO 4

? SPACE(4-N)

F OR M=1 TO 2*N-1

?? STR(N,1)

E NDFOR

ENDFOR

SET TALK ON

S="33333"

题目:利用循环程序输出图形:

* 4

* 333

* 22222

* 1111111

* 并将最后一行存入变量S中

* 请按照题目要求,在下面编写程序代码。----------------------

FOR N=1 TO 4

? SPACE(4-N)

F OR M=1 TO 2*N-1

?? STR(4-N+1,1)

E NDFOR

ENDFOR

S="1111111"

六、字符串中的取子串及字符串的逆转P115 25

题目1:有一个字符串"ABC",将其插入3个数字转换为:"A1B2C3"输出。

C1="ABC"

C2=""

FOR I=1 TO 3

***********FOUND**********

A=SUBS(C1,I)

***********FOUND**********

C2=C2+A+ I

ENDFOR

?C2

题目:将一串ASCII码字符"ABC123",逆序输出为:321CBA"。P111 11

S="ABC123"

?S+"的逆序为:"

***********FOUND**********

L=STR(S)

DO WHIL L>=1

??SUBS(S,L,1)

***********FOUND**********

L=L+1

ENDD

题目:从键盘输入一个汉字字符串,将它逆向、纵向输出。存入变量S中

* 如:输入"计算机考试"输出如下:试考机算计

* 请按照题目要求,在下面编写程序代码。

SET TALK OFF

SET LOGERRORS ON

S=""

A="计算机考试"

?FUN(A)

YZJ()

RETURN

FUNCTIO FUN(S)

Y=""

**********Program**********

L=LEN(A)

FOR I=L-1 TO 1 STEP -2

S=S+SUBS(A,I,2)

ENDFOR

?S

FOR I=1 TO L-1 STEP 2

?SUBS(A,I,2)

ENDFOR

********** End **********

RETURN

Y

FUNCTI YZJ()

S="我是中国人"

Y=FUN(S)

DO YZJ16 WITH Y

SET TALK ON

RETURN----------------------

FOR N=1 TO LEN(S)-1 STEP 2

Y=Y+SUBS(S,LEN(S)-N,2)

ENDFOR

题目:从键盘输入一串汉字,将它逆向输出, 并在每个汉字中间加一个"*"号。* 例如:输入"计算机考试",应输出"试*考*机*算*计"P110 8

SET TALK OFF

ACCEPT TO A

**********FOUND**********

DO N=2 TO LEN(A)

**********FOUND**********

?? SUBSTR(A,LEN(A)-N,2)

IF N#LEN(A)

**********FOUND**********

? "*"

ENDIF

ENDFOR

SET TALK ON P121 43

七、SQL语句:

题目: 下面SQL语句的功能是输出工资表中女同志奖金最低的三个人的名字,

* 请在【】处添上适当的内容,使程序完整。

***********SPACE**********

SELECT 姓名,奖金FROM 工资表【?】性别='女' INTO CURSOR LSB

***********SPACE**********

SELECT 【?】姓名FROM LSB;

***********SPACE**********

【?】奖金

*题目:在"SDB"数据库中含有三个表:

* 学生(学号C(2),姓名C(8),出生日期D,性别C(2),院系号C(1))、

* 成绩(学号C(2),课程号C(2),成绩N(5,1))、

* 课程(课程号C(2),课程名C(20),学时N(2),学分N(2),开课单位C(20))。

* 在其中查询没有被学生选修的课程,查询结果含"课程名"和"开课单位"两个字段,结果按课程名升序保存在一个新表NEW_TABLE中。

***********SPACE**********

SELE 课程名,开课单位【?】课程WHERE 课程号;

***********SPACE**********

【?】(SELE 课程号FROM 成绩) order by 课程名;

***********SPACE**********

【?】TABLE NEW_TABLE

*题目:在"SDB"数据库中含有三个表:

* 学生(学号C(2),姓名C(8),出生日期D,性别C(2),院系号C(1))、

* 成绩(学号C(2),课程号C(2),成绩N(5,1))、

* 课程(课程号C(2),课程名C(20),学时N(2),学分N(2),开课单位C(20))。

* 在其中查询没有选课的学生,查询结果含"学号"、"姓名"和"院系号"三个字段,结果按学号降序保存在一个新表NEW_TABLE中。

***********SPACE**********

SELECT 学号,姓名,院系号FROM 学生【?】学号;

***********SPACE**********

【?】(SELECT 学号FROM 成绩);

***********SPACE**********

ORDER BY 学号【?】INTO TABLE NEW_TABLE

-*题目:在"SDB"数据库中含有三个表:

* 学生(学号C(2),姓名C(8),出生日期D,性别C(2),院系号C(1))、

* 成绩(学号C(2),课程号C(2),成绩N(5,1))、

* 课程(课程号C(2),课程名C(20),学时N(2),学分N(2),开课单位C(20))。

* 在其中查询每门课程的最高分,查询结果含"课程名"、和"最高分"两个字段,结果按课程名降序保存在一个新表NEW_TABLE中。

***********SPACE**********

SELE 课程名,【?】AS 最高分FROM 课程,成绩;

***********SPACE**********

WHERE 课程.课程号=成绩.课程号【?】成绩.课程号;

***********SPACE**********

ORDER BY 课程名【?】INTO TABLE NEW_TABLE

--------------------------------------------------

*题目: 如图所示表单实现输入圆半径,输出圆面积。

* 半径文本框为TEXT1,面积文本框为TEXT2。均已设置成数值型,以下是"计算"按钮、"关闭"按钮的CLICK代码。请在【】处添上适当的内容,使程序完整。

*计算按钮CLICK代码:

***********SPACE**********

R=THISFORM.【?】

S=3.1415926*R*R

***********SPACE**********

THISFORM.【?】=S

*关闭按钮CLICK代码:

***********SPACE**********

THISFORM.【?】

*题目: 如图所示表单实现判断素数的功能。

* 文本框TEXT1已设置成数值型,TEXT2中根据判断显示YES或N0。

* 以下是"判断"按钮、"关闭"按钮的CLICK代码。

* 请在【】处添上适当的内容,使程序完整。

*判断按钮CLICK代码:

***********SPACE**********

N=THISFORM.【?】

FOR I=2 TO N-1

IF N%I=0

***********SPACE**********

【?】

ENDIF

ENDFOR

IF I>N-1

THISFORM.TEXT2.V ALUE='YES'

ELSE

THISFORM.TEXT2.V ALUE='NO'

ENDIF

“关闭”按钮的代码:

THISFORM.RELEASE

*【程序改错】

题目:在学生信息.DBF中,使用SELECT语句查询所有女生中入学成绩最高

的三名同学的所有字段信息.

学生信息.DBF(学号,姓名,性别,班级号,出生日期,入学成绩……)

CLEAR

***********FOUND**********

SELECT TOP 3 FROM 学生信息;

***********FOUND**********

WHERE 性别=女ORDER BY 入学成绩

*【程序改错】

题目:在学生信息.DBF和班级表.DBF中,使用SELECT语句统计各班级

人数,要求输出班级号,班级名称,人数等信息.

*学生信息.DBF(学号,姓名,性别,班级号,出生日期,入学成绩……)

*班级表.DBF(班级号,班级名称,所属院系)

***********FOUND**********

SELE 班级号,班级名称,SUM(*) AS 人数FROM 学生信息,班级表;

***********FOUND**********

WHERE 学生信息.学号=班级表.班级号ORDER BY 班级号

*【程序改错】

*题目:在学生信息.DBF和班级表.DBF中,使用SELECT语句统计各班级

*人数,要求输出班级号,班级名称,人数等信息.

*学生信息.DBF(学号,姓名,性别,班级号,出生日期,入学成绩……)

*班级表.DBF(班级号,班级名称,所属院系)

***********FOUND**********

SELE 班级表.班级号,班级名称,SUM(学号) AS 人数FROM 学生信息,班级表; ***********FOUND**********

WHERE 学生信息.学号=班级表.班级号;

***********FOUND**********

ORDER BY 班级表.班级号

八、表单设计:

【程序改错】

*-------------------------------------------------------

*题目:表单中有一个编辑框EDIT1,运行时显示一个二维矩阵,

* 该矩阵的两条对角线上的元素都是1,其余元素都是0。

* 表单的INIT事件代码:

*-------------------------------------------------------

*注意:不可以增加或删除程序行,也不可以更改程序的结构。

*-------------------------------------------------------

DIME A(10,10)

FOR N=1 TO 10

FOR M=1 TO 10

***********FOUND**********

IF N=M AND N=11-M

A(N,M)=1

ELSE

A(N,M)=0

ENDIF

ENDFOR

ENDFOR

***********FOUND**********

S=0

FOR N=1 TO 10

FOR M=1 TO 10

S=S+STR(A(N,M),3)

ENDFOR

S=S+CHR(13)

ENDFOR

***********FOUND**********

THISFORM.EDIT1.CAPTION=S

1、表单中有一形状控件,一个单选按钮,其标题为圆、方。单击圆形状图形变为圆,单击方,形状图形变为方。

INTERACTIVECHANGE事件代码:

DO CASE

CASE THISFORM.OPTIONGROUP1.V ALUE=1

THISFORM.SHAPE1.CURV ATURE=99

CASE THISFORM.OPTIONGROUP1.V ALUE=2

THISFORM.SHAPE1.CURV ATURE=0

ENDCASE

IF THIS.V ALUE=1

THISFORM.SHAPE1.CURV ATURE=99

ELSE

THISFORM.SHAPE1.CURV ATURE=0

ENDIF

-------------------------------------------------------

*【程序填空】

*-------------------------------------------------------

*题目:表单中有一个组合框,一个文本框和两个命令按钮:标题分别为统计和退出。* 运行表单时,组合框中只有三个条目:清华、北航和科学,

* 选择某个后,单击统计按钮,文本框显示图书表中该出版社出版的图书总数。* 单击退出按钮关闭表单。

* 相应的控件属性已经设置好,以下是统计按钮的CLICK代码。

*-------------------------------------------------------

***********SPACE**********

X=https://www.wendangku.net/doc/0d9221279.html,BO1.【?】

***********SPACE**********

SELECT COUNT(*) FROM BOOK WHERE 出版社=【?】;

***********SPACE**********

INTO 【?】AA

THISFORM.TEXT1.V ALUE=AA(1)

*-------------------------------------------------------

*题目:表单中有查询和退出两个命令按钮。

* 表单运行时,单击查询按钮查询每门课程的最高分,

* 查询结果中含有“课程名”和“最高分”两个字段,

* 结果按课程名升序保存在表NEW_TABLE中。

* 以下是查询按钮的CLICK代码。

*-------------------------------------------------------

***********SPACE**********

SELE 课程名,MAX(成绩)【?】最高分FROM COURSE,SCORE;

WHERE COURSE.课程号=SCORE.课程号;

***********SPACE**********

GROUP BY 【?】;

***********SPACE**********

【?】课程名INTO TABLE NEW_TABLE

*-------------------------------------------------------

*题目: 表单中有一个“输入学号”标签和相应的文本框,

* 一个表格控件和两个命令按钮:标题分别为查询和退出。

* 运行表单时,先在文本框中输入学号,单击查询按钮,

* 表格控件中显示该生所选课程名和成绩,单击退出按钮关闭表单。

* 相应的控件属性已经设置好,以下是命令按钮的CLICK代码。

* 请在【】处添上适当的内容,使程序完整。

数值计算实验课题目

数值实验课试题 本次数值实验课结课作业,请按题目要求内容写一篇文章。按题目要求 人数自由组合,每组所选题目不得相同(有特别注明的题目除外)。试题如下: 1)解线性方程组的Gauss 消去法和列主元Gauss 消去法(2人)/*张思珍,巩艳华*/ 用C 语言将不选主元和列主元Gauss 消去法编写成通用的子程序,然后用你编写的程序求解下列84阶的方程组 ???? ?????? ? ??=??????????? ????????????? ? ?1415151515768 168 168 168 1681684 8382321 x x x x x x 参考书目: 1.《计算机数值方法》,施吉林、刘淑珍、陈桂芝编 2.《数值线性代数》,徐树方、高立、张平文编 3.《数值分析简明教程》,王能超编 2)解线性方程组的平方根法(4人)/*朱春成、黄锐奇、张重威、章杰*/ 用C 语言将平方根法和改进的平方根法编写成通用的子程序,然后用你编写的程序求解对称正定方程组b Ax =,其中 (1)b 随机的选取,系数矩阵为100阶矩阵 ?????? ???? ? ? ?101 1101 1101 1101 1101110 ; (2)系数矩阵为40阶的Hilbert 矩阵,即系数矩阵A 的第i 行第j 列元素为 1 1-+= j i a ij ,向量b 的第i 个分量为∑=-+ = n j i j i b 1 1 1. 参考书目: 1.《计算机数值方法》,施吉林、刘淑珍、陈桂芝编 2.《数值线性代数》,徐树方、高立、张平文编

3.《数值分析简明教程》,王能超编 3)三对角线方程组的追赶法(3人)/*黄佳礼、唐伟、韦锡倍*/ 用C 语言将三对角线方程组的追赶法法编写成通用的子程序,然后用你编写的程序求解如下84阶三对角线方程组 ???? ?????? ? ??=??????????? ????????????? ? ?1415151515768 168 168 168 16816 84 8382321 x x x x x x 参考书目: 1.《计算机数值方法》,施吉林、刘淑珍、陈桂芝编 2.《数值分析简明教程》,王能超编 4)线性方程组的Jacobi 迭代法(3人)/*周桂宇、杨飞、李文军*/ 用C 语言将Jacobi 迭代法编写成独立的子程序,并用此求解下列方程组, 精确到小数点后5位 ???? ? ??=????? ??????? ? ?-149012 2111221 3 2 1 x x x 参考书目: 1.《计算机数值方法》,施吉林、刘淑珍、陈桂芝编 2.《数值线性代数》,徐树方、高立、张平文编 3.《数值分析简明教程》,王能超编 5)线性方程组的Gauss-Seidel 迭代法(3人)/*张玉超、范守平、周红春*/ 用C 语言将Gauss-Seidel 迭代法编写成独立的子程序,并用此求解下列方程组,精确到小数点后5位 ???? ? ??=????? ??????? ? ?--39721 1111112 3 2 1 x x x 参考书目: 1.《计算机数值方法》,施吉林、刘淑珍、陈桂芝编 2.《数值线性代数》,徐树方、高立、张平文编 3.《数值分析简明教程》,王能超编 6)解线性方程组的最速下降法法(2人)/*赵育辉、阿热孜古丽*/ 用C 语言将最速下降法编写成通用的子程序,然后用你编写的程序求解对称

检测报告管理程序文件

检测报告管理程序 编写人: 日期:审核人: 日期:批准人:日期:

1.目的: 对检测报告的容、格式、编制、修改、签发、存档等过程进行控制,确保为客户提供准确、可靠的检测结果和客观而有效的检测报告。 2.围: 适用于本检测中心出具的检测报告的管理。 3.权责: 3.1…负责检测数据的记录、汇总、分析和检测报告的编制。 3.2…负责检测报告的审核。 3.3…批准检测报告的签发。 3.4…负责检测报告盖章、发放、副本(或拷贝)存档。 4.定义:无。 5.工作程序: 5.1对完成的每一次或每一系列检测项目要准确、清晰、明确和客观地出具检测报告, 在为部客户进行检测或与客户有书面协议的情况下,可以简化的方式报告结果,但有关信息可从本检测中心随时调用。 5.2检测报告的格式和容 5.2.1检测报告由封面、检测容、检测结果、检测结论及检验、审核、批准人签名等 组成。报告的格式、容应满足客户或检测方法中规定的要求,适用于所进行 的各种检测类型,尽量减小产生误解或误用的可能性,并且提供足够的信息, 这些信息通常是以下要求的容: 5.2.1.1标题:检测报告; 5.2.1.2本检测中心的名称和地址; 5.2.1.3检测报告的唯一性标识:在报告上编制编号和页码、以确保能够识别 证书的唯一性和完整性,并打印“以下空白”作为报告的结束语; 5.2.1.4客户的名称或地址:标明委托方单位的名称和地址; 5.2.1.5所用方法的标识:给出检测所依据的文件名和编号; 5.2.1.6检测样品的描述、状态和明确标识; 5.2.1.7日期:检测日期、有效日期,有必要时,给出抽样日期或委托/接收日 期; 5.2.1.8抽样计划和抽样程序的说明; 5.2.1.9检测结果:应按检测方法的要求给出结果(适用时,带有法定测量单 位); 5.2.1.10检测人、审核人、批准人的、职务、签字或等效标识;

数值分析实验报告1

实验一误差分析 实验1.1(病态问题) 实验目的:算法有“优”与“劣”之分,问题也有“好”与“坏”之别。对数值方法的研究而言,所谓坏问题就是问题本身对扰动敏感者,反之属于好问题。通过本实验可获得一个初步体会。 数值分析的大部分研究课题中,如线性代数方程组、矩阵特征值问题、非线性方程及方程组等都存在病态的问题。病态问题要通过研究和构造特殊的算法来解决,当然一般要付出一些代价(如耗用更多的机器时间、占用更多的存储空间等)。 问题提出:考虑一个高次的代数多项式 显然该多项式的全部根为1,2,…,20共计20个,且每个根都是单重的。现考虑该多项式的一个扰动 其中ε(1.1)和(1.221,,,a a 的输出b ”和“poly ε。 (1(2 (3)写成展 关于α solve 来提高解的精确度,这需要用到将多项式转换为符号多项式的函数poly2sym,函数的具体使用方法可参考Matlab 的帮助。 实验过程: 程序: a=poly(1:20); rr=roots(a); forn=2:21 n form=1:9 ess=10^(-6-m);

ve=zeros(1,21); ve(n)=ess; r=roots(a+ve); -6-m s=max(abs(r-rr)) end end 利用符号函数:(思考题一)a=poly(1:20); y=poly2sym(a); rr=solve(y) n

很容易的得出对一个多次的代数多项式的其中某一项进行很小的扰动,对其多项式的根会有一定的扰动的,所以对于这类病态问题可以借助于MATLAB来进行问题的分析。 学号:06450210 姓名:万轩 实验二插值法

曲线拟合的数值计算方法实验

曲线拟合的数值计算方法实验 【摘要】实际工作中,变量间未必都有线性关系,如服药后血药浓度与时间的关系;疾病疗效与疗程长短的关系;毒物剂量与致死率的关系等常呈曲线关系。曲线拟合(curve fitting)是指选择适当的曲线类型来拟合观测数据,并用拟合的曲线方程分析两变量间的关系。曲线直线化是曲线拟合的重要手段之一。对于某些非线性的资料可以通过简单的变量变换使之直线化,这样就可以按最小二乘法原理求出变换后变量的直线方程,在实际工作中常利用此直线方程绘制资料的标准工作曲线,同时根据需要可将此直线方程还原为曲线方程,实现对资料的曲线拟合。常用的曲线拟合有最小二乘法拟合、幂函数拟合、对数函数拟合、线性插值、三次样条插值、端点约束。 关键词曲线拟合、最小二乘法拟合、幂函数拟合、对数函数拟合、线性插值、三次样条插值、端点约束 一、实验目的 1.掌握曲线拟合方式及其常用函数指数函数、幂函数、对数函数的拟合。 2.掌握最小二乘法、线性插值、三次样条插值、端点约束等。 3.掌握实现曲线拟合的编程技巧。 二、实验原理 1.曲线拟合 曲线拟合是平面上离散点组所表示的坐标之间的函数关系的一种数据处理方法。用解析表达式逼近离散数据的一种方法。在科学实验或社会活动中,通过 实验或观测得到量x与y的一组数据对(X i ,Y i )(i=1,2,...m),其中各X i 是彼此不同的。人们希望用一类与数据的背景材料规律相适应的解析表达式,y=f(x,c)来反映量x与y之间的依赖关系,即在一定意义下“最佳”地逼近或 拟合已知数据。f(x,c)常称作拟合模型,式中c=(c 1,c 2 ,…c n )是一些待定参 数。当c在f中线性出现时,称为线性模型,否则称为非线性模型。有许多衡量拟合优度的标准,最常用的一种做法是选择参数c使得拟合模型与实际观测值在

程序设计艺术与方法实验报告3

《程序设计艺术与方法》课程实验报告实验名称实验二搜索算法的实现 姓名系院专业计算机与 信息学院 班级学号 实验日期指导教师成绩 一、实验目的和要求 1.掌握宽度优先搜索算法 2.掌握深度优先搜索算法 二、实验预习内容 1.将书上的走迷宫代码上机运行并检验结果,体会搜索的思想 2.预习n皇后问题 3.预习骑士游历问题 三、实验项目摘要 1.n皇后问题: 在一个国际象棋棋盘上放n个皇后,使得任何两个皇后之间不相互攻击,求出所有的布棋方法。上机运行并检验结果 2.骑士游历问题: 在国际棋盘上使一个骑士遍历所有的格子一遍且仅一遍,对于任意给定的顶点,输出一条符合上述要求的路径 3.倒水问题: 给定2 个没有刻度容器,对于任意给定的容积,求出如何只用两个瓶装出L 升的水,如果可以,输出步骤,如果不可以,请输出No Solution 。 四、实验结果与分析(源程序及相关说明) N皇后问题代码 #include using namespace std; #include int sum = 0; int upperlimit = 1; void compare(int row,int ld,int rd){ if(row!=upperlimit){ Int pos=upperlimit&~(row|ld|rd);

while(pos!=0){ int p=pos&-pos;pos-=p; compare(row+p,(ld+p)<<1,(rd+p)>>1); }} else{sum++;}} int main(){int n; cout<<"请输入皇后的个数:"; cin>>n; upperlimit = (upperlimit<

太原理工大学数值计算方法实验报告

本科实验报告 课程名称:计算机数值方法 实验项目:方程求根、线性方程组的直接解 法、线性方程组的迭代解法、代数插值和最 小二乘拟合多项式 实验地点:行勉楼 专业班级: ******** 学号: ********* 学生姓名: ******** 指导教师:李誌,崔冬华 2016年 4 月 8 日

y = x*x*x + 4 * x*x - 10; return y; } float Calculate(float a,float b) { c = (a + b) / 2; n++; if (GetY(c) == 0 || ((b - a) / 2) < 0.000005) { cout << c <<"为方程的解"<< endl; return 0; } if (GetY(a)*GetY(c) < 0) { return Calculate(a,c); } if (GetY(c)*GetY(b)< 0) { return Calculate(c,b); } } }; int main() { cout << "方程组为:f(x)=x^3+4x^2-10=0" << endl; float a, b; Text text; text.Getab(); a = text.a; b = text.b; text.Calculate(a, b); return 0; } 2.割线法: // 方程求根(割线法).cpp : 定义控制台应用程序的入口点。// #include "stdafx.h" #include"iostream"

心得体会 使用不同的方法,可以不同程度的求得方程的解,通过二分法计算的程序实现更加了解二分法的特点,二分法过程简单,程序容易实现,但该方法收敛比较慢一般用于求根的初始近似值,不同的方法速度不同。面对一个复杂的问题,要学会简化处理步骤,分步骤一点一点的循序处理,只有这样,才能高效的解决一个复杂问题。

教学设计程序设计的步骤和方法

第一课程序设计的步骤和方法 一、教学分析 本课选择浙江省教育出版社宁波市版教材九年级上第一课,程序设计是一项严谨的工作,需要将生活实例转化成计算机能执行的程序,中间有若干环节。本课意图在于让学生了解程序设计的一般步骤,理解程序设计的方法,养成良好的编程习惯。 二、教学目标 知识与技能目标: 1.了解程序设计的一般步骤。 2.理解程序设计的方法。 3.能用自然语言叙述两变量值交换过程。 4、掌握两个变量值交换方法。 5、掌握从生活实例到构建数学模型的一般方法。 过程与方法:在小组合作以及学生亲身实验体验的过程中,不断发现问题和解决问题来掌握构建数学模型和算法的方法。 情感态度与价值观目标:通过小组合作,培养学生协作能力;通过生活实例构建合理的数学模型,培养学生严谨类推的逻辑思维能力。 三、重难点及分析 重点:掌握程序设计的一般步骤。 难点:理解并掌握两变量交换的算法;能够将实例转换为具体算法。 分析: 程序设计具有严密的逻辑性,程序最终为解决实际生活中的问题,在现实问题和程序设计之间需要将日常生活复杂问题简化,构建合理的数学模型,这是程序设计的前提。程序的“按部就班”和现实生活中的问题解决方式存在一定的差异,因此学生理解程序设计的一般过程,这是本课的重点。 交换两个变量值是理解程序设计方法的经典算法。通过实物模拟交换过程,有利于学生初步建立程序设计变量交换的思维雏形。然后再用生活实例比较身高排序,将两变量具体进行应用表现,让学生掌握分析实例的能力,然后将其转换为具体的程序算法,所以将掌握两变量交换的算法作为本节课教学难点。

四、学情分析 本班学生是丹城二中206学生,跟他们的任课教师接触之后,了解这是一帮活泼同时又好动的学生,控制的好能够将课堂气氛调动的很好,所以我改变以往的严肃的教态,本节课以鼓励为主,让学生树立信心,用学生对自己鼓掌的方法,拉近与学生的距离,因为这是九年级的第一课,学生也没有具体的程序基础,所以这节课讲解的程序是最容易最经典的,让学生浅显易懂,以及尽量用幽默的语句,增加教师的亲和力,使课堂气氛活跃。 五、教学过程 环节一“小组讨论,引入课题” 教师:今天我们来学习《程序设计的步骤和方法》,在这之前,我们来当一回专家,讨论下问题!首先大家给自己鼓励把掌声献给自己,等会踊跃发言。 学生:一片掌声 教师:我们来讨论“蛋炒饭的制作过程、洗衣服的制作过程,两个杯中球的位置互换”(PPT中逐一展示) 学生:对于问题非常感兴趣,发言的学生很多,踊跃发表的自己的高论“如何制作蛋炒饭、洗衣服的步骤” 教师:接下来,我们讨论两个杯中的球,如何互换位置,大家前后桌为一组相互讨论下,用语言表述调换的过程。组长安排组员发言,时间为3分钟。 教学意图:教师通过掌声和赞美来活跃课堂气氛,因为初次接触学生彼此之间存在距离感,这个措施拉近了师生关系,同时也很好把握了课堂的气氛,学生回答问题的同时,教师需要进行适当的引导让学生知道做事情需要严谨的步骤和方法,同时引出实验对象,进行小组合作讨论(5-6为一组,事先确定好小组长) 环节二实验操作,讲解两变量值的交换 教学意图:突出本节课的教学重点,理解程序设计的一般步骤,程序设计的六个步骤贯穿于环节二中,上完之后由学生再来总结程序设计的六个步骤。 教师:请学生上台演示操作(讲解、操作都是由学生自主上台完成,体 现学生上课的主体地位,教师要作为适当的引导) 任务一:通过实验操作,口述操作过程

检验方法及方法确认程序

检测方法及方法确认程序 l 目的 为保证检测结果的正确性和有效性,对检测活动中所采用的方法进行有效控制制定程序。 2 范围 适用于检测活动中检测方法的选用,以及检测方法的变更和偏离。 3 职责 3.1 技术负责人的职责 负责授权与客户签立检测合同或协议,批准检测作业指导书等文件,维护本程的有效性。 3.2 检测室负责人的职责 提出本检测部门的执行标准,制定本部门检测活动的检测程序及抽样、检测的职责和活动以及不确定度分析。 3.3 资料管理员的职责 负责对标准、规程及其他技术规范等有效性确认,建立检测标准管理档案。 4 工作程序 4.1 检测方法的选择 4.1.1 为减少检测风险,本检测中心的检测依据首选以下正式颁布的标准。其中优先选用国家标准、行业标准、地方标准:对新旧标准处于过渡期间并均可采用的,优先选择新版标准。 4.1.1.1 国际标用; 4.1.1.2 国家标准; 4.1.1.3 行业标准或政府发布的技术规范; 4.1.1.4 地方标准; 4.1.1.5 企业标用; 4.1.1.6 知名技术组织或科学书籍与期刊公布的方法: 4.1.1.7 制造商指定的方法; 4.1.1.8 自行制定的非标方法。 4.1.2 当老标准己经过期作废时,以上标准应当保证是现行有效的。为此资料管理员首先应当负责检索和收集、查新最新标准及其他技术规范,并按《文件控制程序》保持检测人员所用标准是最新有效版本;其次是每月向检测部门提供中文核心期刊题录,供检测人员参考。当使用外部企业标准检测时,要防止导致可能发生的所有权侵权问题。 4.1.3 当所用标准存在理解、操作等困难对,技术负责人应组织各个检测室负责人编写检测作业指导书,以保证对标准实施的一致性。检测作业指导书应形成正式的书面文件并应经过编制人、审核人和批准人的书面审批手续和保持该文件的

数值计算实验报告

(此文档为word格式,下载后您可任意编辑修改!) 2012级6班###(学号)计算机数值方法 实验报告成绩册 姓名:宋元台 学号: 成绩:

数值计算方法与算法实验报告 学期: 2014 至 2015 第 1 学期 2014年 12月1日课程名称: 数值计算方法与算法专业:信息与计算科学班级 12级5班 实验编号: 1实验项目Neton插值多项式指导教师:孙峪怀 姓名:宋元台学号:实验成绩: 一、实验目的及要求 实验目的: 掌握Newton插值多项式的算法,理解Newton插值多项式构造过程中基函数的继承特点,掌握差商表的计算特点。 实验要求: 1. 给出Newton插值算法 2. 用C语言实现算法 二、实验内容 三、实验步骤(该部分不够填写.请填写附页)

1.算法分析: 下面用伪码描述Newton插值多项式的算法: Step1 输入插值节点数n,插值点序列{x(i),f(i)},i=1,2,……,n,要计算的插值点x. Step2 形成差商表 for i=0 to n for j=n to i f(j)=((f(j)-f(j-1)(x(j)-x(j-1-i)); Step3 置初始值temp=1,newton=f(0) Step4 for i=1 to n temp=(x-x(i-1))*temp*由temp(k)=(x-x(k-1))*temp(k-1)形成 (x-x(0).....(x-x(i-1)* Newton=newton+temp*f(i); Step5 输出f(x)的近似数值newton(x)=newton. 2.用C语言实现算法的程序代码 #includeMAX_N) { printf("the input n is larger than MAX_N,please redefine the MAX_N.\n"); return 1; } if(n<=0) { printf("please input a number between 1 and %d.\n",MAX_N); return 1; } printf("now input the (x_i,y_i)i=0,...%d\n",n); for(i=0;i<=n;i++) { printf("please input x(%d) y(%d)\n",i,i);

检验检测机构仪器设备管理方法

检验检测机构仪器设备管理方法 仪器设备管理 设备作为一项重要资源要素,应纳入质量管理体系,参与体系运行,以实现质量方针和目标。因此,应建立符合准则要求的设备管理体系,实行全面质量管理,使仪器设备保持良好的工作状态,满足检测工作的需要。 建立设备质量管理体系 ⑴ 建立设备管理组织 设备管理组织有质量管理部门、技术部门和支持服务部门构成。根据设备管理工作的特点、范围和工作量,确定管理人员、核查人员、操作人员和服务人员的职责、权力与相互关系,使各项管理职能分解落实到相关部门、相关岗位,尽量做到职责清晰,分工明确。 ⑵ 制定设备管理程序 设备管理程序是检测机构实行设备管理的途径。通过建立相应的程序文件,明确设备管理活动的过程、步骤、内容和所有环节,使各项工作都有章可循。 ⑶ 编写设备作业指导书 设备作业指导书是指导检测人员操作设备的规范性文件。一般设备可按照说明书操作,大型、复杂的仪器或操作人员流动性大、性能不稳定的设备需编写作业指导书或操作规程。 健全设备质量管理制度 ⑴ 评审制度 评审是添置或处置设备的一项前期工作,主要从设备的适应性、可靠性、经济性、安全性、维护性等方面综合分析,目的是为了合理配置设备资源,发挥设备的最佳效益。对于大型、贵重、精密的仪器需进行可行性认证,达到技术上先进,性能上可靠,工作上需要,经济上合理;对于租借、维修、淘汰的设备,以及小型或辅助设备,应进行必要的评审。 ⑵ 验收制度 验收是保证添置或维修的设备正常运行的一个重要手段。仪器设备的开箱拆封应在设备管理员、操作人员、供应人员等有关人员都在场时进行,验收过程中,应对设备评审要求、订货合同和装箱清单,逐一清点,并做好记录。对于大型、精密的仪器设备,安装调试后,还应通过一定时期(合同期内)的试运行,根据实际运行

数值分析实验报告1

实验一 误差分析 实验(病态问题) 实验目的:算法有“优”与“劣”之分,问题也有“好”与“坏”之别。对数值方法的研究而言,所谓坏问题就是问题本身对扰动敏感者,反之属于好问题。通过本实验可获得一个初步体会。 数值分析的大部分研究课题中,如线性代数方程组、矩阵特征值问题、非线性方程及方程组等都存在病态的问题。病态问题要通过研究和构造特殊的算法来解决,当然一般要付出一些代价(如耗用更多的机器时间、占用更多的存储空间等)。 问题提出:考虑一个高次的代数多项式 )1.1() ()20()2)(1()(20 1∏=-=---=k k x x x x x p 显然该多项式的全部根为1,2,…,20共计20个,且每个根都是单重的。现考虑该多项式的一个扰动 )2.1(0 )(19=+x x p ε 其中ε是一个非常小的数。这相当于是对()中19x 的系数作一个小的扰动。我们希望比较()和()根的差别,从而分析方程()的解对扰动的敏感性。 实验内容:为了实现方便,我们先介绍两个Matlab 函数:“roots ”和“poly ”。 roots(a)u = 其中若变量a 存储n+1维的向量,则该函数的输出u 为一个n 维的向量。设a 的元素依次为121,,,+n a a a ,则输出u 的各分量是多项式方程 01121=+++++-n n n n a x a x a x a 的全部根;而函数 poly(v)b =

的输出b 是一个n+1维变量,它是以n 维变量v 的各分量为根的多项式的系数。可见“roots ”和“poly ”是两个互逆的运算函数。 ;000000001.0=ess );21,1(zeros ve = ;)2(ess ve = ))20:1((ve poly roots + 上述简单的Matlab 程序便得到()的全部根,程序中的“ess ”即是()中的ε。 实验要求: (1)选择充分小的ess ,反复进行上述实验,记录结果的变化并分析它们。 如果扰动项的系数ε很小,我们自然感觉()和()的解应当相差很小。计算中你有什么出乎意料的发现表明有些解关于如此的扰动敏感性如何 (2)将方程()中的扰动项改成18x ε或其它形式,实验中又有怎样的现象 出现 (3)(选作部分)请从理论上分析产生这一问题的根源。注意我们可以将 方程()写成展开的形式, ) 3.1(0 ),(1920=+-= x x x p αα 同时将方程的解x 看成是系数α的函数,考察方程的某个解关于α的扰动是否敏感,与研究它关于α的导数的大小有何关系为什么你发现了什么现象,哪些根关于α的变化更敏感 思考题一:(上述实验的改进) 在上述实验中我们会发现用roots 函数求解多项式方程的精度不高,为此你可以考虑用符号函数solve 来提高解的精确度,这需要用到将多项式转换为符号多项式的函数poly2sym,函数的具体使用方法可参考Matlab 的帮助。

数值计算方法实验5

实验报告 学院(系)名称: 主程序部分列选主元部分

实验结果: 一.列主元消去法 输入各个数据,最终使用列选主元法,得到结果为:x1=x2=x3=1二.高斯-赛德尔迭代法 输入各个数据,输出每一步迭代数据,最终结果为:x1=0.285716,附录(源程序及运行结果) 一.列主元高斯消去法 #include #include void print(double a[3][3],int n,double b[3]){ printf("输出矩阵:\n"); for(int i=0;ifabs(d)){ d=a[i][k]; l=i; } i++; } printf("选出主元:%lf\n",d); if(d==0) printf("矩阵奇异!\n"); else if(l!=k){ for(int j=k;j

检测工作管理程序√

检测工作管理程序 1 目的 为对检测工作的全过程进行有效控制,保证检测数据准确有效可靠,制定本程序。 2 适用范围 适用于本试验室的各类检测工作的全过程。 3 职责 3.1 技术负责人落实指令性质量检测任务,负责检测报告的发放和保存工作。 3.2 各功能试验室负责样品采集和检测,填写原始记录,进行数据计算和原始记录整理。 3.3 技术负责人负责对检测报告的审批,负责对检测工作程序和方法的审核。 4 程序内容 4.1 检测工作程序 4.1.1 试验室主任组织人员编制年度检测计划或根据指令性检测任务编制检测计划,经技术负责人审核、试验室主任批准后下发。 4.1.2 采样人员按规范、标准及设计图、合同文件要求执行采样。 4.1.3 采样回来后,采样人员必须到样品室及时办理样品移交登记手续。对合格样品在样品验收登记表上进行登记。样品在样品室按待检、检毕情况分区、分类保管。 4.1.4 对合格样品进行登记后,及时通知相关试验负责人进行检验。样品从采集、验收、移交、保管及检毕后的处理等过程的具体要求按照《样品管理程序》执行。 4.1.5 检测人员必须持有承检检测的上岗证方可检测和出具检测数据。 4.1.6 检测前,检测人员必须检查所用仪器的工作状态和环境温湿度条件并在仪器设备使用记录表上记录;检测时,应严格遵守仪器操作规程以及样品测试的方法和标准,正确填写原始记录;检测后,检测人员再次检查并记录所用仪器的工作状态是否正常,进行记录后恢复仪器原有的状态。原始记录数据经计算后交复核人员复核。原始记录的填写和复核工作按《记录和档案控制程序》执行。 4.1.7 当发现检测结果有疑问时,应进行复验。 4.1.8 检测结束后,检测人员应及时将检毕样品放在至样品室留存。 4.1.9 复核人员将复核无误的原始记录交检测报告编制人,由编制人编制和打印检测报告,检测报告一式两份,实行三级签名制。经技术负责人审查签字批准并填写签发日,一份加盖本试验室专用章发出,一份印章登记存档。检测报告具体的编制、审核、存档和发出工作按照《检测报告编制和管理程序》执行。 4.2 复核检测工作程序 当对检测结果提出异议时,由规范、标准有关规定,先对本试验室样品检测过程进行审核,再决定是否需要复核检测。若需要进行复核检测的,复核检测后出具检测报告。

设计方法与程序

1.绿色设计的定义 绿色设计(Green Design, GD) ,通常包括生态设计(Ecological Design, ED)、环境设计(Design for Environment)和生命周期设计(Life Cycle Design)或环境意识设计(Environmental Conscious Design, ECD)等,是指在产品的整个生命周期内,着重考虑其环境属性(可拆卸性、可回收性、可维护性、可重复利用性等),并将其作为设计目标,在满足环境目标要求的同时,保证产品应有的功能、使用寿命、质量等。 1.虚拟现实 虚拟现实(Virtual Reality, VR)是一种先进的计算机用户接口技术,它将人和外部世界隔离开来,通过给用户同时提供诸如视觉、听觉和触觉等各种直观、自然的实时感知交互手段,使用户具有身临其境的感觉,从而使人们能够更逼真地观察所研究的对象,更自然、更真实地与对象进行交互操作。 总结起未,虚拟现实系统具有以下几个基本特点: A.沉浸感(Immersion) B.交互性(Interaction) C.自主性(Autonomy) D.想象力(Imagination) E.多感知性(Multi perceives) 逆向工程技术(Reverse Engineering, RE),也称反求工程、反向工程等,是指用一定的测量手段对实物或模型进行测量,根据测量数据通过三维几何建模方法重构实物的CAD模型的过程。 一般来说,逆向工程的工作内容主要包括产品造型数据反求、工艺反求和材料反求等几个方面,在工业设计领域的实际应用中,主要包括以下几个方面: (1)数字化模型的检测(2)新型外观的设计,主要用于加快产品的改型或仿型设计(3)损坏或磨损外观造型的还原,如艺术品、文物的修复等。 通用设计(Universal Design) 又称全民设计、共用性设计,是无障碍设计的扩展,指产品或建筑等人造物品无须改良或特别设计就能为所有人使用。通用设计的产品在设计时基于身体有障碍人士的使用特点,使得其产品同时也能被所有人更容易的使用。 总体上说,将产品开发的流程分为寻找设计突破口、确定设计方案、实现设计创意和实现商业价值四个阶段。 1,寻找设计突破口2.确定设计方案3.实现设计创意4.实现商业价值 不同产品的设计程序也不尽相同,不存在唯一确定的设计程序,不过大多数设计工作在程序上却趋干一致,本讲义将此程序分为三个阶段,即需求问题化、问题方案化与方案视觉化。 1.需求问题化 2.问题方案化 3.方案视觉化 技术导向型产品的主要特征是,其核心、的获利能力基于它的技术性能或实现特定技术性能的能力。虽然这种产品也需要具有美学性和人机交互性,但顾客在购买这种产品时主要还是基于它的技术性能。对于技术驱动型产品的开发工作来说,工程或技术的要求是主要的,并主导着产品的开发工作。这样,工业设计的角色就限于对核心技术的包装,即设计产品外观和保证产品能向顾客传达它的技术功能和人机交互模式。 顾客导向型产品核心的获利能力来自于它的用户界面的质量和外观的美学性。这种产品与用户有很强的交互关系。对于开发人员来说.工业设计方面的考虑就比技术要求更重要。虽然工程设计对于决定这类产品的技术特征仍是很重要的,但

检测工作管理程序

1 目的 为了规范检验检测工作管理过程,明确检验检测工作的流程,保证检验检测结果科学、公正、准确、及时,特编制本程序。 2 范围 本程序适用于本中心所有固定的及非固定设施场所的检验检测过程的控制: 2.1 确定检验检测业务类别。 2.2 检验检测业务受理、任务分发。 2.3 组织实施检验检测工作流程。 2.4 数据控制。 2.5 编制、审核和签发检验检测报告。 2.6 发送报告和事后处理。 3 职责 3.1 技术负责人负责检验检测工作中技术运作管理工作。 3.2质量负责人负责检验检测工作的质量管理工作。 3.3经营科负责本中心检验检测市场开拓及客户回访工作,同客户签订检验检测合同并组织合同的评审。 3.4综合科负责办理委托检验检测协议书的签订、检验检测业务的受理及分发、待检和流转期间的样品管理、检验检测报告的发放、检测费用的收取等工作。 3.5检测六科(结构检测科)负责主体结构检验检测业务受理、检验检测报告的发放、检测费用的收取等工作。 3.6检测二科(地基基础检测科)负责地基基础检验检测业务实施、检验检测报告的发放等工作。 3.7检测三科(建筑机械检测科)负责施工机械检测业务受理、检验检测报告的发放、检测费用的收取等工作。 3.8检验检测部门负责人负责本部门检验检测工作的协调监督管理。 3.9检验检测人员按要求做好检验检测工作,对检验检测结果的真实性、正确性、及时性负责。 3.10审核员负责检验检测记录及报告的审核,对所审核的检验检测记录和报告的正确性、及时性负责。 3.11授权签字人负责签发授权领域的检验检测报告;对报告结论准确性负责。 3.12监督员负责检验检测工作过程中的人员监督和能力监控及风险控制等质量保证工作。 3.13总工办负责检验检测记录和检验检测报告的管理工作。

(完整版)数值计算方法上机实习题答案

1. 设?+=1 05dx x x I n n , (1) 由递推公式n I I n n 1 51+-=-,从0I 的几个近似值出发,计算20I ; 解:易得:0I =ln6-ln5=0.1823, 程序为: I=0.182; for n=1:20 I=(-5)*I+1/n; end I 输出结果为:20I = -3.0666e+010 (2) 粗糙估计20I ,用n I I n n 51 5111+- =--,计算0I ; 因为 0095.05 6 0079.01020 201 020 ≈<<≈??dx x I dx x 所以取0087.0)0095.00079.0(2 1 20=+= I 程序为:I=0.0087; for n=1:20 I=(-1/5)*I+1/(5*n); end I 0I = 0.0083 (3) 分析结果的可靠性及产生此现象的原因(重点分析原因)。 首先分析两种递推式的误差;设第一递推式中开始时的误差为000I I E '-=,递推过程的舍入误差不计。并记n n n I I E '-=,则有01)5(5E E E n n n -==-=-Λ。因为=20E 20020)5(I E >>-,所此递推式不可靠。而在第二种递推式中n n E E E )5 1(5110-==-=Λ,误差在缩小, 所以此递推式是可靠的。出现以上运行结果的主要原因是在构造递推式过程中,考虑误差是否得到控制, 即算法是否数值稳定。 2. 求方程0210=-+x e x 的近似根,要求4 1105-+?<-k k x x ,并比较计算量。 (1) 在[0,1]上用二分法; 程序:a=0;b=1.0; while abs(b-a)>5*1e-4 c=(b+a)/2;

程序设计方法与风格

?程序设计方法与风格 ?经历两个阶段: ?结构化程序设计 ?面向对象的程序设计 ?良好设计风格: “清晰第一,效率第二” 例如:加注释、提示输入、加输入结束标志、标识符命名有实际意义等。 ?原则 ?自顶向下 ?逐步求精 ?模块化 ?限制使用goto语句 基本结构 ?顺序结构 ?选择结构 ?循环结构 优点 ?程序易于理解、使用、维护 ?提高编程效率,降低开发成本 设计原则和方法的应用 ?三种结构表示程序的控制逻辑; ?每种结构只有一个入口和一个出口; ?语言中没有的控制结构,应该用前后一致的方法模拟; ?严格控制使用goto语句 本质:以对象为核心。 ?对象是数据和操作的封装体,与客观实体有直接的对应关系,对象之间通过传递消息互相联系。 面向对象程序设计方法的优点 ?(1)与人类的思维方法一致,符合人们对客观世界的认识规律。 ?(2)稳定性好; ?(3)可重用性好; ?(4)易于开发大型软件产品; 面向对象的基本概念 ?对象:在现实世界中,每个实体都是对象,如,大学生、汽车、电视机、空调等都是现实世界中的对象。 ?(1)属性:对象所包含的信息,它在设计对象时确定,一般只能通过执行对象的操作来改变。 ?(2)操作:描述了对象执行的功能。其过程对外是封闭的,即用户只能看到这一操作实施后的结果(封装性)。 类:类是一组具有相同属性和相同操作的对象的集合。是对象的抽象,描述了属于该对象类型的所有对象的性质,而一个对象则是其对应类的一个实例。 注意:“实例”这个术语指一个具体的对象;“对象”术语既可以指一个具体的对象,也可以泛指一般对象。

消息:一个实例与另一个实例之间传递的信息,包括3部分:接收消息的对象名称;消息名;零个或多个参数。 例:MyCircle.Show(GREEN); 面向对象的基本概念 ? 继承:使用已有的类定义作为基础建立新类的定义技术。已有的类可当做基类引用, 则新类相应地可当做派生类来引用。 (基类:用来生成新类的类。 派生类:由已存在的类派生出来的新类,也叫子类。)继承具有传递性。 ? 多态性:对象根据所接受的消息而做出动作,同样的消息被不同的对象接受时可导 致完全不同的行为,该现象称为多态性。 图2-1 一般与特殊的关系 图2-2 多重继承 3.1.1软件定义与软件特点 1.软件定义:软件是计算机系统中与硬件相互依存的另一部分,是包括程序、数据及其相关文档组成的完整集合。 软件=程序+数据+文档 程序:程序是按事先设计好的功能和性能要求执行的指令序列。 数据:数据是指程序能正常处理信息的数据和数据结构。 文档:文档是与程序运行和维护有关的图文资料。 2.软件的特点: (1) 软件具有抽象特征。 (2) 软件具有无明显制造过程特征。 (3) 软件无设备的特征。 (4) 手工制作特征。 (5) 成本昂贵特征。 1. 软件危机:泛指在软件的开发和维护过程中所遇到的一系列严重问题。 总之,可以将软件危机归结为成本、质量、生产率等问题。 软件工程:应用于计算机软件的定义、开发和维护的一整套方法、工具、文档、实践标准和工序。 主要思想:强调在软件开发过程中需要应用工程化原则。 软件工程三要素:方法、工具、过程。 方法:完成软件工程项目的技术手段; 工具:支持软件的开发、管理、文档生成; 过程:支持软件开发的各个环节的控制、管理。 ? 软件工程过程:把输入转化为输出的一组彼此相关的资源和活动。(通常把用户的 要求转变为软件产品的过程也叫做软件开发过程).

检验检测方法控制程序

检验检测方法控制程序 1目的 对本公司检测活动所使用的方法进行控制,确保检测数据的准确可靠。 2范围 适用于公司检测活动各个环节(包括被检验检测物品的抽样、处理)的方法的选用、制定和确认。 3职责 3.1综合办公室负责国家标准、方法、规程、规范的及时查新和本公司在用方法的更新工作,保证各场所使用的为现行有效版本。 3.2 技术负责人负责组织对自制方法进行有效性评审,并批准。 4程序 4.1 标准方法的选用 4.1.1 综合办公室负责检索最新标准及技术规范,并按《管理体系文件控制和管理程序》确保检测人员所用文件是最新有效版本。 4.1.2 检测人员按照《作业指导书》的有关规定,在接收到检测业务受理表通知后,对照技术要求,选择符合要求的标准方法,开展检验检测。 4.1.3 本公司车辆检验检测工作严格执行国家、部门或地方颁布的标准和规范,或者参照采用这些标准或规范所规定的方法,或者尽可能选择有关科学书籍和期刊上公布的方法,及仪器设备制造商指定的方法(如技术说明书等)。并且,这些方法若能涵盖所需开展检测的足够信息,则本公司不再重新制定检验检测方法。若是需开展的检测项目的技术指标多,需从多项技术规范中,选用不同种类标准方法组合成新的方法时,则需制定检测方法,经技术负责人批准并备案后使用。 4.1.4 若客户指定检测方法时,业务受理人员应对该方法进行审核,并按《评审客户合同程序》的规定进行确认。 4.2 自制检测方法 本公司原则上不使用自制方法和非标准方法,若确需使用自制方法和非标准方法,首先必须征得客户的同意,并经签字确认。 4.2.1自制方法的验证

使用自制方法开展首次检测后,技术负责人应组织相关人员,采用适当的方法对其结果进行验证,并记录。 4.2.2自制方法的确定 自制方法经试评审及验证后,由技术负责人填写“检测方法确认表”,并批准后交质量负责人按《管理体系文件控制和管理程序》发放到相应部门实施。 4.3数据控制 检测工作所测的数据,由检测人员按检测方法中规定的要求进行处理,核验人员进行检查。当利用计算机自动设备进行数据采集、运算时,则按《保护数据完整性和安全性的程序》处理。 5支持性文件 《质量手册》:4.5.14方法的选择、验证和确认 4.5.18样品处置

(完整版)哈工大-数值分析上机实验报告

实验报告一 题目:非线性方程求解 摘要:非线性方程的解析解通常很难给出,因此线性方程的数值解法就尤为重要。本实验采用两种常见的求解方法二分法和Newton法及改进的Newton法。 前言:(目的和意义) 掌握二分法与Newton法的基本原理和应用。 数学原理: 对于一个非线性方程的数值解法很多。在此介绍两种最常见的方法:二分法和Newton法。 对于二分法,其数学实质就是说对于给定的待求解的方程f(x),其在[a,b]上连续,f(a)f(b)<0,且f(x)在[a,b]内仅有一个实根x*,取区间中点c,若,则c恰为其根,否则根据f(a)f(c)<0是否成立判断根在区间[a,c]和[c,b]中的哪一个,从而得出新区间,仍称为[a,b]。重复运行计算,直至满足精度为止。这就是二分法的计算思想。

Newton法通常预先要给出一个猜测初值x0,然后根据其迭代公式 产生逼近解x*的迭代数列{x k},这就是Newton法的思想。当x0接近x*时收敛很快,但是当x0选择不好时,可能会发散,因此初值的选取很重要。另外,若将该迭代公式改进为 其中r为要求的方程的根的重数,这就是改进的Newton法,当求解已知重数的方程的根时,在同种条件下其收敛速度要比Newton法快的多。 程序设计: 本实验采用Matlab的M文件编写。其中待求解的方程写成function的方式,如下 function y=f(x); y=-x*x-sin(x); 写成如上形式即可,下面给出主程序。 二分法源程序: clear %%%给定求解区间 b=1.5; a=0;

%%%误差 R=1; k=0;%迭代次数初值 while (R>5e-6) ; c=(a+b)/2; if f12(a)*f12(c)>0; a=c; else b=c; end R=b-a;%求出误差 k=k+1; end x=c%给出解 Newton法及改进的Newton法源程序:clear %%%% 输入函数 f=input('请输入需要求解函数>>','s') %%%求解f(x)的导数 df=diff(f);

相关文档
相关文档 最新文档