算法与Visual Basic程序基础(二)

Slides:



Advertisements
Similar presentations
第2章 Visual Basic 6.0编程基础 (第一部分)
Advertisements

ooxx這個遊戲程式,非常的簡單只要你小時候會玩井字遊戲即可把電腦打敗,可以說是一種考智力取勝的遊戲。
課程名稱:程式設計 授課老師:________
第四章 控制结构.
程式語言(I)- Visual Basic 6.0 第 9 章 結構化程式設計
高中信息技术新课程探讨 算法与程序设计教学实践与探讨 江苏省新海高级中学  张丽.
南台科技大學 機械工程系 車輛一甲 學號:4A 學生:黃信成 老師:謝慶存
Access数据库程序设计 总复习.
上課囉 職場甘苦談 小資男孩向錢衝 育碁數位科技 呂宗益/副理.
网 络 课 程 马 鞍 学 网 络 山 课 程 大 络 网 Visual Basic程序设计 第 一 讲 最容易接受的编程语言
算法和程序设计 第4课 分支结构的算法设计 •.
第五章 数组.
Visual Basic程序设计.
VB內建函數與應用.
Visual Basic 2010 程式設計16堂特訓 第七堂 VB的迴圈流程控制.
課程名稱:程式設計 授課老師:________
講師:戴志華 國立台灣大學電機工程研究所 Visual Basic 程式設計 講師:戴志華 國立台灣大學電機工程研究所.
数组 第 6 章.
第5章 数组 Visual Basic程序设计.
程式語言 -Visual Basic 變數、常數與資料型態.
Visual Basic 程序设计教程 机械工业出版社同名教材 配套电子教案 2003 年 6月.
过程 第 7 章.
ASP动态网页设计实用教程 主讲教师: 开课单位:.
初识Visual Basic.
第4章 程序控制结构与算法基础.
新觀念的 VB6 教本 第七章 讓程式轉彎的控制敘述.
Visual Basic 程序设计教程 机械工业出版社同名教材 配套电子教案 2003 年 6月.
第4章 基本的控制结构 4.1 顺序结构 4.2 选择结构程序设计 4.3 循环结构 4.4 综合实例 退出.
数学3(必修)—— 算 法 ALGORITHM 苏州大学数学科学学院 徐稼红
流程控制、陣列 台南市聖功女子高級中學 毛全良.
程式語言Visual Basic 重複結構 黃瀧輝 老師 Long Hwai,Huang.
Visual Basic 程序设计 教师:王 杨 电话:
第3章 Visual Basic语言基础 郭清溥.
6-1 For…Next迴圈敘述 6-2 While…End While迴圈敘述 6-3 Do…Loop迴圈敘述 6-4 巢狀迴圈敘述
3.5 用递归法解决问题 黄学鸿.
第12章 VBA模块设计.
第3 章 VBScript的控制结构.
丙級電腦軟設-VB程式設計 資料來源:林文恭研究室 整理:張福生.
新觀念的 VB6 教本 第 6 章 資料型別.
第5章 Visual Basic控制结构 之 常用算法举例
PCR300 (13.56MHz) Reader RS232/USB.
第 8 章 过程.
广州市教育局教学研究室编写的 初中《信息技术》第二册第二章 《程序设计初步》
Visual Basic程序设计.
算法与程序设计 周少品.
VB程序设计语言 主讲教师:王 杨.
VB程序设计语言 主讲教师:王 杨.
程式設計 Visual Basic簡介 週次:2 建國技術學院 資管系 饒瑞佶 2003年9月17日.
程序设计基础 第 2 章 学习程序设计的基本方法: 多练 模仿.
程式語言(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语言程序设计教程.
107學年度高一程式設計 上機考試 投影片 加減乘除.
第2章 VB语言基础 本章要点: 数据类型 常量和变量 运算符表达式 函数.
小结 郭清溥.
经典算法之 冒 泡 排 序.
Ch04 VB.NET的流程控制 網頁程式設計.
现代信息技术 微电子技术 计算机技术 传感技术 通信技术 处理、存储信息的技术 传感、采集技术 传递信息的技术
第二章、第三章错题分析.
計算機概論 跨越講義 第4章 基本視窗程式應用 4-1 程式語言簡介 4-2 結構化VS物件導向程式設計
选择结构设计 第 4 章 程序流程有三种最基本的控制结构,即顺序结构、选择结构和循环结构。
计算机应用基础 潍坊学院 计算机工程学院 主讲人:丁素英.
問題解決與流程圖 高慧君 台北市立南港高中 2006年12月22日.
1、过程概述 2、函数过程 3、子过程 4、过程的使用 5、传递参数 6、过程的嵌套
解析算法与枚举算法.
随机数、数组、解析、枚举.
顺序查找与二分查找复习.
信息的加工 Word中查找和替换、自动更正、批注、修订 Excel中公式和函数、排序和筛选、图表的建立和编辑 字符识别OCR.
程序调试与错误处理.
Presentation transcript:

算法与Visual Basic程序基础(二)

算法的三种基本结构 顺序结构 选择结构 循环结构

顺序结构 在算法执行流程中,执行完一个处理步骤step1后,顺序执行紧跟着的下一个处理步骤step2 范例: 语句1 语句2 开始 结束 …… 范例: Private Sub Command1_Click() a = 2 b = 3 c = a * b End Sub

选择结构结构 块if结构 If 条件 then 块if范例: 语句系列1 If a < b Then t = a Else Else 语句系列2 End if N Y 开始 结束 条件 执行a 执行b 块if范例: If a < b Then t = a Else t = b End If 行if结构 If 条件 then 语句系列1 else 语句系列2 行if范例 If a<b then t=a else t=b

多层选择结构 If 条件表达式1 then 语句块1 Elseif 条件表达式2 then 语句块2 …… Elseif 条件表达式n then 语句块n End if

多层选择结构范例 If n<0 then Msgbox “请重新输入一个大于0的值” ElseIf n<2 then t=n*0.9 Elseif n<5 then t=n*0.7 else t=n*0.6 End if 输入n的值 输出t的值 1 4 5 -1 0.9 2.8 3 消息框提示:请输入一个大于0的值

循环结构 在算法流程中,对某个情况e进行判断,当结果为真时,执行yes指向的流程线下的步骤step1,然后再次判断情况e,如果结果还为真,则再次执行步骤 step1,并继续判断情况e,重复上述过程,直到判断的结果为假,执行no指向的流程线下的其他语句(如下图)。

For语句 For 循环变量名=初值 TO 终值 Step 步长 语句块 Next 循环变量

例: Dim i as integer, s as integer S=0 For i=1 to 10 s=s+i Next Label1.caption=str(s) S=s+i语句共执行了几次? 程序执行完s的值是多少? 10次 55

Do while语句 Do While 条件表达式 语句块 Loop

例: Dim s as integer, n as integer n=5 Do while n>=3 s=s+n n=n-1 loop

程序解决问题已学的两种算法 解析法 枚举法

解析法(analysis algorithm) 用解析的方法找出表示问题的前提条件与结果之间关系的数学表达式,并通过表达式的计算来实现问题求解 。 如:根据半径r求出面积s和周长c

枚举法(穷举法) 按照问题要求确定问题解的大致范围,然后在此范围内对这些解进行一一列举,再对当前列举出的解进行是否满足问题要求的判断,最后把符合要求的解输出直到所有可能的解全部列举完毕。 如:求出1-100之内的所有素数。 确定范围 情况枚举 条件判断 得到真解

求a、b两数的最大公约数 方法一:辗转相除法代码一 Do while b<>0 r=a mod b a=b b=r Loop label1.caption=“最大公约数是” +str (a) 方法二:辗转相除法代码二 r=a mod b Do while r<>0 a=b b=r r= a mod b Loop label1.caption=“最大公约数是” +str (b) 方法三:辗转相减法代码 Do While a <> b Do While a > b a = a - b Loop Do While a < b b = b - a Print a ‘ print b也一样

程序填空 VB程序代码中划线处应填入的语句和表达式__________。 Private Sub Command1_Click() Dim m As Integer, n As Integer Dim r As Integer m = Val(Text1.Text) n = Val(Text2.Text) r = m Mod n Do While _________ m = n n = r ________ Text3.Text = Str(n) End Sub VB程序代码中划线处应填入的语句和表达式__________。

判断数a是否为素数 方法一: 方法二: n = Val(Text1.Text) n = Val(Text1.Text) f = True ‘ f=0 For i = 2 To n-1 If n Mod i = 0 Then f = False ‘ f=1 Exit For End If Next I If f = True Then ‘ if f= 0 then Label1.Caption = Str(n) + "是素数" Else Label1.Caption = Str(n) + "不是素数" 方法二: n = Val(Text1.Text) f = True For i = 2 To int(sqr(n)) If n Mod i = 0 Then f = False Exit For End If Next I If f = True Then Label1.Caption = Str(n) + "是素数" Else Label1.Caption = Str(n) + "不是素数"

VB程序调试常见错误 常见错误提示: 溢出 要求对象 子程序或函数未定义 无效的过程调用或参数 类型不匹配 不允许给常数赋值 下标越界 未找到方法或数据成员

字符串处理

常用类型转换函数和字符串函数 函数名 函数的功能 范例 Asc(X) 取字符的ASCII码 Asc(“A”)的返回值是65 Chr (X) Chr (66)的返回值是”B” Val(X) 数字字串转换为数值 Val(“123”)的返回值是123 Str(X) 数值转换成字符串 Str(255)的返回值是“255” Len(X) 计算字符串的长度 Len(“abcdef”)的返回值是6 Mid(x,n,k) 在字符串X中取第N个字符起长度为K的子串 Mid(“abc”,2,2)的返回值是“bc” Mid(x,n) 在字符串X中取第N个字符起到末尾的子串 Mid(“abcde”,2)的返回值是“bcde”

首尾取子串 Left(x,n):从x的左边取n个字符长度的子串 Right(x,n):从x的右边取n个字符长度的子串 例: A=“happy new year!” B=Left(a,5) ‘B的值是”happy” C= Right(a,5) ‘C的值是”year!”

去除字符串首尾的空格 Trim(x):去除字符串X首部和尾部的空格,但不包含中间的空格。 Ltrim(x):去除字符串X首部的空格 Rtrim(x):去除字符串X尾部的空格 如:a=“ hello “ Trim(a)的返回值为 “hello” LTrim(a)的返回值为 “hello ” Rtrim(a)的返回值为 “ hello”

大小写字母的转换 UCase(x): 字母小写转大写 Lcase(x): 字母大写转小写 Chr(Asc(x)-32):小写转大写,x的值必需为小写字母 Chr(Asc(x)+32):大写转小写,x的值必需为大写字母

根据已有ASCII字符推算其它ASCII字符 这类应用通常在加密解密的题中出现。 例加密思路:将“A”变成“F”,“B”变成“G”……“V”变成“A”,“Z”变成“E”。 假设变量x存储的是原字符,变量y存储的是加密后的字符 那么加密字符 Y=chr(Asc(x)+5)

课后作业 作业本: 1.1 、 2.1、 3.1 、3.2

课后作业 导学案: 第1课和第2课