《程序设计基础实验报告.docx》由会员分享,可在线阅读,更多相关《程序设计基础实验报告.docx(49页珍藏版)》请在课桌文档上搜索。
1、牯1始西华大学实验报告(理工类)开课学院及实验室:汽车学院机房(5D-215)实验时间:2023年3月9日学生姓名昊沉学号108实验成绩课程名称程序设计基础课程代码8426460实验项目名称实验一图像框、滚动条、计时器项目代码指导教师膝艳琼李梅项目学分实验课考勤实验工作表现实验报告1、实验目的1 .掌握标签、命令按钮的常用属性、事件和方法。2 .掌握运用图片框和图像框加载图像的方法。3 .掌握计时器和滚动条的编程方法。2、实验设备、仪器及材料PC机;操作系统:WlNDOWS98/2023/2023/XP;编程工具:VisualBasic6.03、实验内容3.1 上机实验的内容及规定编写动画程序
2、。运营界面如图所示。单击“开始”按钮,图像从左到右不断运动,“开始”按钮变为不可用,同时“停止”变为可用;用滚动条来控制运动的速度。3.2 算法设计思想与算法实现环节1. 界面设计相关属性设立如下:Command1:Caption为开始二Command2:Caption为停止,Enabled为FalseoHScrolIl:Max为1000,1.argeChange为200,SmallChange为20。1.abeIl1.abel2:CaPtiOn分别为“快”和“慢二TimerkEnabIed为FalseoImageiStretch为TrUe,PiCtUre中通过剪贴板粘贴一幅图象。2. 程序代
3、码设计3. 运营/调试程序4. 保存工程3.3 程序核心代码,程序调试过程中出现的问题及解决方法PrivateSubConlnand1.CIiCk()Co11nand2.EnabIed=TrueCo11and1.EnabIed=FalseTimr1.Enabled=TrueEndSubPrivateSubCommand2_CIick()Command1.EnabIed=TrueCommand2.Enabled=FalseTimer1.Enabled=FalseEndSubPrivateSubHScroII1-Change0Timr1.Interval=HScro111.VaIueEndSubP
4、rivateSubTimerIJTimerOImage1.Move(Image1.1.eft+1)EndSub3.4程序运营的结果4、实验总结实验中重要是滚动条和计时器的连动没有弄明白,另一方面是图片没有打开。对思考题,我认为还是要把image的move属性学好,再结合计时器的使用,问题应当可以迎刃而解,但是这个过程中仍然少不了及格控件的连动。4.2实验总结心得体会木实验中,我对滚动条的结识还不是很深,在以后的过程中要还好好运用滚动条,多加强对它的结识和了解。通过本次上机实验,基本上熟悉了Vb的编程环境,熟悉了及格基本控件的使用方法,对控件的一些连动有了一定的结识。了解了一些基本控件的基本属性
5、。在此后的学习和实验过程中要加强对它们的应用和了解。1.J3S_1_西华大学实验报告(理工类)开课学院及实验室:汽车学院机房(5A215)实验时间:2023年3月9日学生姓名吴沉学号108实验成绩课程名称程序设计基础课程代码8426460实验项目名称实验二单选按钮、复逸按钮、组合框项目代码指导教师滕艳琼李梅项目学分实验课考勤实验工作表现实验报告1、实验目的1 .掌握标签、文本框、命令按钮的常用属性、事件和方法。2 .掌握单选按钮和复选框、列表框和组合框的编程方法,特别是单选按钮与框架的配合使用。3 .巩固对滚动条的编程方法。2、实验设备、仪器及材料PC机;操作系统:WlNDOWS98/2023
6、/2023/XP;编程工具:VisualBasic6.03、实验内容3.1 上机实验的内容及规定在文本框中输出一段文字,设立文字的字体、字型、字号和颜色,程序运营界面如图所示。3.2 算法设计思想与算法实现环节1 .界面设计2 .程序代码设计3 .运营/调试程序4 .保存工程3.3程序核心代码,程序调试过程中出现的问题及解决方法PrivateSubCombo1_CIickIfCombo1.1.istindex=0ThenTxt1.ForeCoIor=0IfCombo1.1.istlnde=1ThenText1.ForeCoIor=vbRedIfCombo1.1.istlndex=2ThenTx
7、t1.ForeCoIor=vbYe11owIfCo100ThenPictur1.PrintxEndSubPrivateSubCommand2-CIick0Text2.Text=”y=Val(Text1)IfyMod2=0ThenText2.Text=y&”是偶数”ElseText2.Text=y&”是奇数”EndIfEndSub3.4 程序运营的结果4、实验总结4.1程序运营结果分析及思考题讨论虽然实验的界面和实验规定的界面不同,但运营的结果是同样的。TeXt和inputbox的返回都是字符型的,但是在前面加上VA1.就可以变成数值型了。通过这次实验,我学会了inputbox函数的使用,inp
8、utbox这个函数,有时候使得界面很好看,操作起来也很方便,以后可以多用这个函数实现输入1目西华大学实验报告(理工类)开课学院及实验室:汽车学院机房(5D-215)实验时间:2023年3月16日学生姓名吴沉学号108实验成绩课程名称程序设计基础课程代码8426460实验项目名称实验四程序的多分支结构项目代码指导教师滕艳琼李梅项目学分实验课考勤实验工作表现实验报告3实验目的纯熟掌握多分支程序设计的原理和实现方法。2、实验设备、仪器及材料PC机;操作系统:WIND0WS98/2023/2023/XP;编程工具:VisualBasic6.03、实验内容3.1 上机实验的内容及规定编写程序,计算个人所
9、得税金额。说明:根据个人所得税法规定,个人工资、薪金所得,以每月收入额减除费用1600元后的余额,为应纳所得额。超额累进税率见下表。级数全月应纳税所得额税税率1不超过500元的5%2超过500元至2023元的部分10%3超过2023元至5000元的部分15%4超过5000元至20230元的部分20%5超过20230元至40000元的部分25%6超过40000元至60000元的部分30%7超过60000元至80000元的部分35%8超过80000元至100oOO元的部分40%9超过100000元的部分45%3.2 算法设计思想与算法实现环节1 .界面设计2 .程序代码设计3 .运营/调试程序4
10、.保存工程3.3程序核心代码,程序调试过程中出现的问题及解决方法PrivateSubCommandl_CIick()s=Val(TextI)-1600If(s-100000)0Thent=29625+(s-100000)*0.45Elself(s-80000)0Thent=21625+(s-80000)*0.4Elself(s-60000)0Thent=14625+(s-60000)*0.35Elself(s-40000)0Thent=8625+(s-40000)*0.3Elself(s-20230)0Thent=3625+(s-20230)*0.25Elself(s-5000)0Thent=
11、625+(s-5000)*0.2Elself(s-2023)0Thent=175+(s-2023)*0.15Elself(s-500)0Thent=25+(s-500)*0.1Elselfs0Thent=s*0.05Elset=0EndIfText2=t,Foral4、实验总结4.1 程序运营结果分析及思考题讨论程序运营结果与规定的同样,对于思考题,if的单分支结构一共要写9个!4.2 实验总结心得体会通过本次实验,对程序的多分支结构有了很好的结识!同时实验的同时可以把上次实验的内容好好的更习一下,实现if的行和块的转换!行if和块if是两种不同的运营的方法,在实际运用中我们应根据情况选择更方
12、便的方法。我觉得这个程序尚有改善的地方,就是可以加上一个“退出”按钮。西华大学实验报告(理工类)开课学院及实验室:汽车学院机房(5D-215)实验时间:2023年3月23日学生姓名吴沉学号108实验成绩课程名称程序设计基础课程代码8426460实验项目名称实险五程序的循环结构(系加、连乘)项目代码指导教师膝艳琼李梅项目学分实验课考勤实验工作表现实验报告1、实验目的1 .巩固奇数和偶数的判断算法程序。2 .纯熟掌握循环结构程序设计的原理和实现方法。2、实验设备、仪器及材料PC机;操作系统:WlNDoWS98/2023/2023/XP;编程工具:VisualBasic6.03、实验内容3.1 上机
13、实验的内容及规定1、编写程序,计算100以内偶数的累加和。2、计算任意正整数n的阶乘。3.2 算法设计思想与算法实现环节1、界面设计Form1累加连乘100以内的偶数和2550120阶乘2、程序代码设计3、运营/调试程序4、保存工程3. 3程序核心代码,程序调试过程中出现的问题及解决方法PrivateSubCommandl_CIick()Fori=2To100Step2NextiTxt1=sEndSubPrivateSubCo11vnand2-CIick0t=1n=Val(Text2)Forj=1Tont=t*jNextjText3=tEndSub程序运营的结果和实验规定大约一致。3.4程序运
14、营的结果4、实验总结4.1 程序运营结果分析及思考题讨论当少了S=O这一句时,运营的结果和实验中的同样,那是由于vb系统赋予s的初值就是0.当阶乘的输入整数是大于12时,系统还是可以运营,并且结果也是对的的。如在text2中输入15时,text3中显示OO这个数。还是可以运营的!4.2 实验总结心得体会通过本次实验的进行,对程序的循环结构有了一定的结识,并且对实验过程中的对累加和累乘程序代码有课初步的印象。对累加和累乘中的一个S=O和1=1的赋值必须不可以忘掉,要不然程序运营的结果会大出所料。故对实验的态度又是一个考验!尚有在剪切的时候居然剪成了全屏,看来不能粗心大意。钻1加I西华大学实验报告
15、(理工类)开课学院及实验室:汽车学院机房(5D-215)实验时间:2023年3月23日学生姓名昊沉学号108实验成绩课程名称程序设计基础课程代码8426460实验项目名称实验六程序的循环结构(素数的判断)项目代码指导教师滕艳琼李梅项目学分实验课考勤实验工作表现实验报告1、实验目的1 .巩固分支程序设计的原理和实现方法。2 .巩固双重循环结构程序设计的原理和实现方法。3 .巩固累加的算法。4 .纯熟掌握素数的判断方法。2、实验设备、仪器及材料PC机;操作系统:WINDOWS98/2023/2023/XP;编程工具:VisualBasic6.03、实验内容3.1 上机实验的内容及规定1 .界面设计
16、2 .程序代码设计3 .运营/调试程序4 .保存工程3.2 算法设计思想与算法实现环节第一步:写出查找素数的代码第二步:拟定素数的范围是在1000以内并且是素数中最大的20个可以用一个do.loop循环结构来控制素数的个数第三步:用累加的程序将这20个素数加起来3.3 程序核心代码,程序调试过程中出现的问题及解决方法PrivateSubCommandl_CIick()Dimm%,nti%,t%,k%,x%1.ist1.ClearText1=nForx=1000To1Step-1k=lnt(Sqr(x)Form=2TokIfxModm=0ThenExitForEndIfNextmIfmkThen
17、1.is1.Addltemx:s=s+1Ifs=20ThenExitForNextxFori=0To1.ist1.1.istCount-1t=Val(1.ist1.1.ist(i)n=n+tNextiText1=n3.4 程序运营的结果4、实晚总结4.1 程序运营结果分析及思考题讨论程序运营的结果和实验规定同样。对于找出100O以内的最小的20个素数只需要把for循环的I(X)Oto1step语句换成1to1000就可以找到100O内的20个最小素数。4.2 实验总结心得体会本次实验对素数的查找方法有了一个很好的结识和了解,加强了对for循环的运用。同时对if条件语句的运用有了一个很好的复习!
18、西华大学实验报告(理工类)开课学院及实验室:汽车学院机房(5D-215)实验时间:2023年3月30日学生姓名昊沉学号108实验成绩课程名称程序设计基础课程代码8426460实验项目名称实躲七一维数组的操作项目代码指导教师膝艳琼李梅项目学分实验课考勤实验工作表现实验报告1、实验目的1 .掌握一维数组的定义和引用方法。2 .掌握排序算法等相关算法。3 .巩固用列表框输出数据的方法2、实验设备、仪器及材料PC机;操作系统:WINDoWS98/2023/2023/XP;编程工具:VisualBasic6.03、实验内容3.1 上机实验的内容及规定编写程序,随机产生10个30,90之间的素数,并按从小
19、到大的顺序排序后,输出到列表框中3.2 算法设计思想与算法实现环节1 .界面设计2 .程序代码设计3 .运营/调试程序4 .保存工程3.3程序核心代码,程序调试过程中出现的问题及解决方法PrivateSubCommandl_CIick()1.ist1.ClearRandomizeDoWhileskThen1.ist1.Addltemxs=s+1n=1.ist1.1.istCountFori=0Ton-2Forj=0Ton-2-iIfVal(1.ist1.1.ist(j)Val(1.ist1.1.ist(j+1)Thenm=1.ist1.1.ist(j)1.ist1.1.ist(j)=1.ist
20、1.1.ist(j+1)1.ist1.1.ist(j+1)=mEndIfNextjfiEndIf1.oopEndSub3.4程序运营的结果4、实验总结4.1 程序运营结果分析及思考题讨论程序运营的结果和实验规定的同样。对于将数组显示在文本框里,我认为和在列表框里差不多。只但是用并运用VbCrIf就可实现文本框的多行显示,当然还可设立滚动条。4.2实验总结心得体会通过本次实验,我初步掌握了一维数组的操作,也对前面的内容进行了很好的复习!结14I西华大学实验报告(理工类)开课学院及实验室:汽车学院机房(5D-215)实验时间:2023年3月30日学生姓名昊沉学号108实验成绩课程名称程序设计基础课
21、程代码8426460实验项目名称实验八二维数组的操作项目代码指导教师膝艳琼李梅项目学分实验课考勤实验工作表现实验报告1、实验目的1 .掌握二维数组的定义和引用方法。2 .掌握矩阵的输出和操作方法。3 .掌握主对角线和副对角线上元素的位置特性。2、实验设备、仪器及材料PC机;操作系统:WlNDoWS98/2023/2023/XP;编程工具:VisualBasic6.03、实验内容4 .1上机实验的内容及规定1、单击“开始”按钮,随机产生一个5X5矩阵(每个元素为两位数的正整数),并显示在图片框PiCtUrel中;2、选择“主对角线之和”单选按钮,则将矩阵主对角线(左上元至右下元)元素之和显示在文
22、本框TeXll中;3、选择“副对角线之和”单选按钮。则将矩阵副对角线(右上元至左下元)元素之和显示在文本框TeXtl中。5 .2算法设计思想与算法实现环节1 .界面设计2 .程序代码设计3 .运营/调试程序4 .保存工程3.3程序核心代码,程序调试过程中出现的问题及解决方法PrivateSubCommandl_CIick()Dima(5,5)AsIntegers=0t=0Fori=1To5Forj=1To5Randomizex=Int(Rnd*90)+10a(i,j)=xPicturel.Printx;Ifi=jThens=s+a(i,j)EndIfIfi+j=6Thent=t+a(i,j)E
23、ndIfNextjPicturel.PrintNextiIfOption1.Value=TrueThenText1=sEndIfIfOption2.VaIue=TrueThenText1=tEndIfEndSubPrivateSubOption1_CIick()Text1=sEndSubPrivateSubOption2_CIick()Text1=tEndSub3.4程序运营的结果4.1程序运营结果分析及思考题讨论程序运营的结果和实验的规定基本同样。对于只求周边的几个数的在和,只需在最后的计算和的时候把代码改成如下就可以了Fori=1to5Forj=1to5Ifi=lori=5orj=1orj
24、=5thens=s+a(itj)nextjnexti4.2实验总结心得体会通过这次实验,我对以前的只是有了一个很好的复习,对循环的结构有了更进一步的结识,同时也掌握了新的知识,使我受益匪浅。结i“I西华大学实验报告(理工类)开课学院及实验室:汽车学院机房(5D-215)实验时间:2023年4月6日学生姓名昊沉学号108实验成绩课程名称程序设计基础课程代码8426460实验项目名称实验九SUb子过程项目代码指导教师滕艳琼李梅项目学分实验课考勤实验工作表现实验报告1、实验目的1 .掌握SUb子过程的定义和调用方法。2 .掌握调用过程时参数传递的两种方式(传值与传址)。3 .掌握变量、函数和过程的作
25、用域。4、掌握在数组中找最大(小)值的算法。2、实验设备、仪器及材料PC机;操作系统:WIND0WS98/2023/2023/XP;编程工具:VisualBasic6.03、实验内容3.1 上机实验的内容及规定编写一个SUb过程,其接受一个一维数组,同时返回此数组中的最大数、最小数和平均值。3. 2算法设计思想与算法实现环节1 .界面设计2 .程序代码设计3 .运营/调试程序4 .保存工程3.3程序核心代码,程序调试过程中出现的问题及解决方法PrivateSubCommandl_CIick()RandomizeFori=1To10a(i)=Int(Rnd*90)+101.is1.Addltem
26、a(i)NextiEndSubPrivateSubjs(mmsOAsInteger,maxAsInteger,minAsInteger,sqrAsDoubIe)max=Omin=mms(1)sqr=OFori=1To10Ifmms(i)maxThenmax=mms(i)EndIfIfmms(i)=6Andx=106AndXMOd2=0)ThenMsgBox”输入的数必须是6-106之间的偶数,请重新输入!,VbOKOnIy+VbCriticaIGoTo1.1Elseno=1Picturel.ClsFori=3Tox-1Ifss(i)=1Thenno=no+1ReDimPreservea(no)
27、a(no)=iEndIfNextiFori=1TonoForj=iTonoIfx=a(i)+a(j)ThenPicturetPrinta(i)&+&a(j)&=&xEndIfNextjNextiEndIf1.1:EndSubPrivateFunctionss(ByVaInAsInteger)AsIntegerDimiAsIntegerFori=2Ton-1IfnModi=0ThenExitForNextiIfinThenss=0Elsess=1EndIfEndFunction4、实验总结4.1 程序运营结果分析及思考题讨论程序运营的结果和实验的规定同样。但是过程的实现不是很简朴的事,比较复杂,
28、并且思绪要很清楚,要不然就容易犯错!对于是否可以用SUb子过程实现和本实验相同的效果,我想是可以实现的。由于这个实验中用function函数只调了一个数n,因而用SUb子过程是绝对可以实现的!4.2实验总结心得体会我觉得function函数过程是比较难的,但也很重要。这次实验使我对function函数的使用有了一个最基本的了解!希望将来可以多用这些东西来验证一些定理和猜想!充足发挥计算机的智能西华大学实验报告(理工类)开课学院及实验室:汽车学院机房(5D-215)实验时间:2023年4月13日学生姓名吴沉学号108实验成绩课程名称程序设计基础课程代码8426460实验项目名称实验十一文献项目代
29、码指导教师滕艳琼李梅项目学分实验课考勤实验工作表现实验报告1、实验目的1 .掌握文献以及文献缓冲的概念。2 .掌握顺序文献的打开、关闭以及读写操作。2、实验设备、仪器及材料PC机;操作系统:WIND0WS98/2023/2023/XP;编程工具:VisualBasic6.03、实验内容3.1 上机实验的内容及规定1、单击“产生10个数”按钮,产生10个随机数2、单击“写入文献”按钮,将产生的10个数保存到顺序文献StUdtxt3、单击“读出”按钮,从顺序文献StUd.txt中读出10个数据3.2 算法设计思想与算法实现环节1 .界面设计2 .程序代码设计3 .运营/调试程序4.保存工程3.3程
30、序核心代码,程序调试过程中出现的问题及解决方法Dima(10)AsIntegerPrivateSubCommandl_CIickText1=RandomizeFori=1To10a(i)=Int(Rnd*100)Text1=Text1&a(i)NextiEndSubPrivateSubCo(nnand2_CIick0OpenApp.Path+11stud.txt11ForOutputAs#1Print#1,Text1Close#1EndSubPrivateSubCommand3_CIick0Text2=OpenApp.Path+nstud.txtForInputAs#2Fori=1To10In
31、put#2,a(i)Text2=Text2&a(i)NextiClose#2EndSub3.4程序运营的结果4、实验总结4.1 程序运营结果分析及思考题讨论尽管文本框中的数据不同,但运营的结果和实验规定的同样。对于看文献中的数据,我认为只要会使用文献的读写操作就可以了,还是同样的要用open和CIoSe语句。4.2 实验总结心得体会通过这次实验,对顺序文献的一般操作有了很好的结识!也对文献的操作有了一定的环节,下次碰到同样的题应当会做咯。西华大学实验报告(理工类)学生姓名吴沉学号108实验成绩课程名称程序设计基础课程代码84264602023年4月13日开课学院及实验室:汽车学院机房(5D-2
32、15)实验时间:实验项目名称实峻十二综合实腌项目代码指导教师滕艳琼李梅项目学分实验课考勤实验工作表现实验报告1、实验目的1、了解ASCII码的概念和意义。2、掌握循环语句的使用。3、熟悉VB编程的基本环节:界面设计、属性设立、编写代码、运营、调试、保存文献。4、掌握常用控件的创建方法以及如何用控件建立用户界面.5、掌握mid函数的用法。6、掌握各种类型文献的打开、关闭以及读写操作。7、熟悉文本框各属性的意义。2、实验设备、仪器及材料PC机;操作系统:WIND0WS98/2023/2023/XP;编程工具:VisualBasic6.03、实验内容3.1 上机实验的内容及规定建立个窗体如图所示,程
33、序功能规定如下:ForalThisisaVisualBasicProgram!PleasetoaddfueltotheProgram!I1.ovethisGame!原文Iijt!jt!b!Wjtvbm!CbtjdiQsphsbnnQmfbtf!up!bee!gvfm!p!uif!Qsphsbn,J!mpwf!uijt!Hbf保存1、单击“原文”按钮,从磁盘文献test22IN.txt读入数据,并显示在文本框IeStl中。2、单击“加密”按钮,对原文内容进行加密,并显示在文本框Test2中。(加密算法:用Mid函数取出要加密的字符串中的一个字符,求出它的ASCIl码,把这个ASCIl码加1.再M
34、Od255,然后用Mid语句把这个字符写回本来的位置)。3、单击“保存”按钮,把加密后的文本保存到磁盘文献testOUT.txt中。4、两个文本框均允许多行文本。3.2 算法设计思想与算法实现环节1、界面设计2、程序代码设计3、运营/调试程序4、保存工程3.3程序核心代码,程序调试过程中出现的问题及解决方法PrivateSubCommandl_CIick()Opend:test22IN.TXTnForInputAs#1Input#1,xText1.Text=xClose#1EndSubPrivateSubCommand2_CIickx=Text1.Textn=1.en(x)Fori=1Tony
35、=(Asc(Mid(xfi,1)+1)Mod265Mid(x,if1)=Chr(y)NextiText2=xEndSubPrivatSubCommand3-CIick0Opennd:tst22OUT.txtnForOutputAs#1Write#1,Text2.TextClose#1EndSub3.4程序运营的结果4、实验总结4.1 程序运营结果分析及思考题讨论程序运营的结果和实验规定的同样,只但是是文献中的内容也许不同样!对于思考题,只要是form-load卜写COmmand3.enabled=false在COmmand2-click下写Command3.enabled=lrueCommand2.enabled=false在command3-click下写command2.enabled=true和command3.enabled=false就可以实现了!4.2 实验总结心得体会一方面我觉得这个加