公文素材库 首页

小学期实践报告和总结

时间:2019-05-29 13:37:43 网站:公文素材库

小学期实践报告和总结

小学期实践报告和总结

实践报告:

经过了两周左右的时间,小学期结束了,在小学期中我和我的队友共同完成了一个超市账务管理系统。

在这个过程中我们不断进行沟通,互相交流意见,我们也与其他同样选择这个项目的同学交流想法,最终确定我们的思路。由于我的队友需要准备补考,于是我承担了主要的程序编制工作。下面我来简单介绍一下我们的程序设计思路:

我们的程序主要分为两大部分:1、顾客界面2、商店管理员界面。在顾客界面中我们有六个选项。其中一个是返回上一单元选项,另外的五个选项分别代表着五种不同的功能。

选项一(1.Goshoppingandprinttheshoppinglist)启动我们模拟顾客购物并打印出小票的功能。进入后先会让顾客输入自己的顾客账号,这个账号是我们用来统计顾客所有购买信息的。账号必须先注册(选项五中)。之后需要输入购物小票编号。我们以小票编号创立一个文件,这个文件会在退货时被读出,以确定顾客确实在这里购物,并且可以查询购物记录。之后输入购物日期、商品编号、商品名称和要购买的数量。

选项二(2.Checkthegoodsinformation)可以将专门给顾客查阅的商品信息打印出来。选型三(3.Checktheshoppinghistory)中顾客可以查询自己所有的购物记录(顾客必须有顾客账号)。

选项四(4.Returngoods)是退货选项。顾客在这个选项中退货时首先要输入当时购物的小票编号,之后程序会以”r”方式打开一个以小票编号命名的txt文件。如果能够打开文件,说明顾客的确在此购物,我们让顾客输入想要退货的商品编号和想要退回的商品数量。退货过程中程序会进行营业额和库存的增减计算。如果打开文件失败,证明这位顾客并没有在此购物,不能接受退货。

选项五(5.Applyforaccount)是顾客申请顾客账号的选项。顾客申请顾客账号的过程中程序在后台为顾客建立了一个以顾客账号为文件名的txt文件。这个文件用来记录顾客的所有购物记录。选项六(6.Returnback)是返回上一个界面的选项。

所有的六个选项被包含在一个while循环中,整个while循环又被包含在一个if语句中。下面介绍一下管理员界面。

选择管理员界面后首先程序会先让管理员输入其ID,之后会让管理员输入密码(初始密码为TurboC),ID或密码输入不正确会让其从新输入,直到输入正确为止。输入ID和密码后程序会提供5个选项,其中一个是返回上一界面选项,其他四个选项代表了管理员可以执行的四个不同功能。

选项一(1.Checktheturnoverandsortthesales.)是查询营业额以及把商品按营业额和销售数量从高到低顺序排列的选项。排序过程使用了经典的冒泡法。如果有顾客进行了购物或是退货,营业额和销售数量会改变,其排序也会改变。

选项二(2.Checkthegoodswhichneedpurchase.)是查询商品哪些需要进货。我们为每一件商品都设置了一个最小库存值(这个值储存在名为storeroom的txt文件中,程序运行时会从这个文件中读取出其最小库存值)。当商品库存小于其最小库存值时,程序就会将需要进货的商品打印到屏幕上。

选项三(Checktheprofit.)是查询所有商品的利润。并且可以把利润最高和最低的商品计算并打印出来。

选项四(4.Changethepassword.)是管理员更改密码的功能。我们为密码专门创建了一个名为fpassword的txt文件,用于储存密码,更改的密码会储存在这个文件中。

选项五(6.Returnback)是退回上一界面的选项。

五个选项同样被包含在一个while循环中,整个while循环又被包含在一个if语句中。本次实习总结:

