实训十 子 过 程 一、实训目的 二、实训内容 1、通用过程 【实训要求】 1、掌握通用过程的定义和调用方法。

Slides:



Advertisements
Similar presentations
编程加工 信息的. 趣味导入拓展提升大显身手总结反思学以致用 传说古代印度有个国王叫舍罕,他很迷恋棋类,而 宰相达依尔是个聪明的大臣,发明了国际象棋。国王玩 得爱不释手,决定奖赏宰相。达依尔说:陛下,我别无 他求,请你在这张棋盘的第一个格子里赏我 1 粒麦子; 在第二个格子里赏我 2 粒麦子;在第三个格子里赏我.
Advertisements

題目:徽章之記憶 南台科技大學 機械系 車輛一乙 學號:4A 姓名:黃冠嘉 教師:謝慶存
計算機程式及實習 期末報告 題目:超級猜一猜
第四章 控制结构.
第 7 章 文 件.
程式語言(I)- Visual Basic 6.0 第 9 章 結構化程式設計
高中信息技术新课程探讨 算法与程序设计教学实践与探讨 江苏省新海高级中学  张丽.
指導老師:楊淑娥 組別:第一組 成員:劉怡萱4a0i0066 吳珮瑜4a0i0070 林秋如4a0i0075 陳婉婷4a0i0076
上課囉 職場甘苦談 小資男孩向錢衝 育碁數位科技 呂宗益/副理.
C语言程序设计.
网 络 课 程 马 鞍 学 网 络 山 课 程 大 络 网 Visual Basic程序设计 第 一 讲 最容易接受的编程语言
高等医药院校药学类第三轮规划教材——大学计算机基础
C++中的声音处理 在传统Turbo C环境中,如果想用C语言控制电脑发声,可以用Sound函数。在VC6.6环境中如果想控制电脑发声则采用Beep函数。原型为: Beep(频率,持续时间) , 单位毫秒 暂停程序执行使用Sleep函数 Sleep(持续时间), 单位毫秒 引用这两个函数时,必须包含头文件
第五章 数组.
Visual Basic程序设计.
BLANK overview.
第6章 数 组 6.1 一维数组 6.2 控件数组 6.3 二维数组.
第二章 Visual Basic语言基础.
講師:戴志華 國立台灣大學電機工程研究所 Visual Basic 程式設計 講師:戴志華 國立台灣大學電機工程研究所.
VB程序设计语言 主讲教师:王 杨.
数组 第 6 章.
第5章 数组 Visual Basic程序设计.
Visual Basic程序设计 第七章 数组
1、数组的概念 2、静态数组 3、动态数组 4、数组的基本操作 5、控件数组
程式語言 -Visual Basic 變數、常數與資料型態.
1 巨集 2 資料型態 3 物件、屬性、方法與事件 4 陳述式與副函式 5 其他注意事項 6 範例
Visual Basic程序设计 第八章 过程 -子程序和函数
过程 第 7 章.
初识Visual Basic.
第4章 程序控制结构与算法基础.
新觀念的 VB6 教本 第七章 讓程式轉彎的控制敘述.
流程控制、陣列 台南市聖功女子高級中學 毛全良.
第五章 VB中的数组.
计算机程序设计强化复习 Visual Basic 6.0.
走进编程 程序的顺序结构(二).
3.5 用递归法解决问题 黄学鸿.
第12章 VBA模块设计.
RWM600 (13.56MHz) Reader Antenna.
新觀念的 VB6 教本 第 6 章 資料型別.
PCR300 (13.56MHz) Reader RS232/USB.
第 8 章 过程.
广州市教育局教学研究室编写的 初中《信息技术》第二册第二章 《程序设计初步》
Visual Basic程序设计.
主日信息: 講題:腳步 經文:箴言16:1~9 大綱: 壹、人的心 貳、人的謀算 參、交託耶和華 肆、耶和華的指引 金句:箴16:9
算法与程序设计 周少品.
VB程序设计语言 主讲教师:王 杨.
VB程序设计语言 主讲教师:王 杨.
程式設計 Visual Basic簡介 週次:2 建國技術學院 資管系 饒瑞佶 2003年9月17日.
VB程序设计语言 主讲教师:王 杨.
VB程序设计语言 主讲教师:王 杨.
程式語言(I)- Visual Basic 6.0 第 8 章 模組化程式設計I-副程式與自定函數.
For x = 0 To 9 For y = 0 To 9 z = *x + 10*y …… Next y
江西财经大学信息管理学院 《数据库应用》课程组2007
VB语言程序设计教程.
小结 郭清溥.
经典算法之 冒 泡 排 序.
顺序表的删除.
现代信息技术 微电子技术 计算机技术 传感技术 通信技术 处理、存储信息的技术 传感、采集技术 传递信息的技术
第二章、第三章错题分析.
选择结构设计 第 4 章 程序流程有三种最基本的控制结构,即顺序结构、选择结构和循环结构。
3.16 枚举算法及其程序实现 ——数组的作用.
1位选手参加了歌唱比赛,评委们的评分如下:
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
1位选手参加了歌唱比赛,评委们的评分如下:
第5章 数组 5.1 数组概述 5.2 静态数组和动态数组 5.3 数组的基本操作 5.4 控件数组 5.5 数组在自定义数据类型中的应用.
1、过程概述 2、函数过程 3、子过程 4、过程的使用 5、传递参数 6、过程的嵌套
解析算法与枚举算法.
算法与Visual Basic程序基础(二)
程序调试与错误处理.
顺序结构程序设计 ——关于“字符串”和数值.
Presentation transcript:

