《实验经济学》ppt课件第7讲 经济实验程序开发方法.ppt
《《实验经济学》ppt课件第7讲 经济实验程序开发方法.ppt》由会员分享,可在线阅读,更多相关《《实验经济学》ppt课件第7讲 经济实验程序开发方法.ppt(253页珍藏版)》请在三一办公上搜索。
1、1,实验经济学第七讲:经济实验程序开发方法,财经大学经济学院-经济学实验室,2,确保实验结果的有效性,实验室实验通常两小时内结束 人力组织十几个甚至二十几个交易回合每个交易回合随机配对 怎么办?开发计算机程序,3,起先,开发实验程序只是为了更充分地掌握数据、减少实验运行失误 近年的发展表明,实验运行(交易)过程的电子化为实验方法开辟了新的天地 大大降低了交易成本拓展了市场参与者的市场语言新市场机制在互联网和电子商务时代随处可见 网络环境下设计新机制并运用实验手段检验新机制的特性,已经成了实验经济学的重要发展方向,4,1Visual Basic 快速入门,5,讨论的要点,对基本开发环境的介绍面向
2、对象的程序设计方法变量和变量组选择结构循环结构对数据的存取运用VB实现实验室内的信息传递,6,一、VB的基本开发环境,7,运行Microsoft Visual Basic 6.0中文版,弹出“新建工程”的对话窗口。选择“标准 EXE”并点击按键“打开”。,8,9,屏幕的中央是对象窗口。对象窗口内所展示的是一个空白的窗体窗体的标题栏上显示“Form1”。窗体(Form)是VB程序的用户界面。程序员决定在窗体上放置哪些内容(这些内容的学名叫“控件”)、又要对这些内容进行哪些处理;运行过程中,使用者将在窗体上看到这些内容的部分或全部,并根据编程人员的设计通过窗体上的内容实现特定功能。,10,屏幕上方
3、所显示的是标题栏、菜单条和工具栏。屏幕的左侧是VB的工具箱,工具箱内包含VB的多种控件。“控件”是能够被放置在窗体上的内容。窗体和控件在VB里都被称作“对象”。屏幕的右上方所显示的是工程资源管理器。定义应用程序的层次结构。屏幕右下方是属性窗口。所展示的是当前被选中的对象的各种属性。“属性”所描述的是VB中对象的特征。比如,窗体的属性包括窗体的名称、窗体的宽度和高度以及窗体在计算机屏幕上的位置等等。,11,编写一个最简单的应用程序熟悉一下VB开发环境,在动手的过程中很多问题会自然而然地明朗,12,给窗体和工程命名。选中空白窗体Form1。在属性窗口的各个属性中,点亮“(名称)”一栏并将窗体的名称
4、改为“frmHello”。再选中工程资源管理器,点亮根目录“工程1(工程1)”。选中属性窗口中“(名称)”一栏,将工程1的名称改为“Hello”。通过菜单将窗体文件“frmHello”和工程“Hello”存储在适当的地方。,13,要给VB程序中的对象起有意义的名字。便于你追踪管理这些对象,也能帮助别的人理解你的程序。按照对象的类型给名称加前缀,前缀由三个小写字母构成。窗体对象(Form)的前缀是frm图标对象(Label)的前缀是lbl文本框对象(TextBox)的前缀是txt命令按键对象(CommandButton)的前缀是cmd在前缀的后面,加上以大写字母开头的、有一定意义的单词来描述对象
5、的作用。txtInput是用于输入的文本框。,14,将对象窗口最大化并调整frmHello的边框将其拉大。在属性窗口中点亮frmHello的“Caption”属性,将其改为“Hello”。快速双击屏幕左侧工具箱中的图形控件(Image),在窗体frmHello的中央就会出现一个图形对象Image1。点击Image1的“Picture”属性右侧的省略号“”,将会弹出一个加载图片的对话框。在你的计算机内选择你喜欢的图片(注意,图片不要太大)并点击按键“打开”。调整Image1的边框大小并用鼠标把Image1拖动到窗体的恰当位置。,15,16,在Image1的属性窗口中,将Image1的名称改为“i
6、mgNinghua”,并将“Visible”属性改为“False”。点击VB开发环境屏幕上方工具栏内的启动键“”来运行程序。我们发现运行中的窗体上并不能见到所载入的图片。再点击屏幕上方工具栏内的结束键“”以终止程序的运行。,17,快速双击屏幕左侧工具箱中的图标控件(label),在窗体frmHello的中央就会出现一个图标Label1。采用类似的步骤,将Label1的名称改为“lblHello”并将该图标移动到图片imgNinghua的右侧。选中图标lblHello的“Caption”属性,并将该属性的内容改为“Hello,everyone.”。随后再选中图标lblHello的“Font”属性
7、。点击该属性右侧的省略号“”,你将会看到选择字体的对话框。选择小四号字并调整lblHello的边框大小。,18,19,快速双击图标lblHello,这时会弹出程序代码窗口,在该窗口内会显示如下字样:Private Sub lblHello_Click()End Sub,20,lblHello_Click是一个事件。VB的事件是指VB的对象对某个外部事件所作出的响应。事件lblHello_Click是程序使用者点击了图标lblHello之后程序所执行的操作。在“Private Sub lblHello_Click()”和“End Sub”之间所加入的各行计算机语句,就是当使用者点击lblHell
8、o这一外部事件发生时VB程序才会执行的操作。,21,Private Sub lblHello_Click()imgNinghua.Visible=TrueEnd Sub,22,现在保存工程,点击启动键“”来运行程序。试着点击一下“Hello,everyone.”,图片就会在窗体内出现。(其实编程就这么简单!),23,点击结束键“”终止程序的运行。如果编程人员不希望每次都在VB的开发环境内运行程序,编程人员可以生成可执行文件。点击菜单中的“文件”并选中“生成Hello.exe(K)”,将Hello.exe存放在你希望存放的目录中。,24,二、面向对象的程序设计方法,25,1VB的对象、属性、方法
9、和事件,26,VB的窗体和控件是具有自己的属性、方法和事件的对象。属性是一个对象的性质方法是对象的动作事件是对对象的响应,27,小孩玩的气球同样具有属性、方法和事件属性直径和颜色状态属性(充气的或未充气的)不可见的性质(如寿命)方法:气球本身所固有的方法和动作 充气方法(用氦气充满气球的动作)放气方法(排出气球中的气体)上升方法(放手让气球飞走)事件:预定义的对某些外部事件的响应对刺破它的事件响应是放气对放手事件的响应是升空,28,设置气球的属性:Balloon.Color=Red Balloon.Diameter=10 Balloon.Inflated=True 注意代码的语法,首先是对象(
10、Balloon),接着是属性(Color),然后是赋值(Red)。属性也可以在程序设计阶段在“属性”窗口中设置。,29,调用气球的方法:Balloon.Inflate Balloon.Deflate Balloon.Rise 5 它的语法与属性的语法相似,对象(一个名词)后面紧跟着方法(一个动词)。在第三个例子中有一个附加项,称为一个参数,表示气球上升的高度。一些方法有一个或多个参数,它们对执行的动作做进一步的描述。,30,气球对一个事件的响应如下所示:Sub Balloon_Puncture()Balloon.Deflate Balloon.MakeNoise Bang Balloon.In
11、flated=False Balloon.Diameter=1 End Sub 本例中代码描述了当刺穿事件发生时,气球的行为。,31,2面向对象的程序设计方法,32,某个实验里,每个销售者都要同时提交两个决定:选择产品的销售价格同时还要决定是否对产品价格作广告,33,在这个实验中的销售者有可能先定价、再考虑是否作广告,随后将已经做好的决定同时提交;也有可能是相反的次序,先决定是否作广告、然后再定价,随后提交决策;还有可能,在最后提交决策之前她会改主意,比如她更改了初始选择的价格实验程序中应当如何实现这样的灵活性?面向对象的程序设计方法,34,传统的程序设计方法如C语言,Fortran等,都是面
12、向过程的、线性的程序设计方法。新发展起来的Java,VB等语言,是面向对象的程序设计方法。,35,面向过程的程序设计方法所强调的是如何完成某一任务。面向过程的程序设计中,编程人员要从完成任务的第一步直到最后一步安排计算机所执行的每一个细节。在面向过程的程序的应用过程中使用者没有任何自主权、处于完全被动的角色使用者无权决定提交信息和处理信息的次序,36,而面向对象的(或事件驱动的)程序设计中编程人员围绕着用户界面中的对象进行设计只有用户对对象做出了某种动作之后程序才会进行特定的操作。程序的使用者自己控制提交信息和处理信息的次序。,37,面向对象的程序设计大致要遵从下面五个步骤:对应用程序进行规划
13、;建立用户界面;编写程序代码(即计算机语句);对程序进行测试;书写程序文档。,38,我们先着重介绍前两个步骤,后三个步骤将在下一讲经济实验程序开发实例中穿插说明。,39,对应用程序进行规划,首先要识别该程序要完成哪些任务。在识别任务时,对下述问题的回答会有帮助:实验参加者需要提交哪些信息?经济实验程序需要完成哪些计算和处理?在用户界面上需要向实验参加者展示哪些信息?新的信息在用户界面上出现时,旧的信息是否会消失?实验程序在什么条件下会结束运行?,40,对应用程序进行规划(续),确定所要完成的任务究竟要通过哪些对象来实现。图标(Label)用于展示特定的标识或运算结果文本框(TextBox)用于
14、采集信息。,41,对应用程序进行规划(续),确定哪些对象的哪些事件被触发时,程序所需要实现的任务会被完成。并不是所有的对象都需要事件触发。你只需要针对部分对象的事件编写程序,这些程序语句会在事件发生时执行;而另外一些对象不需要你编程就能实现特定的任务。比如文本框(TextBox)不需要任何事件触发就能实现采集信息的任务。,42,对应用程序进行规划(续),程序规划步骤可以用任务(Task)、对象(Object),事件(Event)的分解图(TOE)来实现。,43,对应用程序进行规划(续),44,用户界面设计,对VB来说用户界面设计就是对窗体上的各个对象的排列安排。基本的原则:按照一定的顺序排列对
15、象,要么从上至下,要么从左到右。相关的对象放在相邻位置(如示例中的optRev和optNRev)。涉及实验参加者提交决策的对象需要在醒目位置显示。完成对各个对象的初步排列后,可以根据需要在对象的旁边添加一些图标以说明各个对象的作用。,45,用户界面设计(续),46,用户界面设计(续),47,作业:Programming with Visual Basic 6.0 Enhanced Edition,Diane Zak,Tutorial 2,48,三、变量、变量组和常量,49,1.变量,50,变量的作用是在程序的运行过程中临时记录数据。变量中所存储的数据在程序运行中可以被改变。由于变量只在程序运行
16、中发挥作用,变量的生命周期不会超过程序的运行周期。一个变量里只能存放一段数据,将新的数据存入变量中势必会抹去变量中原有的数据。,51,创建新变量,52,53,变量名的前缀:,54,变量名必须以字母开头。变量名中只能包含字母、数字和下划线,其它任何字符都不允许在变量名中出现。变量名最长不能超过255个字符。不能用VB中的保留字作变量名。保留字在VB中有特定含义和功能,不能作其它用途。比如在VB中“Print”是打印命令,属于保留字,不能充当变量名。,55,Dim variablename As datatype 或Public variablename As datatype比如,我们需要记录实
17、验当前的交易轮次。为达目的,我们可以创建一个整型变量“intRound”,定义该变量的语句如下:Dim intRound As Integer,56,赋值,57,赋值是将数据存放到特定位置的过程。这个“特定位置”,既可以是某个对象的属性,也可以是变量。赋值语句中的赋值符号为“=”,赋值号左侧是数据存放的位置,而赋值号右侧是数据。如:Label1.Caption=“Hello!”intRound=10curPrice=10.23原则上,数据要存放到与其类型一致的位置上去。,58,赋值语句的一个应用技巧是累加。比如,intRound=10intRound=intRound+5在创建新变量时,VB自
18、动将空字符串赋予字符串型和变体型的变量,而那些数值类型的变量会被赋为“0”值。,59,变量的有效范围,60,局部变量,由Dim语句在事件内定义。局部变量的生命周期是事件的发生过程。一旦事件结束,局部变量的使命告终。Private Sub lblHello_Click()Dim i As IntegerEnd Sub局部变量i只在lblHello_Click()内有效。,61,窗体变量,窗体变量的生命周期即窗体从载入到终止的周期。窗体变量对窗体内所有对象都有效,能在不同对象、事件和过程之间传递数据。也由Dim语句定义。窗体变量在代码窗口的通用声明(General Declaration)区域定义
19、。,62,全程变量,全程变量的生命周期等同于程序的运行周期。全程变量能在程序的多个窗体之间传递数据。用Public语句在程序的代码模块中定义。代码模块是程序中的独立文件,仅包含程序代码。在菜单条中点击“工程”并选择“添加模块”,在弹出的对话窗口中选择新建模块,一个新的代码模块Module1就会被添加到工程中。全程变量的定义位置是代码模块的通用声明区域。,63,Option Explicit语句,64,VB允许程序开发者对变量随用随定义。Option Explicit语句的作用是禁止在程序中运用未经正式定义的变量。具体做法:在工程下所有窗体和代码模块的通用声明区域输入Option Explici
20、t语句,并紧随该语句对变量进行定义。,65,Option ExplicitDim i,j,k As IntegerDim strName As String,66,2.变量组,67,变量组是相互关联的一组变量,这些变量有相同的名称和相同的数据类型。程序开发人员运用变量组在内存中暂时存取数据;运用变量组的优势是用它存取数据的速度远高于在外部存储设备中存取数据的速度。,68,Dim arrayname(lower subscript To upper subscript,,lower subscript To upper subscript)As datatype 或Public arraynam
21、e(lower subscript To upper subscript,,lower subscript To upper subscript)As datatype,69,“arrayname”是变量组的名称。对变量组的命名规定与对变量的命名规定类同。“lower subscript To upper subscript”表示变量组的一个维。VB最高允许定义60维的变量组。在变量组中的各个变量通过变量组的名称和下标识别。变量组的有效范围以及Option Explicit语句的应用完全类同于之前对变量的介绍。,70,某实验的每个交易回合中市场上的三个销售者同时选择各自的出价,而实验一共要进行
22、10个交易回合。用二维变量组curPrice来记录出价,定义该变量组的语句如下:Dim curPrice(1 To 10,1 To 3)As CurrencycurPrice的第一组下标指示交易的轮次,而第二组下标指示的是销售者。,71,3.常量,72,有些实验参数在更改实验条件时需要修正,而这些实验参数在同一实验中却是固定不变的常量。这就需要实验程序在一开始的地方对这些常量参数进行定义,定义符号常量的语句格式如下:Public Const constname As datatype=expression符号常量需要在VB的代码模块的通用声明区域中定义,其有效范围是程序运行的全程。,73,作业
23、:Programming with Visual Basic 6.0 Enhanced Edition,Diane Zak,Tutorial 3,74,四、选择结构,75,程序的三种基本结构:顺序结构,选择结构和循环结构。顺序结构中,程序的语句按照出现的先后次序,由前到后一个接一个地被执行。选择结构中,程序根据某个比较结果选择执行语句的路径。循环结构中,某些语句会被执行若干次、或直到某个特定的条件被满足时才会停止执行这些语句。,76,根据实验参与者的选择做出判断,来决定每个人的所得。最后通牒对策,在10元的潜在收益中,提议者建议自己得到X元,而回应者得到1 X元。在见到提案以后,如果回应者接受
24、这个提案,那么就按照提案来分配所得;如果回应者拒绝这个提案,则提议者和回应者的收益全部为零。在回应者见到提案后,实验程序如何根据回应者“接受”或“拒绝”的选择来决定提议者和回应者的所得?,77,1基本选择结构:IfThenElse语句,78,IfThenElse语句是VB中最基本的选择结构。语句格式如下:If condition Theninstructions when the condition is trueElseinstructions when the condition is falseEnd If,79,“condition”是条件表达式,其值只可能是“真”或“伪”(True
25、or False)。如果条件表达式的值为“真”,那么“Then”以后的语句将被执行;如果条件表达式的值为“伪”,那么“Else”以后的语句将被执行。“End If”表示选择结构的结束。需要注意的是,IfThenElse语句中不一定包括“Else”和“Else”以后的语句。在这种情况下,当条件表达式为“伪”时直接进行“End If”之后的操作,而选择结构内部不进行任何操作。,80,注意:我们在介绍VB的语句格式的时候,方括号里的内容为可选内容,编程人员根据需要来决定是否选用这些内容。如果某语句格式的方括号里的内容在编程中被省略掉,VB也不会将其视作语法错误。,81,条件表达式中可包括变量、常量、
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验经济学 实验经济学ppt课件第7讲 经济实验程序开发方法 实验 经济学 ppt 课件 经济 程序 开发 方法
链接地址:https://www.31ppt.com/p-3909235.html