这个程序编写的还不够完整,最突出的一点是容错处理能力比较差,我们原计划容错处理最后进行编制,但由于后期时间紧张,没能来的及进行容错处理的编制。并且,我们没有对以批发价进行购买的过程进行编制,只是在商品信息中打出了批发价。另外,在顾客退货之后我们没有对顾客所有的购物记录进行改动。并且我们计划编写多用户的方式,但是由于技术和时间上的问题,我们没能编写出完善的多用户程序。

总之,这个程序还有很多的不足之处,这也体现出我们的编程能力上的不足。我们会在今后的学习中努力提高、加强。

本次C语言实习是我第一次去编写一个实用的程序,与每次的C语言练习有很大的不同:

首先,我所要编写的程序是一个完整的系统,一个可以正常地进入、运行、退出的系统。我们要考虑很多方面的问题,如每次用户需要输入数据的时候,我们要考虑所有用户可能输入的数据,做好容错处理功能,能让用户在输入错误的情况下从新输入。再比如,这个超市账务管理系统分为两部分,顾客界面和管理员界面。这两部分联系时非常紧密的。当顾客进行了购物或是退货后商品的销售额和销售数量和库存都会有变化,这个变化要在管理员查询销售额、销售数量和库存时体现出来。我们考虑的越周到,这个程序就越完整。其次我用自己掌握的C语言知识来解决很多实际的问题。比如密码管理功能。以前我并没有进行过有关密码的编程。这是第一次遇到这样的问题,而这种问题在实际生活是非常常见的。再认真考虑之后,我最终选择了用读写文件的办法来解决这个问题。在这次C语言的实习中我学到了很多东西。

我学到了很多以前没有接触过的编写方法,学会了使用一些新的函数。更重要的是我学会了利用各种资源去解决问题。当我遇到解决不了的问题时,我不再是死看教材或是不断求助老师,我会去图书馆查阅其他的有关书籍,或是上网搜索解决办法,或是请教其他学院的学习计算机、软件的同学。我认为这是我学会的最重要的能力。另外我还学到了一些团队合作的方法。一开始我和我的队友是共同进行编写,进度比较慢。而当他因为要准备补考而将编写任务完全交给我之后我发现我们的进度加快了很多。等他回来之后我们选择了共同讨论思路,共同改错,但编写工作完全由我进行的方法。这样使我们的效率比以前提高了很多。所以在团队工作中一定要分工明确,才能提高效率。

在这次C语言的实习中我也看到了很多自己的不足。认识到了如果要去编写一个实用的、完整的、系统化的程序,自己所掌握的编程知识是远远不够的。自己的C语言基础还不够扎实,还有很多编程方法、技巧我不会运用,还有很多函数我不了解,不熟悉。所以今后我要继续加强自己的C语言编程能力,同时我要开始去接触其他的编程方式如JAVA。

扩展阅读:小学期计算机实习总结报告

小学期计算机实习总结报告

第一题、算术运算测试程序

题目要求:

制作一个可供小学数学运算的程序。

0100整数加减乘除四则运算,如结果为小数四舍五入保留小数点后两位。根据输入题数出题,题目应为随机,每次应不一样。如:题目数=377-55=33*3=100/3=

判断是否正确,如不正确给出正确答案,并计算分数,分数为正确题目的百分比(四舍五入取整数)。如:77-55=22对33*3=99对

100/3=33错结果应为33.33分数为:67分

设计思路:

本题我选用VB来设计,

首先是0100整数加减乘除四则运算,故需要用到取随机数函数Rnd()以及SelectCase语句。

其次小数四舍五入保留小数点后两位,这主要出现在除法运算中,需要用到format();算分数时要四舍五入取整,需要用到CInt()再次判断结果对错主要用到ifelse语句

大体思路确定后再根据题目要求确定需要使用的控件的种类和数量,其次以每种控件为单位将整个程序分成几块,先编写每小块的代码即每个控件的功能代码。本题需要使用的控件为commandbutton(用于判断对错、得出分数、清空答题板和退出)、textbbox(用于输入结果)、label(用于显示所出题目)、optionbutton、(用于选择所要进行测试的题型)、picturebox(用于显示答题情况及最终分数)分块一:

