1、专 业 : 年 级 : 姓 名 : 学 号 :实验四 循环结构程序设计一、实验目的1掌握循环结构程序设计方法。2掌握For 循环语句、 Do 循环语句以及While 循环语句的使用方法。3掌握循环多重循环的条件设置及其使用方法。4掌握如何控制循环条件,防止死循环或不循环。5掌握计时器和滚动条的常用属性、方法和事件。二、实验内容与操作1 打 开 工 程 文 件 Dsg0401.vbp, 在 标 题 为 “整 除 求 和 ”的 窗 体 Form1 上 , 添 加 一 个 标 题 为“请 输 入 整 数 n”的 标 签 Label1; 然 后 再 添 加 一 个 标 题 为 “求 和 ”的 命 令
2、按 钮 Command1; 接 着再 添 加 一 个 文 本 内 容 为 空 的 文 本 框 Text1; 最 后 添 加 一 个 标 题 为 空 、 有 边 框 的 标 签 Label2。程 序 运 行时 , 在 Text1 中 输 入 一 个 整 数 n, 单 击 “求 和 ”按 钮 , 求 1 n 之 间 能 被 3 整 除 , 但 不 能 被 7 整 除 的 所 有 整 数 之 和 , 并 将 求 和 结 果 显 示 在 Label2 中 , 运 行 界 面 如 图 4-1 所 示 。 完 成 上 述 功 能后 , 以 原 文 件 名 保 存 窗 体 ( Dsg0401.frm) 和
3、工 程 ( Dsg0401.vbp) 。图 4-7 整除求和的运行界面【操作步骤】(1)创建用户界面 选择“文件”“打开工程”命令,在“打开工程”的对话框中选择“Dsg0401.vbp”工 程 文 件 。 接 着 在 窗 体 Form1 上 添 加 两 个 标 签 、 一 个 命 令 按 钮 和 一 个 文 本 框 , 然 后 用 鼠 标 调- 30 -整各个控件的大小和位置,调整后的控件布局如图4-2(a )所示。(2)设置对象属性根 据 设 计 要 求 , 按 表 4-1 所 示 的 值 设 置 各 个 控 件 对 象 的 属 性 , 设 置 后 的 界 面 如 图 4-2( b) 所示。
4、表 4-1 整除求和的对象属性设置对象 对象名称 属性 属性值窗体 Form1 Caption 整数求和标签 Label1 Caption 请输入整数 nCaption 空标签Label2BorderStyle 1-fixed-single命令按钮 Command1 Caption 求和文本框 Text1 Text 空(a)控件布局 (b)属性设置图 4-2 整除求和的设计界面(3)编写程序代码在“求和”按钮的Click 事件过程中编写代码。Private Sub Command1_Click()n = Val(Text1.Text)sum = 0For i = 1 To nIf n = 1
5、And (i Mod 3 = 0 And i Mod 7 0m = nn = rr = m Mod nLoopText3.Text = Str(n)End Sub(4)保存工程 选 择 “文 件 ” “保 存 工 程 ”命 令 , 或 者 单 击 工 具 栏 的 “保 存 工 程 ”按 钮, 保 存 窗 体文件和工程文件。(5)生成可执行文件 选 择 “文 件 ” “Dsg0402.exe”命 令 , 生 成 可 执 行 程 序 文 件 。3 打 开 工 程 文 件 Dsg0403.vbp, 在 标 题 为 “素 数 累 加 ”的 窗 体 Form1 上 添 加 两 个 标 题 分 别为 “整
6、 数 m”和 “整 数 n”的 标 签 Label1 和 Label2; 然 后 再 添 加 3 个 文 本 内 容 为 空 的 文 本 框Text1、 Text2 和T ext3; 最 后 添 加 一 个 标 题 为 “求 和 ”的 命 令 按 钮 Command1。 程 序 运 行 时 , 在 Text1 和 Text2 中 分 别 输 入 正 整 数 m 和 n( 其 中 n m 2) , 单 击 “求 和 ”按 钮 , 求 m n 之 间全 部 素 数 之 和 , 并 将 求 和 结 果 显 示 在 Text3 中 , 运 行 界 面 如 图 4-5 所 示 。 完 成 上 述 功 能
7、 后 , 以 原 文件 名 保 存 窗 体 ( Dsg0403.frm) 和 工 程 ( Dsg0403.vbp) 。图 4-5 素数累加的运行界面【操作步骤】(1)创建用户界面- 33 -选择“文件”“打开工程”命令,在“打开工程”的对话框中选择“Dsg0403.vbp” 工程文件。接着在窗体 Form1 上添加两个标签、3 个文本框和一个命令按钮,然后用鼠标调 整各个控件的大小和位置,调整后的控件布局如图4-6 (a)所示。(2)设置对象属性根 据 设 计 要 求 , 按 表 4-3 所 示 的 值 设 置 各 个 控 件 对 象 的 属 性 , 设 置 后 的 界 面 如 图 4-6(
8、b) 所示。表 4-3 素数累加的对象属性设置对象 对象名称 属性 属性值窗体 Form1 Caption 素数累加标签 Label1 Caption 整数 m标签 Label2 Caption 整数 n文本框 Text1 Text 空文本框 Text2 Text 空文本框 Text3 Text 空命令按钮 Command1 Caption 求和(a)控件布局 (b)属性设置图 4-6 素数累加的设计界面(3)编写程序代码在“求和”按钮的Click 事件过程中编写代码。Private Sub Command1_Click()- 34 -m = Val(Text1.Text)n = Val(Te
9、xt2.Text)s = 0For i = m To nflag = TrueFor j = 2 To i - 1If i Mod j = 0 Thenflag = FalseExit ForEnd IfNext jIf flag Thens = s + iEnd IfNext iText3.Text = Str(s)End Sub(4)保存工程 选 择 “文 件 ” “保 存 工 程 ”命 令 , 或 者 单 击 工 具 栏 的 “保 存 工 程 ”按 钮, 保 存 窗 体文件和工程文件。(5)生成可执行文件 选 择 “文 件 ” “Dsg0403.exe”命 令 , 生 成 可 执 行 程
10、序 文 件 。4打开工程文件 Dsg0404.vbp,在标题为“动画设置”的窗体 Form1 上,添加一个标 题为空、带有边框的标签 Label1,其高度为 400、宽度为 400、左边距为 100;然后再添加 两 个 标 题 分 别 为 “移 动 ”和 “停 止 ”的 命 令 按 钮 Command1 和 Command2;最后添加一个计 时器控件 Timer1, 其 事 件 间 隔 时 间 为 1 秒 , 计 时 器 处 于 非 激 活 状 态 。 程 序 运 行 时 , 单 击 “移动”按钮,Label1 每隔 1 秒向右移动 100;单击“停止” 按钮,Label1 停止移动并退回到左
11、 边 距 为 100 的 位 置 , 运 行 界 面 如 图 4-7 所 示 。 完 成 上 述 功 能 后 , 以 原 文 件 名保 存 窗 体( Dsg0404.frm) 和 工 程 ( Dsg0404.vbp) 。(a)移动 (b)停止图 4-7 动画设置的运行界面- 35 -【操作步骤】(1)创建用户界面 选择“文件”“打开工程”命令,在“打开工程”的对话框中选择“Dsg0404.vbp”工 程 文 件 。 接 着 在 窗 体 Form1 上 添 加 一 个 标 签 、 两 个 命 令 按 钮 和 一 个 计 时 器 , 然 后 用 鼠 标 调 整各个控件的大小和位置,调整后的控件布局
12、如图4-8(a )所示。(2)设置对象属性根 据 设 计 要 求 , 按 表 4-4 所 示 的 值 设 置 各 个 控 件 对 象 的 属 性 , 设 置 后 的 界 面 如 图 4-8( b) 所示。表 4-4 动画设置的对象属性设置对象 对象名称 属性 属性值窗体 Form1 Caption 动画设置- 36 -Caption 空Height 405Width 405标签 Label1Left 100命令按钮 Command1 Caption 移动命令按钮 Command2 Caption 停止续表对象 对象名称 属性 属性值Interval 1000计时器Timer1Enabled F
13、alse(a)控件布局 (b)属性设置图 4-8 动画设置的设计界面(3)编写程序代码 在“移动”按钮的Click 事件过程中编写代码。Private Sub Command1_Click()Timer1.Enabled = TrueEnd Sub 在“停止”按钮的Click 事件过程中编写代码。Private Sub Command2_Click()Timer1.Enabled = FalseLabel1.Left = 100End Sub 在计时器的T imer 事件过程中编写代码。Private Sub Timer1_Timer()Label1.Move (Label1.Left + 1
14、00)End Sub(4)保存工程 选 择 “文 件 ” “保 存 工 程 ”命 令 , 或 者 单 击 工 具 栏 的 “保 存 工 程 ”按 钮, 保 存 窗 体文件和工程文件。- 37 -(5)生成可执行文件 选 择 “文 件 ” “Dsg0404.exe”命 令 , 生 成 可 执 行 程序 文 件 。5打开工程文件 Dsg0405.vbp,在标题为“求和运算”的窗体 Form1 上,添加一个标 题 为 “10”、 带 有 边 框 的 标 签 Label1; 接 着 再 添 加 一 个 水 平 滚 动 条 HScroll1, 其 最 大 值 为 100,最小值为1 , 当 前 值 为
15、10;然后再添加一个标题为“求和”的命令按钮Command1 ;最后添 加 一 个文 本 内 容 为 空 的 文 本 框 Text1。程序运行时,当拖动 HScroll1 滑 块 时 , 滑 块 的 当 前 值 显 示在 Label1 中,如图 4-9(a )所示;单击 “求和”按钮,以 Label1 中 的 值 为 n,计算表达式 1+(1+2)+(1+2+3)+(1+2+3+n)之和,并在 T ext1 显示计算结果,如图4-9 (b) 所 示 。完 成 上 述 功 能 后 , 以 原 文 件 名 保 存 窗 体 ( Dsg0405.frm) 和 工 程 ( Dsg0405.vbp) 。(
16、a)拖动滑块 (b)求和图 4-9 求和运算的运行界面【操作步骤】(1)创建用户界面 选择“文件”“打开工程”命令,在“打开工程”的对话框中选择“Dsg0405.vbp”工 程 文 件 。 接 着 在 窗 体 Form1 上 添 加 一 个 标 签 、 一 个 水 平 滚 动 条 、 一 个 命 令 按 钮 和 一 个 文 本 框,然后用鼠标调整各个控件的大小和位置,调整后的控件布局如图4-10(a)所示。(2)设置对象属性根 据 设 计 要 求 , 按 表 4-5 所 示 的 值 设 置 各 个 控 件 对 象 的 属 性 , 设 置 后 的 界 面 如 图 4-10( b) 所示。表 4-
17、5 求和运算的对象属性设置对象 对象名称 属性 属性值窗体 Form1 Caption 求和运算Caption 10标签Label1BorderStyle 1-fixed4321-singleMin 1Max 100水平滚动条 HScroll1Value 10命令按钮 Command1 Caption 求和文本框 Text1 Text 空- 38 -(a )控件布局 (b)属性设置图 4-10 求和运算的设计界面(3)编写程序代码 在水平滚动条的Scroll 事件过程中编写代码。Private Sub HScroll1_Scroll()Label1.caption=hscroll1.valueEnd Sub 在“求和”按钮的Click 事件过程中编写代码。Private Sub Command1_Click()Dim sum As Double, fac As Double, n As IntegerDim i As Integer, j As Integern = Val(Label1.Caption)sum = 0For i = 1 To nfac = 1For j = 1 To ifac = fac + jNext jsum = sum + facNext iText1.Text = Str(sum) 三End Sub