算法与程序设计(教育科学出版社)
算法与程序设计----从零开始学Visual Basic1

算法与程序设计----从零开始学Visual Basic作者:山东东营胜利第二中学刘健前言:山东的学生从高二就要选修信息技术课程,当你选修了算法和程序设计这门课程,恭喜你!因为你已经开始向更高层次迈进了。
这门课程将帮助我们揭开计算机的神秘面纱。
通过学习,我们不仅能知道平时使用的软件是如何开发出来的,还能从计算机语言层面上了解计算机能做什么,是如何工作的,知道软件背后的设计过程,甚至我们自己也能设计出优秀的计算机软件。
本教程是根据教育科学出版社编著的普通高中课程标准实验教科书《算法与程序设计(选修)》一书的内容编著。
呵呵,就是我们现在用的课本。
当然了,如果没有课本,你也一定能够学会下面的教程。
因为,从零开始学。
下面Let’S GO.第一课认识我们的创作室Visual basic是美国微软公司于1991年推出的基于Basic语言(Beginners All—purpose Symbolic Instruction Code,初学者通用指令)的可视化程序设计语言,是经典的编程设计语言,也是基础语言之一,简单易学,功能强大,深受广大初学者的喜爱。
这里我们用的是VB6.0中文版。
VB是运行在Windows视窗操作系统上,设计程序的思想在于在窗口中放置对象和针对对象设计代码。
(一)启动VB:单击“开始”-“程序”-“Microsoft Visual Basic 6.0 中文版”选择“标准EXE”,单击“打开”进入窗口。
(二)VB窗口如图所示1、标题栏:在最上面蓝色标题是“工程1-...”,是我们当前正在设计的程序,被称作“工程1”。
2、菜单栏:菜单栏在第二行,包含一组菜单,菜单中有各种命令。
3、工具栏:第三行是工具栏,工具栏是一些最常用的命令,而且是用图标表示的,因而便于形象记忆和操作。
4、工作区:工作区占据窗口的绝大部分,从左向右包括工具箱、窗体、和属性窗口。
(1)工具箱:在工作区的左侧,包含许多编程用到的基本对象,被称作“控件”。
《算法与程序设计》教材分析

《算法与程序设计》教材分析常州一中 林厚从一、本模块开设目的1、 进一步体验算法思想,了解算法和程序设计在计算机解决问题过程中的地位和作用;2、 能从简单问题出发,设计和描述解决问题的算法;3、 能初步使用一种程序设计语言编制程序实现算法(解决问题);二、几点想法1、 本模块开设的必要性:因为新课改关注的是技术能力与人文素养的双重建构,既是信息素养培养的继续,又是支持个性发展的平台。
对于《算法与程序设计》选修课程,我个人认为是非常重要的选修课程。
印度软件产业成功的秘密就在于印度的IT职业教育培养了大批高质量软件人才。
振兴中国软件产业需要培养大量的IT人才,程序设计教学就是为培养这样的人才打下良好的基础,也是学生创新能力培养的重要途径之一。
2、 本模块的重点新课改给出了信息素养的深刻内涵:体现知识与技能、过程与方法、情感态度与价值观三个层面的学习目标。
在新的课程标准中学生的信息素养描述为:对信息的获取、加工、管理、表达与交流的能力,对信息及信息活动的过程、方法、结果进行评价的能力,发表观点、交流思想、开展合作与解决学习和生活中实际问题的能力,遵守相关的伦理道德与纪律法规,形成与信息社会相适应的价值观和责任感。
3、 本模块的优势对机器和软硬件的要求不高,知识体系比较系统成熟,教学和考核目标比较明确;4、 本模块的劣势对学生信息素养和信息技术的基础知识的要求较高,对学生的数学素养和逻辑思维能力要求也教高,对老师的要求也相应教高。
在教学中要注意持续保持学生的学习兴趣和积极性,教学设计和举例都尽可能结合学生学习和生活中遇到的和熟悉的问题,也可以多联系一些数学和其它学科方面的知识,培养学生理论结合实践的能力和综合应用能力。
5、重要提示《算法与程序设计》≠某一编程工具(语言)的教学6、关于算法算法是凌驾于程序设计语言之上的,不一定要用程序去实现,可以适当在教室中教学;还要注意与《数学》学科中的“算法”部分相衔接。
高中信息技术《算法与程序设计》优质教案、教学设计

