




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第4章程序结构第7讲:教材P65~P76
4.1顺序结构
4.2选择结构第8讲:教材P77~P84
4.3循环结构
4.4本章小结实训3:教材P84~P85
上机实训结束第7讲:教材P65~P76讲解内容顺序结构选择结构同学们好,现在开始上课!4.1顺序结构4.1.1赋值语句4.1.2Print方法4.1.3With结构返回首页4.1.1赋值语句赋值语句是程序设计中最常用、最基本的语句,用于为变量或对象的属性赋值,格式如下:格式1:变量名=表达式格式2:[对象名.]属性名=表达式在格式2中,若省略对象名,则默认对象为当前窗体。对象类型变量的赋值比较特殊,需要使用Set关键字,格式如下:Set对象变量名=表达式
返回首页返回本节4.1.2Print方法(1)
1.用Print方法输出数据
Print方法用于在窗体、图片框或打印机等对象上输出数据,格式如下:[对象名.]Print[输出项列表][{;|,}]说明:对象名:可以是窗体、图片框或打印机等对象,若省略对象名,则在当前窗体上输出数据。输出项列表:要输出的内容(表达式)。若有多个输出项,可用逗号或分号隔开。分号(;):各输出项连续输出,中间无空格。4.1.2Print方法(2)逗号(,):各输出项按分区格式输出,即将一个输出行以14个字符的宽度为单位分成若干区段(称为“打印区”),每个区段输出一个表达式的值。如果调用Print方法的语句以分号或逗号结束,则下一次执行Print方法时将在同一行输出;否则,每执行一次Print方法即自动换行。Print方法在Form_Load事件过程中不起作用。如果要在该事件中显示数据,必须在该过程内加上Form.Show方法或把窗体的AutoRedraw属性设置为True。技巧:在输入Print关键字时可以只输入问号(?),VB会自动将其翻译成Print。4.1.2Print方法(3)2.与Print方法有关的函数VB提供了Spc和Tab两个函数,用于配合Print方法对输出进行定位。(1)Spc函数格式:Spc(n)Spc函数用于插入n个空格。例如:Print"你好!";Spc(8);"Hello!"输出结果:你好!Hello!4.1.2Print方法(4)(2)Tab函数格式:Tab[(n)]Tab函数用于将输出位置定位于第n列。若省略参数n,则将插入点移动到下一个打印区的起点。如果n小于当前显示位置,则将输出位置移到下一行第n列。例如:Print"1234567890"Print"Hello";Tab(10);"China"Print"Hello";Tab;"China"Print"Hello";Tab(4);"China"4.1.2Print方法(5)若在窗体的Form_Click事件中加入以上代码,则单击窗体后输出如图4.2所示的结果。返回首页返回本节图4.2Tab函数示例
4.1.3With结构(1)使用With结构可以对某个对象执行一系列语句,而不用重复指出该对象的名称。With结构的格式如下:With对象
语句块EndWith例如,要改变一个对象的多个属性,可以在With结构中添加为该对象的多个属性赋值的语句,此时只需引用对象一次而不是在每个属性赋值时都要引用它。下面的示例说明了如何使用With结构来给同一个对象的几个属性赋值。4.1.3With结构(2)'为文本框字体对象的多个属性赋值WithText1.Font
'下面只需输入圆点即可引用对象的属性或方法
.Name="隶书"
'字体名
.Size=12
'字号
.Bold=True
'粗体
.Italic=True
'斜体
.Underline=True
'下划线EndWith注意:当程序一旦进入With结构,对象就不能改变。因此不能用一个With结构来设置多个不同的对象。
顺序结构示例下面通过实例说明顺序结构程序设计的特点。【P67例4.1】求一元二次方程ax2+bx+c=0的根。设计步骤如下:(1)新建工程,在窗体上添加五个文本框、两个命令按钮和五个标签。文本框均采用默认名称,Text属性均为空。其他对象的属性设置如表4.1所示。注:标签Label7用于显示二次方程通式的指数,六号字。
(2)编写代码。双击【计算】按钮,打开代码窗口,输入以下代码:
PrivateSubcmdCalcu_Click()DimaAsSingle,bAsSingle,cAsSingleDimDAsSingleDimx1AsSingle,x2AsSinglea=Val(Text1.Text)b=Val(Text2.Text)c=Val(Text3.Text)D=b*b-4*a*c'二次方程求根的判别式
x1=(-b+Sqr(D))/(2*a)'用求根公式计算x1和x2x2=(-b-Sqr(D))/(2*a)
'显示结果,最多保留4位小数Text4.Text=Format(x1,"0.####")Text5.Text=Format(x2,"0.####")EndSub在【结束】按钮的单击事件中用End语句结束程序运行。运行程序,单击【计算】按钮即可解出方程的根。运行效果如图4.3所示。注意:上面的程序是有缺陷的。当a=0或判别式(变量D)的值小于0时,将出现错误,导致程序崩溃。因此,应设法判断变量a和D的值所处的范围,并作相应的处理。这不是顺序结构所能完成的任务,需采用下面将要介绍的选择结构才能实现。
返回首页返回本节图4.3二次方程求根
单击演示(例4.1)4.2选择结构
4.2.1If语句4.2.2SelectCase语句
4.2.3条件函数返回首页4.2.1If语句1.If…Then结构2.If…Then…Else结构3.If...Then...ElseIf结构4.If语句的嵌套
返回首页返回本节1.If…Then结构(1)If…Then结构的流程如图4.4所示。该结构表示“如果条件满足就执行Then后边的语句,否则不执行任何操作”。语法格式如下:(1)单行形式If条件
Then语句(2)块(多行)形式If条件
Then
语句块EndIf1.If…Then结构(2)一般情况下,“条件”是运算结果为逻辑值的表达式,若表达式的值为True,则条件成立,若表达式的值为False,则条件不成立。“条件”也可以是运算结果为数值的表达式,此时VB将表达式的值解释成逻辑值:0为False,非零为True。需要注意的是,If…Then的单行格式不用EndIf语句,整个语句必须写在一行上。如果条件为真时需要执行多条语句,所有语句必须在同一行上并且以冒号分开,如:If条件
Then语句1:语句2:语句3为了使程序便于维护,提高其可读性,建议尽量不要采用这种单行多句的形式。如果需要在Then关键字后面执行多条语句,应使用块形式的If…Then…EndIf结构。1.If…Then结构(3)【P69例4.2】编写程序,在文本框中输入一个整数,判断该数是不是偶数。分析:判断某整数的奇偶性,可以检查该数能否被2整除。若某数能被2整除,则该数为偶数。设计步骤如下:(1)建立用户界面,设置对象属性。各对象的属性如表4.2所示。表4.2例4.2对象属性(2)编写程序代码。“判断”命令按钮的Click事件代码如下:PrivateSubCommand1_Click()DimxAsIntegerx=Val(Text1.Text)IfxMod2=0ThenLabel2.Caption=x&"是偶数。"
EndIfEndSub“清除”命令按钮Click事件的代码如下:PrivateSubCommand2_Click()Text1.Text=""Label2.Caption=""EndSub运行结果如图4.5所示。图4.5If...Then示例
单击演示(例4.2)【P70例4.3】限制用户输入合法数据。文本框是常用的数据输入控件,为了防止用户输入错误数据,可以在文本框的KeyPress事件中检查用户的按键。KeyPress事件有一个KeyAscii参数,用于传送或改变用户按键的ASCII码。在KeyPress事件过程中将KeyAscii设置为0即可取消按键。在本例中,要求只能输入数字,若输入非数字字符则取消本次按键。代码如下:PrivateSubText1_KeyPress(KeyAsciiAsInteger)IfNotIsNumeric(Chr(KeyAscii))And_ KeyAscii<>8ThenKeyAscii=0EndSub
返回首页返回本节返回小节单击演示(例4.3)2.If…Then…Else结构(1)
(1)单行形式If条件
Then语句1Else语句2(2)块形式If条件
Then
语句块1Else
语句块2EndIf2.If…Then…Else结构(2)
【P70例4.4】改进例4.2,使程序能判断整数的奇偶性。分析:判断某数的奇偶性,就是检查该数能否被2整除,若能被2整除,该数为偶数,否则为奇数。PrivateSubCommand1_Click()DimxAsIntegerx=Val(Text1.Text)If(xMod2)=0ThenLabel2.Caption=x&"是偶数"
Else'增加Else子句,显示奇数
Label2.Caption=x&"是奇数"
EndIfEndSub返回首页返回本节返回小节单击演示(例4.4)3.If...Then...ElseIf结构(1)
语法格式如下:
If条件1Then
语句块1ElseIf条件2Then
语句块2...ElseIf条件nThen
语句块nElse
语句块n+1EndIf3.If...Then...ElseIf结构(2)
【P72例4.5】改进例4.1求一元二次方程ax2+bx+c=0的根的程序,修正其中的缺陷。分析:首先应判断方程中二次项的系数a:若a=0,则不是二次方程,不作求根运算;若a≠0,则根据判别式b2-4ac的值求根。方程的根有三种情况:①
b2-4ac=0,方程有两个相等的实根;②
b2-4ac>0,方程有两个不等的实根;③
b2-4ac<0,方程无实根,有两个共轭复根。
程序界面设计与例4.1相同。根据以上分析,将“计算”按钮单击事件过程的代码修改如下:PrivateSubcmdCalcu_Click()DimaAsSingle,bAsSingle,cAsSingleDimDAsSingleDimx1,x2'将x1、x2声明为变体型,可以存放不同类型的数据
a=Val(Text1.Text)b=Val(Text2.Text)c=Val(Text3.Text)D=b*b-4*a*c'二次方程求根的判别式
IfAbs(a-0)<1.0E-6Then'a=0,不是二次方程
x1="不是二次方程"x2=x1ElseIfAbs(D-0)<1.0E-6Then'a≠0,D=0,方程有相等二实根
x1=-b/(2*a)x2=x1ElseIfD>1.0E-6Then
'a≠0,D>0,方程有不等二实根
x1=(-b+Sqr(D))/(2*a)x2=(-b-Sqr(D))/(2*a)Else
'a≠0,D<0,方程有两个共轭复根
p=-b/(2*a)q=Sqr(-D)/(2*a)x1=p&"+"&q&"i"x2=p&"-"&q&"i"EndIfText4.Text=x1Text5.Text=x2EndSub在上述代码中,变量D存放判别式(b2-4ac)的值。实际上,当D=0或D>0时,都是用求根公式计算x1和x2,因此可将两个ElseIf子句合并:ElseIfD>=0Then'D≥0,方程有两个实根
x1=(-b+Sqr(D))/(2*a)x2=(-b-Sqr(D))/(2*a)返回首页返回本节返回小节单击演示(例4.5)4.If语句的嵌套嵌套是指在一个控制结构中插入另一个控制结构。If语句的嵌套是指在一个If语句中插入另一个If语句。内嵌的If语句可以出现在关键字Then或Else之后的语句块中。If语句嵌套常用于复杂的多分支选择,它的一般形式如下:If条件1Then
…If条件2Then
…EndIf
…EndIf例如,例4.5中二次方程求根的If语句可以改为下面的形式:Ifa=0Then'a=0,不是二次方程
x1="不是二次方程"
x2=x1Else'a≠0‘内嵌If语句开始。
D≥0,方程有两个实根IfAbs(D)>=1.0E-6Thenx1=(-b+Sqr(D))/(2*a)x2=(-b-Sqr(D))/(2*a)Elsep=-b/(2*a)q=Sqr(-D)/(2*a)x1=p&"+"&q&"i"x2=p&"-"&q&"i"EndIf'内嵌If语句结束EndIf返回首页返回本节返回小节4.2.2SelectCase语句(1)
SelectCase测试表达式
Case值表1
语句块1
Case值表2
语句块2
…
Case值表n
语句块nCaseElse
语句块n+1EndSelect4.2.2SelectCase语句(2)
说明:(1)“测试表达式”可以是数值表达式或字符串表达式。(2)“值表”与“测试表达式”的类型必需相同。(3)当使用多个表达式组成“值表”时,表达式与表达式之间要用逗号隔开。(4)“值表”由以下形式的表达式组成:形式示例说明(1)表达式Case100+a数值或字符串表达式(2)一组用逗号分隔的枚举值Case2,4,6,8测试表达式的值等于2,4,6,8之一(3)表达式1To表达式2Case1To101≤
测试表达式的值
≤10(4)Is关系运算符表达式CaseIs>20
测试表达式的值>204.2.2SelectCase语句(3)
【P75例4.6】设计一个程序,输入成绩,根据以下条件判断成绩的等级:90~100等级A80~89等级B70~79等级C60~69等级D60以下
等级E(1)新建工程,在窗体中添加两个标签,一个文本框,一个标题为“显示等级”的命令按钮。(2)为“显示等级”按钮的单击事件编写如下代码:PrivateSubCommand1_Click()DimScoreAsIntegerScore=Val(Text1.Text)SelectCaseScoreCase90To100Label2.Caption=Score&"分为等级A"Case80To89Label2.Caption=Score&"分为等级B"Case70To79Label2.Caption=Score&"分为等级C"Case60To69Label2.Caption=Score&"分为等级D"Case0To59Label2.Caption=Score&"分为等级E"CaseElseLabel2.Caption="成绩有误,请重新输入!"
EndSelectEndSub返回首页返回本节单击演示(例4.6)4.2.3条件函数VB提供了3个条件函数:IIf、Choose和Switch,它们可以部分地代替If语句或SelectCase语句。其中IIf和Choose函数较为常用。1.IIf函数2.Choose函数返回首页返回本节1.IIf函数(1)IIf函数(ImmediateIf的缩写)是If...Then...Else结构的简化形式,语法格式如下:IIf(条件,True值,False值)
其中,“条件”是运算结果为逻辑值的表达式,也可以是运算结果为数值的表达式,若采用后者,则0为False,非零为True。“True值”是当条件成立时IIf函数的返回值,“False值”是条件不成立时该函数的返回值。
1.IIf函数(2)例如,已知两个数x和y,比较其大小,将较大的数存入变量z:z=IIf(x>y,x,y)该语句与以下语句等价:Ifx>yThenz=xElsez=y显然,使用IIf函数可以简化代码。
返回首页返回本节返回小节2.Choose函数(1)Choose函数可以部分地代替SelectCase语句的功能。语法格式如下:Choose(整数表达式,选项列表)
Choose函数根据“整数表达式”的值返回“选项列表”中的某个值。整数表达式的值实际上是选项列表的索引,它的取值范围下界为1,上界为选项列表中的项目总数。如果整数表达式的值为1,则返回列表中的第一个选项;如果整数表达式的值为2,则返回列表中的第二个选项,依此类推。2.Choose函数(2)例如:DimstrColorAsString,iIndexAsIntegeriIndex=3'执行以下语句后strColor的值为"蓝"
strColor=Choose(iIndex,“红”,“绿”,“蓝”)上述第三行语句与以下语句等价:2.Choose函数(3)SelectCaseiIndexCase1strColor="红"
Case2strColor="绿"
Case3strColor="蓝"EndSelect显然,使用Choose函数可以简化代码。返回首页返回本节返回小节本讲到此结束,谢谢!下课。第8讲:教材P77~P84讲解内容:循环语句同学们好,现在开始上课!4.3循环结构
循环结构是指对同一程序段重复执行若干次,被重复执行的语句块称为循环体。循环体的执行与否以及次数多少视循环类型和条件而定。VB中常用的循环语句有For…Next语句和Do…Loop语句。For…Next循环用于已知循环次数的情况下,而Do…Loop循环主要用于不知道循环次数的情况下,在给定的条件满足时执行循环体。
4.3.1For…Next循环
4.3.2Do...Loop循环
4.3.3While…Wend循环
4.3.4循环的嵌套返回首页4.3.1For…Next循环(1)
For循环的语法格式如下:For循环变量=初值
To终值[Step步长][循环体]Next[循环变量]
For…Next循环简称For循环。如果知道循环要执行多少次时,就可以使用For循环。For循环使用一个循环变量(计数器)控制循环体的执行次数。每执行一次循环之后,循环变量的值就会自动增加或者减少。
4.3.1For…Next循环(2)
格式说明:循环变量:必须为数值型。For和Next关键字后面的循环变量必须相同。初值和终值:均为数值型,可以是数值表达式。步长:数值型,可以是数值表达式,默认值为1。若步长为正数,应设初值≤终值;若步长为负数,应设初值≥终值,否则循环体不会被执行。步长不应为0,否则程序将陷入无限循环(死循环)。循环体:在循环中被执行的语句块。若循环体中无语句,则为空循环。在循环体中可根据条件加入ExitFor语句强制退出循环。ExitFor通常出现在选择结构中。
4.3.1For…Next循环(3)
【P78例4.7】编制程序,计算1+2+3+...+200的整数和。在窗体上放置一个命令按钮,编写如下代码:PrivateSubCommand1_Click()DimSumAsInteger,iAsIntegerSum=0Fori=1To200Sum=Sum+iNextiPrint"1+2+...+200="&SumEndSub单击演示(例4.7)4.3.1For…Next循环(4)
【P79例4.8】制作ASCII码对照表。ASCII码(美国信息交换标准码)是7位二进制字符集,用来表示标准美制键盘上的字母、符号以及控制字符。其中,可打印字符的编码值范围为32~126(32=空格)。利用Chr函数可以将字符代码转换为对应的字符。(1)设计界面。程序的界面很简单,窗体上无任何控件。将窗体的背景色设为白色,Caption属性设为“ASCII码表”。(2)编写代码。由于可打印字符的ASCII码对照表具有明确的起止范围,因此,很适于用For…Next循环制作。单击窗体时,在循环中用Print方法将ASCII字符及其代码直接显示在窗体上,格式为“字符=字符代码”,每行显示8个字符及其代码,用Tab函数控制每个ASCII码的打印位置。程序运行效果如图4.14所示。窗体单击事件的代码如下:PrivateSubForm_Click()DimintASCAsIntegerDimiAsIntegerClsPrintMe.FontSize=10'设置字号
PrintTab(29);"ASCII码对照表"
Me.FontSize=9
'String函数返回指定数目的重复字符Print"";String$(79,"-")
'intASC为循环变量,并代表要打印的ASCII码
ForintASC=32To126PrintTab(10*i+3);_ Chr(intASC);"=";intASC;i=i+1Ifi=8Then'每行显示8个ASCII码
i=0PrintEndIfNextintASCPrintvbCr;"";String$(79,"-")EndSub图4.14ASCII码对照表
返回首页返回本节单击演示(例4.8)4.3.2Do...Loop循环(1)
Do...Loop循环简称Do循环,主要在循环次数未知时使用。Do循环有两类语法形式:前测型循环(先判断,后执行)Do[{While|Until}条件][循环体]Loop后测型循环(先执行,后判断)Do[循环体]Loop[{While|Until}条件]
使用While关键字的前测型和后测型Do循环的流程如图4.15和图4.16所示。使用Until关键字的Do循环与之相似,只需将图中的“T”和“F”互换位置即可。
Do循环的流程图4.3.2Do...Loop循环(2)
说明:(1)前测型循环先判断条件,如果为真,执行循环体,否则退出,因此有可能一次也不执行循环体;后测型循环先执行循环体,然后判断条件,因此至少执行一次循环体。(2)While关键字是指当条件为真时执行循环体;Until与之相反,条件为假时执行循环体,直到条件为真时退出循环。二者在功能上并无本质区别,只要将条件取反,就可以互相取代。例如,DoWhilex>=10与DoUntilx<10是等价的。(3)在循环体中可以插入ExitDo语句,随时跳出循环。ExitDo通常用于条件判断之后(如If...Then)。(4)如果省略了“{While|Until}条件”子句,则为无条件循环,此时应在循环体内适当位置插入ExitDo语句,否则会陷入死循环。4.3.2Do...Loop循环(3)
【P80例4.9】用DoWhile...Loop循环计算1到200的奇数和(1+3+5+...+199)。在窗体上放置一个命令按钮,编写如下代码:PrivateSubCommand1_Click()DimSumAsInteger,iAsIntegerSum=0i=1DoWhilei<=200Sum=Sum+ii=i+2LoopPrint"1+3+5+...+199="&SumEndSub单击演示(例4.9)4.3.2Do...Loop循环(4)
上述功能亦可用For循环实现:Fori=1To200Step2Sum=Sum+iNext由此可见,Do循环完全可以代替For循环。尽管如此,在已知循环次数的情况下,还是应当使用For循环,它将使程序更加简洁,效率更高。4.3.2Do...Loop循环(5)
【P81例4.10】用“辗转相除法”求两个自然数m和n的最大公约数。分析:用“辗转相除法”求最大公约数的计算方法如下:(1)两数相除(m除以n),取余数r;(2)若r≠0,则将除数改作被除数,余数改作除数(m←n,n←r),重复步骤(1)、(2),直到r=0为止;(3)最后一次相除时所用的除数就是最大公约数。程序设计:本例采用Do...LoopUntil循环实现。程序界面及运行效果如图4.18所示。“计算”按钮单击事件的代码如下:PrivateSubCommand1_Click()DimmAsInteger,nAsInteger,rAsIntegerm=Val(Text1.Text)n=Val(Text2.Text)
'若数据超出有效范围,退出本过程
Ifm<=0Orn<=0ThenExitSub
Do'求最大公约数
r=mModnm=nn=rLoopUntilr=0'r=0时退出循环
'退出循环时,m中存放的是最后的除数,即最大公约数
Label4.Caption="两数的最大公约数="&mEndSub返回首页返回本节单击演示(例4.10)4.3.3While…Wend循环(1)
While…Wend循环在条件为True时,执行循环体,语法如下:
While条件语句块Wend如果条件为True,则执行语句块,到达Wend时,控制返回While处,再次判断条件,若为True,则重复这个过程。若为False,则执行Wend后续语句。While…Wend循环类似于DoWhile…Loop循环,但功能较弱。4.3.3While…Wend循环(2)
下列代码提示用户输入数值型数据。把输入的数据求和,直到输入负值结束循环。DimsumAsLong,numAsLongsum=0num=Val(Input("请输入第一个数。"))Whilenum>=0sum=sum+numnum=Val(Input(“请输入下一个数,_输入负数结束。"))Wend返回首页返回本节4.3.4循环的嵌套(1)在循环结构中可以嵌套任何循环结构,也可以嵌套选择结构。【P82例4.11】求100~200之间的素数。分析:素数或称质数,是指一个大于1的整数,除了1和它本身以外不能被其他正整数整除,这个数就是素数。判断一个数n是否为素数,只要依次用2~作除数去除n,若n不能被其中任何一个数整除,则n即为素数。本题的求解可用双重循环实现,外循环遍历100~200之间的所有整数,内循环判断各数是否为素数。程序设计:在窗体上添加一个命令按钮,设Caption属性为“开始”。运行时单击该按钮后用Print方法显示100~200之间的素数。“开始”按钮单击事件的代码如下:
PrivateSubCommand1_Click()DimnAsInteger,iAsInteger,jAsIntegerDimflagAsBoolean'判断
n是否为素数的标志
PrintvbCr;Tab(8);"100~200之间的素数";_ vbCr;String(35,"-")Forn=100To200'外循环遍历100~200之间所有整数
flag=True'先假定
n为素数
Fori=2ToInt(Sqr(n))'内循环判断
n是否为素数
IfnModi=0Then'若
n能被
i整除,不是素数
flag=False'修改标志
ExitFor'退出内循环
EndIfNextIIfflagThen'若
n为素数,显示(每行7个数)
Printn;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高中数学复习专题01 集合与常用逻辑用语(学生版)
- 鼠皮帽企业ESG实践与创新战略研究报告
- 红酒企业数字化转型与智慧升级战略研究报告
- 图书、报刊零售企业县域市场拓展与下沉战略研究报告
- 纯生啤酒企业ESG实践与创新战略研究报告
- 白酒企业数字化转型与智慧升级战略研究报告
- 糕点专门零售企业ESG实践与创新战略研究报告
- 承运道路旅客运输企业ESG实践与创新战略研究报告
- 绘画作品批发企业县域市场拓展与下沉战略研究报告
- 共享住宿企业ESG实践与创新战略研究报告
- 2019年山东省普通高校招生春季考试英语试题
- 2025部编版九年级语文下册全册教学设计
- 2024-2030年中国留学服务行业市场前景预测及发展战略规划分析报告
- 初中作文课件教学课件
- 亚专科护理建设思路
- 中职安全主题班会教育课件
- 生 物植物的三大作用-说课课件-2024-2025学年人教版生物七年级上册
- 2024年新课标卷高考化学试卷试题真题答案详解(精校打印版)
- 2024年高等教育文学类自考-01210对外汉语教学法考试近5年真题集锦(频考类试题)带答案
- 500-3000总吨船舶大副培训大纲(2021版)
- 2024至2030年中国钱币类收藏品行业市场前景调查及投融资战略研究报告
评论
0/150
提交评论