PrivateSubOption1_Click()Command1.Caption="确认"Command1.Enabled=TrueText1.FontSize=18Randomize

shu1=Int(Rnd*100+1)//取0到100的随机整数shu2=Int(Rnd*100+1)//取0到100的随机整数

jieguo=shu1+shu2

Label1.Caption=shu1&"+"&shu2&"="Label1.FontSize=18

EndSub//此过程执行加法运算与此相同可写出减法运算、乘法运算和除法运算的代码,但在写除法运算代码是需注意除数不能取0,即shu2=Int(100*Rnd+1),表示取1到100的随机数,而且结果小数超过两位的要四舍五入保留两位,即jieguo=Format(shu1/shu2,"0.00")。分块二:

PrivateSubOption5_Click()Command1.Caption="确认"Command1.Enabled=True

DimsuijishuAsInteger,fuhaoAsString*1//定义suijishu为整型数据,fuhao为长度为1的字符串Text1.FontSize=18Randomize

shu1=Int(Rnd*100+1)shu2=Int(Rnd*100+1)

suijishu=Int(Rnd*4+1)//取1到4的随机整数SelectCasesuijishu//随机选取加减乘除运算Case1

fuhao="+"

jieguo=shu1+shu2Case2

fuhao="-"

jieguo=shu1-shu2Case3

fuhao="*"

jieguo=shu1*shu2Case4

fuhao="/"

Ifshu20Then//判断除数是否为0

jieguo=Format(shu1/shu2,"0.00")//结果形式EndIfEndSelect

Label1.Caption=shu1&fuhao&shu2&"="//显示所出题目Label1.FontSize=18EndSub

此过程主要是混合运算的代码,使用了selectcase语句

分块三:

PrivateSubCommand1_Click()Option1.Value=FalseOption2.Value=FalseOption3.Value=FalseOption4.Value=FalseOption5.Value=False

IfCommand1.Caption="确认"Then//判断做题者所填结果与正确结果是否相同

IfVal(Text1.Text)=jieguoThenPicture1.PrintLabel1.Caption;Text1;"√太棒了!"dui=dui+1Else

Text1.Text=""Text1.SetFocusPicture1.PrintLabel1.Caption;Text1;"(正确答案";jieguo;")";"×好好再想想!"

cuo=cuo+1EndIfEndIf

Text1.Text=""EndSub

此命令按钮的功能是在做完题后检验结果对错,判断对错使用ifelse语句,用Val()函数取出text文本框中的数与正确结果进行比较进而判断对错。判断的结果用属性picture.print在picturebox中显示出来,其间也统计处了正确和错误的题数,为计算分数做准备。

分块四:

PrivateSubCommand2_Click()

Picture1.Print"★★★★★★★给你算算多少分★★★★★★★"Picture1.Print"你一共做了";(dui+cuo);"道题"Ifdui+cuo0Then

Picture1.Print"你得了";CInt(dui/(dui+cuo)*100);"分"EndIfEndSub

计算分数,取整使用到CInt()函数至此本程序的主体部分已完成,剩下的退出按钮和清空答题框按钮的代码都很容易写出,然后再找出所用的全局变量在程序开始对其定义,最后加一个工程运行过程即完成了代码的初步编写。在VB上通过编译不断进行调试,最终得到正确的代码。

本题的代码:

DimjieguoAsSingle,shu1AsInteger,shu2AsInteger,duiAsInteger,cuoAsInteger

PrivateSubCommand1_Click()Option1.Value=FalseOption2.Value=FalseOption3.Value=FalseOption4.Value=FalseOption5.Value=False

IfCommand1.Caption="确认"ThenIfVal(Text1.Text)=jieguoThenPicture1.PrintLabel1.Caption;Text1;"√太棒了!"dui=dui+1Else