实训十 子 过 程 一、实训目的 二、实训内容 1、通用过程 【实训要求】 1、掌握通用过程的定义和调用方法。 实训十 子 过 程 一、实训目的 1、掌握通用过程的定义和调用方法。 2、了解形参和实参的对应关系及参数传递的方式。 二、实训内容 1、通用过程 【实训要求】 随机产生两个数组并按由小到大的顺序排序, 然后将它们合并到第三个数组中(合并后的数组 仍然有序)。要求: sx10_1.vbp 下一页

(1)编写一个CreatArr子过程,产生有n个元素的 数组,其元素是随机产生的1 到100之间的数; (2)编写一个Sort子程序,对数组按递增次序排列; (3)编写一个Merge子程序,将两个数组进行合并; (4)编写一个PrintArr子程序,将数组显示在窗体上。 (5)编写一个按钮的Click 事件过程,分别调用上述过程。 其运行效果见图: 上一页 下一页

【实训步骤】 第1步:启动VB,打开一个新的标准工程。 第2步:在窗体上添加一个命令按钮Command1。 第3步:编写代码: (1)编写如下四个过程: Option Base 1 ‘ 数组的下标从1开始 Public Sub creatarr(a%(), n%) ‘产生数组的过程 Dim i% For i = 1 To n a(i) = Int(Rnd * 100 + 1) Next End Sub 上一页 下一页

Public Sub Sort(a%(), n%) ‘ 排序过程(选择法递增排序) Dim i%, j%, t% For i = 1 To imin = i For j = i + 1 To n If a(j) < a(imin) Then imin = j Next t = a(i) a(imin) = t End Sub 上一页 下一页

Public Sub PrintArr( a%( ) ) ‘ 输出数组过程 Dim i% For i = LBound(a) To If Then ‘ 每行输出10个数 Print a(i) Else Print a(i); End If Next Print End Sub 上一页 下一页

Public Sub Merge(a%(), b%(), c%() ) ‘ 合并数组过程 Dim ia%, ib%, ic%, ina%, inb%, inc% ina = UBound(a) ‘ 数组a 的元素个数 inb = UBound(b) ‘ 数组b 的元素个数 inc = ina + inb ‘ 合并后的数组的元素个数 ia = 1: ib = 1: ic = 1 Do While ia <= ina And ib <= inb '当两个数组没有都读完 If a(ia) < b(ib) Then c(ic) = a(ia): ia = ia + 1 Else End If Loop 上一页 下一页

