实验7 过程和函数
《程序设计基础—VB程序实验》
《程序设计基础—VB程序实验》说明:实验1和实验2均为电子实验报告,后面8个实验是纸制实验报告。
实验1 计算机基本操作实验目的⑴熟悉计算机,能够正确进行开、关机操作。
⑵熟悉键盘,掌握键盘上所有字符的输入,掌握正确的指法,能够进行中、英文切换。
⑶理解操作系统概念,掌握Windows XP的基本操作,能够利用“控制面板”进行一些参数的设置。
⑷知道“回收站”的功能,学会有关文件、文件夹的基本操作。
⑸学会在计算机上搜索或查找相关的文件或文件夹,掌握通配符的使用。
实验内容⑴熟悉上机实验的计算机,熟悉键盘,学会中、英文输入方式的转换。
⑵学会用正确的指法进行输入,知道键盘上所有字符的输入。
⑶利用“控制面板”修改系统时间、桌面背景、鼠标属性。
⑷在桌面上新建一个文件夹,该文件夹以学生自己的名字+班级+学号的后3位命名。
⑸用文本方式或Word文档,写一段字数不少于300字的自我介绍,以1.doc命名并保存到上述文件夹中。
⑹将上述文件夹复制到ftp://10.10.9.222上。
实验2 常用软件的基本操作实验目的⑴了解Word功能,掌握Word的基本操作,包括页眉/页脚的设置、分栏、页面设置、添加底纹等。
⑵学会文件的保存与打开、打印预览、段落的间隔、首字符位置改变等,能够在Word中插入图片、表格、艺术字、特殊符号等。
⑶了解Excel的功能,掌握Excel的基本操作,包括单元格属性的设置、数字的几种填充形式、单元格的合并与恢复、边框的设置等。
⑷掌握Excel的基本公式的使用,能够用公式进行基本计算。
掌握Excel中的图形制作方法,能够根据表格做出图形。
实验内容⑴将ftp上自己文件夹中的1.doc文件复制到桌面上,然后做如下处理:①将标题“自我介绍”居中;②将文章中第二段的内容进行分栏,要求中间有分割线;③插入一个4行4列的表格,内容为学号、姓名、某门课的成绩;④任意插入一张图片;⑤在文章中的任意位置加底纹。
将做好的文档以2.doc命名并保存。
C++程序设计实验-1-7
C++程序设计实验实验报告要求红色为实验报告必包括内容502:ftp://192.168.200.210实验一熟悉vc++开发环境和C++程序的调试过程。
一、理解体会例1-1,输入并运行。
二、参照例1-2,用结构化方法编程实现:1、根据每学年学费、专业总学分、某课程学分,计算上该课程的总花费,以及每学时,每分钟的花费。
(1学分=18学时)2、P43编程题1,2,31.输入一个三位整数,将它反向输出。
2.输入平面上某点横坐标x和纵坐标y,若该点在由图3.1表示的方块区域内,则输出1;否则,输出0。
图1.11 正方形3.输入三个整数,求出其中最小数(要求使用条件表达式)。
实验二进一步熟悉vc++开发环境和C++程序的调试过程。
一、理解体会例1-2,输入并运行。
二、参照例1-2,用面向对象方法编程实现:根据每学年学费、专业总学分、某课程学分,计算上该课程的总花费,以及每学时,每分钟的花费。
使得本校不同专业,不同课程的同学都能用它来计算。
(1学分=18学时)提示:1、定义一个类,类的数据成员包括:每学年学费、专业总学分、课程学分;类的成员函数包括:设置每学年学费、专业总学分、课程学分; 显示每学年学费、专业总学分、课程学分; 计算上某课程的总花费; 计算上某课程的每学时花费; 计算上某课程的每分钟的花费;2、说明1个或几个对象,计算并输出相应各结果。
三、P39习题1: 1.1-1.4根据需要编程上机检验其中的部分题目。
实验三1.输入某学生成绩,若成绩在85分以上输出“very good ”,若成绩在60分到85分之间输出“good ”,若成绩低于60分输出“no good ”。
2.输入三个整数,按从小到大的顺序输出它们的值。
3.输入三角形的三条边,判别它们能否形成三角形,若能,则判断是等边、等腰、还是一般三角形。
4.输入百分制成绩,并把它转换成五级分制,转换公式为:⎪⎪⎪⎩⎪⎪⎪⎨⎧-----=59069607970898010090(不合格)(合格)(中等)(良好)(优秀)(级别)E D C B A grade5.编程序模拟剪刀、石头和纸游戏。
实验7 窗函数法设计FIR数字滤波器
实验7窗函数法设计FIR数字滤波器一、实验目的掌握窗函数法设计F1R数字滤波器的原理和具体方法二、实验设备与环境计算机、Mat1ab软件环境三、实验基础理论1>基本原理窗函数设计法的基本思想为,首先选择一个适当的理想的滤波器Hd(,3),然后用窗函数截取它的单位脉冲响应%(九),得到线性相位和因果的FIR滤波器,这种方法的重点是选择一个合适的窗函数和理想滤波器,使设计的滤波器的单位脉冲响应逼近理想滤波器的单位脉冲响应。
2、设计步骤(1)给定理想滤波器的频率响应Hd("3),在通带上具有单位增益和线性相位,在阻带上具有零响应。
一个带宽为g(3c<Tr)的低通滤波器由下式给定h(e j^=(eW∣ω∣≤ωc虱)一1Oωc<∣ω∣<π其中α为采样延迟,其作用是为了得到因果的系统。
(2)确定这个滤波器的单位脉冲响应为了得到一个h(n)长度为N的因果的线性相位FIR滤波器,我们令N-Ia=-2-(3)用窗函数截取hd(τι)得到所设计FIR数字滤波器h(n)h(n)=h d(n)w(n)3、窗函数的选择常用的窗函数有矩形窗、汉宁窗、海明窗、布莱克曼窗、凯瑟窗等。
Mat1ab提供了一些函数用于产生窗函数,如下表所示:在设计过程中我们需要根据给定的滤波器技术指标,选择滤波器长度N 和窗函数3(n)°表7.2列出了常用的窗函数的一些特性,可供设计时参考。
其中幻是修正的零阶贝塞尔函数,参数B 控制最小阻带衰减,这种窗函数对于相同的N 可以提供不同的过渡带宽。
由于贝塞尔函数比较更杂,这种窗函数的设计方程很难推导,然而幸运的是,有一些经验设计方程可以直接使用。
已知给定的指标叫Msc,Rp 和4,滤波器长度N 和凯瑟窗参数B 可以按如下凯瑟窗设计方程给出过渡带宽:∆ω=ωst -ωp入一7.95 2.285∆ω_(0.1102(4-8.7) ,P=iθ.5842(4-21)04+0.07886(4-21), 四、实验内容1、设计一个数字低通FIR 滤波器,其技术指标如下ωp =0.2τr,RP=0.25dBωst =0.3τr,A s =50dB分别采用矩形窗、汉宁窗、海明窗、布莱克曼窗、凯瑟窗设计该滤波器。
虚拟仪器实验报告
虚拟仪器实验报告实验⼀:1.实验⽬的:熟悉LabVIEW软件的基本编程环境。
2.实验内容:创建⼀个VI程序,并将此程序保存为⼦VI。
此VI要实现的功能是:当输⼊发动转速时,经过⼀定运算过程,输出发动机温度和汽车速度值。
3.实验步骤(1)启动LabVIEW,创建⼀个VI。
(2)在前⾯板中放置⼀个温度计控件,并修改控件标签名为发动机温度和设置最⼤值为100。
该控件从“控件—经典—经典数值”⼦选项板中获得。
(3)按同样的⽅法在前⾯板中放置⼀个仪表控件,并修改仪表控件的标签名为汽车速度,标尺刻度范围为0~150。
(4)按同样的⽅法在前⾯板中放置⼀个数值输⼊控件,并修改控件标签名为发动机转速。
(5)从“窗⼝”下拉菜单中选择“显⽰程序窗⼝”切换到程序框图窗⼝。
(6)在程序窗⼝中创建乘法函数,该函数中函数选项板中的“函数—编程—数值”⼦选项板中选择,并和发动机转速输⼊控件连线,为乘法函数创建⼀个常量,修改为图中所⽰值。
(7)按同样的⽅法创建加法函数、平⽅根函数和除法函数,并按图中所⽰修改常量值和连好线。
(8)切换⾄前⾯板,在发动机转速控件中输⼊数值,点击运⾏按钮,运⾏VI程序。
(9)修改图标为T/V以表⽰该⼦VI输出量为发动机温度和汽车速度,并保存为vi.vi。
前⾯板:程序框图:实验⼆:1.实验⽬的:熟悉⼦VI的调⽤。
2.实验内容:创建⼀个VI程序,并在编写程序过程中调⽤实验⼀中创建的⼦VI。
此VI要实现的功能是:通过旋钮控件来控件输⼊的发动机转速值,中间调⽤实验⼀中创建的⼦VI作为计算过程,从⼦VI输出的值分别输出⾄不同的数值显⽰发动机的温度以及当前汽车速度,同时判断当汽车速度超过100时,系统将产⽣蜂鸣声,报警提⽰。
3.实验步骤:(1)启动LabVIEW,创建⼀个VI。
(2)在前⾯板中创建⼀个旋钮控件,修改标签名为发动机转速,设置数值范围为0~5000,从旋钮控件中调出⼀个数字显⽰控件来同步显⽰旋钮控件当前值。
实验训练5:存储过程与函数的构建与使用
实验训练5:存储过程与函数的构建与使用一、存储过程与函数的概念存储过程和函数都是数据库中的可执行代码,可以被多次调用和重复使用。
存储过程是一组预定义的SQL语句集合,可以在数据库中定义和存储。
而函数是一个独立的代码块,它接收输入参数并返回一个值。
二、存储过程的构建与使用1. 创建存储过程在MySQL中,创建存储过程需要使用CREATE PROCEDURE语句。
例如:CREATE PROCEDURE myproc()BEGINSELECT * FROM mytable;END;这个例子创建了一个名为myproc的存储过程,它会查询mytable表中的所有数据。
2. 调用存储过程使用CALL语句可以调用已经创建好的存储过程。
例如:CALL myproc();这个语句会执行myproc存储过程中定义的SQL语句。
3. 存储过程参数我们可以给存储过程添加参数来使其更加灵活。
例如:CREATE PROCEDURE myproc(IN p1 INT, IN p2 VARCHAR(50)) BEGINSELECT * FROM mytable WHERE column1 = p1 AND column2 = p2;END;这个例子创建了一个带有两个输入参数p1和p2的存储过程,它会查询mytable表中column1等于p1并且column2等于p2的数据。
4. 存储过程变量除了参数之外,存储过程还可以使用变量来存储中间结果。
例如:CREATE PROCEDURE myproc(IN p1 INT)BEGINDECLARE v1 INT;SET v1 = p1 * 2;SELECT * FROM mytable WHERE column1 = v1;END;这个例子创建了一个带有一个输入参数p1和一个变量v1的存储过程,它会将p1乘以2并将结果存储在v1变量中,然后查询mytable表中column1等于v1的数据。
C语言上机实验
实验一(第1章实验)实验目的:1.掌握运行C语言程序的全过程。
2.熟悉编译环境。
3.初步熟悉C语言程序的语法规定。
4.了解简单函数的使用方法。
实验内容:1.编程且上机运行:求3个整数的和。
2.编程且上机运行:求2个数的和、差、积和商。
3.编程且上机运行:输入3个数,求最大值。
4.编程且上机运行:输入圆的半径,求圆的面积和周长。
5.在屏幕上输出:“hello world!”实验结果:实验二(第3章实验)1.实验目的:理解C语言的类型系统。
实验内容:写程序测试数据-2在类型char,int,unsigned int,long int,unsigned long int 中存储情况。
实验过程:实验结果:参见各种类型的存储实现描述。
2.实验目的:了解混合类型计算中类型的转换规则。
实验内容:写程序测试多种类型数据一起运算时类型的转换及表达式结果的类型。
注意unsigned int和int数据运算时类型转换的方向。
实验过程:/** 类型转换问题* 试问下面两个表达式等价吗?*/#include <stdio.h>#include <stdlib.h>int main() {unsigned int ui,uj;ui = 1;uj = 2;if (ui < uj)printf("\n%u < %u is true !\n", ui, uj);elseprintf("\n%u < %u is false !\n", ui, uj);if (ui - uj < 0)printf("\n%u - %u <0 is true !\n", ui, uj);elseprintf("\n%u - %u <0 is false !\n", ui, uj);system("pause");return 0;}实验结果:参见类型转换规则。
c语言程序设计实验指导答案
太原理工大学现代科技学院C语言程序设计课程实验报告专业班级学号姓名指导教师焦雄5.#include <stdio.h> void main(){int a=10,n=5;a+=a;printf("%d\n",a);a=10,a-=2;printf("%d\n",a);a=10,a*=2+3;printf("%d\n",a);a=10,a/=a+a;printf("%d\n",a);a=10,a%=(n%=2);printf("%d\n",a);a=10,a+=a-=a*=a;printf("%d\n",a); }遇到的问题和解决方法心得体会实验三简单程序、分支程序和循环程序设计实验名称实验目的和要求1.理解C语言程序的基本结构和实现基本结构的语句;2.熟练应用赋值、输入和输出语句;3.理解并掌握关系运算符、逻辑运算符及其表达式的使用;4.熟练掌握if语句、switch语句、while语句、do—while语句和for语句的用法;实验内容1.输入并运行第3章例3-3、例3-6中的程序,通过输出结果理解对应的格式说明。
2.输入并运行第3章例3-8、例3-10中的程序,注意输入数据的格式。
3.已知圆柱半径r=1.5,圆柱高h=3,编程求圆周长,圆面积和圆柱体积。
4.输入一百分制成绩,输出成绩等级A、B、C、D、E。
90分以上为A,80~89为B,70~79分为C,60~69分为D,60分以下为E。
要求程序能处理错误的输入数据。
5.利用公式:π/4=1-1/3+1/5-1/7+……,求π的近似值,直到最后一项的绝对值小于10-6为止。
(fabs(t)表示t的绝对值,1e-6=1*10-6)。
6.求100-200间所有素数。
7.输出三角形的九九乘法口诀表。
8.打印水仙花数。
水仙花数是指一个3位数,其各位数字立方和等于该数本身。
存储过程、触发器和函数实验
存储过程、触发器和用户自定义函数实验实验内容一练习教材中存储过程、触发器和用户自定义函数的例子。
教材中的BookSales数据库,在群共享中,文件名为。
实验内容二针对附件1中的教学活动数据库,完成下面的实验内容。
1、存储过程(1)创建一个存储过程,该存储过程统计“高等数学”的成绩分布情况,即按照各分数段统计人数。
(2)创建一个存储过程,该存储过程有一个参数用来接收课程号,该存储过程统计给定课程的平均成绩。
(3)创建一个存储过程,该存储过程将学生选课成绩从百分制改为等级制(即 A、B、C、D、E)。
(4)创建一个存储过程,该存储过程有一个参数用来接收学生姓名,该存储过程查询该学生的学号以及选修课程的门数。
(5)创建一个存储过程,该存储过程有两个输入参数用来接收学号和课程号,一个输出参数用于获取相应学号和课程号对应的成绩。
2、触发器(1)为study表创建一个UPDATE触发器,当更新成绩时,要求更新后的成绩不能低于原来的成绩。
(2)为study表创建一个DELETE触发器,要求一次只能从study表中删除一条记录。
(3)为course表创建一个INSERT触发器,要求插入的课程记录中任课教师不能为空。
3、用户自定义函数(1)创建一个返回标量值的用户定义函数 RectangleArea:输入矩形的长和宽就能计算矩形的面积。
create function RectangleArea(@a int,@b int)returns intasbeginreturn@a*@bend(2)创建一个用户自定义函数,功能为产生一张有关学生成绩统计的报表。
该报表显示每一门课程的课程号、课程名、选修人数、本门最高分、最低分和平均分。
调用这个函数,生成相应的报表并给用户浏览。
create function student_table()returns tableasreturn(select课程号,课程名,COUNT选修人数,max最高分,min最低分,avg平均分from student_course,coursewhere=group by,)实验数据库说明教学活动数据库包括student、course和study三个基本表,三个基本表的结构说明和数据如下:(1)学生表(student)说明:sno为主键,age的范围为15~35之间,sex只能为“男”或“女”。
实验报告-函数
深圳大学实验报告课程名称:程序设计基础实验项目名称:函数应用学院:计算机与软件学院专业:指导教师:朱映映报告人:文成学号:2011150259 班级: 5 实验时间:2011-12-12实验报告提交时间:2011-12-25教务处制一、实验目的与要求:实验目的:1.掌握自定义函数的一般结构及定义函数的方法。
2.掌握形参、实参、函数原型等重要概念。
3.掌握函数声明、函数调用的一般方法。
4.掌握递归函数的设计方法。
实验要求:1.输入数据、输出数据应加以说明(交互性);2.程序应注意使用注释语句(可读性);3.对各种可能的输入情况都要考虑处理方案(健壮性);4.养成好的编程风格;5.在Webcc上提交C++源程序或执行文件、输出界面拷屏实验报告。
6.按报告内容要求完成实验报告。
二、实验环境:地点:D506硬件环境:奔四机器编号:软件环境:操作系统WINDOS XPC++语言环境VC 6.0project类型:WIN32 Console Application三、实验内容:1.设计1个递归函数求斐波那契数列的前n项。
斐波那契数列的第1项和第2项的值都为1,以后各项的值为其前两项值之和。
2.设计求完全平方数的函数,其功能是:在3位整数(100—999)中寻找既是完全平方数(某个数的平方),又有两位数字相同的整数,例如144,676等,并依次从小到大存入数组b中,满足该条件的整数个数通过所设计的函数返回。
3.5个学生,4门课,要求主函数分别调用各函数实现:(1)找出成绩最高的学生序号和课程。
(2)找出不及格课程的学生序号及其各门课的全部成绩。
(3)求全部学生各门课程的平均分数,并输出。
4.设计菜单程序,可将所做的习题和上述实验集中在一个程序中。
例如,运行后首先在屏幕显示如下菜单,当输入数值1后,调用素数判断的函数程序;输入数值2后,调用完全平方数的函数程序;输入数值3后,调用求最大公约数的函数程序;输入数值4后,调用Fibonacci数列的递归函数程序;输入数值5后结束程序。
实验1-7——精选推荐
第3章实验安排实验1 C实验环境与C程序初步一、目的和要求1.熟悉C程序运行环境。
2.初步了解运行一个C程序的过程(编辑、编译、连接和运行)。
3.通过运行和模仿编写简单的C程序,初步了解C源程序的结构和特点。
二、实验内容1.熟悉计算机中安装的C编译集成环境,新建一个C文件,输入下面的程序,编译并执行。
学习运行程序的过程,并分析运行结果。
#include <stdio.h>void main( ){int a=2,b=3,c;c=a+b;printf("sum=%d\n",c);}2.输入下面的程序,改正错误,并对其进行编译、链接和运行。
#include <stdio.h>void mian( ){printf("This is a C program.\n');}3.理解下面程序的功能,编译并运行程序。
输入两个整数,分析并验证程序的运行结果。
#include <stdio.h>int sum(int x,int y){int z;z=x+y;return(z);}void main( ){int a,b,c;scanf("%d%d",&a,&b);c=sum(a,b);printf("sum=%d\n",c);}提示:①这是一个包含自定义函数sum( )的程序。
②注意scanf( )函数的数据输入格式,输入的两个整数之间可以用空格或者回车或者制表符隔开。
4.编写一个程序,输出以下信息:********************Hello everyone!********************提示:本题可以使用一个或三个输出函数printf( )来实现输出三行信息。
要注意的是printf( )函数一次可以输出多个数据或字符,“\n”用来表示回车换行。
5.编写一个程序,输出图4.1中的图形。
C语言实验报告 函数
实验名:函数的定义及调用一、实验目的1、掌握C语言函数定义及调用的规则。
2、理解参数传递的过程。
二、实验内容(一))题目11、题目内容描述1、上机调试下面的程序,记录系统给出的出错信息,并指出出错原因。
main(){int,y;printf(“%d\n”,sum(x+y));int sum(a,b){int a,b;return(a+b);}}2、编写并调试一个求n!(n为整数)的递归函数,希望能在程序运行过程中动态地显示递归函数被调用的轨迹。
三、分析讨论1、针对以上实验内容写出相应的参数传递过程并分析结果。
2、讨论参数的传递的几种形式。
2、输入和输出信息描述及数据类型确定;、输入数据(1)序号输入数据描述数据类型1 x,y int2 a,b int(2)输出数据序号输出数据描述数据类型1 x+y int3、程序源代码(填写程序调试正确后的代码)#include <stdio.h>int main(){int sum(int a,int b); //对被调用函数sum 的声明int x,y,z;scanf("%d,%d",&x,&y);z=sum(x,y); //调用sum 函数,将其值赋给zprintf("%d\n",z); //输出函数结果zreturn 0;//返回值为0}int sum(int a,int b) //定义sum函数{return(a+b); //将a+b的值作为返回值返回到调用sum的位置}4、程序调试错误序号错误信息(列出出错语句以及出错提示)是否解决解决方法1 In function 'main':|int,y;是改为int x,y;2 error: stray '\241' in program|error: expected expressionbefore '%' token|error: stray '\' in program|printf(“%d\n”,sum(x+y));是将整段改为int sum(int a , int b);int x,y,z;z=sum(x,y);printf("%d\n",z);3 error: 'a' redeclared asdifferent kind of symbol|error: 'b' redeclared asdifferent kind of symbol|int a,b;是去掉整句话4 warning: 'x' is useduninitialized in this function[-Wuninitialized]|是加上scanf("%d,%d",&x,&y);5 error: static declaration of'sum' follows non-staticdeclaration|是将int及后面的语句块都移到main外面5、测试与结果分析(1)、测试数据与结果测试序号测试用例选取原因测试输入数据测试输出结果是否正确结果分析1 测试用例4,5 9 是可运算范围内2 测试用例55555,7933 63488 是可运算范围内3 测试用例-89,-79 -168 是可运算范围内(2)、相关问题回答2、编写并调试一个求n!(n为整数)的递归函数,希望能在程序运行过程中动态地显示递归函数被调用的轨迹。
C语言上机实验
实验六 指针程序设计
一、目的与要求
1、通过实验进一步掌握指针的概念,会定义和使用指针变量; 2、能正确使用数组的指针和指向数组的指针变量; 3、能正确使用字符串的指针和指向字符串的指针变量; 4、能正确使用指向函数的指针变量; 5、了解指向指针的指针的概念及其使用方法。
二、实验内容
1、编写子函数,对传送过来的三个数按由小到大的顺序排列,并通过形参传回调用函数。 2、编写函数int find(int *p,int n,int x),在指针p所指的数组中查找整型数x,如果x在数组 中,则该函数返回1,否则返回0。n为数组的大小。 3、有n个整数,使前面各数顺序向后移m个位置,最后 m个数变成最前m个数(如下图所示)。写一函数实现 以上功能,在主函数中输入n个整数和输出调整后的 n个整数。 4、在主函数中输入10个不等长的字符串。用另一个函数对它们按升序排序,然后在主函 数中输出这10个已排序的字符串。 5、用指针型指针对五个字符串进行排序,并将排序后的结果按顺序输出。 6、编写一程序,统计从键盘输入的命令行中第二个参数所包含的英文字符个数。
三、实验结果分析
对实验结果进行检验,如结果出现错误,分析产生错误的原因并修改程序、改正错误。
实验四、数组程序设计
一、实验目的及要求
1.掌握一维、二维数组的定义、赋值和输入输出的方法; 2.掌握字符数组的使用; 3.掌握与数组有关的算法(例如排序算法)。
二、实验内容
1、给整型二维数组 b[3][4]输入12个数据,计算并输出数组中所有正数之和、所有负数之和。 2、青年歌手参加歌曲大奖赛,有10个评委进行打分,试编程求这位选手的平均得分(去掉一个最高分和一个最低分)。 分析:这道题的核心是排序。将评委所打的10个分数利用数组按增序(或降序)排列,计算数组中除第一个和最后一个 分数以外的数的平均分。 3、设二维数组 b[5][4]中有鞍点,即b[i][j]元素值在第i行中最小,且在第j列中最大,试编写一程序找出所有的鞍点,并输 出其下标值。也可能没有。 4、从键盘输入一数,然后在一个整型一维数组a[20]中,用折半查找法找出该数是数组中第几个元素的值。如果该数不在 数组中,则打印”No found”。 5、编程打印如下图形: * * * * * * * * 6、有一电文,已按下列规律译成译码: A→Z a→z B→Y b→y C→X c→x 即第一个字母变成第26个字母,第i个字母变成第(26-i+1)个字母。非字母字符不变。编写一个程序将密码译成原文,并输 出密码和原文。
VB实验报告1-9
实验一:设计简单的VB 应用程序一、实验目的1.掌握Visual Basic 启动和退出的方法。
2.熟悉Visual Basic 的集成开发环境。
3.掌握Visual Basic 程序设计的基本步骤,了解VB 程序的编写、保存和编译的方法过程。
4.初步了解几个常用基本控件控件(标签、命令按钮和文本框)的使用方法。
二、实验类型综合三、实验时间:2012-3-9四、实验任务1、启动Visual Basic ,然后创建一个“标准 EXE ”工程(保存在D 盘以自己学号命名的文件夹中,文件名和窗体名均为SJT ),并了解Visual Basic 集成开发环境下各组成部分及其作用。
2、编一程序,计算任意输入的正整数的平方根。
3、编写一个应用程序,界面如图1-1所示。
窗体中文字“VB 应用程序!”为一标签控件,单击标题为“放大”的命令按钮,则“VB 应用程序!”的字号放大一号,单击“缩小”按钮则反之;同时,窗体中还有4个含某种指向图案的按钮,若单击某个按钮,则使“VB 应用程序!”向该按钮所指向的方向移动50Twip 。
(提示:四种指向的图案可以在Visual Basic 安装目录中的“…graphics\icon\Arrows ”子目录中找到,名称分别为arw07dn.ico 、arw07lt.ico 、arw07rt.ico 和arw07up.ico )五、实验要求 写出实验报告,内容是:1、第1小题的操作步骤2、第2、3题1).程序的界面设计。
2).程序主要代码。
3).运行结果(输入与输出)。
4).实验总结。
(写上你自己的总结。
可以从以下几个方面来总结:你在编程过程中花时多少?时间是怎么分配的?多少时间在思考问题?遇到了哪些难题?你是怎么克服的?你对你的程序的评价?你的收获有哪些?)图1-1 实验1-2程序运行实验二:数据的输入和输出一、实验目的1.掌握常量和变量、表达式的基本概念和正确书写格式。
2.掌握基本语句(Print语句、赋值语句、Dim语句等)的使用;3、掌握常用函数的正确使用方法;4、掌握数据的动态输入InputBox和信息提示MsgBox的基本使用方法。
上海大学《信号分析与处理》实验指导书
《信号分析与处理》实验指导书(修订版)上海大学精密机械工程系2009年4月目录DRVI可重构虚拟仪器实验平台简介 (2)实验一常用数字信号生成实验 (8)实验二典型信号波形的合成与分解实验 (11)实验三滤波器原理与应用实验 (13)附录一151DRVI可重构虚拟仪器实验平台简介1、概述DRVI的主体为一个带软件控制线和数据线的软主板,其上可插接软仪表盘、软信号发生器、软信号处理电路、软波形显示芯片等软件芯片组,并能与A/D卡、I/O卡等信号采集硬件进行组合与连接。
直接在以软件总线为基础的面板上通过简单的可视化插/拔软件芯片和连线,就可以完成对仪器功能的裁减、重组和定制,快速搭建一个按应用需求定制的虚拟仪器测量系统。
图2、虚拟仪器软件总线结构图2、软件运行双击WINDOWS桌面上的图标,或在程序组中的DRVI,就可以启动DRVI 软件。
DRVI启动后点击红色箭头所示按钮从DRVI采集卡、运动控制卡,或网络在线进行注册登记,获取软件使用权限,然后就可以使用了。
图3、DRVI 软件运行界面3、插接软件芯片DRVI 通过在前面板上可视化插接虚拟仪器软件芯片来搭构虚拟仪器或测量实验。
插接软件芯片的过程很简单,从软件芯片表中点击需要的软件芯片,将其添加到DRVI 前面板上,然后在新插入的软件芯片上压下鼠标不放,将其拖动到合适位置。
重复上述步骤,插入其它软件芯片。
插接在DRVI 前面板上的虚拟仪器软件芯片的屏幕位置是可以移动和调整的,点击快捷工具条中的“移动软件芯片位置”图标,然后在待移动的软件芯片上压下鼠标不放,就可以将其拖动到新位置,从而实现屏幕布局的调整。
4、DRVI 软件总线的概念和软件芯片的连线图4 用DRVI 设计虚拟仪器为实现虚拟仪器软件芯片间的数据交换,DRVI中设置了一组软件总线,包括256条Double型单变量数据线和32条Double型数组型数据线,可传输有效值等单变量数据,也可传输波形、频谱等数组数据。
实验七 OpenGL光照效果
1.实验七OpenGL光照效果(选做)1.实验七:OpenGL光照效果。
2.实验目的:通过上机编程,熟悉并掌握OpenGL中光照效果的制造方法。
3.实验要求:(1)先做实验项目:实验六“OpenGL组合图形”。
(2)每人一组,独立完成。
(3)利用OpenGL提供的颜色、光源、材质设置,对实验六“OpenGL组合图形”中自己设计的物体设置绘制颜色和材质参数,并在场景中添加光源,形成一定的光照明暗效果。
4.实验原理及内容:在现实世界中,光线和物体的材质共同决定了物体在人眼中的效果。
OpenGL 中则涉及到绘制颜色、物体的材质参数、场景中的光源颜色和位置,以此达到一定的真实感光照效果。
(1)颜色:OpenGL通过指定红、绿、蓝(RGB)三个成分的各自亮度来确定颜色,有时还有第四个成分alpha:glColor*(red, green, blue[, alpha]);glColor()函数设置当前的绘图颜色,red、green和blue分别为红、绿、蓝的亮度,alpha为透明度,取值均为0.0~1.0。
在该函数之后绘制的所有物体都将使用该颜色。
(2)光线:OpenGL的光照模型中将光源分成四种:发射光:一个物体本身就是一个发光源,如太阳、电灯等,这种光不受其它任何光源的影响。
环境光:从光源出发后光线被环境多次反射,以致没有明确的方向,或者说来自于所有的方向。
被环境光照射的物体,各个表面都均等受光。
散射光:来自于某个方向,被物体表面均匀地反射,例如荧光照明、窗口射入的阳光等。
镜面光:来自于一个方向,被物体强烈地反射到另一个特定的方向。
高亮度的镜面光往往能在被照射的物体表面产生亮斑,如金属球上的高光区。
对于散射光和镜面光,入射角度、距离和衰减因子还会影响到最终的光照效果。
除了物体本身的发射光以外,通常意义上的光并不会是单纯的环境光、散射光或镜面光,而是由这三种类型的光混合组成的。
在OpenGL中,光也是采用RGBA值来定义的,分别描述光线中红绿蓝各成分的相对亮度。
C语言实验报告
C语⾔实验报告上机要求:禁⽌玩游戏、看视频及从事与课程⽆关的活动。
实验内容按照指导书内容填写,可以把⾃⼰上机编写的程序、遇到的问题、解决办法写上(得到⾼分的条件)。
在有输⼊输出的程序部分,应该写上输⼊输出的结果,以表⽰程序能正确⼯作。
实验⼀编程环境的使⽤⼀、⽬的和要求1.了解编程环境的使⽤。
2.学会处理简单的错误,观察运⾏结果。
3.掌握基本的输⼊输出。
⼆、实验原理VisualC++6.0是⼀个集成的开发环境,包括编辑、编译连接和调试。
编写程序的主要过程是:建⽴⼯作区、建⽴⼯程、添加源⽂件、输⼊程序、运⾏程序、改正出现的错误直到有正确的输出结果。
三、实验内容及步骤1.编程环境的使⽤。
(1)打开VisualC++6.0开发环境。
(2)单击“⽂件-〉新建”菜单命令,显⽰出“新建”对话框(如图1-3)。
在新建对话框单击“⼯程”标签,选中Win32 Console Application项,然后在⼯程框中键⼊控制台应⽤程序项⽬名称,并且选中空⼯程。
(3)添加C++源⽂件,输⼊⽂件名。
(4)打开编辑窗⼝,输⼊程序,保存。
(5)编译运⾏程序,找到其错误位置,改正错误。
2.编写如下程序,从键盘读⼊两个整数,计算它们的和差积商,将结果输出在屏幕上。
3.编写如下程序,从键盘读⼊两个字符,并输出在屏幕上。
四、思考问题1.如何使⽤不同的数据类型。
2.如何处理输⼊输出。
3.如何查找程序中的错误?实验⼆选择结构⼀、⽬的和要求1. 掌握if ...else 及其嵌套的⽤法。
2. 掌握switch 的⽤法。
⼆、实验原理if 语句是专门⽤来实现选择结构的语句,是根据⼀个条件满⾜与否来决定是否执⾏某条语句或从两个语句中选择⼀个语句执⾏。
if-else 语句的⼀般格式为:if (表达式1) 语句1else if (表达式2)语句2……else if (表达式n )语句nelse 语句n+1当程序中有多个条件判断时,若使⽤if 语句可能使嵌套太多,降低了程序的可读性,switch 语句能很好的解决这个问题。
【实验】连续时间系统S域零极点分析
【关键字】实验实验七连续时间系统S域零极点分析一、目的(1)掌握连续系统零极点分布与系统稳定性关系(2)掌握零极点分布与系统冲激响应时域特性之间的关系(3)掌握利用MATLAB进行S域分析的方法二、零极点分布与系统稳定性根据系统函数的零极点分布来分析连续系统的稳定性是零极点分析的重要应用之一。
稳定性是系统固有的性质,与激励信号无关,由于系统函数包含了系统的所有固有特性,显然它也能反映出系统是否稳定。
对任意有界信号,若系统产生的零状态响应也是有界的,则称该系统为稳定系统,否则,则称为不稳定系统。
上述稳定性的定义可以等效为下列条件:●时域条件:连续系统稳定充要条件为,即冲激响应绝对可积;●复频域条件:连续系统稳定的充要条件为系统函数的所有极点位于S平面的左半平面。
系统稳定的时域条件和频域条件是等价的。
因此,只要考察系统函数的极点分布,就可判断系统的稳定性。
对于三阶以下的低阶系统,可以利用求根公式方便地求出极点位置,从而判断系统稳定性,但对于告阶系统,手工求解极点位置则显得非常困难。
这时可利用MATLAB来实现这一过程。
例7-1:已知某连续系统的系统函数为:试用MATLAB求出该系统的零极点,画出零极点图,并判断系统是否稳定。
解:调用实验六介绍的绘制连续系统零极点图函数sjdt即可解决此问题,对应的MATLAB命令为:a=[8 2 3 1 5];b=[1 3 2];[p,q]=sjdt(a,b)运行结果为:p =-0.6155 - 0.6674i -0.6155 + 0.6674i 0.4905 - 0.7196i 0.4905 + 0.7196iq =-2 -1绘制的零极点图如图7-1所示。
由程序运行结果可以看出,该系统在S平面的右半平面有一对共轭极点,故该系统是一个不稳定系统。
三、零极点分布与系统冲激响应时域特性设连续系统的系统函数为,冲激响应为,则显然,必然包含了的本质特性。
对于集中参数的LTI连续系统,其系统函数可表示为关于s的两个多项式之比,即(7-1)其中为的M个零点,为的N个极点。
【清华】7.5_实验七-无约束优化
实验七——无约束优化化工系分7陈龙2007011832『实验目的』1.掌握用MATLAB 优化工具箱的基本用法,对不同算法进行初步分析、比较。
2.练习用无约束优化方法建立和求解实际问题模型(包括非线性最小二乘拟合)。
『实验内容』-------------------------------------------------------------------------------------------------------一、问题2.(2):取不同的初值计算下列非线性规划,尽可能求出所有局部极小点,进而找出全局极小点,并对不同算法(搜索方向、步长搜索、数值梯度与分析梯度等)的结果进行分析、比较。
)32(min 222121x x e z x x +=--。
【问题分析】对于该函数,显然有0≥z ,当且仅当021==x x 时,z=0。
另外,运用分析方法也可以得到极值点的必要条件:04)32(1222112121=++-=∂∂----x e x x e x z x x x x 06)32(2222122121=++-=∂∂----x e x x e x z x x x x 得到方程组的解为08.0,2.12121====x x x x 或,这为之后的分析提供方便。
用MATLAB 绘出该函数的三维图形和等高线图,以获得直观认识:(程序如下)———————————————————————————————————————[x1,x2]=meshgrid(-2:0.1:2,-2:0.1:2);%产生二维数组集合z=exp(1).^(-x1-x2).*(2*x1.^2+3*x2.^2);mesh(x1,x2,z)%画三维网格图pause;contour(x1,x2,z,20)%画等高线图———————————————————————————————————————得到的图形如下所示,可以看出,图形好比平铺在地面上的一块方巾,其中一个角被高高拎起。
C++程序设计实验报告
C++程序设计实验报告一、实验目的(1)学习编写简单的C++程序,并掌握C++程序的基本格式与规范,理解C++程序结构的特点。
(2)掌握函数的定义和调用方法。
(3)练习重载函数、函数模板、系统函数的使用。
(4)学习使用VC ++的debug调试功能,使用step into追踪到函数内部。
(5)学习类与对象的定义和使用方法以及对象的声明。
(6)学习具有不同属性的数据成员与成员函数的访问方式。
(7)理解构造函数和析构函数的定义与执行过程。
(8)掌握运算符重载的方法。
(9)学习使用虚函数实现动态多态性。
(10)熟悉流类库中常用的类及其成员函数的用法。
(11)学习标准输人输出及格式控制。
(12)学习对文件的应用方法(二进制文件、文本文件)。
二、实验内容与实验步骤实验一:(1)输人并运行所给的参考程1,并将程序中的注释部分也输人计算机,体会和理解程序的基本格式规范。
(2)编写一个函数把华氏温度转换为摄氏温度,转换公式为C= (F一32)*5/9。
(3)编写重载函数Maxl可分别求取两个整数,三个整数,两个双精度数,三个双精度数的最大值。
(4)使用重载函数模板重新实现上小题中的函数Maxl。
(5)使用系统函数pow(x,y)计算x y的值,注意包含头文件math.h。
(6)用递归的方法编写函数求Fibonacci级数,观察递归调用的过程。
实验二:(1)定义一个CPU类,包含等级(rank)、频率(frequency)、电压(voltage)等属性,有两个公有成员函数run、stop,其中rank为枚举类型CPU_ Rank,定义为enum CPU_ Rank(P1 = 1,P2,P3,P4,P5,P6,P7),frequency为单位是MHz的整型数,voltage为浮点型的电压值。
观察构造函数和析构函数的调用顺序。
(2)定义一个简单的Computer类,有数据成员芯片(CPU),内存(ram),光驱(cdrom)等等,有两个公有成员函数run、stop,CPU为CPU类的一个对象,ram为RAM类的一个对象,cdrom为CDROM类的一个对象,定义并实现这个类。
C语言上机操作指导实验五数组(1) 实验八函数(2)
第 4页,共 14页
《C 程序设计》实验及课程设计项目报告
下标= a 2
0
1 8
2 16
3 14
4 1 10
5 8
6
7 16
8 4
9 20
10 6
部分源代码: k=0; if ( a[k]<a[1] ) 真 k=1; 执行 k=0; if ( a[k]<a[2] ) 假 for ( i=1; i<10; i++ ) k=2; 不执行 if ( a[k]<a[i] ) if ( a[k]<a[3] ) 真 k=i; k=3; 执行 相关知识:①删除数组元素的概念;②移动数组元素的算法;③求最大值位置的算法。 7. 以下 sy30.c 程序的功能是:从键盘上输入若干个学生的成绩,统计计算出平均成绩,并输 出低于平均分的学生成绩,用输入负数结束输入。请填空: #include <stdio.h> void main( ) { float x[1000], sum=0.0, ave, a; int n=0, i; printf ("Enter mark : \n") ; scanf("%f", &a); while (a>=0.0 && n<1000) { sum+= ; x[n]= ; n++; scanf("%f", &a); } ave= ; printf ("Output : \n"); printf ("ave = %f\n", ave); for (i=0; i<n; i++) if ( ) printf("%f\n", x[i]); } 8.打印如下杨辉三角形 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 编程点拨: 杨辉三角形有如下特点: 1 只有下半三角形有确定的值; 2 第一列和对角线上的元素值都是 1; 3 其它元素值均是前一行同一列元素与前一行前一列元素之和。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数据库开发技术》课程之实验七
PL/SQL过程和函数
1、实验目的
1.掌握正确使用异常处理的方法。
2.掌握局部(本地)过程和存储过程的正确使用方法。
3.掌握局部(本地)函数和存储函数的正确使用方法。
2、实验内容和要求
1. 创建一个显示EMP表中雇员总人数的存储过程。
然后在程序块
中和SQL*Plus环境中调用该存储过程。
执行结果:
雇员总人数为:17
2. 编写一个存储函数函数,用于判断DEPT表中某一编号的部门是
否存在,若存在此部门编号,则返回TRUE,否则返回FALSE。
3. 编写一过程,调用第2题的函数判断某一编号的部门是否存在,
存在则输出该部门员工的姓名、工作,否则提示不存在此部门
或此部门无员工。
4. 调用第2题的存储函数,查询并显示30号部门的人数。
要求函数
体内有对不存在部门的异常处理,给用户的错误指示信息是:
该部门不存在!
5. 有一个权限控制的表中有三个字段,分别存放用户姓名、密码
和权限级别。
创建一个用户登录存储函数,用户登录时核对用
户名和密码,正确则函数返回真,否则返回假。
要求有适当的
异常处理,还要求进行适当的测试以验证函数的正确性。
Create table login(uname varchar(12), pw varchar(12), right_lel varchar(12)); insert into login values('xiaoli','12345','DBA');
insert into login values('zhangsan','zzz','GUEST');
--登录函数测试
输入 user_name 的值: xiaoli
输入 password 的值: 12345
登录成功!
PL/SQL 过程已成功完成。
6. *阅读、理解并执行以下程序,并在注释处完成填空,指明当条
语句的作用或意义,一行不够写自行加一行注释。
最后要求写
出你的上机执行结果,对此执行结果写出一句总结。
DECLARE
TYPE EmpTabTyp IS TABLE OF emp%ROWTYPE; --
emp_tab EmpTabTyp := EmpTabTyp(NULL); --
t1 NUMBER(5);
t2 NUMBER(5);
t3 NUMBER(5);
PROCEDURE get_time (t OUT NUMBER) IS -- 过程头:创建过程,过程有一
个输出
--参数, 参数模式为,参数类型是
型。
/* 'SSSSS'日期/时间格式的含义为:距离午夜的秒数(0 ~ 86399)。
*/
BEGIN --以下语句将赋给输出参数。
SELECT TO_CHAR(SYSDATE,'SSSSS') INTO t FROM dual;
END;
PROCEDURE do_nothing1 (tab IN OUT EmpTabTyp) IS --过程有一个
模式的参数tab,数
-- 据类型是,根据PL/SQL的默认方式,实参与形参间是按
传递的。
BEGIN
NULL; -- 过程do_nothing1是一个什么也不做的过程
END;
PROCEDURE do_nothing2 (tab IN OUT NOCOPY EmpTabTyp) IS --过
程有一个IN OUT模式的参
-- 数tab,实参与形参间由于有,所以是按传递的。
BEGIN NULL; END;
BEGIN
T * INTO emp_tab(1) FROM emp WHERE empno = 7788; -- 将雇员7788的信息存入
表元
-- 素1中
emp_tab.EXTEND(249999, 1); --
-- 。
get_time(t1);
do_nothing1(emp_tab); -- 将嵌套表emp_tab传递给过程do_nothing1
的IN OUT 形参
get_time(t2);
do_nothing2(emp_tab); -- 将嵌套表传递给过程do_nothing2的IN OUT NOCOPY形参
get_time(t3);
dbms_output.put_line('Call Duration (secs)');
dbms_output.put_line('--------------------');
dbms_output.put_line('Just IN OUT: ' || TO_CHAR(t2 - t1)); --显示出
执行用时(秒)。
dbms_output.put_line('With NOCOPY: ' || TO_CHAR(t3 - t2)); --显示出执行用时(秒)。
END;
/
Call Duration (secs) --250000条记录,即25万条记录
--------------------
Just IN OUT: 2
With NOCOPY: 0
PL/SQL 过程已成功完成。
Call Duration (secs) --2500000条记录,即250万条记录
--------------------
Just IN OUT: 381
With NOCOPY: 0
PL/SQL 过程已成功完成。
3、实验报告
记录实验过程中遇到的困难和解决问题的方法。
4、实验小结
分析本次实验主要综合运用了哪些知识点,你的运用情况如何等。