Text1.Text=""Text1.SetFocusPicture1.PrintLabel1.Caption;Text1;"(正确答案";jieguo;")";"×好好再想想!"

cuo=cuo+1EndIfEndIf

Text1.Text=""EndSub

PrivateSubCommand2_Click()

Picture1.Print"★★★★★★★给你算算多少分★★★★★★★"Picture1.Print"你一共做了";(dui+cuo);"道题"Ifdui+cuo0Then

Picture1.Print"你得了";CInt(dui/(dui+cuo)*100);"分"EndIfEndSub

PrivateSubForm_Load()

Option1.Value=FalseOption2.Value=FalseOption3.Value=FalseOption4.Value=FalseOption5.Value=FalseEndSub

PrivateSubCommand3_Click()End

EndSub

PrivateSubcommand4_click()Picture1.ClsEndSub

PrivateSubOption1_Click()Command1.Caption="确认"Command1.Enabled=TrueText1.FontSize=18Randomize

shu1=Int(Rnd*100+1)shu2=Int(Rnd*100+1)jieguo=shu1+shuLabel1.Caption=shu1&"+"&shu2&"="Label1.FontSize=18EndSub

PrivateSubOption2_Click()Command1.Caption="确认"Command1.Enabled=TrueDimtAsIntegerText1.FontSize=18Randomize

shu1=Int(Rnd*100+1)shu2=Int(Rnd*100+1)jieguo=shu1-shu2

Label1.Caption=shu1&"-"&shu2&"="Label1.FontSize=18EndSub

PrivateSubOption3_Click()Command1.Caption="确认"Command1.Enabled=TrueText1.FontSize=18Randomize

shu1=Int(Rnd*100+1)shu2=Int(Rnd*100+1)jieguo=shu1*shu2

Label1.Caption=shu1&"×"&shu2&"="Label1.FontSize=18EndSub

PrivateSubOption4_Click()Command1.Caption="确认"Command1.Enabled=TrueText1.FontSize=18Randomize

shu1=Int(Rnd*100+1)shu2=Int(100*Rnd+1)

jieguo=Format(shu1/shu2,"0.00")Label1.Caption=shu1&"÷"&shu2&"="Label1.FontSize=18EndSub

PrivateSubOption5_Click()Command1.Caption="确认"Command1.Enabled=True

DimsuijishuAsInteger,fuhaoAsString*1Text1.FontSize=18Randomizeshu1=Int(Rnd*100+1)shu2=Int(Rnd*100+1)suijishu=Int(Rnd*4+1)SelectCasesuijishuCase1

fuhao="+"

jieguo=shu1+shu2Case2

fuhao="-"

jieguo=shu1-shu2Case3

fuhao="*"

jieguo=shu1*shu2Case4

fuhao="/"

Ifshu20Then

jieguo=Format(shu1/shu2,"0.00")EndIfEndSelect

Label1.Caption=shu1&fuhao&shu2&"="Label1.FontSize=18EndSub

最终得到的出的出题器:

优缺点评估:

最后得到的出题器软件最大的优点是测试前可以选择题型,最大缺点是一次只能出一道题而且不能进行混合运算。

从实用的角度来说这个出题器还是比较适合小学生使用的,“选择题型”这一点可以使他们能够根据自己的薄弱环节有针对性地进行强化训练,至于一次能够出几道题对测试结果的影响不是很大,尽管该题的要求是能够在做题前确定测试题数。

软件还有一个缺点:显示答题情况的picturebox由于没有scrollbars属性,使得显示范围只能局限在最初picturebox的大小范围,针对这一点我添加了一个清空答题板按钮,每当picturebox填满时将其清空,这样只是稍微解决了问题,因为清空后就不能看到之前的答题情况。

第二题、倒计时器

题目要求:

制作一个倒计时器,输入倒计时时间后,显示剩余时间,时间到后有提示音和提示画面

给分原则:显示剩余时间5分到时提示5分