《算法与程序设计》
1.2 算法描述与设计
教学设计
单位:授课人:
《算法描述与设计》教学设计
为了更形象、直观地表示算法,我们引入了流程图
,学生学习流也叫程序框图。
下面,同学们学习“韩信点兵”问题的
流程图表示。
开始
1n
n 被3 、5 、7 整Y
除后余数为
2 、
3 、2
N
n+1n
输出n 的值
结束
流程图描述算法常用的框图主要有以下几个:
在流程图的基础上,专业软件开发人员一般采用伪代码来描述算法。
伪代码是一种介于自然语言和计算机语言之间的一种算法描述,不是真正的程序语言代码,所以没有严格的语法限制,书写格式也比较自由,只要把意思表达清楚就可以了。
例如,判断闰年伪代码算法描述如下:
输入年份y
IF y 能被4 整除THEN
IF y 能被100 整除THEN
IF y 能被400 整除
输出“是闰年”
附:《算法描述与设计》流程图作品评价量表
《算法描述与设计》流程图作品评价量表
说明:1、作品评价等级分为A、B、C、D 四个等级。
2、在对应的作品等级下画“√”。
计算机解决问题的一般过程》教学设计

《计算机解决问题的一般过程》教学设计一、案例背景信息1.模块:高中信息技术课程选修教程《算法与程序设计》2.年级:高中二年级3.所用教材版本:教育科学出版社4.学时数:1学时本教学案例参与人员基本信息二、教学设计[课程标准]结合实例,经历分析问题、确定算法、编程求解等用计算机解决问题的基本过程,认识算法和程序设计在其中的地位和作用。
[教学目标]1、知识目标:①了解人类解决问题的一般过程②知道并能运用分析问题、设计算法、编写程序、调试程序、问题解决这一用计算机解决问题的一般过程。
认识到算法和程序设计在计算机解决问题中的作用。
③能够比较分析出人和计算机解决问题的异同2、过程与方法经历实例分析、问题探究、问题解决的过程理解计算机解决问题的过程,并通过实例动手实践完整的计算机解决问题的过程,从而知道算法和程序设计在计算机解决问题中的重要性。
3、情感态度价值观通过结合学习和生活的实际例子,使学生树立利用计算机解决学习和生活中问题的兴趣和信心。
并通过一些实例,激发学生民族自豪感。
(二)内容分析1、本节课是教育科学出版社教材《算法与程序设计》第一章第一节的内容—“计算机解决问题的过程”,是入门篇。
学好这节课是使学生学好“算法与程序设计”模块的关键,本内容计划用一课时完成。
2、教材中第一节计算机解决问题的过程所涉及到的实例是一个时钟程序,对于完全没有接触过算法与程序设计的同学难度比较大。
个人感觉第一节课应把重点放在激发学生兴趣,增强学生的成就感,使学生喜欢上程序设计上。
因此,本节课在设计时对教材进行了二次开发,从比较贴近学生学习的数学问题入手,,注重让学生在人工解题中提炼、归纳、分析问题、设计算法等步骤,并把它融会贯通应用到用计算机解决问题中去从而分析出计算机解决问题的一般过程。
本节课的教学目标是让学生理解分析问题、设计算法、编写程序和调试程序等用计算机解决问题的基本过程,认识其在算法与程序设计中的地位和作用,也是后续课程如模块化程序设计、各种算法设计等课程的基础。
2初识VB