Do While ia <= ina ‘ 如果数组 a 没有读完 ic = ic + 1 Loop Do While ib <= inb ‘ 如果数组 b 没有读完 End Sub 上一页 下一页

Private Sub Command1_Click( ) Cls Dim aa%(10), bb%(8), cc%(18) Call creatarr(aa(), 10) Sort aa(), 10 Print Print "打印aa数组" Call creatarr(bb(), 8) 运行程序,单击按钮即可显示如上图所示的结果 Print "打印bb数组" Merge aa(), bb(), cc() Print Print "打印cc数组" End Sub 上一页 下一页

【实训要求】编写一子过程 MoveStr( ) 2、做一做 sx10_2.vbp 【实训要求】编写一子过程 MoveStr( ) Public Sub MoveStr(a$(),m%,Tag As Boolean) 其功能是把字符数组移动m个位置,当Tag 为 True时左移,将前m个字符移到字符数组尾,例如:“abcdefghij”左移3个位置后,结果为“defghijabc”;当Tag 为 False时右移,将后m个字符移到字符数组前,例如:“abcdefghij” 右移3个位置后,结果为 “hijabcdefg”。 试编写一主调程序调用之。 上一页 下一页

【实训要求】从数组a 中删除数组 b 中已有的数后形成新的数组 x。 3、做一做 【实训要求】从数组a 中删除数组 b 中已有的数后形成新的数组 x。 要求:单击窗体自动产生数组a和数组 b(随机产生40 — 70之间的整数); 单击“删除”按钮,删除相同的元素,并将剩余元素打印出来。结果如图: sx10_3.vbp 上一页 下一页

【实训要求】编写一个子程序DeleStr(s1,s2),将字符串s1中出现的s2 子字符串删去,结果还是存放在s1中。 4、做一做 【实训要求】编写一个子程序DeleStr(s1,s2),将字符串s1中出现的s2 子字符串删去,结果还是存放在s1中。 界面如图: sx10_4.vbp 上一页 下一页

5、做一做 sx10_5.vbp 【实验要求】统计输入的文章中的单词数,并将出现的定冠词The 全部去除,同时统计删除的定冠词个数。(假定单词间以一个空格分隔) 与数组有关的函数: Array LBound UBound Split函数:从一个字符串中, 以某个指定的符号为分隔符, 分离若干个子字符串,建立一个下标从0开始的一维数组。格式:Split(<字符串表达式>[,<分隔符>]) Filter函数:去处定冠词 Filter(a, “ The ”,False) Join函数:合并字符数组 Join(字符数组) 上一页 下一页

6、用不同的参数传递方式调用过程 【实训要求】 【实训步骤】 通过调用过程,显示如图所示的结果: 第1步:启动VB,打开一个 新的标准工程。 第2步:在窗体上添加二个 命令按钮Command1 和Command1 。 第3步:编写代码: (1)编写如下二个Sub 过程: 上一页 下一页

Sub tryout1(ByVal x as integer, ByVal y as integer) x=x+100 y=y*6 print “x=“ ; x,”y=“ ; y End Sub Sub tryout2( x as integer, y as integer) 上一页 下一页

(2)编写命令按钮的事件如下: Private Sub Command1_Click() Dim a%, b% Print Print "传值调用:" a = 10: b = 20 Print "a="; a, "b="; b End Sub Private Sub Command2_Click() Dim a%, b% Print Print "传址调用:" a = 10: b = 20 Print "a="; a, "b="; b End Sub 本实验主要用来说明传值调用与传址调用的区别。传值调用只是把实参值的拷贝传递给形参,本身没有任何变化,调用前与调用后的值相同。而传址调用传送的是使参的地址,调用过程后实参的值也随之变化。 上一页