其它(界面美观,操作便捷,程序无bug,功能有创意)

设计思路:

首先是倒计时需要用到Timer控件,然后输入倒计时时间可以用inputbox,显示剩余时间用label,提示音可以用Windowsmediaplayer控件,提示画面可以再增加一个form2,将其界面当成提示画面,当时间到时form1隐藏,form2显现。根据这个思路需要的空间有:commandbutton(用于设置时间、启动时间、关闭铃声和退出)、label(用于显示剩余时间)、Timer(用于倒计时)、Windowsmediaplayer(用于播放铃声)

本题代码:

DimTsAsInteger,TmAsInteger,ThAsInteger

DimStartTAsBoolean//定义一个布尔型数据StartT对应倒计时器的启动与关闭

PrivateSubCommand1_Click()Command1.BackColor=vbBlueIfStartT=FalseThen

Command1.Caption="暂停时间"Command3.Caption="退出"Else

Command1.Caption="启动时间"Command3.Caption="重新设定"EndIfStartT=NotStartTTimer1.Interval=1000Timer1.Enabled=TrueEndSub

PrivateSubCommand2_Click()Command2.BackColor=vbBlueTh=Val(InputBox("输入小时"))Tm=Val(InputBox("输入分钟"))

Ts=Val(InputBox("输入秒"))//输入倒计时时间EndSub

PrivateSubForm1_Load()

Command1.Caption="启动时间"Command2.Caption="设置时间"Command3.Caption="退出"EndSub

PrivateSubcommand3_click()Command3.BackColor=vbBlue

IfCommand3.Caption="重新设定"ThenForm1_LoadTh=0Tm=0Ts=0

ElseIfCommand3.Caption="退出"ThenEndEndIfEndSub

PrivateSubtimer1_timer()Th=Format(Th,"00")Tm=Format(Tm,"00")Ts=Format(Ts,"00")

Label1.Caption=Th&":"&Tm&":"&TsIfStartT=TrueThenIfTs>0ThenTs=Ts-1EndIf

IfTs=0AndTm>0ThenTm=Tm-1Ts=59EndIf

IfTm=0AndTs=0AndTh>0ThenTh=Th-1Tm=59Ts=EndIf

IfTh<0ThenTh=0EndIf

IfTm<0ThenTm=0EndIf

IfTh=0AndTm=0AndTs=0ThenStartT=FalseForm1.Hide

Form2.Show//倒计时结束时弹出工程2的框图作为提示画面

WindowsMediaPlayer1.URL=App.Path&"\\music\\raining.mp3"//播放提示音乐EndIfEndIfEndSub

PrivateSubcommand4_click()Command4.BackColor=vbBlue

WindowsMediaPlayer1.Close//关闭提示音乐Command1.Caption="启动时间"EndSub

最终得到的倒计时器界面及提示画面:

软件的优缺点评估:

倒计时器的各种功能比较齐全,倒计时结束时弹出的提示画面及提示铃声能很好地起到提示作用,另外各个按钮都有双重功能,减少了使用控件的数量,不仅使程序代码更简洁而且也使倒计时器使用操作起来更方便。倒计时器在很多方面还有待完善。首先是界面不够美观,如果对倒计时界面形状进行一些修改比如改成时钟的形状会更好一些;其次是提示铃声及画面不能由使用者自己设定;还有一点就是在倒计时结束时没有自动关闭的功能,即到时间后长时间没有人对其进行操作倒计时器会自动关闭。

第三题:

题目要求:

动画:以每位同学自己为原型设计一组功夫动画(20分)时间不少于20秒,动作不重复

给分原则:突出人物形象特点,能明确看出为作者本人(4分)美工精美(4分)

动作流畅不重复(4分)与动作相符的配音(4分)其它(4分)

设计思路:

主要利用flash软件来设计动画

