首页 考试必备之vb实例编程代码

考试必备之vb实例编程代码

举报
开通vip

考试必备之vb实例编程代码考试必备之vb实例编程代码 第一题 新建工程,界面如下图,将窗体名称改为f1,标题属性为“我的第一个工程”, Text2允许多行,三个命令按钮名称分别为C1、C2、C3,单击C1 按钮将Text1 的字体改为黑体,Text2 的字体改为隶书。 单击C2 按钮将Text1 的文字颜色改为红色,Text2的背景颜色改为蓝色。单击C3 按钮结束程序运行。 Private Sub C1_Click() Text1.Font = "黑体" Text2.Font = "隶书" End Sub Private Sub C2...

考试必备之vb实例编程代码
考试必备之vb实例编程代码 第一题 新建工程,界面如下图,将窗体名称改为f1,标题属性为“我的第一个工程”, Text2允许多行,三个命令按钮名称分别为C1、C2、C3,单击C1 按钮将Text1 的字体改为黑体,Text2 的字体改为隶书。 单击C2 按钮将Text1 的文字颜色改为红色,Text2的背景颜色改为蓝色。单击C3 按钮结束程序运行。 Private Sub C1_Click() Text1.Font = "黑体" Text2.Font = "隶书" End Sub Private Sub C2_Click() Text1.ForeColor = vbRed Text2.BackColor = vbBlue End Sub Private Sub C3_Click() End End Sub '注意,本题的窗体和三个按钮的名称需要修改,窗体的Caption需要修改; 'text2的Multiline属性需要修改 '文本框text属性建议清空 第二题 新建工程,界面如上图,运行时,鼠标在“改变窗体颜色”按钮上按下时使窗体背景色变为红色,鼠标抬起时使窗体背景色变为绿色。鼠标在窗体空白地方按下时Text1 的 内容为“在窗体上按下了鼠标”,鼠标抬起时使Text1 的内容为“在窗体上抬了鼠标”。 Private Sub Command1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Form1.BackColor = vbRed End Sub Private Sub Command1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Form1.BackColor = vbGreen End Sub Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Text1.Text = "在窗体上按下了鼠标" End Sub Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Text1.Text = "在窗体上抬起了鼠标" End Sub '注意:本题窗体的Caption属性需要修改 '文本框text属性建议清空 第三题 新建工程,界面如下图,运行时,在文本框Text1 中输入内容的同时,在文本框Text2、Text3 中显示相同的内容,但字体不同(字体自定)。 Private Sub Command1_Click() Text1.Text = "" End Sub Private Sub Command2_Click() End End Sub Private Sub Text1_Change() Text2.Text = Text1.Text Text3.Text = Text1.Text End Sub '文本框text属性建议清空 '文本框font属性修改时可以考虑修改字号、加粗etc,尽量强化视觉效果的差异 第四题 设计一个窗体,如上图所示。当单击某个命令按钮时,对文本框中的文字完成相应的设置。其中,每单击一次“增大”或“缩小”按钮将使文本框中的文字增大或缩小5 磅,“粗体”按钮将使文本框中的文字加粗,“斜体”按钮将使文本框中的文字倾斜,“下划线”按钮将使文本框中的文字加下划线,“删除线”按钮将使文本框中的文字加删除线。 Private Sub Command1_Click() Text1.FontSize = Text1.FontSize + 5 End Sub Private Sub Command2_Click() Text1.FontSize = Text1.FontSize - 5 End Sub Private Sub Command3_Click() Text1.FontBold = Not Text1.FontBold End Sub Private Sub Command4_Click() Text1.FontItalic = Not Text1.FontItalic End Sub Private Sub Command5_Click() Text1.FontUnderline = Not Text1.FontUnderline End Sub Private Sub Command6_Click() Text1.FontStrikethru = Not Text1.FontStrikethru End Sub 第五题 设计一个窗体,如下图所示。程序中将π定义成符号常量(用Const ),运行时,输入底面半径r 和圆柱高h,然后单击“计算”命令按钮,在相应文本框中显示计算结果。运算结果为只读。 Const pi = 3.1415926 Dim r!, h! Private Sub Command1_Click() h = Text1.Text r = Text2.Text Text3.Text = pi * r * r Text4.Text = 2 * pi * r Text5.Text = pi * r * r * h End Sub '左侧两个文本框从上到下分别是text1、text2; '右侧三个文本框从上到下分别是text3、text4、text5; '注意窗体、按钮、标签等控件的Caption属性的设置; '椭圆和线条用Shape控件和Line控件实现; '画图时可以考虑借助窗体表面点阵; '文本框text属性建议留空; '文本框“只读”设置对应Locked属性,改为True; 第六题 设计界面如上图所示。单击“出题”按钮,产生任意两个【1,100】之间的随机整数于Text1、 Text2 中,单击“计算”按钮,求两个数的和。运算结果为只读。 Dim a, b Private Sub Command1_Click() Randomize a = Fix(1 + 100 * Rnd()) b = Fix(1 + 100 * Rnd()) Text1.Text = a Text2.Text = b End Sub Private Sub Command2_Click() Text3.Text = a + b End Sub 'text3的locked属性置为true,以此设置只读; '文本框text属性建议留空 '记得使用Randomize语句进行随机数生成的初始化操作; '熟练掌握指定范围内随机整数的生成方法,算是个笔试的热门考点; '注意Caption的设置,对此后续题目将不再赘述; 第七题 设计一个数字钟表程序,界面如图所示。运行时单击窗体,显示当前的年月日星期及时间。 Private Sub Form_Click() Label2.Caption = Year(Date) Label4.Caption = Month(Date) Label6.Caption = Day(Date) Label9.Caption = Weekday(Date) Label11.Caption = Time End Sub '标签文字竖排的方法:输入汉字,缩减标签的宽度到只够显示一个汉字; '所有标签建议放大字号,并设置“Alignment”属性为“3-Center”; '标签控件出现边框的方法:设置“BorderStyle”属性为“1-Fix Single”; 'date函数和time函数后的括弧可以要,但换行后会被计算机自行省略; 第八题 设计一个数学函数程序,界面如图所示。程序运行时,在文本框中输入任意数值,单击相应按钮标签中显示结果。文本框始终处于选中状态。 Dim x Private Sub Command1_Click() Label2.Caption = "Abs函数的计算结果" Label3.Caption = Abs(x) Text1.SetFocus Text1.SelStart = 0 Text1.SelLength = Len(Text1.Text) End Sub Private Sub Command2_Click() Label2.Caption = "Sqr函数的计算结果" Label3.Caption = Sqr(x) Text1.SetFocus Text1.SelStart = 0 Text1.SelLength = Len(Text1.Text) End Sub Private Sub Command3_Click() Label2.Caption = "Fix函数的计算结果" Label3.Caption = Fix(x) Text1.SetFocus Text1.SelStart = 0 Text1.SelLength = Len(Text1.Text) End Sub Private Sub Command4_Click() Label2.Caption = "Int函数的计算结果" Label3.Caption = Int(x) Text1.SetFocus Text1.SelStart = 0 Text1.SelLength = Len(Text1.Text) End Sub Private Sub Command5_Click() Label2.Caption = "Sgn函数的计算结果" Label3.Caption = Sgn(x) Text1.SetFocus Text1.SelStart = 0 Text1.SelLength = Len(Text1.Text) End Sub Private Sub Text1_LostFocus() x = Text1.Text If Not IsNumeric(x) Then Text1.SetFocus Text1.Text = "" End If End Sub '用于显示结果的标签需修改BorderStyle属性; '此外建议修改Alignment属性调节对齐方式; '“Text1_LostFocus”事件中的代码是典型的限定数值型输入的语句,建议记忆; '所有限定数值型数据的输入均可用此法处理; 'if语句部分如果觉得接受起来困难的话可以考虑略去; '命令按钮Click事件中的后三行代码,是选择文本框中全部内容的定式句法,建议记忆 第九题 请按图设一个大小能自动调整以适应其显示图片的尺寸的图片框(Picture1)以及“显示”和“清空”两个按钮(Command1、Command2)。运行时,单击“显示”,在图片框中显示自选图片;单击“清空”则清空图片框。 Private Sub Command1_Click() Picture1.Picture = LoadPicture(App.Path & "\aaa.jpg") End Sub Private Sub Command2_Click() Picture1.Picture = LoadPicture("") End Sub '图片框“Autosize”属性需要设置为True; '双引号内的\aaa.jpg根据实际所加图片名称自行调整; '这是调用图片的基本结构; 第十题 设计一个窗体Forml,界面如上图所示。编写适当的事件过程,程序运行后在第一个文本框中输入圆的半径,单击“计算”按钮,分别在第二个和第三个文本框中显示圆的面积和周长。 Const pi = 3.1415926 Private Sub Command1_Click() Dim x! x = Text1.Text Text2.Text = x ^ 2 * pi '上面这句也可以这么写: ' text2.text = x * x * pi Text3.Text = x * 2 * pi End Sub 第十一题 设计一个计算购书价钱的程序,界面如下图所示。为了提高运行速度,设置Tab 键序,使得输入完单价后,焦点定位到输入数量文本框中。单击“计算总价”或用访问键,算出总价。总价文本框要求为只读属性。完成相应功能。 Private Sub Command1_Click() x = Text1.Text x = Val(x) y = Text2.Text y = Fix(Val(y)) Text3.Text = x * y End Sub Private Sub Command2_Click() End End Sub Private Sub Text1_keyPress(KeyAscii As Integer) If KeyAscii = 13 Then SendKeys "{tab}" End If End Sub '本题的难点在于部分不常见的方法调用及属性设置; '设置访问键的方法:修改按键的Caption属性,在需要设置成访问键的字母前加&; '例如题目所示的退出按钮,Caption需修改为退出(&X); 'Tab键序调节方法是修改对应控件的“Tab”属性; '就本题而言,只需确保用于输入数量的Text2对应“Tab”属性比输入单价的Text1的“Tab”属性大1; '显示总价的Text3需要修改“Locked”属性; 第十二题 设计一工程,界面如上图所示。程序运行,单击“计算”,求出对应角度的三角函数的绝对值于文本框Text2 中,同时要求选中文本框Text1 内容,以便继续输入。 Private Sub Command1_Click() Const pi = 3.1415926 Dim x!, y!, n% n = 15 x = Text1.Text y = x * (2 * pi) / 360 Text2.Text = Text2.Text & Format(x, "@@@") & Space(n) & Format(Sin(y), "0.000") & Space(n) & Format(Cos(y), "0.000") & vbCrLf Text1.SetFocus Text1.SelStart = 0 Text1.SelLength = Len(Text1.Text) End Sub '追加垂直滚动条的方法是,修改文本框的Multiline属性为true,修改文本框的ScroolBar属性为2 - Vertical '可根据需要自行调整n值和相关标签的间距,使得结果视觉效果尽量接近样例图; 第十三题 设计一工程,在文本框中输入一整数,单击“判断”按钮,判断能否同时被3、5、7整除,若能用MsgBox 函数显示“能同时被3、5、7 整除”,否则显示“不能整除”。 Private Sub Command1_Click() x = Text1.Text x = Fix(Val(x)) If x Mod 3 = 0 And x Mod 5 = 0 And x Mod 7 = 0 Then MsgBox ("能同时被3、5、7整除") Else MsgBox ("不能整除") End If End Sub 第十四题 输入一个学生的学号和考试成绩,然后按如图格式在图片框中输出学号、考试成绩及评语,评语:90~100 优秀;80~89 良好;70~79 中等;60~69 及格;0~59 不及格。 Private Sub Command1_Click() x = Text1.Text y = Text2.Text y = Fix(Val(y)) z = "" Select Case y Case 0 To 59 z = "不及格" Case 60 To 69 z = " 及格" Case 70 To 79 z = "中等" Case 80 To 89 z = "良好" Case 90 To 100 z = "优秀" End Select Picture1.Print "学号:" & x Picture1.Print "分数:" & y & " " & z End Sub 第十五题 用块结构条件语句实现。InputBox 函数输入三个数,找出并在窗体中输出三个数中的最大数及最小数。 Private Sub Form_Click() Dim x!, y!, z! x = InputBox("请输入第一个数") y = InputBox("请输入第二个数") z = InputBox("请输入第三个数") If x >= y And y >= z Then Print "最大数为" & x Print "最小数为" & z ElseIf x >= z And z >= y Then Print "最大数为" & x Print "最小数为" & y ElseIf y >= x And x >= z Then Print "最大数为" & y Print "最小数为" & z ElseIf y >= z And z >= x Then Print "最大数为" & y Print "最小数为" & x ElseIf z >= x And x >= y Then Print "最大数为" & z Print "最小数为" & x ElseIf z >= y And y >= x Then Print "最大数为" & z Print "最小数为" & x End If End Sub '由于题目明确要求使用块结构条件语句,所以不建议使用排序等其他方法; 第十六题 设计一个程序,用户界面如下图所示。程序运行后,单击Command1 按钮,求出最大、最小数。 Private Sub Command1_Click() Dim a!, b!, c!, max!, min! a = Text1.Text b = Text2.Text c = Text3.Text max = a min = a If b > max Then max = b End If If b < min Then min = b End If If c > max Then max = c End If If c < min Then min = c End If Text4.Text = max Text5.Text = min End Sub '仅取最大值、最小值,可用这一结构实现; 第十七题 利用输入框输入三个数,单击窗体后进行降序排序并求出其中最大值、最小值,结果打印输入在窗体上。运行结果如图所示。 Private Sub Form_Click() Cls '用于清除之前窗体上显示的内容; Dim a!, b!, c!, max!, min! a = InputBox("请输入第一个数") b = InputBox("请输入第二个数") c = InputBox("请输入第三个数") max = a min = a If b > max Then max = b End If If b < min Then min = b End If If c > max Then max = c End If If c < min Then min = c End If Print "输入的数据为:" Print a, b, c Print '用于空出一行达成样例图的格式效果; Print "降序排序后:" Print max, a + b + c - max - min, min Print '用于空出一行达成样例图的格式效果; Print "其中最大值为:", max Print "其中最小值为:", min End Sub 第十八题 界面如上图(右侧),用Select Case 语句实现。文本框输入任意一个整数x,根据其除以3 的余数判断并输出结果。 如果余数为0,则消息框输出 str(x) & “整除3” 如果余数为1,则消息框输出 str(x) & “除以3 余1” 如果余数为1,则消息框输出 str(x) & “除以3 余2” Private Sub Command1_Click() Dim x%, y% x = Text1.Text y = x Mod 3 Select Case y Case 0 MsgBox (Str(x) & "整除于3") Case 1 MsgBox (Str(x) & "除以3余1") Case 2 MsgBox (Str(x) & "除以3余2") End Select End Sub 第十九题 界面如下图所示。编写适当的事件过程,程序运行后在三个文本框中分别输入三角形的边长值,单击“判断并计算”按钮,判断它们是否能组成三角形,若能组成三角形在Text4 中显示三角形的面积 ,否则在Text4 中显示“FALSE”。 Private Sub Command1_Click() Dim a!, b!, c!, L!, s! a = Text1.Text b = Text2.Text c = Text3.Text L = (a + b + c) / 2 If a < L And b < L And c < L Then s = Sqr(L * (L - a) * (L - b) * (L - c)) Text4.Text = Format(s, ".00") '借助format函数控制小数位数; Else Text4.Text = "FALSE" End If End Sub 第二十题 推荐 设计程序,输出100-200 之间不能被7 整除的数 Private Sub Command1_Click() For i = 100 To 200 Step 1 If Not (i Mod 7 = 0) Then List1.AddItem i End If Next i End Sub 文本框版本 Private Sub Command1_Click() For i = 100 To 200 Step 1 If Not (i Mod 7 = 0) Then Text1.Text = Text1.Text & Str(i) & vbCrLf End If Next i End Sub '注意文本框text属性留空; 第二十一题 设计如图所示界面,单击两个命令按钮后分别在文本框中输出N 的阶乘和(N+2)的阶乘的运算结果。 Private Sub Command1_Click() Dim x% x = Text1.Text s = 1 For i = 1 To x Step 1 s = s * i Next i Text2.Text = s End Sub Private Sub Command2_Click() Dim x% x = Text1.Text s = 1 For i = 1 To x + 2 Step 1 s = s * i Next i Text3.Text = s End Sub '累乘运算的标准结构; 第二十二题 将斐波那契数列的前20 项输出到文本框中,斐波那契数列如下:1,1,2,3,5,8,13,„。每行输出2 项,界面见上图(右侧)。 Private Sub Command1_Click() Text1.Text = "" Dim a%, b%, c% a = 1 b = 1 Text1.Text = Text1.Text & Str(a) Text1.Text = Text1.Text & Str(b) Text1.Text = Text1.Text & vbCrLf '每两个元素换一行 For i = 1 To 18 Step 1 c = a + b Text1.Text = Text1.Text & Str(c) If i Mod 2 = 0 Then Text1.Text = Text1.Text & vbCrLf '每两个元素换一行 End If a = b b = c Next i End Sub 第二十三题 新建一个工程,在窗体上画一个命令按钮,单击命令按钮在图片框上显示如下图所示的字母图形 Private Sub Command1_Click() Picture1.Cls '建议保留此行代码,避免多次运行的结果相互干扰 x = "ABCDEF" For i = 1 To 6 Step 1 Picture1.Print Space(i + 2) & Left(x, 7 - i) Next i End Sub Private Sub Command1_Click() Picture1.Cls '建议保留此行代码,避免多次运行的结果相互干扰 x = "ABCDEF" For i = 1 To 6 Step 1 Picture1.Print Space(8 - i) & Left(x, i) Next i End Sub 第二十四题 画四个命令按钮,单击各按钮在图片框上显示如下不同的数据图形。 Const x = "1 2 3 4 5 6" '数字间有两个空格; Const y = "6 5 4 3 2 1" '数字间有两个空格; Private Sub Command1_Click() Picture1.Cls '图片框的初始化,不可省略; For i = 1 To 6 Step 1 Picture1.Print Right(y, i * 3 - 2) Next i End Sub Private Sub Command2_Click() Picture1.Cls '图片框的初始化,不可省略; For i = 1 To 6 Step 1 Picture1.Print Space(i * 3 - 3) & Left(x, 19 - i * 3) Next i End Sub Private Sub Command3_Click() Picture1.Cls '图片框的初始化,不可省略; For i = 1 To 6 Step 1 Picture1.Print Space(19 - i * 3) & Right(x, i * 3 - 2) Next i End Sub Private Sub Command4_Click() Picture1.Cls '图片框的初始化,不可省略; For i = 1 To 6 Step 1 Picture1.Print Right(y, 19 - i * 3) Next i End Sub 第二十五题 在窗体上画两个命令按钮分别求11+22+33+44+„„+nn 小于100000 最大值和的值并将结果输出到Label1 和Label2 中。 Private Sub Command1_Click() Dim i, x, s '本题由于所涉及运算数据较大,不可将求和项S设置为整型数,否则会出现溢出错误; i = 1 x = 0 s = 0 While s < 100000 x = Str(i) & Str(i) x = Val(x) s = s + x i = i + 1 Wend Label1.Caption = Str(s - x) End Sub Private Sub Command2_Click() Dim s, j s = 0 j = 1 For i = 1 To 20 Step 1 j = j * i s = s + j Next i Label2.Caption = Str(s) End Sub 第二十六题 在窗体上画两个文本框输入a 和n 的值(a 和n 均为一位数字),单击命令按钮输出Sn=a+aa+aaa+aaaa+„+aa„a(最后一项n 个a,例如3+33+333+3333)的值于标签中。 Private Sub Command1_Click() Dim x, y, a%, b%, c%, s! x = Text1.Text x = Val(x) y = Text2.Text y = Val(y) If x = 0 Or y = 0 Then '由于已经限定是1位数,只需看Val()函数的处理结果是否为0即可判断输入是否为数字; Label1.Caption = "输入数据有误~" Else a = x b = y c = 0 For i = 1 To b Step 1 c = c * 10 + a '实现单个数字的指定次数的重复; s = s + c Next i Label1.Caption = Str(s) End If End Sub '有兴趣可以尝试用第08套题中所用的限定输入数据必须为数值的方法,但更为复杂; '信心不足者不建议尝试; 27(单击命令按钮将3 到200 之间的所有奇数显示在列表框中。 Private Sub Command1_Click() For i = 3 To 200 Step 1 If i Mod 2 = 1 Then List1.AddItem i End If Next i End Sub 28(在窗体上画一文本框用于输入n 值,画两个命令按钮分别求下述表达式的值 S1= S2=1×3×5×7ׄ×(2n-1)并将S1、S2 的结果输出到图片框。 Private Sub Command1_Click() Picture1.Cls '图片框的初始化,建议保留; Dim n, c, s, s1, s2 n = Text1.Text n = Fix(Val(n)) s1 = 0 s2 = 1 s = 1 '用s来记录求S1过程中各累加项符号的变化 For i = 1 To n Step 1 c = (2 * i - 1) s1 = s1 + 4 * s / c s2 = s2 * c s = s * (-1) '符号逐项变化; Next i Picture1.Print "s1 = ", s1 Picture1.Print "s2 = ", s2 End Sub (在文本框T1 中打印100~999 之间的所有水仙花数。(该数为各位数字的立方和。例如:153=1 3+5 3+3 3 ) 29 Private Sub Command1_Click() For i = 100 To 999 a = i Mod 10 '提取个位的方法 b = Fix(i / 10) Mod 10 '提取十位的方法 c = Fix(i / 100) Mod 10 '提取百位的方法 If i = a ^ 3 + b ^ 3 + c ^ 3 Then 'a的立方根据需要可以写作a*a*a List1.AddItem i End If Next i End Sub 30(有一数列,它的头2 个数为0、 1,以后的每个数都是其前2 个数之和。编程在文本框T1 中输出所有这些数列,直到第30 个数或最后一项等于1000 为止,同时在另一文本框中输出它们的和。 Private Sub Command1_Click() Dim a%, b%, c% a = 0 Text1.Text = Str(a) & vbCrLf b = 1 Text1.Text = Text1.Text & Str(b) & vbCrLf s = 1 '相当于先加入了数列的前两项; For i = 3 To 30 Step 1 '前两项已经处理过了,所以只需要考虑后28项; c = a + b If c < 1000 Then s = s + c Text1.Text = Text1.Text & Str(c) & vbCrLf a = b b = c Else Exit For End If Next i Text2.Text = s End Sub 31.设计一个素数的判定器,界面如图所示。程序运行后,单击“生成数”按钮,则产生一个[0,100]之间的整数,并显示在Text1 中;单击“判定数”按钮,则对以上产生的整数进行判定,如果是素数则在Text2 中显示“是素数”,否则显示“不是素数”。 Private Sub Command1_Click() Randomize n = Fix(101 * Rnd) Text1.Text = n End Sub Private Sub Command2_Click() ysgs = 0 '用统计约数个数是否为2来判断是否为素数 For i = 1 To n Step 1 If n Mod i = 0 Then ysgs = ysgs + 1 End If Next i If ysgs = 2 Then Text2.Text = "是素数" Else Text2.Text = "不是素数" End If End Sub '可以作为判定是否为素数的定式思维加以记忆; 32.用带垂直滚动条的文本框输出100-200 间所有的素数。 Private Sub Command1_Click() For j = 100 To 200 Step 1 ysgs = 0 '用统计约数个数是否为2来判断是否为素数 For i = 1 To j Step 1 If j Mod i = 0 Then ysgs = ysgs + 1 End If Next i If ysgs = 2 Then Text1.Text = Text1.Text & Str(j) & vbCrLf End If Next j End Sub '文本框的Multiline属性和ScrollBar属性需要设置; '此过程可以作为“范围内素数的判定”的定式思维加以记忆; 33(设计如下图所示界面,单击时输出相应结果,2~N 之间素数在列表框中输出,要求判断素数用过程实现。 Private Sub Command1_Click() Dim s1 As Boolean '用于接收pdss过程判定素数的返回结果; x = Text1.Text x = Fix(Val(x)) Call pdss(x, s1) If s1 = True Then Text2.Text = "是素数" Else Text2.Text = "不是素数" End If End Sub Private Sub Command2_Click() Dim s2 As Boolean '用于接收pdss过程判定素数的返回结果; y = Text1.Text y = Fix(Val(y)) For i = 1 To y Step 1 Call pdss(i, s2) '注意范围内判断和指定数判断的区别; If s2 = True Then Text3.Text = Text3.Text & Str(i) & vbCrLf End If Next i End Sub Public Sub pdss(a, b) ysgs = 0 '用统计约数个数是否为2来判断是否为素数 For i = 1 To a Step 1 If a Mod i = 0 Then ysgs = ysgs + 1 End If Next i If ysgs = 2 Then b = True Else b = False End If End Sub 34(设计界面如图所示,单击个按钮时输入行数,按此行数分别在窗体上输出平行四边形、正三角形、倒三角形、双三角形。 Public n% Private Sub Command1_Click() n = InputBox("请输入行数") Form1.Hide Form2.Show Form2.Cls For i = 1 To n Step 1 Form2.Print Space(5 + i) & String(n, "*") Next i End Sub Private Sub Command2_Click() n = InputBox("请输入行数") Form1.Hide Form2.Show Form2.Cls For i = 1 To n Step 1 Form2.Print Space(n + 5 - i) & String(2 * i - 1, "*") Next i End Sub Private Sub Command3_Click() n = InputBox("请输入行数") Form1.Hide Form2.Show Form2.Cls For i = 1 To n Step 1 Form2.Print Space(5 + i) & String(2 * n + 1 - 2 * i, "*") Next i End Sub Private Sub Command4_Click() n = InputBox("请输入行数") Form1.Hide Form2.Show Form2.Cls For i = 1 To n Step 1 Form2.Print Space(5 + i) & String(2 * n + 1 - 2 * i, "*"); Form2.Print Space(2) & String(2 * i - 1, "*") Next i End Sub '典型的多窗体工程文件,窗体的切换及相关方法调用部分可多加揣摩; 35.使用While„Wend 循环求2×4×6×8ׄ(2n)大于100000 的最小值,结果输出到文本框中。 Private Sub Command1_Click() s = 1 n = 2 While s < 100000 s = s * n n = n + 2 Wend Text1.Text = s End Sub 36.利用公式 求π的值,精确到小数点后6 位。运行界面如图。 Private Sub Command1_Click() a = 1 '分母的起始值; s = 1 '符号的起始值; p = 0 'π/4的起始值; While a < 1000000 '对于“保留小数点后六位”这一限定如何理解尚无定论,界限值可自己指定; p = p + s / a a = a + 2 s = s * (-1) Wend Text1.Text = Format(4 * p, "#.######") End Sub 37.求任意两个[1,100]之间的正整数的最大公约数和最小公倍数,要求两个正整数由随机函数产生。界面如图所示。 、Dim x%, y% Private Sub Command1_Click() Randomize x = Fix(1 + 100 * Rnd()) y = Fix(1 + 100 * Rnd()) Text1.Text = x Text2.Text = y Text3.Text = "" '此句可省; Text4.Text = "" '此句可省; End Sub Private Sub Command2_Click() Dim a%, b% If y > x Then '此if语句主要为确保a>=b a = x b = y Mod x Else a = y b = x Mod y End If While Not b = 0 t = a a = b b = t Mod b Wend Text3.Text = a Text4.Text = x * y / a End Sub '辗转相除法得最大公约数的典型结构,建议记忆; Dim x%, y% Private Sub Command1_Click() Randomize x = Fix(1 + 100 * Rnd()) y = Fix(1 + 100 * Rnd()) Text1.Text = x Text2.Text = y Text3.Text = "" '此句可省; Text4.Text = "" '此句可省; End Sub Private Sub Command2_Click() Text3.Text = f1(x, y) Text4.Text = x * y / f1(x, y) End Sub 第二种做法 Public Function f1(ByVal a, ByVal b) Dim c If a < b Then f1 = f1(b, a) Else If a Mod b = 0 Then f1 = b Else c = a Mod b f1 = f1(b, c) End If End If End Function '借助函数迭代实现,推荐使用此种方法; 38(界面如下图所示。分别在Textl 和Text2 中输入两个自然数x、y,用展转相除的方法求自然数x,y 的最大公约数和最小公倍数。在窗体上显示结果。 Dim x%, y% Private Sub Command1_Click() x = Text1.Text y = Text2.Text Label3.Caption = f1(x, y) End Sub Private Sub Command2_Click() x = Text1.Text y = Text2.Text Label4.Caption = x * y / f1(x, y) End Sub Public Function f1(ByVal a, ByVal b) Dim c If a < b Then f1 = f1(b, a) Else If a Mod b = 0 Then f1 = b Else c = a Mod b f1 = f1(b, c) End If End If End Function '借助函数迭代实现; 39(随机产生10 个两位正整数,求出最大值、最小值、和、平均值,并显示这10 个数的运行结果。程序运行界面如图所示。 Private Sub Command1_Click() Picture1.Cls Dim a%, s1$, s2%, max%, min% 's1用于以字串形式存储十个随机数,s2用于求和; Randomize a = 10 + Fix(90 * Rnd()) s1 = Str(a) '第一个数写入s1字串中; s2 = a '第一个数加入求和项s2中; max = a '暂时视第一项为最大值; min = a '暂时视第一项为最小值; For i = 2 To 10 Step 1 a = 10 + Fix(90 * Rnd()) s1 = s1 & " " & Str(a) '顺次将后续各数写入s1字串中; s2 = s2 + a '顺次将后续各数加入求和项s2中; If a > max Then '新数如大于原最大值,用新数作为最大值; max = a End If If a < min Then '新数如小于原最小值,用新数作为最小值; min = a End If Next i Picture1.Print s1 Picture1.Print "最大值是:" & Str(max) Picture1.Print "最小值是:" & Str(min) Picture1.Print "和是:" & Str(s2) Picture1.Print "平均值是:" & Str(s2 / 10) End Sub '求最大值,求最小值,求和并求平均值,以上三种操作彼此独立互不干扰; '由于未涉及排序,所以此题可以不借助数组完成; 40.随机产生10 个[30,99]之间的正整数,并输出到图片框中,然后按从小到大递增的顺序排列,并将排序结果显示出来。如图所示。 Private Sub Command1_Click() Picture1.Cls Dim a(10) As Integer For i = 1 To 10 Randomize a(i) = Int(Rnd * 70 + 30) Picture1.Print a(i); Next Picture1.Print Picture1.Print "由小到大排序的结果为:" For i = 1 To 9 '冒泡排序的定式程序; For j = i + 1 To 10 If a(i) > a(j) Then t = a(i): a(i) = a(j): a(j) = t Next j, i '冒泡排序结束; For i = 1 To 10 Picture1.Print a(i); Next End Sub '排序部分的双重循环语句也可以用如下方式书写 ' For i = 1 To 9 '冒泡排序的定式程序; ' For j = i + 1 To 10 ' If a(i) > a(j) Then ' t = a(i) ' a(i) = a(j) ' a(j) = t ' End If ' Next j ' Next i '冒泡排序结束; '推荐尽量将程序代码展开成多行,提高程序可读性; (生成10 个两位数的随机整数, 放入A 数组, 单击显示按钮全部显示在文本框Text1中,单击排序按钮由小到大排序,显示在文本框Text2 中。 41 Dim a(10) Private Sub Command1_Click() Text1.Text = "" For i = 1 To 10 Randomize a(i) = Fix(Rnd * 90 + 10) Text1.Text = Text1.Text & Str(a(i)) Next End Sub Private Sub Command2_Click() Text2.Text = "" For i = 1 To 9 '冒泡排序的定式结构; For j = i + 1 To 10 If a(i) > a(j) Then t = a(i) a(i) = a(j) a(j) = t End If Next j Next i '冒泡排序结束 For i = 1 To 10 Text2.Text = Text2.Text & Str(a(i)) Next End Sub 42(产生一个4×4 的矩阵,显示在文本框TEXT1 中,矩阵中的元素为随机产生的二位正整数。要求在文本框TEXT2 中输出矩阵对角线元素的和。 Private Sub Command1_Click() Dim a(4, 4) Text1 = "" For i = 1 To 4 '循环嵌套是二维数组赋值的定式结构; For j = 1 To 4 Randomize a(i, j) = Int(Rnd * 90 + 10) Text1.Text = Text1.Text & Str(a(i, j)) & " " Next j Text1.Text = Text1.Text + vbCrLf Next i For i = 1 To 4 Sum = Sum + a(i, i) '累加左上~右下方向对角线; Sum = Sum + a(i, 5 - i) '累加右上~左下方向对角线,根据样例图来看此行代码似乎应该省去; Next i Text2.Text = Str(Sum) End Sub 43.编写一个程序,输出一个5*5 的矩阵,该矩阵主、负对角线上元素均为1,其余元素均为2,执行结果如图所示。 Private Sub Form_Click() Dim a(5, 5) For i = 1 To 5 For j = 1 To 5 If i = j Or j = 6 - i Then a(i, j) = 1 Else a(i, j) = 2 End If Next j, i For i = 1 To 5 '这是二维数组显示的标准定式结构,建议记忆; For j = 1 To 5 Print a(i, j); Next j Print Next i End Sub 44(从文本框输入整数n,单击“打印杨辉三角”按钮显示具有n 行的杨辉三角形。每项数据占6 位长度,程序运行界面如图所示。 Private Sub Command1_Click() Picture1.Cls Dim n%, a() '先不确定数组上下标; n = Text1.Text ReDim a(0 To 2 * n) '以变量定义数组上标必须采用这种形式; a(n) = 1 Picture1.Print Format(a(n), "@@@@@@") '先画出第一行 For i = 2 To n Step 1 For j = n - (i - 1) To n + (i - 1) Step 1 '利用奇偶交错来实现杨辉三角剩余各行的绘制; If (j Mod 2) = ((n + (i - 1)) Mod 2) Then a(j) = a(j - 1) + a(j + 1) Picture1.Print Format(a(j), "@@@@@@"); End If Next j Picture1.Print Next i End Sub '本题结构较为复杂,信心不足者可以考虑部分放弃; 45.生成两个0-10 之间的随机整数矩阵,分别放入两个图片框内,求两个矩阵之和放入第三个图片框内。界面如图所示。 Dim a(4, 4), b(4, 4), c(4, 4) Private Sub Command1_Click() Randomize Picture1.Cls Picture2.Cls Picture3.Cls For i = 1 To 4 '三个矩阵的赋值显示可以借助一个二重循环进行; For j = 1 To 4 '效果同拆分成三个二重循环分别进行是一致的; a(i, j) = Fix(Rnd * 11) b(i, j) = Fix(Rnd * 11) c(i, j) = a(i, j) + b(i, j) Picture1.Print a(i, j); Picture2.Print b(i, j); Picture3.Print c(i, j); Next j Picture1.Print Picture2.Print Picture3.Print Next i End Sub Private Sub Command2_Click() End End Sub 46(利用控件数组Text1、Text2 将Text1 中随机产生的数,交换到Text2 中,界面如下图所示。 Private Sub Command1_Click() Randomize For i = 0 To 4 Step 1 Text1(i).Text = 10 + Fix(90 * Rnd()) '如果第一列数要求自行输入,则可去除此行; Text2(4 - i).Text = Text1(i).Text Next i End Sub '控件数组的加入方法:选中一个控件,复制后,粘贴在窗体内,弹出对话框时点“是”即可; (建立一个比赛评分程序。在窗体建立一个名为TEXT1 的文本框数组和一个名为T2 的文本框及名名为C1 的命令按钮。运行时在文本框数组中输入7 个分数,求最后的结47果。 Private Sub C1_Click() Sum = 0 For i = 0 To 6 Sum = Sum + Val(Text1(i).Text) Next i T2.Text = Str(Sum / 7) End Sub '本题对空间名称做出了要求; '本题的最后得分是以取平均值的方式计算的; 48(设计如图所示界面,编写适当的事件过程,控制Label1 控件中字体大小和字体格式。 Private Sub Check1_Click() Label1.FontItalic = Check1.Value End Sub Private Sub Check2_Click() Label1.FontUnderline = Check1.Value End Sub Private Sub Option1_Click() Label1.FontSize = 10 End Sub Private Sub Option2_Click() Label1.FontSize = 15 End Sub Private Sub Option3_Click() Label1.FontSize = 20 End Sub '单选按钮、复选框和框架的提示文字均对应“Caption”属性 '控件加入框架中的方法:选中控件,剪切,选中框架,粘贴; '注意领会选项按钮和复选框的区别; 49(设计如图所示界面,在窗体画一个图片框,在图片框中放四个单选按钮;用Shape控件画一个红色长方形运行时,单击相应单选按钮,改变图形的形状。 Private Sub Command1_Click() Shape1.Shape = 3 End Sub Private Sub Command2_Click() Shape1.Shape = 1 End Sub Private Sub Command3_Click() Shape1.Shape = 0 End Sub Private Sub Command4_Click() Shape1.Shape = 2 End Sub '调节形状控件Shape1的“BackColor”属性时,选择“调色板”后可以方便的选到红色; '形状控件Shape1的“BackStyle”属性需改为“1-Opaque”,否则颜色无法显示; '如程序中所示,形状控件Shape1的“Shape”属性即可改变形状; 50(设计一个窗体Forml,编写适当的事件过程。控制Text1 中背景色和字体格式。(字体默认为宋体,内容为“欢迎学习VB”)程序运行界面如图所示。 Private Sub Check1_Click() Text1.FontBold = Check1.Value '复选框是否勾选,通过Value属性反映; End Sub Private Sub Check2_Click() Text1.FontItalic = Check2.Value '不考虑灰化状态时,可以将复选框勾选与否视为一逻辑型数据; End Sub Private Sub Check3_Click() Text1.FontUnderline = Check3.Value End Sub Private Sub Form_Load() End Sub Private Sub Option1_Click() Text1.BackColor = vbRed End Sub Private Sub Option2_Click() Text1.BackColor = vbYellow End Sub Private Sub Option3_Click() Text1.BackColor = vbBlue End Sub 51(在窗体放一个文本框和四个组合框,界面如下图所示,组合框1 和组合框2 的颜色包括:白、黑、红、绿、蓝、黄。组合框3 的对齐方式有左、中、右。组合框4 字体大小有10、12、14、18、20、22 磅,试完成相应功能。 Private Sub Combo1_Click() x = Combo1.Text Select Case x Case "黑" Text1.ForeColor = vbBlack Case "白" Text1.ForeColor = vbWhite Case "红" Text1.ForeColor = vbRed Case "绿" Text1.ForeColor = vbGreen Case "蓝" Text1.ForeColor = vbBlue Case "黄" Text1.ForeColor = vbYellow End Select End Sub Private Sub Combo2_Click() x = Combo2.Text Select Case x Case "黑" Text1.BackColor = vbBlack Case "白" Text1.BackColor = vbWhite Case "红" Text1.BackColor = vbRed Case "绿" Text1.BackColor = vbGreen Case "蓝" Text1.BackColor = vbBlue Case "黄" Text1.BackColor = vbYellow End Select End Sub Private Sub Combo3_Click() x = Combo3.Text Select Case x Case "左" Text1.Alignment = 0 Case "中" Text1.Alignment = 2 Case "右" Text1.Alignment = 1 End Select End Sub Private Sub Combo4_Click() x = Combo4.Text Select Case x Case "10" Text1.FontSize = 10 Case "12" Text1.FontSize = 12 Case "14" Text1.FontSize = 14 Case "18" Text1.FontSize = 18 Case "20" Text1.FontSize = 20 Case "22" Text1.FontSize = 22 End Select End Sub '组合框的典型应用; '组合框style设置为下拉列表框时,默认的“Change”事件不会被触发,代码必须写在“Click”事件中; '此类下拉列表框一般对应多向分支结构,非常适合用Select Case结构处理; 52(利用两个列表框控件,设计选项移动窗体如上图。编写适当的事件过程实现功能要求。 Private Sub Command1_Click() n = List1.ListCount 'ListCount属性表示列表框中的元素个数; For i = n - 1 To 0 Step -1 If List1.Selected(i) = True Then List2.AddItem List1.List(i) 'List(i)中的i下界是0,上界是ListCount-1; List1.RemoveItem (i) End If Next i End Sub '由于移除元素会即时改变列表中元素个数, '及“之后”所有元素的序号, '所以借助For循环移除元素的时候, '需要从后向前遍历, '即i = n - 1 To 0 Step -1; Private Sub Command2_Click() n = List1.ListCount For i = n - 1 To 0 Step -1 List2.AddItem List1.List(i) '逐项加入,可单独执行; List1.RemoveItem (i) '逐项删除,可单独执行; Next i End Sub '列表框控件的“AddItem”方法后直接加需要添加的元素内容; '列表框的List(i)属性表示列表框的第i项; Private Sub Command3_Click() n = List2.ListCount For i = n - 1 To 0 Step -1 If List2.Selected(i) = True Then List1.AddItem List2.List(i) List2.RemoveItem (i) End If Next i End Sub '列表框控件的“Selected(i)”属性可用于判断第i项是否被选中; '此属性为逻辑型数据; Private Sub Command4_Click() n = List2.ListCount For i = n - 1 To 0 Step -1 List1.AddItem List2.List(i) List2.RemoveItem (i) Next i End Sub '列表框控件的“RemoveItem”方法可以在后面的圆括弧内直接写入对应项序号, '以此完成元素的删除; 53(设计如图所示界面,窗体上有两个标签,1 个文本框,1 个列表框和三个命令按钮。程序运行时,在文本框中输入文本,单击“添加”按钮,文本添加到列表框中,如果列表框中有相同的文本,则不再添加。单击“删除”按钮,选中的列表项从列表框中移去。单击“清除”按钮,文本框和列表框中内容清空。 Private Sub Command1_Click() Dim x$, n% n = List1.ListCount x = Text1.Text x = Trim(x) '避免首尾空格产生影响,如无余力,此句可省; y = False '用于标识是否已在列表中; For i = 0 To n - 1 Step 1 If List1.List(i) = x Then y = True End If Next i If y = False Then List1.AddItem x End If '根据自己的实际掌握情况,可以考虑追加如下代码方便增加新的内容: Text1.SetFocus Text1.SelStart = 0 Text1.SelLength = Len(Text1.Text) '追加代码结束; End Sub Private Sub Command2_Click() Dim n% n = List1.ListCount For i = n - 1 To 0 Step -1 If List1.Selected(i) = True Then List1.RemoveItem (i) End If Next i End Sub Private Sub Command3_Click() List1.Clear '清空列表框的最简易方法,如觉 End Sub 54(窗体上有一个名为L1 的列表框,通过属性向列表框添加3 个项目,分别是“123、456、789”。当启动后,每次双击列表框中任何一项,则总在最后添加一项,该项是所有项之和。界面如下图。 Private Sub Form_Load() List1.AddItem 123 List1.AddItem 456 List1.AddItem 789 End Sub '列表框初始值也可以直接在list属性中设置; '如选用设置list属性的方法,则上述程序段需省略; Private Sub List1_DblClick() s = 0 n = List1.ListCount For i = 0 To n - 1 Step 1 s = s + List1.List(i) Next i List1.AddItem s End Sub 55(设计界面如图所示,滚动条代表温度值,最小值是摄氏0 度(华氏32 度),最大值是摄氏100 度(华氏212 度)。编写程序,当程序运行时,当移动滚动条时,在标签中能正确显示摄氏、华氏温度值,其中摄氏温度C 与华氏温度F 的关系为:C=5(F-32)/9。设计界面如下图所示,运行时,当移动滚动条时,在标签中能正确显示摄氏、华氏温度值(C=5(F-32)/9) Private Sub VScroll1_Change() f = VScroll1.Value c = Fix(5 * (f - 32) / 9) Label1.Caption = f Label2.Caption = c End Sub '垂直滚动条的“Max”属性对应下端,“Min”属性对应上端; '滚动条的当前值通过“Value”属性读出; 56(设计上面界面,按“开始”按钮使标签在窗体上从左向右移动,当遇到窗体的右侧后,改成从右向左移动,按“停止”按钮停止标签移动。 Public x As Integer '以x的正负来决定标签的移动方向; Private Sub Command1_Click() Timer1.Enabled = True '以计时器控件的“Enabled”属性来控制计时器的开、关; End Sub Private Sub Command2_Click() Timer1.Enabled = False End Sub Private Sub Form_Load() x = 10 '初始让标签向右移动,也即标签的Left属性逐渐增大,x值取正; End Sub Private Sub Timer1_Timer() Label1.Left = Label1.Left + x If Label1.Left > Form1.Width - Label1.Width Then x = -10 '移动到右边沿后,改变移动方向为向左, End If '也即标签的Left属性逐渐减小,x值取负; If Label1.Left < 0 Then x = 10 '移动到左边沿后,改变移动方向为向右, End If '也即标签的Left属性逐渐增大,x值取正; End Sub 57(设计如图所示界面, 实现每过1 秒钟,文本框的前景色能够由红变绿交替变化。 Dim s As Boolean '由于只有两种颜色的变化,所以定义一逻辑型数来标示颜色; Private Sub Form_Load() s = True Text1.ForeColor = vbRed End Sub Private Sub Timer1_Timer() s = Not s If s = True Then Text1.ForeColor = vbRed Else Text1.ForeColor = vbGreen End If End Sub '计时器的工作必须要确保以下两条: '1:“InterVal”属性为正整数; '2:“Enabled”属性为True; '由于本题要求每秒变化一次,也即每1000毫秒变化一次, '所以计时器“InterVal”属性取1000; 58(单击第一个按钮,生成20 个[0,100]之间的随机整数,显示于文本框1 中,单击第二个按钮,求这20 个数中的最大数和最小数,显示于文本框2 中。 Dim a%, max%, min% 's1用于以字串形式存储二十个随机数,基本思路同第39套题一致; '考虑到两个事件都需要对以上三个变量进行调用,所以声明在公共部分; Private Sub Command1_Click() Randomize a = Fix(101 * Rnd()) s1 = Str(a) '第一个数写入s1字串中; max = a '暂时视第一项为最大值; min = a '暂时视第一项为最小值; For i = 2 To 20 Step 1 a = Fix(101 * Rnd()) s1 = s1 & " " & Str(a) '顺次将后续各数写入s1字串中; s2 = s2 + a '顺次将后续各数加入求和项s2中; If a > max Then '新数如大于原最大值,用新数作为最大值; max = a End If If a < min Then '新数如小于原最小值,用新数作为最小值; min = a End If Next i Text1.Text = s1 End Sub Private Sub Command2_Click() Text2.Text = "最大值是:" & Str(max) & vbCrLf Text2.Text = Text2.Text & "最小值是:" & Str(min) End Sub '文本框的的“Multiline”属性建议设置为True; '涉及到多个事件的变量需要定义在公共部分; '算法思路同第39套题一致; '显示部分借助文本框实现,注意与第39套题Print方法实现的思路进行对比; 59(编写程序,单击第一个按钮,用随机函数产生4 行5 列的两位整数并输出到图片框1中。单击第二个按钮,实现将第1 行和第3 行数据交换或第2 列和第4 列数据交换,输出到图片框2 中。 Dim a(1 To 4, 1 To 5), b(1 To 4, 1 To 5) Private Sub Command1_Click() Picture1.Cls Randomize For i = 1 To 4 Step 1 For j = 1 To 5 Step 1 a(i, j) = Fix(10 + 90 * Rnd()) '随机整数全取两位数; b(i, j) = a(i, j) '不建议直接对数组a进行处理; Picture1.Print a(i, j); Next j Picture1.Print Next i End Sub Private Sub Command2_Click() '由于题目不明确,所以这里做了两个按钮分别实现行列交换; Picture2.Cls For i = 1 To 5 Step 1 '只有两行参与交换,所以无需行遍历,也就无需二重循环; t = b(1, i) '只需将1、3两行的元素逐列对调即可; b(1, i) = b(3, i) b(3, i) = t Next i For i = 1 To 4 Step 1 '显示二维数组的标准定势; For j = 1 To 5 Step 1 Picture2.Print b(i, j); Next j Picture2.Print Next i End Sub Private Sub Command3_Click() Picture2.Cls For i = 1 To 4 Step 1 '只有两列参与交换,所以无需列遍历,也就无需二重循环; t = b(i, 2) '只需将2、4两列的元素逐行对调即可; b(i, 2) = b(i, 4) b(i, 4) = t Next i For i = 1 To 4 Step 1 '显示二维数组的标准定势; For j = 1 To 5 Step 1 Picture2.Print b(i, j); Next j Picture2.Print Next i End Sub 60(编写程序,求S=A~+B~+C~,阶乘的计算分别用Sub 过程、Function 过程实现,其中A、B、C 由键盘随机输入。界面如图所示 Private Sub Form_Click() '题目没有限定触发事件,这里选窗体的Click事件; Dim s1!, s2!, s3! '由于阶乘结果较大,建议不要设置为整型数; a = Text1.Text '从文本框中读入整型数的定式结构; a = Fix(Val(a)) b = Text2.Text b = Fix(Val(b)) c = Text3.Text c = Fix(Val(c)) Call JC1(a, s1) '用Call指令调用JC1过程; JC1 b, s2 '直接调用JC1过程,注意与上一方法区分; s3 = JC2(c) '调用JC2函数,注意与调用过程的区别; Text4.Text = s1 + s2 + s3 End Sub Public Sub JC1(a, b) '过程结果返回需要自行指定变量,所以需要的参数较函数多一个; x = 1 For i = 1 To a Step 1 x = x * i Next i b = x '除非用于返回结果,否则保险起见,不要轻易让参数出现在等号右侧; End Sub Public Function JC2(a) x = 1 For i = 1 To a Step 1 x = x * i Next i JC2 = x '函数名称对应的变量直接可以返回结果; End Function 61 ( 设计如下图所示界面, 单击时输出N! 和 1!+2!+„+N!结果,要求N!用过程实现。 Private Sub Command1_Click() Dim s1! N = Text1.Text N = Fix(Val(N)) Call JC(N, s1) Text2.Text = s1 End Sub Public Sub JC(a, b) x = 1 For i = 1 To a Step 1 x = x * i Next i b = x End Sub Private Sub Command2_Click() Dim s2! s2 = 0 N = Text1.Text N = Fix(Val(N)) For i = 1 To N Step 1 Call JC(i, x) '计算i的阶乘并将结果存放在x中; s2 = s2 + x '顺此类加各x,即各阶乘结果; Next i Text3.Text = s2 End Sub 62(利用Function 计算N~,求组合数 在文本框1 中输入n,文本框2 中输入m,单击命令按钮,在文本框3 中显示组合结果。 Private Sub Command1_Click() n = Text1.Text n = Fix(Val(n)) m = Text2.Text m = Fix(Val(m)) If n >= m Then Text3.Text = JC(n) / (JC(m) * JC(n - m)) '如果觉得消化不了整段程序,整个if语句可以仅保留这一行; Else Text3.Text = "n不能小于m~" End If End Sub Public Function JC(a) x = 1 For i = 1 To a Step 1 x = x * i Next i JC = x End Function 63.编写一个判断素数的过程,调用该过程判断在文本框中输入的任意一个正整数是否为素数,判断结果在标签中输出。设计界面如图所示。 Private Sub Command1_Click() n = Text1.Text n = Fix(Val(n)) If SS(n) = True Then Label1.Caption = Str(n) & "是素数" Else Label1.Caption = Str(n) & "不是素数" End If End Sub Public Function SS(a) ysgs = 0 For i = 1 To a Step 1 If a Mod i = 0 Then ysgs = ysgs + 1 End If Next i If ysgs = 2 Then SS = True Else SS = False End If End Function 64(设计如图所示的界面,编写函数过程计算1+2+3+„„+n,运行时输入i、j、k 的值,单击“y=”按钮调用该函数过程计算以下的y 值,运算保留5 位小数。运行结果如图所示。 Private Sub Command1_Click() i = Text1.Text i = Fix(Val(i)) j = Text2.Text j = Fix(Val(j)) k = Text3.Text k = Fix(Val(k)) s = (LJ(i) + LJ(j)) / LJ(k) Text4.Text = Format(s, ".00000") '小数点保留五位的方法; End Sub Public Function LJ(a) x = 0 For i = 1 To a Step 1 x = x + i Next i LJ = x End Function 65(生成两个0~10 之间的随机整数矩阵,分别放入两个列表框,求两个矩阵之和放入第三个列表框。如下图所示。 Dim a(1 To 4, 1 To 4), b(1 To 4, 1 To 4), c(1 To 4, 1 To 4) '建立三个数组用于存放矩阵; Private Sub Command1_Click() For i = 1 To 4 Step 1 s3 = "" '用于存储矩阵求和结果各行元素输出到list3中 For j = 1 To 4 Step 1 c(i, j) = a(i, j) + b(i, j) s3 = s3 & Format(c(i, j), "@@@") Next j List3.AddItem s3 Next i End Sub Private Sub Command2_Click() End End Sub Private Sub Form_Click() '由于题目未对生成矩阵事件作出约束,此处选窗体的Click事件; Randomize List1.Clear '列表框初始化; List2.Clear '列表框初始化; List3.Clear '列表框初始化; For i = 1 To 4 Step 1 s1 = "" '用于存储矩阵1各行元素输出到list1中 s2 = "" '用于存储矩阵2各行元素输出到list2中 For j = 1 To 4 Step 1 a(i, j) = Fix(11 * Rnd()) b(i, j) = Fix(11 * Rnd()) '生成所需的两个矩阵; s1 = s1 & Format(a(i, j), "@@@") s2 = s2 & Format(b(i, j), "@@@") Next j List1.AddItem s1 List2.AddItem s2 Next i End Sub 66(编写程序,实现矩阵转置,即将一个n m 的矩阵(均由随机函数产生,并且是两位整数)的行和列互换。单击显示按钮将原矩阵放在图片框1,单击转置按钮将转置后的矩阵输出在图片框2。 Dim a(1 To 4, 1 To 5) '由于题目未制定行列数目,这里取4行5列 Private Sub Command1_Click() Randomize Picture1.Cls Picture2.Cls For i = 1 To 4 Step 1 '矩阵生成的定式结构; For j = 1 To 5 Step 1 a(i, j) = Fix(10 + 90 * Rnd()) Next j Next i For i = 1 To 4 Step 1 '矩阵显示的定式结构; For j = 1 To 5 Step 1 '对比之前第42套题可知,矩阵的生成和显示可以借助一个二重循环实现; Picture1.Print Format(a(i, j), "@@@"); Next j Picture1.Print Next i End Sub Private Sub Command2_Click() For j = 1 To 5 Step 1 '矩阵显示的定式结构; For i = 1 To 4 Step 1 '只需对调内外层循环次序即可完成转置; Picture2.Print Format(a(i, j), "@@@"); Next i Picture2.Print Next j End Sub 67(用菜单设计一个简单的四则运算计算器,界面如图所示。 Private Sub C1_Click() x = Text1.Text x = Val(x) y = Text2.Text y = Val(y) Text3.Text = x + y End Sub Private Sub C2_Click() x = Text1.Text x = Val(x) y = Text2.Text y = Val(y) Text3.Text = x - y End Sub Private Sub C4_Click() x = Text1.Text x = Val(x) y = Text2.Text y = Val(y) Text3.Text = x * y End Sub Private Sub C5_Click() x = Text1.Text x = Val(x) y = Text2.Text y = Val(y) If Not y = 0 Then Text3.Text = x / y Else Text3.Text = "除数不可以为0~" End If End Sub '菜单分隔线的追加方法:建立一个菜单项, 68(请在名称为Fl 的窗体上建立一个两级下拉菜单,第一级共有两个菜单项,标题分别为“文件”、“编辑”,名称分别为file、edit;在“编辑”菜单下有第二级菜单,含有三个菜单项,标题分别为“剪切”、“复制”、“粘贴”,名称分别为cut、copy、paste。其中“粘贴”菜单项设置为无效,如图所示。无需写代码。 69.在名称为Form1 的窗体上画两个文本框,名称分别为Textl 和Text2,均无初始内容;再建立一个下拉菜单,菜单标题为“操作”,名称为OP,此菜单下含有两个菜单项标题分别为“复制”和“清除”,名称分别为Copy 和Clear,界面如图所示,请编写适当的事件过程,使得在运行时,单击“复制”菜单项,则Textl中的内容复制到Text2 中单击“清除”菜单项,则清除Text2 中的内容。 Private Sub Clear_Click() Text2.Text = "" End Sub Private Sub Copy_Click() Text2.Text = Text1.Text End Sub 70(在窗体上画一个名称为Text1 的文本框,再建立一个名称为Geshi 的弹出式菜单,含三个菜单项,标题分别为“加粗”、“斜体”、“下划线”,名称分别为OP1、OP2、OP3。请编写适当的事件过程,在运行时当用鼠标右键单击文本框时,弹出此菜单,选中一个菜单项后,执行相应的操作, 界面如图所示。 Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Text1.Enabled = True Text1.Enabled = False ‘屏蔽系统菜单 If Button = 2 Then '调用快捷菜单的定式结构; PopupMenu Geshi End If End Sub Private Sub OP1_Click() Text1.FontBold = Not Text1.FontBold End Sub Private Sub OP2_Click() Text1.FontItalic = Not Text1.FontItalic End Sub Private Sub OP3_Click() Text1.FontUnderline = Not Text1.FontUnderline End Sub 第二种 复选式 Private Sub Form_Load() OP1.Checked = Text1.FontBold '忽略灰化项,直接用逻辑型数据对菜单项是否勾选进行赋值; OP2.Checked = Text1.FontItalic OP3.Checked = Text1.FontUnderline End Sub Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = 2 Then '调用快捷菜单的定式结构; PopupMenu Geshi End If End Sub Private Sub OP1_Click() Text1.FontBold = Not Text1.FontBold OP1.Checked = Text1.FontBold End Sub Private Sub OP2_Click() Text1.FontItalic = Not Text1.FontItalic OP2.Checked = Text1.FontItalic End Sub Private Sub OP3_Click() Text1.FontUnderline = Not Text1.FontUnderline OP3.Checked = Text1.FontUnderline End Sub 71(在窗体上画一个名称为Sha1 的形状控件,然后建一个菜单,标题为“形状”名称为Shape0,该菜单有两个子菜单,其标题分别为“正方形”和“圆形”,其名称分别为Shape1和Shape2,再建第二个菜单,标题为“填充色”,下设两个子菜单,其标题分别为“红色”、“蓝色”,名称分别是C1 和C2。如下图所示,编写适当的事件过程。程序运行后,使Sha1控件按照所选择的形状、颜色而变化。 Private Sub C1_Click() Sha1.BackColor = vbRed End Sub Private Sub C2_Click() Sha1.BackColor = vbBlue End Sub Private Sub Shape1_Click() Sha1.Shape = 1 End Sub Private Sub Shape2_Click() Sha1.Shape = 3 End Sub 各位尊敬的读友,谢谢大家观看本文,如有需要请下载编辑使用,谢谢大家,本人将继续为大家分享跟多的文档资料,谢谢~ 以下为附加文档,如果不需要请下载后编辑删除 二、管理规定和制度 公司资质、法人委托书的 管理制度 档案管理制度下载食品安全管理制度下载三类维修管理制度下载财务管理制度免费下载安全设施管理制度下载 1、 公司的各种资质证书、样本、ISO9001质量证书、ISO14001环境证书、ISO18001 安全证书由工程管理部统一进行管理。 2、 各工程处对外洽谈工程前,应填写资质领取申请表,提供工程名称、建设单位、工 程详细地址和工程具体情况后方可登记领取公司资质复印件壹套。工程信息由公司 统一编号,统一发资质文件。该资质所加盖公司证件章上注明工程名称、有效期、 编号。此资质复印无效。无具体工程名称者不得领取资质。 3、 领取资质文件须与公司签订合作协议和缴纳管理费。否则,公司拒绝出据任何资料。 4、 工程项目登记以谁先登记,谁为主的原则。 5、 资质应由各工程处负责人到工程管理部领取。若负责人确实无法亲自领取资质的, 由负责人委托1,2人办理领取资质事宜。委托应注明被委托人的姓名、职务、详 细联系方式。被委托人对登记的项目应跟踪落实,及时了解详细项目进展情况。 6、 对工程情况不详细的,公司有权不办理资质登记手续。如登记项目名称相似,以甲 方正确名称和详细工程地址为准。 7、 各分公司应设立信息员,每天及时将本区域的项目信息电话及传真报公司登记。 8、 资质有效期为三个月,三个月内,工程处对所跟踪项目应主动续领资质,如不申报 将视为自动放弃,公司不再进行核实,其他工程处有权直接登记和领取资质。 9、 各工程处领取资质后应积极主动跟踪项目进展情况,如遇到两个工程处相遇且不让 出项目,又不报名参加投标,对此公司将作出处罚,同时取消该工程处项目登记优 先权。 10、 工程处在工程管理部领取公司样本及承接工程的加盖证件章的公司资质文件,须交 纳工本费。 11、 公司要求工程处施工现场使用统一制度牌,统一着装,统一佩带胸卡。由公司统一 制作,工程处到工程管理部付费领取。 12、 项目登记后,招标文件下发之前,可由公司开据介绍信进行工程洽谈。 13、 公司的法人委托书由工程管理部登记签发,招标文件获取后,各工程处在领取资质 的基础上,填写法人委托书申请表,内容包括:被委托人姓名、联系电话、身份证 号码、项目名称、对应的资质编号、项目名称、被委托事宜。经法人或公司主管领 导批准后,方可办理。 14、 委托代理人应为各工程处负责人。若确实需要第二代理人时,由工程处负责人出据 委托书,并将第二代理人的身份证复印件、工作简历、具体地址及联系电话留工程 管理部备案,否则有权不予办理。 公司资质证书管理规定 一、 公司的营业执照、施工资质、IC投标卡、三个认证及公司的各项获奖证书等资质 原件均由工程管理部统一进行管理。 二、 各工程处对外洽谈工程,需使用资质原件,应事先向工程管理部提供工程名称及 相关招标文件或邀请函登记使用。 三、 凡是借用公司资质,工程管理部须派人员同去,以缩短资质使用的周转时间。 四、 各工程处如需在外地投标、施工或办理相关手续,须出示有关证明提前通知工程 管理部。工程管理部指派专人陪同前去,由此所发生的费用均由使用单位承担。 五、 各工程处建造师证书和岗位证书及获奖证书,统一由工程管理部进行保管。 六、 异地IC卡的使用规定执行公司《关于省级施工许可证和省级以下备案证的管理 办法》 七、 凡是需要公证公司资质,须经公司主管领导审批后,由工程管理部陪同办理手续, 并在工程管理部登记备案,使用完毕及时交回工程管理部保存。 八、 公司资质扫描件由公司工程管理部统一管理,根据招标文件或预审文件要求提 供,并登记备案。 九、 为保证公司各种资质证书完好,凡使用证书均需爱护,保证资质证书干净、整洁、 不损坏。 十、 凡未在公司登记备案和登记内容不符,对外所发生的一切事宜均与公司无关,由责任方自负。 公章使用管理规定 一、 公司印签及法人印签、设计专用章由办公室统一管理。各工程处因工程等需 盖公司章,应到工程管理部登记备案,由工程管理部负责联系到办公室盖章 登记。 二、 凡是需要盖设计专用章,应到办公室登记备案,由办公室负责办理。 三、 各工程处如需盖安全、消防等章,应到公司工程管理部登记备案,由工程管 理部负责办理。 四、 公司的 合同 劳动合同范本免费下载装修合同范本免费下载租赁合同免费下载房屋买卖合同下载劳务合同范本下载 章归工程管理部管理,各工程处签订工程合同时,按照公司《合 同管理规定》执行。 五、 工程竣工后,需盖竣工图专用章和决算章,各工程处应按照公司《关于工程 资料管理规定》执行,将竣工资料交公司后,由工程管理部登记并签订汇签 单,方可盖章。 六、 负责管理印签人员严格按相关要求审核和批准,详细做好登记工作。特殊情 况工程处负责人书面提出申请和说明,公司主管领导签字,方可盖章。 七、 各分公司、工程处必须严格执行公司公章使用管理规定,不准私刻公章,否 则,公司将追究其责任人刑事责任和法律责任。 八、 以下各类情况之一均须到公司盖章,具体情况如下: 1、 投标书及资格预审文件盖章,由工程管理部(经营部)审核后,根据具体 情况加盖公司章或投标专用章及封标专用章。 2、 凡是以公司名誉对外发布的公函、往来文件等经公司负责人审核登记后, 盖公司公章。 3、 工程预算书盖章,工程管理部需留存复印件一份备案后,盖预算专用章。 4、 工程结算盖章,工程管理部留存经甲方确认后的原件备案。 5、 工程管理部盖章,一般工程性往来文件、信函、洽商等文件的使用范围, 需盖工程管理部印章。 项目部印章管理使用暂行办法 依据公司印章使用管理暂行办法,特制定本办法。 1、 凡是施工合同在100万元以上的工程,该工程项目部可向工程管理部申请刻制“公 司某工程项目部”印章壹枚,并办理相关手续。 2、 项目部印鉴由工程管理部资信部负责联系,指定刻章单位统一刻制,项目部无权自 行刻制印鉴。 3、 项目部印章只可使用于该项目在施工过程中与甲方的洽商等文件往来。 4、 项目部印章须由指定专人保管、使用,并在使用过程中详细登记其用途。 5、 项目部不得使用于任何形式的合同签订、对甲方的结算,对供货商的付款承诺及欠 款文书。(特殊情况需主管领导批示,所对外盖章的资料原件须报工程管理部备案) 6、 凡是违反第五项规定私自使用项目部印章的,公司均不予以承认;所产生的经济责 任全部由项目部自行承担。 7、 各工程处因工程项目需要刻项目章,应由工程处负责人向工程管理部提出书面申 请,并注明工程名称、使用时间、使用范围、保管人员等事宜,经公司主管领导批 准后,由公司(资信部)办理、备案后方可使用,工程竣工后一个月内(特殊情况 另行说明)将项目部章和盖章登记薄交工程管理部备案,待该项目保修期满后,经 公司核定后,集中销毁。未按公司规定执行的,公司将对其进行严肃处理。 承诺书 北京业之峰诺创建筑装饰工程有限公司: 我处因工程需要,特申请刻制工程项目印章一枚。,做到以下承诺: 一、 项目名称: 二、 使用范围:1、与甲方项目洽商、设计变更、往来文件。 2、向公司申报有关资料。 三、 使用时间:依据合同开、竣工日期,限定该项目章的有效使用日期 自 至 止。 四、 印章管理负责人: 五、 严格执行公司项目章使用登记管理制度,不准对外签订各项合同、协商和付款承 诺及欠款文书。 六、 项目章交回公司的同时,一并将印章使用登记记录交回公司存档。 七、 该项目章由此发生的一切经济责任和法律纠纷,均由我工程处自行承担和处理相 关事宜,公司不负任何连带责任。 承诺人: 工程 处 年 月 日 公司建造师、职称、上岗证等证书 管理规定 为了整合公司人力资源,充分发挥各工程处资源优势,达到优势互补、资源共享目的,使各分公司、工程处在对外洽谈项目过程中,能够充分利用人力资源,进一步提高市场竞争力,扩大市场占有率,现特制定如下管理办法: 1、 公司的建造师证书、职称证及各种上岗证书的原件,由工程管理部统一管理。 2、 各工程处凡是以公司名称办理的各种证书,原件留存在工程管理部。 3、 工程管理部对所有证书原件进行统一建档、保存,并输入计算机管理,留存所有 扫描件。 4、 各工程处如需借用建造师证书,须出示相关文件(资格预审文件或招标文件), 并在工程管理部登记备案,由工程管理部统一调配使用,用完后保证按时返回工 程管理部。 5、 工程管理部负责证书的年检、联系培训学习及办理新增证书的工作。 6、 各种证书的使用包括复印件,统一由工程管理部调配,凡使用本处各种证书原件、 复印件,均不收取任何费用,如使用其它处证书原件、复印件,均须收取一定费 用,使用范围包括:预审文件、投标文件以上收取的费用由工程管理部代收,公 司财务负责管理,此费用专款专用。范围:证书年检、专业培训、学习资料等。 7、 投标单位如需建造师或各岗位人员出现场,工程管理部负责与其它工程处协调联 系,其费用由使用单位和被使用单位协商解决。 8、 各工程处使用证书原件,应保证证书原件干净、整洁、完璧归赵。 9、 凡使用公司一级建造师证书投标或资格预审的工程处(本工程处建造师除外), 应提前向公司申报,避免发生工程项目重复使用建造师或废标等现象。 10、 凡是公司提供建造师证书或岗位证书复印件均需加盖红章,并写明用于×××工 程字样,如果在投标文件或资格预审文件中没有公司加盖工程名称红章,公司不 予盖章。 工程合同管理规定 为了建立健全公司合同管理制度,规范企业管理,使公司合同管理制度更加规范化、制度化、科学化,根据《合同法》、《建筑法》、《招投标法》及有关法律、法规,结合我公司实际情况,特制定如下规定。 1、 合同的签订,须遵守国家的法律、法规和国家 计划 项目进度计划表范例计划下载计划下载计划下载课程教学计划下载 ,遵循平等互利,协商一致的原 则。 2、 公司工程施工合同由工程管理部管理,设计合同由办公室管理。 3、 签订合同之前,必须取得公司法定代表人的授权委托书。 4、 签订合同人员必须是经过公司任命的各工程处负责人,特殊情况第二签订人须由第 一签订人开据授权委托书报工程管理部备案。 5、 签定工程合同必须提前2天,将合同文本交工程管理部进行审核对合同内容不严谨 或不利于公司及工程处方面的条款内容进行协商变更。 、 签订工程合同前须经法律事务部、财务处、工程管理部审核后填写“合同签订前汇6 签单”,汇签单一式三份,领导、财务处、工程管理部各一份,作为合同的基本内 容参考,汇签单各项内容均填写真实有效,以便对工程进行跟踪。 7、 工程合同签定公司留存合同文本一正三副,财务处留存正本原件,工程管理部留存 副本两份,信用管理处留存副本一份。 8、 工程管理部对所签订的工程合同进行登记,建档并建立明细表,同时对合同内容进 行跟踪。 9、 合同文本中须填写建造师,如此建造师不是本公司在册人员,应由工程处负责人写 书面委托并将其建造师原件、复印件保留公司,直至工程竣工完成。 10、 工程合同需变更或合同终止,应及时通知工程管理部,否则,出现法律纠纷及其他 事宜,均由责任方承担。 11、 未生效合同,需在一个月内全部交回公司,各工程处负责人监督执行交回情况,对 未按规定执行且没有说明情况的工程处,公司将对其停办一切事宜。 12、 凡需携带工程合同章出京的工程,应事先提出申请及核定合同内容,提请主管领导 批准,由工程管理部派专人保管及盖章。 13、 对于未签订合同已施工的项目,须及时将实际情况以书面的形式上报公司,并经主 管副总经理批准后,方可进行施工,工程管理部负责将工程基本情况写明,并转财 务处和信用管理处备案。 14、 凡在原有合同基础上再次施工的工程,须签订新的工程合同或提报公司备案。 15、 没有按照公司规定擅自施工的,公司将按照相关规定和制度对其进行严肃处理。 16、 合同签定须写明公司开户银行: 17、 工程合同1000万以下由各部门审定汇签,大型合同(造价在1000万元以上)应由 主管领导审定,2000万以上由公司总经理审定。 18、 合同履行完毕并已竣工,应向公司上交完整的竣工资料及施工图,工程照片等资料。 转发关于进一步加强建设工程 施工劳务分包和用工管理的通知 为贯彻国务院《关于切实解决建设领域拖欠工程款问题的通知》(国办发[2003]94号)要求,规范建筑市场秩序,完善信用体系,标本兼治,综合治理,解决我市建设领域拖欠农民工工资问题,进—步加强建设工程施工劳务分包和用工管理,根据有关法律法规,结合我市实际,现通知如下: 一、加强施工劳务分包管理 1、施工总承包企业、专业承包企业分包劳务必须使用有资质的劳务企业,禁止使用无资质企业。凡违反规定使用无资质企业的,依法给予行政处罚;造成拖欠农民工工资的,发包单位必须先行支付工资。 2、外地建筑劳务企业来京施工,必须按照《关于外地建筑业企业进京施工实行档案管理的通知》(京建管[2001]595号)的规定建立企业管理档案。没有建立企业管理档案的外地建筑企业,不得在北京承揽建设工程。 3、外地建筑劳务企业在京施工应办理项目管理备案。未办理项目管理备案的,记入市建设行业信用系统,情节严重的,取消在京承包工程资格。 二、加强企业用工管理 1、劳务企业需录用人员从事施工劳务的,必须与录用人员依法签订劳动合同,明确规定双方的权利和义务,特别应列明保障劳动者合法权益的条款,切实保证劳动者合法权益。 2、未依法与劳动者签订劳动合同而使用的人员视同零散工,按《北京市人民政府 关于外地建筑企业来京施工管理暂行规定》关于不得使用零散工的规定予以处罚,并记入市建设行业信用系统。 3、使用零散工的用工单位,应按规定结算工资,并清退零散人员。拒不执行上述规定,致使发生极端、群体事件的,取消在京承包工程资格。 4、外省市建设行政主管部门设立的驻京管理机构,要加强对本省在京劳务分包企业和人员的管理(督促企业依法用工。 三、切实解决劳务工资兑付 1、施工总承包企业应建立健全劳务分包管理制度,设立管理机构,配备与施工劳务作业规模相适应的管理人员。按照实施“阳光工程”的有关规定,制定劳务分包款支付制度和措施。 2、各施工企业必须严格执行《关于解决建设领域拖欠工程款和拖欠农民工工资问题的通知》(京建经[2003]185号)等有关规定,清理拖欠的农民工工资。 3、对拖欠农民工工资的施工总承包企业、专业承包企业和劳务企业,记入市建设行业信用系统,并向社会及时公布。由于拖欠农民工工资而引发极端、群体性事件,情节严重的,取消在京承包工程资格。 4、自2004年起,市和区县建委每一季度检查一次全市建筑企业支付农民工工资情况。对不按规定支付农民工工资的企业,按本通知规定给予严肃处理。 二OO三年十二月十二日 投标书制作管理办法 公司为树立对外统一形象,打造企业品牌,提升企业的市场竞争能力,现制定投标书制作管理办法,望参照执行。 一、 资格预审文件和投标书原则上由工程管理部经营部统一制作,收取部分工本费详见 标书制作费用计取办法。经营部制作标书服务范围包括答疑、现场勘测、封标、开 标、竞争对手报价分析等详见北京业之峰诺创建筑装饰工程有限公司经营部简介。 二、 各工程处自行编制的资格预审文件和投标书,必须由专业人员编制,使用由公司提 供的统一徽标和业绩文件。 三、 各工程处自行编制的资格预审文件和投标书,应严格按照公司要求制作,经工程管 理部经营部审核后方可盖章报送,并在经营部留存备案一份。 四、 各工程处自行编制的工程预算和结算文件,需经工程管理部经营部审核后方可盖章 报送,并在经营部留存备案一份。 五、 资格预审文件和投标书的装订方式应参照经营部制作的标准范本,封装应使用建委 标办的统一封条或甲方要求格式。 六、 委托经营部制作的标书,应视标书的难易程度预留足够的制标时间。 后附标书制作费用计取办法 标书制作费用计取办法 序 业务类型 取费基数 取费标准 备注 号 正本 成本计取 300元/套 资格预 一 副本 成本计取 100元/套 视内容复杂程度调整收费 审 分页资料 单页计取 2—5元/页 1000万以上取0.8?,500万 商务标 工程造价 0.8? 及以下取1.0? 二 招投标 正本 2000元/本 技术标 副本 500元/本 视内容复杂程度调整收费 分页资料 单页计取 2—5元/页 1000万以上取1.0?,500万 已做预算 1.0~1.5? 项目过及以下取1.5? 三 工程造价 程服务 1000万以上取2.0?,500万 未做预算 2.0~2.5? 及以下取2.5? 1000万以上取0.5?,500万 结算造价 1.0~1.5? 及以下取1.5? 参与投标 成本造价增幅额度 10? 四 结算 2.0~2.5? 有预算资料 结算造价 2.5~3.0? 无预算资料 未参与投标 成本造价增幅额度 10? 注: 1、对于“标准套用”工程取相应折减系数。 2、计取费率标准在500~1000万元之间,按曲线插值法计算。 3、上表未尽项目标准,实际发生双方协商制定。 4、工程造价100万元以下,按1000元计取。 地 址: 邮 编: 联 系 人: 联系电话: 传 真: 关于“三个认证”贯标管理及 强化现场管理的规定 为了加强各分公司、工程处及项目部规范化管理强化三个认证体系的贯标意识,树立公司的对外形象,增强各级管理人员的责任感,现制定如下管理规定,望各单位遵照执行。 一、 公司所属各单位、各部门及所有施工项目必须进行“三个认证”的贯标工作。 二、 各工程处须设立专职部门及人员专项负责“三个认证”工作,公司将各单位的贯 标工作作为对其考核的重要依据。 三、 各施工项目须设立以建造师为主并配以专职人员组成贯标小组负责本项目的贯 标工作。 四、 各项目的管理资料,往来文件形式应统一,施工和贯标资料应认真填写并依据公 司有关规定进行收集和整理。 五、 施工现场必须挂贴公司标志性标语(最少一次),如:质量方针,环境安全方针 等。 六、 现场管理人员必须持证上岗,佩带标志和编制成员名册上报公司工程管理部。 七、 开工前须报开工资料到工程管理部后方可施工,否则公司将不予办理竣工验收。 八、 现场应建立健全各种规章制度并制成统一的牌示挂贴。 九、 所有对外管理协议须由工程管理部审定、认可方可签订。 十、 施工前编写质量、环保、安全保证、预防及应急措施报工程管理部审查、认可, 并接受监督、检查。 十一、 施工前,组织有关人员进行三个认证 管理手册 培训机构运营管理手册1项目标准化管理手册碧桂园销售管理手册园林景观工程管理手册人力资源管理手册 的学习和培训,做好记录。 十二、 施工前与各劳务分包及材料供应商签订质量、环保、安全协议。 十三、 施工前应做好技术、安全交底,做好记录。 十四、 施工中与工程管理部定好的检查项目和竣工应提前三天报工程管理部到场检查、 验收。 工程质量管理制度 为加强公司的施工工程质量管理,并根据公司《ISO9001质量管理体系》、《ISO14001环境保护管理体系》、《职业健康管理体系》贯标要求,针对建造师部的质量管理作出以下规定,各分公司、工程处必须严格贯彻执行。 一、 基础工作 1.1建造师部对全体员工进行“三个认证”贯标意识教育,牢固树立“精心设计, 严细施工,管理达标,工程创优,顾客满意,质量取胜”的思想。 1.2 根据公司建立的ISO9001质量保证体系,依据承包的项目及内容,由建造师部 组织体系的有效运行,由质检员按要求认真填写有关的质量记录,并经常检查质量 保证体系的运行情况。 1.3严格执行国家现行规范、标准及企业的各项规定,严格按照设计文件组织施工。 1.4按照质量验评标准检查施工质量,对承包范围内的分部、分项工程组织质量评 定,并将评定结果交项目工程师核查。 1.5每个分项工程(工序)开工之前,施工单位的技术人员及工长必须对操作班组 进行技术、质量安全交底,交底书形式按照统一格式进行,且要求形成书面资料交 建造师部。 1.6建造师部实行“三检制”即自检、互检、交接检,其中自检、交接检必须有检 查记录。 二、 物资检验规定 2.1建造师部必须对所有进场的原材料、半成品,组织检查,并认真作好书面记录。 2.2所有进场的物资必须提供合格的材质证明或出厂合格证。 2.3对需要做复试的原材料,如水泥、钢材、砂石料、各种附加剂、焊条、焊剂、 防水材料等,必须按规定及时取样试验,并将试验报告提供给建造师部备查。 2.4对进场的物资必须进行标识,按照已经检验合格、未经检验和经检验不合格等 三种状态进行分种类堆放,严格保管,防止误用不合格的材料。 2.5对于不合格物资的处理,各分项施工部必须及时以书面形式向建造师部汇报, 同时要注明处理结果或材料的去向。 三、 工序检验规定及报验 3.1建造师部应抓好班组的自检工作,设立质检人员认真督促操作班组的自检,并作好书面记录。 3.2分部分项(工序)工程完成后,各分项施工部必须组织检查,不合格的部分及时返修,达到合格后由建造师部进行复查。 3.3在分项工程或工序完成后认真组织两个工序(工程)间的交接检查,不合格的分项或工序,不经返修合格不得进行下道工序施工。 3.4自检合格后须经建造师部复检并得到认可后方可开始下道工序施工。申请复检必须以书面形式填写,并附自检记录、交接检记录、隐蔽记录、预检记录、质量评定等资料,否则一律不予验收。 3.5严格按照“三检制”组织检验各道工序的施工质量,隐蔽工程项目要由监理工程师、专职质检员、技术负责人等相关人员进行隐蔽验收,未经验收不得进行下道工序。做到”检查上道工序,保证本道工序,服务下道工序”,真正做到严格控制工序的质量。 3.6质检人员必须严格控制施工过程中的质量,在施工过程中严格把关,不得隐瞒施工中的质量问题,并督促操作者及时整改。 3.7建造师部专职质检人员,在施工过程中发现质量问题,一经其提出(口头通知和书面通知),施工部门必须无条件的执行,并认真整改,整改完毕报建造师部质检人员复查。 四、 不合格分项(工序)处理规定 4.1施工中若出现施工质量严重不合格。施工部门不得擅自进行处理,必须及时向建造师部质检部门汇报,由建造师部制定处理方案。施工单位必须严格按照处理方案进行返修,并将处理结果报建造师部质检部门。 4.2凡因施工不当造成的一切后果(包括经济损失),一律由施工单位自负。 4.3施工中出现质量事故,施工单位必须按规定填写质量事故报告单及时报建造师部,按规定严格处理。 五、 工程质量评定规定 5.1各施工部门应对承包范围内的分项工程进行质量评定,分项工程质量评定应按照验评标准进行评定,不得闭门造车。 5.2分项工程质量评定必须在班组自检的基础上由工长组织有关人员进行,由质检员核定质量等级。 5.3分项工程质量评定过程中出现不合格,由质检员下发整改通知,并于整改后重新评定。 5.4分项工程质量评定,由施工部门组织自检评定,报建造师部进行核定,主要分项由建造师部核定。 六、 质量检查资料管理评定 6.1质量检查基础资料,由质检员负责填写、整理,报建造师部质检部。 6.2各种质量保证资料,必须与施工同步进行,不得后补,以保证资料的完整、真实、整齐。 6.3施工单位质检组必须编制月度质量检查计划,并列出检查标准的依据,严格按照检查计划进行控制、检查、评定。 6.4质量检查资料必须统一,格式要标准化,严格按照DBJ01-51-2003进行质量检查、评定。 施工安全管理制度 1、 认真贯彻“安全第一、预防为主”主方针,管生产必须管安全的原则,保证 员工在生产过程中的安全、健康、促进生产。 2、 各部门要加强安全生产的领导,尊重科学,严格管理,安全生产指标是考核 企业的重要技术经济指标之一。 3、 施工组织设计(施工方案)都必须有切实可行的安全措施,对爆破、吊装、 水下、深坑、支模、拆除等大型特殊工程,都要编制单项安全技术方案并确 定相应的责任人。否则不得开工,安全技术措施要有针对性,要根据工程特 点、施工方法、劳动组织和作业环境提出,防止一般化。 4、 实行逐级安全技术交底制度,开工前,技术负责人要将工程概况、施工方法、 安全技术措施等情况向全体职工进行详细交底。工长要按工程进度定期或不 定期的向有关班组长进行交叉作业的安全交底。班组每天要对工人进行施工 要求、作业环境的安全交底。 5、 施工现场道路、上下水及采暖管道、电气线路、材料堆放、临时和附属设施 等的平面布置,都要符合安全卫生、防火要求,并加强管理,做到安全生产 和文明施工。 6、 各种机电设备的安全装置和起重设备的限位装置都要安全有效。要建立定期 维修保养制度,保证设备安全使用。 7、 施工现场和木工加工场地和贮存易燃、易爆器材的仓库必须专人管理,要建 立防火管理制度,备足防火设施和灭火器材,要经常检查、保持良好。 8、 加强季节性劳动保护工作,夏季要防暑降温,冬季要防寒防冻,防止煤气中 毒,雨季和大风到来之前应对临时设施和电气设备进行检修,沿河流域的工 地要做好防洪抢险准备,雨雪过后要采取防滑措施。 (一)安全责任制度 1、 公司员工要热爱本职工作,努力学习,提高文化、技术和业务水平、操作技 能,做到全员持证上岗。积极参加安全生产的各种活动,提出改进安全工作 意见,搞好安全生产。 2、 遵守劳动纪律、服从领导和安全检查人员的指挥,工作时思想集中,坚守岗 位,未经许可不得从事非本工种作业,严禁酒后上班,不得在禁止烟火的地 方吸烟动火。 3、 严格执行操作规程,不得违章指挥和违章作业,对违章作业的指令有权拒绝, 并有责任制止他人违章作业。 4、 按照作业要求正确穿戴个人防护用品,进入施工现场必须戴安全帽,在没有 防护设施的高空、悬崖和徒坡施工必须系安全带,高空作业不得穿硬底和带 钉易滑的鞋,不得往下指投掷物料,严禁赤脚或穿高跟鞋、拖鞋进入施工现 场。 (二)安全教育 1、 广泛开展安全生产的宣传教育,使各级领导和广大员工,真正认识到安全生 产的重要性、必要性,懂得安全生产、文明生产的科学知识,牢固树立安全 第一的思想,自觉地遵守各项安全生产法令和规章制度。 2、 要建立经常性的安全教育和培训考核制度,要把《安全技术操作规程》作业 安全教育的重要内容和考核评定工人技术水平的重要依据,考核成绩要记入 员工技术档案。 3、 对新工人、合同工、临时工、学徒工、必须进行入场安全教育。教育内容包 括安全技术知识、设备性能、操作规程、安全制度和严禁事项,经考核合格 后,方可进入操作岗位。 4、 电工、焊工、机械工、架子工等特殊工种工人。除进行一般安全教育外,还 要经过本工种安全技术教育,经考核合格发证后,方准独立操作,每年进行 一次复审。 5、 采用新技术、新工艺、新设备施工和调换工作岗位时,要对操作人员进行新 技术操作和岗位的安全教育,未经教育不得上岗操作。 6、 定期轮训各级领导干部和安全干部,提高政策思想水平,熟悉安全技术、劳 动卫生业务知识,做好安全工作。 (三)安全检查 1、 公司制定三级检查制度,公司每月至少一次,分公司工程处每周至少一次, 项目部每天进行安全检查。检查要发动群众,要有领导干部、技术干部和工 人参加,边检查边整改。 2、 每次检查要有重点、有标准,列入本单位考核内容。 3、 对查出的隐患不能立即整改的,要建立登记,整改、检查、销项制度,要制 定整改计划,定人、定措施、定经费、定完成日期。在隐患没有消除前,必 须采取可靠的防护措施。如有危及人身安全的紧急险情,应立即停止作业。 4、 如拒绝整改,公司将视情节对其进行处罚。 消防工作管理制度 为了加强消防工作,保护公司财产和员工生命的安全,制定本办法。 1、 消防工作必须认真贯彻执行《中华人民共和国消防条例》和《中华人民共和国消 防条例 实施细则 工程地质勘察监理实施细则公司办公室6S管理实施细则国家GSP实施细则房屋建筑工程监理实施细则大体积混凝土实施细则 》,贯彻谁主管谁负责的原则,实现“预防为主、防消结合”的 方针。 2、 各施工部门都要建立义务消防队,重点工程要组织驻场消防队,各生产班组设消 防员(兼职工人),每季度学习或训练不少于二次(每次二小时以上),活动期间 的工资和资金等照发。 3、 根据工程特点编制本单位的消防规章制度、防火安全操作规程和灭火措施。 4、 向职工进行防火宣传教育,组织消防检查,纠正违章行为,排除火险隐患,研究 解决消防工作上存在的问题。 5、 负责调查和处理火灾事故,对责任者提出处理意见。 6、 组织审查、批准重点工程的施工组织设计中的防火措施及消防保卫方案。 7、 与公司雇用和合作的包工队签定治安防火协议书,负责进行入场教育和书面交 底。 8、 认真贯彻、执行公司OHSMS28001职业安全健康管理体系要求,配合公司完成相 关认证资料的填写及上报工作,做到体系的实用性、持续性和有效性。 9、 施工现场搭建的临时设施应符合防火要求,不得使用易燃材料。材料的存放、保 管应符合防火安全要求。易燃易爆物品应专库储存,分类单独存放,保持通风, 用电符合防火规定。施工中使用化学易燃物品时,应限额领料,禁止交叉作业, 不准在工程内、库房内调配油漆、稀料。 10、 施工区不准作为仓库使用,施工区不准住人,施工现场严禁吸烟。 11、 电工、电气焊工,在从事电气设备安装和电、气焊切割作业时,要持操作证和用 火证,严禁非电、气焊工作业。动火前,要消除附近易燃物、配备看火人员和灭 火器材,用火证当日有效。 12、 在施工程要坚持防火安全交底制度,特别在进行电、气焊、油漆粉刷、木质品装 饰或从事防水等危险作业时要有具体防火要求。 13、 施工现场应根据季节变化、施工计划、制定季节及装修阶段的消防保卫措施或方 案。 14、 工程应在开工前15日内到当地公安消防部门办理《北京市建筑工程施工现场消 防安全审批表》或《北京市建筑工程施工现场消防安全审核备案表》。 施工现场环境管理制度 1、 严格按照环境体系(GB/T24001-ISO14001)的标准运行管理,贯彻节约资源,预防 污染,环境达标,持续改进。 2、 坚持以人为本的精神,营造绿色建筑,追求社区、人居和施工环境的不断改善。 3、 确保施工现场噪声排放达标,合理协调安排施工分项的施工时间;手动电动工具或 切割器具应尽量在封闭的区域内使用;运输车辆进入现场禁止鸣笛,必要时应对现 场噪音进行检测。 4、 降低施工现场扬尘发生,避免大气污染。施工现场进行封闭围挡;施工现场必须每 天清扫,经常洒水降尘。施工现场建筑垃圾堆放,根据垃圾数量随时清运出施工现 场,垃圾车用苫布盖好,避免途中运输遗洒和扬尘。 5、 施工所用各种材料按要求选择环保型材料,不使用有毒有害超标材料。分类存放整 齐、合理保管、方便使用。 6、 生产污水排放达标,严禁出现乱流现象;现场污水必须经过沉淀处理后,再排向市 政管网。 7、 施工现场降耗节能。节约用水、电,设专人监督,对浪费情况加以限制。 8、 工程在施工高峰期间需进行噪音环境监测,以达到环保标准。 9、 工程完工后须请具有检测资格的部门进行环境检测,合格后方可交工。
本文档为【考试必备之vb实例编程代码】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_321575
暂无简介~
格式:doc
大小:581KB
软件:Word
页数:0
分类:生活休闲
上传时间:2017-09-18
浏览量:49