学生在实践中常出现的一个问题是不小心点“×”按钮把 窗体关闭了,然后不知道怎么办。
其实通过工程资源管理器,直接双击窗体下的“Form1”, 工程的窗体又回来了!
1.保存程序
文件→保存工程
2.生成程序 文件→生成XX EXE (所有上交的作业请一律生成EXE程 序)
①上机熟悉VB6.0基本界面 ②填写P18表2-3 ③在VB中,通过属性窗口将窗体的标 题设置为:“XX(学号)XXX (姓名)的第一个程序”,将背景
二者成为目前程序设计软件的主流。
Visual Basic是微软公司于1991年推出的基于Basic语言
的可视化程序设计语言。所谓可视化的程序设计是不同于
以往完全依靠撰写代码的程序设计方式,利用程序设计软 件本身提供的控件,像“搭积木”一样的构建程序的各种 界面,然后撰写少量代码,即可构建出自己的程序。 VB6.0是目前比较常用的一种VB语言版本。
属性是一个事物的性质。如黑板这个对象有形状、颜色等属性 每个属性都可以赋值,例如:黑板.颜色=黑色;黑板.形状=矩形; 属性的值可以通过属性窗口来修改
第一步:选择要修改属性的对象
第二步:从左窗格选择要修改的属性名称 第三步:从右窗格中输入或选择属性的值
选中某个属性后,对该属性的作用解释在这里
请从左侧工具箱中按 住左键拖动一个按钮到窗 体中放下,并试着按老师 刚刚的演示操作修改其各 种属性。
色设置为自己喜欢的颜色(黑白两
色除外),将窗体的高度设置为: 学号×100+1000,宽度设置为:
学号×100+2000,例如本班1号,
其程序窗体的高度为1100,宽度为 2100。将最后的程序生成为EXE工
程并上传至学生频道。
教科版《算法及程序设计》教学设计集

算法与程序设计(选修)案例点评本模块是信息技术选修模块之一。
学生在《信息技术基础》的“信息加工与表达”部分的学习过程中,已经通过用计算机编程解决问题的实例感受了运用计算机语言编写程序解决实际问题的基本过程,经历了使用某种编程语言工具解决一个简单问题的过程,在脑中初步建立了算法与程序设计的概念,以及对其进行应用的感性认识。
本模块是在必修模块“信息加工与表达”基础上的继续深入。
通过本模块的学习,使学生进一步体验算法思想,了解算法和程序设计在解决问题过程中的地位和作用;能从简单问题出发,设计解决问题的算法,并能初步使用一种程序设计语言编制程序实现算法,解决问题。
本模块的教学,应注意与数学课程中有关内容的衔接,要强调理论与实践的结合,引导学生注意寻找、发现身边的实际问题,进而设计出算法和计算机程序去解决这些问题。
教师要注意发现对程序设计有特殊才能的学生,根据具体情况为他们提供充分的发展空间。
本模块强调的是通过算法与程序设计解决实际问题的方法,对程序设计语言的选择不作具体规定。
从本模块的案例中可以看到不同教师对同一知识点的不同设计策略与设计特色。
如《分支结构》中,通过对学生已知认识结构的分析,将英语语法与程序设计语言语法进行联系从而导入主题;《出租车计价器程序的设计——If语句的教学》中,通过与学生生活紧密联系的例子,层层剖析,由浅入深地引导学生解决问题;《选择结构》中,以教师精心设计的小游戏来引入新课。
同时,又能看到不同老师对不同知识点的不同设计策略,如《算法与程序设计思想》中的“逐步引导与训练”;《For/Next循环语句初步》中的“运用表格来保证学生自主学习效率”;《赋值语句》中的“借简单语句来训练学生对编程环境的操作技能”;《递归算法的实现》中“通过活动的方式来导入展开教学”,等等。
案例一:算法与程序设计思想【基本信息】【课标要求】(一)利用计算机解决问题的基本过程(1)结合实例,经历分析问题、确定算法、编程求解等用计算机解决问题的基本过程,认识算法和程序设计在其中的地位和作用。
5顺序结构