首先我选择了《中国功夫》这首歌曲作为背景音乐,然后以这首歌曲的歌词内容为主题来设计动画。然后就拍了几张自己功夫动作的照片,并用PS对其进行简单的加工,在做动画时配上合适的背景,插上相应的解说文字。最后对各个片段进行剪接最终完成了动画的制作。

动画基本符合题目要求,主题突出,动画主角是作者本人,背景音乐与动画也很搭配。但是也存在很多不足之处,首先是动画中几乎没有连贯的武打动作,其次就是背景的选择不是很搭配,如果能对背景图片进行一下PS处理,效果可能会更好。另外动画的内容也不是很吸引人,即设计思想欠佳。

第四题:

题目要求:

矩阵计算器(20分)

可输入矩阵,并最大可进行10*10矩阵运算给分原则:矩阵加法5分矩阵乘法5分求转置矩阵5分求矩阵的秩5分

设计思路:

首先是定义一个矩阵,这可以通过定义一个二维数组来设定,具体代码如下:

ReDima(1Tom,1Ton)AsLong

Fori=1Tom

Forj=1Ton矩阵输入可以用inputbox(),显示矩阵可以用picture.print然后就是要在矩阵进行运算之前判定矩阵是否为空,要用到if语句,判断矩阵是否为空的代码如下,Ifm=0Orn=0Orp=0Orq=0ThenMsgBox"请先输入矩阵",vbOKOnly,"提示"

ElseIfmpOrnqThen

MsgBox"请输入行数和列数相同的矩阵才可相加",vbOKOnly,"提示"

接着就是矩阵的各种运算,根据题目要求需要四个command功能按钮,点击command1为矩阵的加法运算,实现这一运算需要再定义一个二维数组c(i,j)作为最后的求和结果,求和即c(i,j)=a(i,j)+b(i,j),然后用picture.print显示出来。进行乘法运算时,需要重新定义二维数组c(i,j),即Redimc(i,j).乘法运算的代码为:ReDimc(1Tom,1Toq)AsLong

Fori=1Tom

Forj=1ToqFork=1Ton

c(i,j)=a(i,k)*b(k,j)+c(i,j)矩阵转置比较简单,即列变行,行变列。代码如下:ReDimc(1Ton,1Tom)AsLongFori=1TonForj=1Tomc(i,j)=a(j,i)

本题的完整代码为:

Dima(),b(),c()AsLongDimi,j,k,m,n,p,qAsLongPrivateSubCommand1_Click()

m=Val(InputBox("请输入A矩阵行数","提示"))n=Val(InputBox("请输入A矩阵列数","提示"))Picture1.ClsPicture3.Cls

Ifm0Andn0Then

ReDima(1Tom,1Ton)AsLongFori=1TomForj=1Ton

a(i,j)=Val(InputBox("请输入矩阵a("&i&","&j&")数值","提示"))

Picture1.Printa(i,j);Nextj

Picture1.PrintNexti

Else:ExitSubEndIfEndSub

PrivateSubCommand2_Click()p=Val(InputBox("请输入B矩阵行数","提示"))q=Val(InputBox("请输入B矩阵列数","提示"))Picture2.ClsPicture3.Cls

Ifp0Andq0Then

ReDimb(1Top,1Toq)AsLongFori=1TopForj=1Toq

b(i,j)=Val(InputBox("请输入矩阵b("&i&","&j&")数值","提示"))

Picture2.Printb(i,j);Nextj

Picture2.PrintNexti

Else:ExitSubEndIfEndSub

PrivateSubCommand3_Click()Picture3.Cls

Ifm=0Orn=0Orp=0Orq=0ThenMsgBox"请先输入矩阵",vbOKOnly,"提示"ElseIfmpOrnqThen

MsgBox"请输入行数和列数相同的矩阵才可相加",vbOKOnly,"提示"ElseIfm=pAndn=qThenLabel1.Caption="+"

ReDimc(1Tom,1Ton)AsLongFori=1TomForj=1Ton

c(i,j)=a(i,j)+b(i,j)Picture3.Printc(i,j);Nextj

