高中算法与算法的描述
- 格式:doc
- 大小:143.51 KB
- 文档页数:16
1.2算法和算法的描述教材分析本节是高中信息技术选修1《算法与程序设计》(教科版)第一章“揭开计算机解决问题的神秘面纱”的第二节“算法和算法的描述”。
本节主要是让学生在已有的数学算法的基础上,对算法作了进一步的总结和提升,强调让学生学会用不同的方法描述算法。
学生分析学生在数学课中对算法已经有所了解,特别是用“自然语言”和“流程图“描述算法,高一数学中已经讲过了,所以教师可以让学生自己先尝试完成。
教学目标●知识与技能理解算法的概念。
经历用自然语言、流程图、伪代码等方法描述算法的过程。
能初步利用算法解决简单的问题。
●过程与方法根据算法主题进行问题分析,选择适当的算法描述工具进行算法探究活动●情感、态度及价值观关注算法在社会生活中的应用,激发学习的热情。
教学重、难点●重点:算法的三种描述方法:自然语言、流程图和伪代码。
●难点:结合实例分析算法的三种描述方法。
教学策略●教学思路趣味性案例“过河”——理解算法——算法的三种描述方法(结合实例:鸡兔同笼)。
●媒体选择1、网络教室(有投影仪和卷幕等)2、教师自制ppt课件(主要用来展示板书内容)●课时安排1课时。
教学过程一、复习、引入新课简单复习第一课《计算机解决问题的过程》,开门见山的学习新课二、结合实例、讲解新课(一)算法是“灵魂”1)通过上节课的学习,知道了计算机解决问题的过程(一起回忆计算机解决问题的过程);2)今天我们的任务是分析问题后要设计算法。
那什么是算法概念:在有限步内求解某一问题所使用的一组定义明确的规则。
通俗地说,算法就是用计算机求解某一问题的方法,是能被机械地执行的动作或指令的有穷集合。
学生:阅读课本P8算法的概念。
以趣味性案例加深对“算法”的理解,总结“算法”的特征算法的特征:有穷性、确定性、输入、输出、可行性。
(二)算法的三种描述方法鸡兔同笼:一个笼子里面有鸡和兔,现在只知道里面共有a个头、b只脚,问鸡和兔各有多少只1、用自然语言描述算法要求:用自然语言描述“鸡兔同笼”的算法(参考课本P10)。
第一章算法与算法的描述1.算法的定义算法:就是解决问题的思想方法,对解题过程的精确描述。
计算机解决问题的步骤为分析问题、设计算法、编写程序、调试程序。
算法是程序设计的“灵魂”,最核心过程。
2.法的特征一个算法应该具有以下五个重要的特征:1、有穷性:一个算法必须保证执行有限步之后结束;2、确定性:算法的每一步骤必须有确切的定义;3、输入:一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定出了初始条件;4、输出:一个算法有一个或多个输出,以反映对输入数据加工后的结果。
没有输出的算法是毫无意义的;5、可行性:算法中执行的任何计算步都是可以被分解为基本的可执行的操作步,即每个计算步都可以在有限时间内完成;(也称之为有效性)3.算法的描述方法算法的描述:可分多种表达方法,一般用自然语言、流程图和伪代码进行描述。
(1)自然语言描述法:指用人们日常生活中使用的语言(本国语言),用自然语言描述符合我们的习惯,且容易理解。
例1:求圆的周长和面积算法如下:(自然语言描述法)(1)输入半径r ;(2) 计算周长c=2*π*r ;(3) 计算面积 s=π*r*r ;(4) 输出周长c,输出面积s ;(5) 结束例2:工人每天工作8小时,每小时9元,超过8小时的每小时增加15%的加班费,计算工人每天的应发的日工资。
(1)输入工作小时X(2)判断X值,分别计算●X小于8,工资=X*9●X大于8,工资=X*9+(X-8)*9*0.15(3)输出工资(4)结束练习:求三个数中的最大数。
(用自然语言描述)(2)流程图描述:也称程序框图,它是算法的一种图形化表示方法。
且描述算法形象、直观,更易理解。
例1:求圆的周长和面积练习:求三个数中的最大数。
(用流程图描述)(3)伪代码描述法:是介于自然语言和计算机程序语言之间的一种算法描述。
是专业软件开发人员常用方法。
流程图的基本图形及功能:例1:求圆的周长和面积input rc=2*π*rs=π*r*rprint c,s练习:求三个数中的最大数。
(用伪代码描述)4.程序与程序语言(1)程序的定义:程序实际上是一组及其操作的指令或语句的序列,是算法的一种描述(2)程序的基本特征:程序一共有七个基本特征1、程序中,每一个算法的步骤对应着程序设计语言的一个或多个语句,每个语句对应一个或者多个操作。
每个操作都要求有执行对象,并且根据对象状态变化形成动作的效果,同事可变的对象用变量来表示,变量的值的变化则可通过操作赋值来完成。
2、除非特殊索命程序都是从第一条语句开始顺序开始向下执行。
3、程序总是施行与操作与某些对象,这些对象通常称为数据。
4、这些数据一般应该有属性和取值范围,即类型说明。
5、有时语句要求执行者作出判断,即在某种条件成立情况下执行一条或一组语句,否则执行另一条或一组语句。
6、一条或一组语句可能需要执行一次以上,当一条或一组语句要重复时,必须指明重复的次数或重复的条件。
7、程序本身是一个静态的实体,而执行语句的进程是动态的。
(3)程序的基本结构:顺序结构、选择结构、循环结构。
(4)程序设计语言的的产生和发展1、机器语言:二进制代码指令2、汇编语言:类似英语缩略词且带有助记性符号的语言,每条汇编指令和一条机器指令相对应,只是指令码和操作数都采用符号形式。
而这种语言是不能被机器直接接受,必须用一种语言翻译器将程序中的每条语句翻译成机器语言才能执行。
3、高级语言:高级语言本身不是一种语言,只是一类语言的分类。
用高级语言编写的程序必须经过翻译器将其翻译成机器语言,才能在计算机上执行。
常见的高级语言:C语言、C++、pascal、java、C#、VB、Basic (5)程序的编辑和翻译1、程序的编辑:以汇编语言或者高级语言所编写的程序被称为“源代码”,这些代码需要我们逐一的输入到计算机中。
并把他们以文件的形式保存起来,这个过程称为程序的编辑2、程序的翻译:前面的学习中使我们知道,计算机只能识别和执行二进制的机器语言代码,而我们用级语言或汇编语言编写的程序要想被计算机执行,必须翻译成机器语言程序,最终才能被计算机执行。
高级语言的翻译程序一般则有两种类型:编译程序和解释程序。
练习题:1 下面对算法描述正确的一项是:()A、算法只能用自然语言来描述B、算法只能用图形方式来表示C、同一问题可以有不同的算法D、同一问题的算法不同,结果必然不同2.下面关于算法描述正确的是()(A) 算法不可以用自然语言表示(B) 算法只能用框图来表示(C) 一个算法必须保证它的执行步骤是有限的(D) 算法的框图表示法有0个或多个输入,但只能有一个输出3、图形符号"在算法流程图描述中表示( ).A 处理或运算的功能B 输入输出操作C 用来判断条件是否满足需求D 算法的开始或结束4、以下哪个是算法的描述方法?( )A 流程图描述法B 枚举法C 顺序法D 列表法5、下面的语句是一个计算机程序的操作说明:(1)初始值为x=1,y=1,z=0,n=0;(2)n=n+1(将当前n+1的值赋予新的n);(3)x=x+2(将当前x+2的值赋予新的x);(4)y=2y(将当前2y的值赋予新的y);(5)z=z+xy(将当前z+xy的值赋予新的z);(6)如果z>7,则执行语句(7),否则返回语句(2)继续进行;(7)打印n,z;(8)程序终止.由语句(7)打印出的数值为 ______,_______.6、以下属于计算机程序语言的有()A、汇编语言B、高级语言C、机器语言D、低级语言7、执行程序时,程序中的每一条语句至少要运行一次()8、最早的程序设计语言是汇编语言()9、程序设计语言是指人们编制程序所使用的计算机语言,VB是低级语言()10、高级语言翻译程序有两种类型:解释程序和编译程序()第二章程序设计基础第一节常量、变量的定义VB程序的一般包括如下部分:(1)数据类型说明部分(2)数据的输入部分(3)数据的处理部分(4)数据的输出部分例:求圆的周长和面积Private Sub Command1_Click()Dim r As Single //定义r为单精度型Dim c As Single //'定义c为单精度型Dim s As Single //定义s为单精度型r = inputbox(“输入半径r”) //输入半径rc = 2 * 3.14159 * r //计算周长s = 3.14159 * r * r //计算面积print c //输出周长print s //输出面积End Sub一、常量:在程序进行过程中不变的量,在VB中一般分数值常量与字符常量两种。
数值常量:就是数学中说的常数,分整型常量和实型常量两种整型常量:即整数,指不带小数点的数值如1、0、-10、+35等都是合法的整数实型常量:即实数,指带小数点的数值。
实型常量又分为定点数和浮点数两种。
例:定点数:3.14159和-6.8,1.99浮点数:2E6、1E5例:1.2345×103 可表示为1.2345E3,字母E表示底数10浮点数就是数学上的科学计数法。
字符串常量:被一对双引号括起来的若干个合法的字符称为字符串常量。
例如:”China”、”Visual Basic”、”18”、”3.1415”等,双引号中字符,不包括双引号本身。
符号常量:如果多次用到同一个常量,则可用一个有意义的名字表示这个常量。
二、变量:在程序执行过程中,其值可以改变的量称为变量变量命名注意要点:1、必须以字母开头,不能以数字或其他字符开头。
2、只能由字母、汉字、数字学或下划线组成,不能含有小数点、空格等字符。
3、最长不超过255个字符4、不能以VB保留字作变量名,如语句定义符、函数名等。
5、VB不区分变量名中字母大小写。
如HELLO和Hello是同一个变量。
三、常量和变量的定义符号常量的声明:Const 常量名 [As 常量类型] = 常量值如:Const pi As Single = 3.14159 常量名为pi变量的声明:Dim <变量名 >As <变量类型>如:Dim a As Integer 定义一个整型变量,变量名为a变量的赋值:变量 = 表达式例:Private Sub Form_Click()Dim a As Integer, b As Integer, c As IntegerDim str As Stringa = 54b = 114c = a + bstr = "Hello World"Print "a="; a, "b="; b, "c="; cPrint strEnd Sub四、运算符1、算术运算:/ (浮点)除例:5 / 2 = 2.5\ 整除例: 5 \ 2 = 2Mod 求余数例:5 Mod 2 = 1例:3 > 2 结果为 True(真或是)3、逻辑运算Not(取反)And(与) Or(或)运算结果为布尔型(Boolean)True 或 False逻辑运算符的优先级为:No > And > Or4、日期运算符与日期表达式日期表达式是用日期运算符“+”或“-”将算式表达式、日期型常量、日期型变量、日期函数等连接起来的式子,如表达式“#2003/09/01# +30”的运算结果是“2003-10-1”;表达式“#2003/10/20# - #2003/10/10#”的运算结果为整数105、字符运算字符串连接符为“+”和“&”“123” + “45” = “12345”“123” & “45” = “12345”123 + “45” = 168“123” + 45 = 168运算符的执行顺序:在VB中,当一个表达式中同时出现多种运算符时,运算次序由运算符的优先级决定,优先级高的运算符先运算,优先级相同的从左向右进行运算。
不同性质的运算符优先级如下。
算术运算符 > 字符串运算符 > 关系运算符 > 逻辑运算符练习题:1、下列变量名写法错误的是( )A 、abc_123B 、123abcC 、abc123D 、abc 2、下列语句中定义了一个实型变量的是 ( ) A 、Dim end as Integer B 、Dim sum As Single C 、Dim Name As String D 、其它三项都不对3、在VB 中,以下关于符号常量的声明,声明正确的是:( )A 、Dim TAG as StringB 、Const TAG as String "Visual" + "Basic"C 、Const TAG as String ="Visual Basic"D 、Const TAG as String 4、下面( )不是字符串常量A 、"True"B 、#False#C 、" "D 、"你好" 5、分析 s=11\3 + 11 Mod 3,s 的值是( ). A 、5 B 、6 C 、4 D 、36、下面表达式的值是false 的有( ).A 、"969" < "n97"B 、Int(4.99) <> len("basic")C 、str(2000) < "1997"D 、3 > 2 7、设a=2, b=3,在VB 中,表达式a>b Or b>3值是:( ) A 、False B 、True C 、-1 D 、18、Visual Basic 中,下列( )函数是求绝对值的。