用引号引起的内容(称为字 符串)将直接输出到屏幕上; 变量或表达式将计算或代 入结果后再输出。输出格 式请参P27 Print语句
邵阳市第一中学 第4页
顺序结构
开始 输入a,b
c=a
a=b b=c 输出a,b 结束
Private Sub Command1_Click() Dim a As Single, b As Single, c As Single a = Val(InputBox("输入a")) b = Val(InputBox("输入b")) Print "交换前:a="; a, "b="; b c=a a=b b=c Print "交换后:a="; a, "b="; b End Sub
以上这个过程实际上完成了一个数据的交换。这种交换数据的 方法在程序设计上也是经常要用到的。
邵阳市第一中学 第2页
动动手
在P33实践(1)表中填写交换任意两个数的流程图。
开始 输入a,b c=a
a=b
b=c 输出a,b 结束
邵阳市第一中学
第3页
顺序结构
开始 输入a,b
c=a
a=b b=c 输出a,b 结束
Private Sub Command1_Click() Dim a As Single, b As Single, c As Single a = Val(InputBox("输入a")) b = Val(InputBox("输入b")) InputBox函数 Print "交换前:a="; a, "b="; b c=a a=b b=c Print "交换后:a="; a, "b="; b End Sub
二分法查找

《二分法查找》教学设计一、教材分析[教材内容及学情分析]二分法查找是《算法与程序设计》(新课标教科书;教育科学出版社)第三章第三节的内容,本节课之前,学生已经学习了数组和顺序查找,具备了编程实现顺序查找算法的能力,但是,顺序查找在遇到数据量大或频繁查找的问题时,效率会比较低,而二分法查找会大大提高查找的效率,因此,本节课的学习对学生能够编写出更高效、更优化的程序是一个重要的帮助。
并且已经能够利用顺序查找方法对某个数据队列进行单个数据查找。
本节课主要让学生掌握二分法查找的基本思想,并将这一算法体现到具体的实例中,从而提高解决问题的效率。
[教学目标]知识目标:理解二分法查找的算法思想,学会编程实现二分法查找算法能力目标:培养学生分析问题和解决问题的能力情感目标:激发学生的编程兴趣,增强学生优化算法的思想意识[教学重点]理解二分法查找的算法思想[教学难点]理解二分法查找的算法思想二、教法和学法教法:创设情境教学法、任务驱动教学法学法:自我探究学习法、小组合作学习法、对比学习法三、教学准备多媒体教室、动画演示课件、VB6四、教学过程1、创设情景,激发兴趣,导入课题。
[教师讲解]大家知道中央电视台有一档收视率很高的节目叫“幸运52”,其中有一个环节,是让选手猜商品的价格,规则是给出商品的价格范围,主持人根据实际价格和选手报价给出提示:“高了”、“低了”、“正确”。
曾经有一个选手,仅仅尝试猜了3次,就猜出了实际价格。
当时给出的价格范围是100-300,实际价格是225。
他猜的3个数是200(主持人:低了)、250(高了)、225(正确)。
我们仔细分析这个选手的猜数过程,可以发现每次猜的数都是相应范围中间的数,这实际上采用了“二分法查找”的算法思想。
[设计意图]这个选手猜商品价格的方法实际上是采用“二分法”去猜,所以能很快的猜出商品的价格。
通过这样的方式导入课题,一方面可以激发学生学习的兴趣和热情,另一方面也是让学生领会编程算法思想:二分法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C
S1 S2
C
算法与程序设计
4)、程序设计:即是编写程序的过程。 一个高质量的程序,应具备以下条件: (1)、建立正确的灵堂模型和确定有效的计算方法; (2)、运行结果必须正确,且在精度和其他各方面均满足要求; (3)、程序本身具有良好的结构,逻辑清楚,易读易懂。 (4)、程序运行时间尽可能短,同时尽可能合理地使用内存; (5)、便于检查、修正、移植和维护。 5)、程序设计语言的产生与发展(P18) (1)、机器语言:由“0”和“1”组成的二进制代码,是能够被计算机直接接受 和执行的计算机语言。 优缺点: (2)、汇编语言:采用类似英语缩写略词且带有助记性的符号形式代替二进制 机器代码的计算机语言。是符号化了的机器语言。用能反映 指令功能的助记符表达的计算机语言。 优缺点: (3)、高级语言:相对于汇编语言而言,它并不是特指某一种具体的语言,而 是包括了很多编程语言,如VB、C、C++,VC、Java、Pascal等。
算法与程序设计
程序的编辑和翻译
1、理解什么是源代码、源文件、程序的编辑? 2、高级语言的翻译程序有两种类型:编译程序和解释程序。 编译程序:把用高级程序设计语言书写的源程序,翻译成等价的计算机汇编语言或 机器语言书写的目标程序的翻译程序。 解释程序是高级语言翻译程序的一种,它将源语言(如BASIC)书写的源程序作为输入, 解释一句后就提交计算机执行一句,并不形成目标程序。
Private Sub About_Click() MsgBox "我的第一个VB程序!" End Sub
算法与程序设计
Private Sub Command1_Click() YSF.Caption = "+" Text3.Text = Val(Text1.Text) + Val(Text2.Text) End Sub Private Sub Command2_Click() YSF.Caption = "-" Text3.Text = Val(Text1.Text) - Val(Text2.Text) End Sub
算法与程序设计
算法与程序设计
3、设计算法:
算法与程序设计
4、编写程序
Dim n As Integer N=1 Do If (N Mod 3=2) And (N Mod 5=3) And (N Mod 7=2) Then Print N Exit Do End If N=N+1 Loop
算法与程序设计
假设余数分别为2、3、2 2、分析问题:
探究的问题 设所求的数为X,则X应 该满足: X整除3余2 X整除5余3 X整除7余2 探究过程 1、令X为1。 2、如果X整除3余2,X整除5余3,X整除7余2,则记下这个X的值。 3、令X=X+1(为算下一个做准备) 4、如果求出了X,则结束程序,否则跳转执行第2步。 5、输出答案。
算法与程序设计
第一章 如何用计算机解决问题
算法与程序设计
1.1 计算机解决问题的过程
从一个生产方案问题了解用计算机解决问题的步骤:P3
开始
分析问题
设计算法
编写程序
运行程序 验证结果
问题解决
算法与程序设计
1、具体问题: 相传我国汉代有位大将军叫韩信,他在点兵时让士兵分别从1~3、1~5、1~7报数,然 后报告各次报数的余数,这样他就能推算出总共有多少士兵。
VB主要功能和特点
1. 具有面向对象的可视化设计工具; 2. 事件驱动的编程机制; 3. 提供了易学易用的应用程序集成开发环境; 4. 结构化的程序设计语言; 5. 支持多种数据库系统的访问; 6. Active技术; 7. VB 6.0在开发环境上、网络功能等的增强; 8. 完备的help联机帮助功能。
输入正整数m和n
1).输入m和n的值; 2).r=m除以n的余数; 3).如果r=0,则输出n值; 否则令m=n,n=r返回第2步; 4).结束. r=m除以n的余数 r=0 是 输出n的值 结束 注意对比三种算法描述方式的优劣。 否 m=n, n=r
输入m和n值 r ←m Mod n do while r<>0 m=n n=r r=m mod n loop 输出n值
算法与程序设计
辗转相除法 又名欧几里德算法(Euclidean algorithm)是求两个正整数之最大公约数的算法。它 是已知最古老的算法, 其可追溯至前300年。它首次出现于欧几里德的《几何原本》 (第VII卷,命题i和ii)中,而在中国则可以追溯至东汉出现的《九章算术》。它并不 需要把二数作质因子分解。 1. a ÷ b,令r为所得余数(0≤r<b),若 r = 0,b 即为最大公约数;算法结束 。 2. 互换:置 a←b,b←r,并返回第一步。 例如:求112和64的最大公约数.算法如下: (1).112除以64,余数为______; (2)._____除以_____余数为_______; (3)._____除以_____余数为_______. 答:112和64的最大公约数为______. 两数的最大公约数乘以其最小公倍数=两数相乘 练习:求164和64的最小公倍数. 求256和24的最小公倍数. 练习:求164和64的最大公约数. 求256和24的最大公约数.
例如:求112和64的最小公倍数. (1).利用辗转相除法求得它们的最大公约数为______; (2).利用表达式求得最小公倍数: 答: 112和64的最小公倍数为______.
算法与程序设计
2、算法的描述 表示算法的语言有自然语言、流程图、伪代码等。 1)、用自然语言描述算法; 2)、用流程图描述算法:掌握流程图的基本图形及其功能。 3)、用伪代码描述算法。 开始
Visual Basic程序的书写规则
任何计算机语言在使用时都有一些约定,书写程序时要遵循这些约定。 1.VB代码中英文字母不区分大小写。 但是在代码窗口向计算机内输入代码时,VB将把程序中用到的关键字的 首字母自动转换成大写,其余转换成小写,如果关键字由多个英文单词 组成,VB将把每个英文单词首字母转换成大写,其余转换成小写。 2.程序书写方法。 程序书写时,一般一行只写一个语句. 如果一行要放几个语句,各语句之间可以用冒号分开。 如果语句太长窗口一行放不下,可以续行,续行的方法是在行后使用续 行符,续行符是由一个空格加一个下划字符”_”组成,但一个行最多写 255个字符。 3.注释语句。 注释语句的作用是对程序或者程序段进行说明。注释语句使用单撇号’ 时,可以放在被注释语句的后边 注释语句使用REM或者单撇号’开头。 例如: Rem 求解方程,或者: ’求解方程。
使用自然语言描述算法的方法虽然比较容易掌握,但是存在着很大的缺陷。例如,当算法 中含有多分支或循环操作时很难表述清楚。另外,使用自然语言描述算法还很容易造成歧 义(称之为二义性),譬如有这样一句话——“武松打死老虎”,我们既可以理解为“武 松/打死老虎”,又可以理解为“武松/打/死老虎”。自然语言中的语气和停顿不同,就可 能使他人对相同的一句话产生不同的理解。又如“你输他赢”这句话,使用不同的语气说, 可以产生3种截然不同的意思,同学们不妨试试看。
无论是使用自然语言还是使用流程图描述算法,仅仅是表述了编程者解决问题的一种思路, 都无法被计算机直接接受并进行操作。
伪代码通常采用自然语言、数学公式和符号来描述算法的操作步骤,同时采用计算机高级 语言(如C、Pascal、VB、C++、Java等)的控制结构来描述算法步骤的执行顺序。
算法与程序设计
算法的地位:
在运用计算机程序解决问题的过程中,算法设计有着举足轻重的地位和作用,算法是程 序设计的核心,是程序设计的灵魂.算法的好坏,直接影响着程序的通用性和有效性,影 响着问题解决的效率. 程序的编制依赖于算法的设计。程序的效率主要取决于算法的效率。
算法与程序设计
1.3、程序与程序设计语言 1)、程序是一组机器操作的指令或语句的序列,是算法的一种描述。
不同点:当计算量较大时,人工解题就有点力不从心了,而计算机每秒上亿次的计算速度却不在话下, 并且只要算法正确,编程语句无误的话,使用计算机编写的解题程序可以反复使用。例如: sum=1+2+3+4+5……+(n-1)+n这样的问题。
算法与程序设计
1.2 算法描述与设计
1、算法的概念 算法是在有限步骤内求解某一问题所使用的一组定义明确的规则。即,用计算机求 解某一问题的方法,是能被机械地执行的动作或指令的有穷集合。 算法的特征: 1)、有0或多个输入。解题算法中可以没有数据输入,也可以同时输入多个需 要算法处理的数据。 2)、确定性。解题方法中的任何一个操作步骤都是清晰无误的,不会使人产生 歧义或者误解。 3)、有穷性。任何一种提出的解题方法都是在有限的操作步骤内可以完成的, 哪怕是失败的解题方法。 4)、有1个或多个输出。一个算法执行结束之后必须有数据处理结果输出,哪怕 是输出错误的数据结果,没有输出的算法使毫无意义的。 5)、能行性。解题方法中的任何一个操作步骤在现有计算机软硬件条件下和逻 辑思维中都能够实施实现。
2)、程序的基本结构:P16 顺序结构:各语句依次按照顺序执行。