Picture3.PrintNextiEndIfEndSub

PrivateSubCommand4_Click()Picture3.Cls

Ifm=0Orn=0Orp=0Orq=0ThenMsgBox"请先输入矩阵",vbOKOnly,"提示"ElseIfnpThen

MsgBox"请输入A矩阵列数和B矩阵行数相等的矩阵再做乘积",vbOKOnly,"提示"

ElseIfn=pThenLabel1.Caption="x"ReDimc(1Tom,1Toq)AsLongFori=1TomForj=1ToqFork=1Ton

c(i,j)=a(i,k)*b(k,j)+c(i,j)Nextk

Picture3.Printc(i,j);Nextj

Picture3.PrintNextiEndIfEndSub

PrivateSubCommand5_Click()Ifm=0Orn=0Then

MsgBox"请先输入矩阵",vbOKOnly,"Else

ReDimc(1Ton,1Tom)AsLongFori=1TonForj=1Tom

c(i,j)=a(j,i)

Picture3.Printd(i,j);

Nextj

Picture3.PrintNextiEndIfEndSub

PrivateSubCommand6_Click()m=0n=0p=0q=0

Picture1.ClsPicture2.ClsPicture3.Cls

Label1.Caption=""EndSub

PrivateSubCommand7_Click()m=0n=0

Picture1.ClsEndSub

提示"PrivateSubCommand8_Click()p=0q=0

Picture2.ClsEndSub

PrivateSubForm1_Load()EndSub

PrivateSubcommand9_click()End

EndSub

PrivateSubCommand10_Click()DimrmarkAsLongDimd()AsLongPicture3.ClsIfm=0Then

MsgBox"请先输入矩阵",vbOKOnly,"提示"GoTolab:EndIf

ReDimd(1Tom,1Tom)AsLongFori=1TomForj=1TomFork=1Ton

d(i,j)=a(i,k)*a(j,k)+d(i,j)NextkNextjNexti

Dimtemp_nAsLongDimresultAsDoubleDimMatrix()AsLongtemp_n=m

Dimtemp_mAsLong

Fortemp_n=1Tom

temp_m=m-temp_n+1

ReDimMatrix(1Tom,1Tom)AsLongFori=1TomForj=1Tom

Matrix(i,j)=d(i,j)NextjNexti

result=calcMatrix(Matrix(),temp_m)Ifresult0ThenExitForEndIfNexttemp_n

Picture3.Printm-temp_n+1lab:EndSub

FunctioncalcMatrix(g()AsLong,kAsLong)AsDoubleDime,fAsIntegerDimtempAsDouble

Dimi,j,x,yAsIntegerDimtemp1()AsDoubleDimtemp2()AsDouble

ReDimtemp1(1Tok,1Tok)Fori=1TokForj=1Tok

temp1(i,j)=g(i,j)NextjNextif=k

Fore=1Tof

ReDimg(1Tof,1Tof)Fori=1TofForj=1Tof

g(i,j)=temp1(i,j)NextjNextik=f

Ifk>=2Then

ReDimtemp2(1Tok-1,1Tok-1)Forx=1Tok-1

Fory=1Tok-1Ify

temp2(x,y)=g(x+1,y)Else

temp2(x,y)=g(x+1,y+1)EndIfNextyNextx

k=k-1

ReDimg(1Tok,1Tok)Forx=1TokFory=1Tok

g(x,y)=temp2(x,y)NextyNextxtemp=(-1)^(1+e)*temp1(1,e)*calcMatrix(g(),k)calcMatrix=calcMatrix+tempElseIfk=1ThencalcMatrix=g(1,1)

EndIfNexte

EndFunction

软件的优缺点评估:

设计出的矩阵计算器具备了题目所要求的各种功能,使用起来操作简便,其中各个窗口设置的清零按钮可以在输入出错时及时纠正以及某一矩阵重复使用时可以只改另一矩阵而不必两个矩阵都重新输入。

软件缺点是能够进行的矩阵运算的阶数有限,输入矩阵利用的是inputbox,这样不是很方便,如果能在显示框中直接输入会更好一些。另外显示矩阵的框图使用的是picturebox控件,这样由于picturebox没有scrollbar属性使得显示范围只能有最初picturebox框图的范围而定。

本次小学期计算机实习的整体总结:

回首这三周紧张而又忙碌的小学期实习,我感触颇深,总结起来主要有以下几点收获。

通过这几题的认真钻研,我基本上学会了用VB编写一些简单的程序,并打包生成相应的软件。在得到小学期实习任务后,我首先选定VB作为自己的编程工具。由于之前从未用过VB,完全是零基础的,所以我不得不先花些时间去熟悉一下VB,这主要是通过阅读参考书上的基础知识以及相关例题来完成的。然后我就进入这次实习的主要部分编写程序,在这个过程中我根据需要用到的控件类型将程序分成几块进行编写,对每一块中需要用到的函数我主要是通过百度外加参考书来了解其用法,在这个过程中我也进一步掌握了一些VB的基础知识和编程思想。在初步编写好程序后,调试也是一个比较麻烦的环节,在这个过程中经常会遇到一些自己无从下手的问题,比如倒计时器在生成exe文件后的音乐路径问题,起初不熟悉Windowsmediaplayer控件的使用,以为这个地方应该改用其它的控件,但经过几天的调试与查询,我发现用相对路径app.path可以解决这一问题。程序调试好后就是软件界面的修饰,这一点需要了解各控件的属性,也是通过查询相关资料解决了这一问题。

整个设计过程其实就是不断发现问题然后查询资料解决问题的过程,在这个过程中,相关专业知识的积累是很重要的一点收获,除此之外就是个人品质能力方面的收获。

独立解决问题的能力在刚得到实习任务后,由于自己在大一时就没有学好C语言,无形中把这次实习任务的困难想的很大很大,不假思索地就准备寻求编程高手的帮助,好在自己尝试后稍有收获使得自己的兴趣得到了极大的激发,进而独立进行到底。现在回过头来想想,我很庆幸自己当时没有找“枪手”,尽管自己的软件跟那些有“枪手”相助的同学的相比显得极为“简陋”,但这毕竟是自己独立完成的,在这一过程中自己独立解决问题的能力得到了极大的提高,这也正是此次实习的真正目的。查询(搜集)资料的能力在程序的编写过程中涉及到了大量的资料查询与搜集,由于完成任务的时间有限,因此必须有正对性地进行资料的查询与搜集,如何做到有针对性就要看自己的相关能力,这一能力在当今知识爆炸的信息社会显得尤为重要。经过此次小学期实习,自己查询资料的能力得到了很大的提高,重要的一点体现就是根据所使用控件的类型将程序进行分块编写,分块之后自己查询资料的针对性大大提高,节省了相当一些时间。

与他人讨论分析的能力这一点主要体现在flash动画的著作过程中,由于flash软件对大家来说都很陌生,使用起来问题不断,而这些问题的解决主要都是通过与室友的讨论来解决的。

以上就是此次小学期计算机实习的几点收获,最后要感谢老师在验收时的耐心指点,正是老师的指点才使自己对自己的完成情况有一个客观的评估,进而去完善其间的不足。

暑期计算机实习总结报告

学院:电子工程班级:姓名:徐浩然学号:日期:

201*21120408210999201*.7.21

友情提示:本文中关于《小学期实践报告和总结》给出的范例仅供您参考拓展思维使用,小学期实践报告和总结:该篇文章建议您自主创作。

  来源:网络整理 免责声明:本文仅限学习分享,如产生版权问题,请联系我们及时删除。


小学期实践报告和总结
由互联网用户整理提供,转载分享请保留原作者信息,谢谢!
http://m.bsmz.net/gongwen/704662.html
相关阅读
最近更新
推荐专题