搜档网
当前位置:搜档网 › 2020选考总复习 信息技术 必修3 第二章 算法的程序实现

2020选考总复习 信息技术 必修3 第二章 算法的程序实现

2020选考总复习 信息技术 必修3 第二章 算法的程序实现
2020选考总复习 信息技术 必修3 第二章 算法的程序实现

第二章算法的程序实现

[

考试标准]

考试内容考试要求考试属性

1.枚举算法及程序实现 c

加试

2.解析算法及程序实现 c

3.排序算法及程序实现

(1)冒泡排序

(2)选择排序

c

4.查找算法及程序实现

(1)顺序查找

(2)对分查找

c

5.递归算法 a

6.VB访问Access数据库

(1)通过ADO对象连接数据库

(2)通过Recordset对象获取数据表中的数

a

一、排序算法及程序实现

1.排序的含义及方式

(1)所谓排序就是将无序的数列变成有序的数列。

(2)排列方式分为升序(也称递增,即从小到大排列)和降序(也称递减,即从大到小排列)。

2.冒泡排序

(一)算法基本思想

冒泡排序法第i遍排序是从第n个数(从后向前比较)或者第1个数(从前向后比较)开始,依次比较相邻的两个数,逆序时交换两个数,把第i个有序的数交换到第i个或者第n-i+1个位置。

数据的交换是在内层循环中发生。

(二)核心代码

①将数组a(1 to n)从大到小排序,从后向前比较

For i=1 To n-1

For j=n To i+1 Step-1

If d(j-1)

t=d(j):d(j)=d(j-1):d(j-1)=t

End If

Next j

Next i

②将数组a(1 to n)从大到小排序,从后向前比较

For i=1 To n-1

For j=1 To n-i

If d(j)

t=d(j):d(j)=d(j+1):d(j+1)=t

End If

Next j

Next i

3.选择排序

(1)选择排序的基本思想

每趟排序是在所有的数据中找出最小(或最大)的数据,使它与第一个数据相互交换位置,然后再在剩下的数据中找出最小(或最大)的数据,与第二个数据相互交换位置,以此类推,直到所有元素成为一个有序序列。

(2)选择排序的程序实现

说明:要排序的n个数据已存放d数组中。

以升序为例的程序如下:

For i=1 To n-1′n个排序共进行n-1趟排序

k=i′第i趟排序时,首先用k记录i

For j=i+1 To n′k位置上的数依次与j位置上的数进行比较

If d(k)>d(j)Then k=j′若找到比k位置上更小的数,则更新k的值

Next j

If k<>i Then′若i位置上的数不是最小数,则和k位置上的数进行互换

temp=d(i)

d(i)=d(k)

d(k)=temp

End If

Next i

温馨提示:若要按降序排列,只要将语句If d(k)>d(j) Then k=j改成If d(k)<d(j) Then k=j即可。

二、查找算法及程序实现

1.查找算法

所谓查找就是在指定的数据中寻找某一特定的数据。

查找结果有两种,即找到(查找成功)和未找到(查找失败)。

2.顺序查找

(1)顺序查找的基本思想

从第一个数据开始,从左往右(或从上到下)将数据按顺序逐个与给定的值进行比较,若某个数据和给定值相等,则查找成功,找到并输出所查数据的位置;反之,查找失败。

若有n个数,则可能的最多查找次数为n。

(2)顺序查找算法基本框架

设要查找的数为key,待查找的数存放在数组d中。

For语句框架:

For i=1 to n

若d(i)=key,则表示找到,做相应处理

Next i

若i>n表示未找到

Do While语句框架:

i=1

Do while i<=n

若d(i)=key,则表示找到,做相应处理

i=i+1

Loop

若i>n表示未找到

(3)顺序查找的程序实现

在n个数组元素中依次查找,找到第1个满足条件的值,找到即结束,输出找到元素所在的位置;若找不到,输出“未找到”。

程序实现:

设要查找的数据是key(在文本框Text1中输入),查找的数据存放在数组d中。pos为找到数的位置,pos=0表示未找到。

P表示查找的次数。

key=Val(Text1.Text)′Val要根据实际情况决定是否要添加

p=0

pos=0

find=False′find表示查找结果

i=1

Do While i<=n And Not find′表示还没找完并且还未找到,则继续查找,Not find也可表示为find=false

p=p+1

If key=d(i) Then

pos=i

find=True

End If

i=i+1

Loop

If find Then′也可表示为If find=true then

Text2.Text=“在d(”+Str(pos)+“)中”

Else

Text2.Text=“未找到”

End If

3.对分查找

(1)对分查找的基本思想

在有序的数据序列中(一般存放在数组中),首先把要查找的数据与数组中间位置的元素进行比较,如果相等,则查找成功并退出查找;否则,根据数组元素的有序性,确定数据应在数组的前半部分还是在后半部分查找;在确定了新的查找范围后,重复进行以上比较,直到找到或未找到为止。

温馨提示:①对分查找的前提是被查找的数据序列必须是有序。②“未找到”是指当指定范围内的起点大于终点仍未找到该数据。

(2)对分查找算法基本框架

说明:要查找的数为key,待查找的数存放在数组d中。

i为查找范围的起点,j为查找范围的终点,m为范围[i,j]的中间位置。

i=1

j=n

Do While i<=j

计算中点位置m

比较key与d(m),并做相应处理

Loop

若i>j,则表示未找到

(3)对分查找程序实现

在n个数组元素中依次查找,找到第1个满足条件的值,找到就结束,输出找到元素所在的位置;若找不到,输出“未找到”。

程序实现:

设要查找的数据是key(在文本框Text1中输入),查找的数据存放在数组d中。在文本框Text2中输出查找结果,若找到输出“找到!位置为:X”,否则输出“未找到!”

在文本框Text3中输出共查找的次数。

p表示查找的次数。

核心代码为(以升序为例):

key=Val(Text1.Text)′表示要查找的数

p=0′表示查找的次数

find=False′查找的结果,若find=true表示找到,find=false表示未找到

i=1′查找的起始范围

j=n′查找的终点范围

Do While i<=j And Not find′如果还未找完并且未找到

p=p+1′查找次数计数

m=(i+j)\2′计算中点位置m

If key=d(m) Then′表示找到的情况

find=True

Text2.Text=“找到!位置为:“+Str(m)

End If

If Key>d(m)Then′表示查找的数比中间位置上的数大时

i=m+1

Else′表示查找的数比中间位置上的数小时

j=m-1

End If

Loop

If Not find Then Text2.Text=“未找到!”

Text3.Text=“共查找的次数为:”+Str(p)

温馨提示:计算中点位置的语句还可以写成:m=Int((i+j)/2)或m=Fix((i+j)/2)。

三、递归算法

1.递归的概念

函数或过程调用其本身,称为递归。

2.递归算法的基本思想

递归算法的基本思想是把规模较大的、较难解决的问题变成规模较小的、容易解决的同一问题,规模较小的问题又变成规模更小的问题,直到可以直接得出它的解,从而得到原来问题的解。

3.采用递归算法须具备的条件

(1)每一步骤解决问题的方法要一致。

(2)要有结束的边界条件。

四、Connection对象

用Connection建立和数据库的连接时,首先创建一组ADO对象用于设置打开连接和产生结果集,需要设置连接字符串ConnectionString的参数。下列语句定义一个Connection对象的实例conn,conn是实例的名称,命名规则与VB变量定义相同,并设置conn的连接字符串:

Dim conn As New ADODB.Connection

Dim abc As New ADODB.Recordset

conn.ConnectionString=“Provider=Microsoft.ACE.OLEDB.12.0;Data Source =”& App.Path & “\souse1.accdb”

其中,“Provider”用于指定连接的提供者,“Data Source”用于指定数据库的文件名(含绝对路径)。App.Path返回当前应用程序所在的绝对路径。

Connection对象具有Open、Execute、Close等方法,其中Open方法用于建立到数据源的连接,Execute用于执行指定的查询、SQL语句或特定提供者的文本等内容,而Close方法则用于关闭连接。

五、Recordset对象

用Recordset对象从数据库中查询记录时,要设置ActiveConnection属性的值。语句Set abc.ActiveConnection=conn,使Recordset对象的实例abc与Connection对象的实例conn建立关联。

在abc与conn建立关联后,可用Recordset对象的Open方法打开、查询数据表的记录。

Open方法的参数为SQL命令。如:abc.Open“SELECT*FROM info”运行后,记录集abc中的数据为SQL语句“SELECT*FROM info”查询到的记录。

同样,Recordset对象的Close方法用于关闭对象。

Abc.close表示关闭记录集。

Recordset对象的Fields集合用于返回当前记录中的数据,如:abc.Fields(“book”)返回当前记录中”book”字段的值;abc.Fields(0)返回当前记录中第一个字段的值,如果第一个字段名为“book”,则abc.Fields(0)与abc.Fields(“book”)返回值相同。例如Recordset对象实例abc打开了下表的记录集:

Recordset对象打开的记录集:

假设当前记录为第2条记录,则Fields集合返回当前记录某个字段的数据有以下两种方法:

(1)abc.Fields(字段序号),其中字段序号从0开始编号。

(2)abc.Fields(“字段名称”)

故abc.Fields(0)和abc.Fields(“book”)都返回“红楼梦”,abc.Fields(1)和abc.Fields(“author”)都返回“曹雪芹”,abc.Fields(2)和abc.Fields(“price”)都返回“53.6”,abc.Fields(3)和abc.Fields(“Publishing”)都返回“上海教育出版社”。

通过Recordset对象从数据库中返回的这些数据可以通过数组的形式存储,以方便我们后序进行统计、排序、查找等处理。

Recordset对象的AddNew方法为可更新的Recordset对象创建一个新记录,它添加一条新的空记录,并且定位在该记录上;Delete方法可将当前记录从记录集中删除;Edit方法可以编辑修改数据库的记录,注意首先要将需要编辑的记录成为当前记录,然后使用Edit方法修改记录内容,使用Edit方法后,再移动记录或者使用Update方法把数据存入到数据库中;Move方法可以使不同的记录成为当前记录,主要有5种使用方法:

MoveFirst:移动到记录集的第一条记录。

MoveLast:移动到记录集的最后一条记录。

MoveNext:移动到记录集的下一条记录。

MovePrevious:移动到记录集的上一条记录。

Move:可以使用Move方法向前或向后移动若干条记录。

但应注意:若到数据表结尾处还继续向下移动,程序会出错,因此在使用MoveNext 时要判断Recordset的BOF和EOF属性,判断记录指针是不是到达首记录之前或尾记录之后。EOF取值为“True”时表示已经到达记录集的结尾,否则EOF的值为“False”。

若BOF和EOF的取值均为“True”则表示此记录集为空。

六、SQL:Select语句

SELECT语句是结构化查询语言SQL中常见的语句,主要用于从数据表中查询数据,如语句“SELECT*FROM info”表示查询数据表“info”的全部数据。

语句总结如下:

(1)定义Connection对象的实例conn和Recordset对象的实例abc。

Dim conn As New ADODB.Connection

Dim abc As New ADODB.Recordset

(2)为实例conn设置ConnectionString属性值。

conn.ConnectionString=“Provider=Microsoft.ACE.OLEDB.12.0;DATA Source =”& App.Path& ”\souse1.accdb”

(3)打开与数据库的连接。

conn.Open

(4)建立实例abc与conn之间的关联。

Set abc.ActiveConnection=conn

(5)执行SELECT命令,将查询结果返回给abc。

abc.Open“SELECT*FROM info”

(6)在应用程序中引用abc中当前记录的字段值。

Label1.Caption=abc.Fields(“book”)

Label2.Caption=abc.Fields(“price”)

(7)关闭记录集。

Abc.close

(8)关闭与数据库的连接。

conn.Close

【例1】(2016·4月浙江高考)有如下程序段:

For i=1 To 2

For j=5 To i+1 Step-1

If a(j)>a(i) Then

t=a(j):a(j)=a(i):a(i)=t

End If

Next j

Next i

数组元素a(1)到a(5)的值依次为“33,24,45,16,77”,经过该程序段“加工”后,数组元素a(1)到a(5)的值依次为()

A.77,45,33,16,24

B.77,33,45,16,24

C.77,24,45,16,33

D.77,45,33,24,16

解析分析本题程序段,外层循环到2,说明只进行了两遍排序。第1遍排序a(5)到a(2)依次与a(1)比较,较大数与a(1)交换,结果为:77,24,45,16,33;第2遍排序a(5)到a(3)依次与a(2)比较,较大数与a(2)交换,结果为:77,45,33,16,24。

根据程序的代码特征,没有中间变量存放较大数,数据的交换在内层循环中,形式上很像冒泡排序,但仔细分析,排序时关键的数据比较是“a(j)>a(i)”,不是相邻两个数依次比较,第i遍排序时后面的数都依次和a(i)比较,通过交换使a(i)最大。所以本程序段算法不是简单冒泡排序,也不是简单选择排序,类似选择排序的变形。

答案 A

[变式1]篮球联赛中,有5个班级的比赛积分依次为14,11,13,8,9。若采用冒泡排序算法对其进行从小到大排序,则完成第二遍时的结果是()

A.8,11,13,14,9

B.8,9,13,14,11

C.8,9,14,11,13

D.14,13,11,9,8

解析从小到大冒泡排序的基本思想是从最后的一个元素起,自后向前比较相邻的两个数据,将较小的数据换到前面,较大的换到后面。重复这一过程,直到处理完最后两个数据,称为一遍加工。因此第一遍加工时,9和8,9不动;8和13,13换到后面,8换到前面;8和11,11换到后面,8换到前面;8和14,14换到

后面,8换到前面。这是第一遍加工,结果是:8,14,11,13,9。第二遍加工时,9和13,13换到后面,9换到前面;9和11,1l换到后面,9换到前面;9和14,14换到后面,9换到前面。这是第二遍加工,结果是:8,9,14,11,13。答案 C

[变式2]有如下VB程序段:

For i=1 to 3

For j=5 to i step-1

If a(j)

K=a(j):a(j)=a(j+1):a(j+1)=k

End if

Next j

List1.Additem str (a(i))

Next i

数组元素a(1)到a(6)的数据依次为“1,5,7,6,9,3”,经过该程序段加工后,列表框List1中显示()

A.9、7、6

B.1,3,5

C.9、7、6、1、5、3

D.9,7,6,5,3,1

解析i表示排序的趟数,只排了3趟,且只显示了前面3个数。j表示比较的位置,从后向前比较,条件a(j)

[变式3]有如下程序段:

tot=0

For i=1 To 4

yes=False

For j=5 To i+1 Step -1

If a(j)>a(i) Then

yes=True:tot=tot+1

t=a(j):a(j)=a(i):a(i)=t

End If

Next j

If yes=False Then Exit For

Next i

数组元素a(1)到a(5)的值依次为“33,24,4,16,77”,经该程序段“加工”后,tot的值为()

A.2

B.3

C.4

D.5

解析J表示比较的位置,从后向前比较,条件a(j)

答案 B

[变式4]VB程序段如下:

exchange=0

last_change=8

Do While last_change>1

current=1

For j=1 To last_change-1

If a(j)

exchange=exchange+1

tmp=a(j)

a(j)=a(j+1)

a(j+1)=tmp

current=j

End If

Next j

last_change=current

Loop

数组元素a(1)到a(8)的值依次为“15,13,20,14,12,9,5,1”,执行该程序段,exchange的值为()

A.2

B.3

C.4

D.5

解析J表示比较的位置,从前向后比较,条件a(j)

答案 B

【例2】(2017·11浙江选考)小李基于冒泡排序算法编写一个VB程序,功能如下:在文本框Text1中显示排序前的数据,单击“排序”按钮Command1,在文本框Text2中显示剔除重复数据后的升序排序结果。程序运行界面如下图所示。

实现上述功能的VB代码如下,但加框处代码有错,请改正。

Const n=10

Dim a(1 To n)As Integer

Private Sub Command1_Click()

Dim i As Integer,j As Integer,t As Integer

Dim bottom As Integer′剔除重复数据后元素的个数

′获取排序前数据依次存储在数组a中,并在文本框Text1中显示。代码略bottom=n

i=1

Do While i<=bottom-1

For j=bottom To i+1 Step-1

If a(j)

t=a(j):a(j)=a(j-1):a(j-1)=t

ElseIf a(j)=a(j-1) Then′若相邻数据相等,进行剔除处理

a(bottom)=a(j)′(2)

bottom=bottom-1

End If

Next j

i=i+1

Loop

Text2.Text=“”

For i=1 To bottom

Text2.Text=Text2.Text+Str(a(i))

Next i

End Sub

其中,方框(1)处应改正为________;

方框(2)处应改正为________。

答案(1)a(j)a(j)或其他等价表达式

(2)a(j)=a(bottom)或其他等价语句

[变式5](2016·10月浙江选考)小吴为了探究冒泡排序过程中数据的“移动”情况,编写了一个VB程序,功能如下:在列表框List1中显示排序前数据(存储在数组a中),在文本框Text1中输入初始位置(即下标值),单击“排序”按钮Command1后,在标签Label1中显示指定初始位置的数据在排序过程中的位置变化情况,排序后的数据显示在列表框List2中。程序运行界面如图所示。

实现上述功能的VB程序如下,但加框处代码有错,请改正。

Dim a(1 To 8)As Integer

Dim n As Integer

Private Sub Form_Load()

′n=8,排序前的8个数据存储在数组a中,并在列表框List1中显示

′代码略

End Sub

Private Sub Command1_Click()

Dim i As Integer,j As Integer,k As Integer

Dim pos As Integer′变量pos存储指定数据的位置(即下标值)

Dim s As String′变量s存储pos变化情况

s=Text1.Text

pos=Val(Text1.text)

For i=1 To n-1

For j=n To i+1 Step -1

If a(j)<a(j-1) Then

k=a(j)′(1)

a(j-1)=a(j)

a(j)=k

′如果pos位置的数据参与交换,则更新pos值,记录pos变化情况

If pos=j Then

pos=j-1

s=s+“→”+Str(pos)

Else′(2)

pos=j

s=s+“→”+Str(pos)

End If

End If

Next j

Next i

Label1.Caption=“位置变化情况:”+s

For i=1 To n

List2.Addltem Str(a(i))

Next i

End Sub

其中,加框(1)处应改正为________;

加框(2)处应改正为________。

解析仔细阅读题干说明和程序及程序注释,先从整体判断各程序段功能及各变量的作用,再具体分析出错位置的程序行进行改错。

(1)此位置程序段为冒泡排序相邻两个数据进行比较后,逆序的两数交换数据,即交换两个变量的值,分析后面两程序行,判断(1)方框处应该是“k=a(j-1)”。

(2)阅读程序注释,(2)框处所在分支语句功能为“如果pos位置的数据参与交换,则更新pos值,记录pos变化情况”,这个是在外层的判断语句的基础之上进行的,即两个相邻数a(j)

答案(1)k=a(j-1)(2)ElseIf pos=j-1 Then

[变式6]n个数据的冒泡升序排序需要经过n-1遍的加工,每一遍加工自下而上比较相邻两个数据,把较小者交换到上面,在第i遍加工过程中需要进行n-i 对数据的比较。在某些情况下,第i遍加工过程中,在上面部分较小数据已经有序情况下,不需要再进行n-i对数据的比较。如对“17,18,19,24,23,20”这6个数据排序中,第1遍排序结束后数据为“17,18,19,20,24,23”,第2遍排序时不再需要对20及其前面4个数据进行比较。以下程序实现了冒泡排序的优化,但加框处代码有误,请改正。

Dim n As Integer

Dim a(1 To 100)As Integer

Private Sub Form_Load()

′n=10,排序前生成的数据存储在数组a中,并在列表框List1中显示′代码略

End Sub

Private Sub Command1_Click()

Dim i As Integer,j As Integer,start As Integer,t As Integer

i=0′(1)

Do While i

start=n

For j=n To i Step-1

If a(j)

t=a(j):a(j)=a(j-1):a(j-1)=t

start=j

End If

Next j

start=i′(2)

Loop

For i=1 To n

List2.AddItem Str(a(i))

Next i

End Sub

其中,加框(1)处应改正为________;

加框(2)处应改正为________。

解析For j=n To i Step-1表示比较的方向,从后向前比较,前面的数先有序。a(j)

答案(1)i=2(2)i=start

【例3】(2017·4月浙江省选考)小赵对选择排序算法进行了如下改进:在数组的所有元素中找出最小和最大数据的元素,然后将这两个元素分别与第一个和最后一个元素交换数据,在余下的元素中找出最小和最大数据的元素,分别与第二个和倒数第二个元素交换数据,以此类推,直到所有元素的数据按升序排列。小赵编写的VB程序段如下:

p=1∶q=10

Do While p<q

iMin=p∶iMax=p

For i=p+1 To q

If a(i)<a(iMin) Then iMin=i

If a(i)>a(iMax) Then iMax=i

Next i

t=a(iMin)∶a(iMin)=a(p)∶a(p)=t

t=a(iMax)∶a(iMax)=a(q)∶a(q)=t

p=p+1

q=q-1

Loop

要使程序实现上述算法思想,则方框中的语句是()

A.If iMax=p Then iMax=iMin

B.If iMin=p Then iMin=iMax

C.If iMax=p Then iMin=iMax

D.If iMin=p Then iMax=iMin

解析iMin表示本轮比较中较小的数,iMax表示本轮比较中较大的数。当较大数在原来p的位置,经过较小者与位置p的数据者(较大数)交换时,较大数已经不再是原来iMax,而是本轮开始比较时的最小值iMin。

答案 A

【例4】(2015·9月浙江高考模拟)采用如下选择排序算法对数组a中5个数据“23,86,98,65,2”按从小到大的顺序进行排序。

For i=1 To 4

k=i

For j=i+1 To 5

If a(j)<a(k) Then k=j

Next j

If k<>i Then

t=a(i):a(i)=a(k):a(k)=t

End If

Next i

整个排序过程中,数组中的数据比较次数和交换次数分别是()

A.10次和3次

B.10次和4次

C.15次和3次

D.15次和10次

解析n个数进行选择排序需进行n-1遍,每遍比较次数依次为:n-1,n-2,……,2,1;选择排序的比较次数与待排序的初始状态无关,而交换次数与待排序的初始状态有关,需具体问题具体分析。本题数据比较次数为4+3+2+1=10次,模拟选择排序的过程,数据交换次数为4次。

答案 B

【例5】实现某排序算法的部分VB程序如下:

For i=1 To 6

k=i

For j=i+1 To 7

If a(j)<a(k) Then k=j

Next j

If i<>k Then

t=a(i):a(i)=a(k):a(k)=t

End If

Next i

在排序过程中,经过某一遍排序“加工”后,数组元素a(1)到a(7)的数据依次为“10,41,75,12,63,11,85”。下一遍排序“加工”后数组元素a(1)到a(7)的数据依次是()

A.10,11,41,75,12,63,85

B.10,11,75,12,63,41,85

C.10,11,12,75,63,41,85

D.10,11,12,41,63,75,85

解析(1)根据算法的代码特征确定是选择排序。(2)由a(j)

答案 B

[变式7](2018·11浙江选考)下列VB程序段功能为:根据文本框Text1中各字

高中数学必修三算法和程序框图练习题

一、选择题 1、根据算法的程序框图,当输入n=6时,输出的结果是( ) A.35 B.84 C.49 D.25 2、如图,汉诺塔问题是指有3根杆子A,B,C,杆子上有若干碟子,把所有的碟子从B杆移到A杆上,每次只能移动一个碟子,大的碟子不能叠在小的碟子上面,把B杆上的3个碟子全部移动到A杆上,最少需要移动的次数是( ) A.12 B.9 C.6 D.7 3、一程序框图如图1-1-25所示,它能判断任意输入的数x的奇偶性,其中判断框中的条件是( ) A.m=0 B.x=0 C.x=1 D.m=1 图1-1-25 4、阅读下面的程序框图并判断运行结果为…( ) A.55 B.-55 C.5 D.-5 5、给出下面的算法:该算法表示() S1 m=a; S2 若b<m,则m=b; S3 若c<m,则m=c; S4 若d<m,则m=d; S5 输出m. A.a,b,c,d中最大值 B.a,b,c,d中最小值 C.将a,b,c,d由小到大排序 D.将a,b,c,d由大到小排序 6、下列关于算法的说法中,正确的是() A.求解某一类问题的算法是唯一的 B.算法必须在有限步操作之后停止 C.算法的每一步操作必须是明确的,不能有歧义或模糊

D.算法执行后一定产生确定的结果 7、算法共有三种逻辑结构,即顺序结构、条件分支结构和循环结构,下列说法正确的是() A.一个算法只能含有一种逻辑结构 B.一个算法最多可以包含两种逻辑结构 C.一个算法必须含有上述三种逻辑结构 D.一个算法可以含有上述三种逻辑结构的任意组合 8、下面的程序框图中是循环结构的是( ) A.①② B.②③ C.③④ D.②④ 9、阅读下边的程序框图,若输入的n是100,则输出的变量S和T的值依次是( ) A.2 500,2 500 B.2 550,2 550 C.2 500,2 550 D.2 550,2 500 10、程序框是程序框图的一个组成部分,下面的对应正确的是() ①终端框(起止框),表示一个算法的起始和结束②输入、输出框,表示一个算法输入和输出的信息③处理框(执行框),功能是赋值、计算④判断框,判断某一条件是否成立,成立时在出口处标明“是”或“Y”,不成立时标明“否”或“N” A.(1)与①,(2)与②,(3)与③,(4)与④ B.(1)与④,(2)与②,(3)与①,(4)与③ C.(1)与①,(2)与③,(3)与②,(4)与④ D.(1)与①,(2)与③,(3)与④,(4)与②

高中数学必修三(程序框图)专题

高中数学必修三专题 专题一:根据程序框图写出运算结果 解题步骤: (1)弄清楚初值和循环结构开始前各变量值。 (2)跟着流程线箭头所指方向一步一步往下走,遇到判断框,先判断满足哪一个条件,若是满足判断框中条件,走“是”这一支,否则走“否”这一支,并继续顺着箭头方向走。 (3)若是循环结构,每循环一次为一组,写出各组中变量的值,直到循环结束。 (4)得出结果。 典型例题 1、(2009浙江卷文)某程序框图如上(1)图所示,该程序运行后输出的的值是( ) A . B . C . D . 2、(2013北京理科)执行如图(2)所示的程序框图,输出的S 值为 A .1 B .23 C .1321 D .610987 3、(2013安徽理科) 如图所示(3),程序框图(算法流程图)的输出结果是 (A ) 16 (B )2524 (C )34 (D )1112 4、(2013北京理科)执行如图所示的程序框图,输出的S 值为( ) (A ) 1(B )23 (C )1321 (D )610987 5、(2014安徽理科)如图所示(5),程序框图(算法流程图)的输出结果是( ) A. 34 B. 55 C. 78 D. 89 6、(2014福建理科).阅读右图所示的程序框图(6),运行相应的程序,输出的S 得值等于( ) .18A .20B .21C .40D 7、(2014北京理科)当7,3m n ==时,执行如图(7)所示的程序框图,输出的S 值为( ) .7A .42B .210C .840D 8、(2014四川理科)执行如图的程序框图(8),如果输入的,x y R ∈,那么输出的S 的最大值为( ) A 、0 B 、1 C 、2 D 、3 9、(全国二理科).执行下图程序框图(9),如果输入的x,t 均为2,则输出的S= ( ) A. 4 B. 5 C. 6 D. 7 10、(2014天津理科)阅读下边的框图(10),运行相应的程序,输出S 的值为________. 11、(全国一理科)执行下图的程序框图(11),若输入的,,a b k 分别为1,2,3,则输出的M = A . 203B .165C .72D .158

人教版高中数学必修3,程序框图、顺序结构

人教版高中数学同步练习 1.1.2程序框图与算法的基本逻辑结构 第1课时程序框图、顺序结构 课时目标 1.理解程序框图的含义.2.掌握各类程序框的功能.3.掌握算法的顺序结构.1.程序框图 (1)程序框图又称流程图,是一种用程序框、流程线及文字说明来表示算法的图形. (2)在程序框图中,一个或几个程序框的组合表示算法中的一个步骤;带有方向箭头的流程线将程序框连接起来,表示算法步骤的执行顺序. 2.常见的程序框、流程线及各自表示的功能 图形符号 ○ 名称 终端框(起止框) 输入、输出框 处理框(执行框) 判断框 流程线 连接点 功能 表示一个算法的起始和结束 表示一个算法输入和输出的信息 赋值、计算 判断某一条件是否成立,成立时在出口处标明 “是”或“Y”;不成立时标明“否”或“N” 连接程序框 连接程序框图的两部分 3.顺序结构 (1)顺序结构的定义 由若干个依次执行的步骤组成的,这是任何一个算法都离不开的基本结构. (2)结构形式 一、选择题 1.下列关于程序框图的说法正确的是() A.程序框图是描述算法的语言 B.程序框图中可以没有输出框,但必须要有输入框给变量赋值 C.程序框图虽可以描述算法,但不如用自然语言描述算法直观 D.程序框图和流程图不是一个概念 答案A

2.尽管算法千差万别,但程序框图按其逻辑结构分类共有() A.2类B.3类 C.4类D.5类 答案B 3.对终端框叙述正确的是() A.表示一个算法的起始和结束,程序框是 B.表示一个算法输入和输出的信息,程序框是 C.表示一个算法的起始和结束,程序框是 D.表示一个算法输入和输出的信息,程序框是 答案C 4.下列程序框图所对应的算法和指向线分别为() A.5步,5条B.5步,4条 C.3步,5条D.3步,4条 答案D 5.下列关于流程线的说法,不正确的是() A.流程线表示算法步骤执行的顺序,用来连接程序框 B.流程线只要是上下方向就表示自上向下执行可以不要箭头C.流程线无论什么方向,总要按箭头的指向执行 D.流程线是带有箭头的线,它可以画成折线 答案B 6.给出下列程序框图: 若输出的结果为2,则①处的执行框内应填的是() A.x=2B.b=2

高一数学必修三算法与程序框图练习

高一数学(下)周周练(三)程序框图与基本算法语句一选择题 1.已知某算法的流程图如图所示,若将输出的数组(x,y)依次记为(x1,y1),(x2,y2),…,(x n,y n).则程序结束时,最后一次输出的数组(x,y)是() A.(1 004,-2 006) B.(1 005,-2 008) C.(1 006,-2 010) D.(1 007,-2 012) 2.右边程序的输出结果为() A.3,4 B.7,7 C.7,8 D.7,11 3.如图所示的程序框图,如果输入三个实数a,b,c,要求输出这三个数中最大的数,那么在空白的判断框中,应该填入下面四个选项中的() A.c>x B.x>c Array C.c>b D.b>c 4.阅读如下图的程序框图,则输出的S=()

A .14 B .20 C .30 D .55 5.执行如图所示的程序框图,若输出的b 的值为16,则图中判断框内①处应填( ) A .3 B .4 C .5 D .2 6、如果右边程序执行后输出的结果是990,那么 A.i > 10 B. i <8 C. i <=9 D.i<9 7.读程序 甲: i=1 乙: i=1000 S=0 S=0 WHILE i<=1000 DO S=S+i S=S+i i=i+l i=i-1 WEND Loop UNTIL i<1 PRINT S PRINT S END END 对甲乙两程序和输出结果判断正确的是 ( ) A .程序不同结果不同 B .程序不同,结果相同 C .程序相同结果不同 D .程序相同,结果相同

8.下边程序执行后输出的结果是 ( ) A. -1 B. 0 C. 1 D. 2 n= 5 s= s< WHILE15 s s n =+ =- 1 n n WEND PRINT n END 二、填空题 9.若数列{a n}的前n项(n≥5)由如图所示的流程图输出依次给出,则a5=________. 10.某算法的程序框图如图所示,则输出量y与输入量x满足的关系式是________. 11.(2009·广东)某篮球队6名主力队员在最近三场比赛中 投进的三分球个数如下表所示:

高一数学必修三,算法与程序框图知识点及题型

第二节算法与程序框图 一、基础知识 1.算法 (1)算法通常是指按照一定规则解决某一类问题的明确和有限的步骤. (2)应用:算法通常可以编成计算机程序,让计算机执行并解决问题. 2.程序框图 程序框图又称流程图,是一种用程序框、流程线及文字说明来表示算法的图形.3.三种基本逻辑结构 (1)顺序结构 (2)条件结构

(3)循环结构 三种基本逻辑结构的适用情境 (1)顺序结构:要解决的问题不需要分类讨论. (2)条件结构:要解决的问题需要分类讨论. (3)循环结构:要解决的问题要进行许多重复的步骤,且这些步骤之间有相同的规律.考点一顺序结构和条件结构

[例1] (2019·沈阳质检)已知一个算法的程序框图如图所示,当输出的结果为0时,输入的实数x 的值为( ) A .-3 B .-3或9 C .3或-9 D .-3或-9 [解析] 当x ≤0时,y =????12x -8=0,x =-3;当x >0时,y =2-log 3x =0,x =9.故x =-3或x =9,选B. [答案] B [例2] 某程序框图如图所示,现输入如下四个函数,则可以输出的函数为( ) A .f (x )=cos x x ????-π 2

C .f (x )=|x | x D .f (x )=x 2ln(x 2+1) [解析] 由程序框图知该程序输出的是存在零点的奇函数,选项A 、C 中的函数虽然是奇函数,但在给定区间上不存在零点,故排除A 、C.选项D 中的函数是偶函数,故排除D.选B. [答案] B [解题技法] 顺序结构和条件结构的运算方法 (1)顺序结构是最简单的算法结构,语句与语句之间、框与框之间是按从上到下的顺序进行的.解决此类问题,只需分清运算步骤,赋值量及其范围进行逐步运算即可. (2)条件结构中条件的判断关键是明确条件结构的功能,然后根据“是”的分支成立的条件进行判断. (3)对于条件结构,无论判断框中的条件是否成立,都只能执行两个分支中的一个,不能同时执行两个分支. [题组训练] 1.半径为r 的圆的面积公式为S =πr 2,当r =5时,计算面积的流程图为( ) 解析:选D 因为输入和输出框是平行四边形,故计算面积的流程图为D. 2.运行如图所示的程序框图,可输出B =______,C =______.

2019-2020年高中数学《 算法与程序框图 》教案1 新人教A版必修3

2019-2020年高中数学《算法与程序框图》教案1 新人教A版必修3一. 教学内容: 框图的复习 二. 学习目标 通过具体实例,进一步认识框图;能绘制简单实际问题的流程图和结构图,体会框图在解决实际问题中的作用; 三. 考点分析 1、流程图:流程图常常用来表示一个动态过程,通常会有一个“起点”,一个或多个“终点”。程序框图是流程图的一种。流程图可以直观、明确地表示动态过程从开始到结束的全部步骤。它是由图形符号和文字说明构成的图示。 流程图用于描述一个过程性的活动,活动的每一个明确的步骤构成流程图和一个基本单元,基本单元之间用流程线产生联系。基本单元中的内容要根据需要而确定。可以在基本单元中具体说明,也可以为基本单元设置若干子单元。 2、绘制流程图的一般过程 首先,用自然语言描述流程步骤; 其次,分析每一步骤是否可以直接表达,或需要借助于逻辑结构来表达; 再次,分析各步骤之间的关系; 最后,画出流程图表示整个流程。 3、结构图:表示一个系统中各部分之间的组成结构的框图叫做结构图。 4、绘制结构图步骤: (1)确定组成系统的基本要素,及它们之间的关系。 (2)将系统的主体要素及其之间的关系表示出来。 (3)确定主体要素的下位要素(从属主体的要素) “下位”要素比“上位”要素更为具体, “上位”要素比“下位”要素更为抽象。 (4)逐步细化各层要素,直到将整个系统表示出来为止。 5、结构图与流程图的区别 流程图和结构图不同。流程图是表示一系列活动相互作用、相互制约的顺序的框图。结构图是表示一个系统中各部分之间的组成结构的框图。 流程图描述动态过程,结构图刻画系统结构。流程图通常会有一个“起点”,一个或多个“终点”,其基本单元之间由有向线连接;结构图则更多地表现为“树”状结构,其基本要素之间一般为逻辑关系。

高中数学必修3程序框图练习

输出 高一数学练习1——程序框图 班级座号姓名 1 .执行如右图所示的程序框图,输出的S值为() A.1 B. 2 3 C. 13 21 D. 610 987 2 .如下图所示,程序框图(算法流程图)的输出结果是( ()[来源:Z A. 1 6 B. 25 24 C. 3 4 D. 11 12 3.执行下面左边的程序框图,若第一次输入的a的值为-1.2,第二次输入的a的 值为1.2,则第一次、第二次输出的a的值分别为() A.0.2,0.2 B.0.2,0.8 C.0.8,0.2 D.0.8,0.8 4.执行上面右图所示的程序框图,输出的S值为() A. 2 B .4 C.8 D. 16

5. 如下左图所示,程序框图(算法流程图)的输出结果是() D8 ()A3()B4() C5() 6.执行上右图所示的程序框图,如果输出3 s=,那么判断框内应填入的条件是() A.6 k≤ k≤D.9 k≤B.7 k≤C.8 7 .阅读如下程序框图,如果输出5 i=,那么在空白矩形框中应填入的语句为() A.2*2 S i =+ S i =D.2*4 S i =-B.2*1 S i =-C.2* t∈-,则输出s属于() 8 .运行如下程序框图,如果输入的[1,3] A.[3,4] -D.[2,5] - -C.[4,3] -B.[5,2] 9.阅读下左图所示的程序框图,运行相应的程序. 若输入m的值为2, 则输出的结果i=__________.

10.如果执行上右图所示的程序框图,输入1 x =-,n =3,则输出的数S = 11.阅读下左图所示的程序框图,运行相应的程序,输出的结果s = . 12.执行上右图所示的程序框图,若输入n 的值为8,则输出s 的值为 . 13.下图是某算法的程序框图,则程序运行后输出的结果是_________。 14.执行下左图所示的程序框图,如果输入1,2,a b a ==则输出的的值为_______.

高中数学必修三《算法与程序框图》教案

高中数学必修三《算法与程序框图》教案 高中数学必修三《算法与程序框图》教案 高中数学必修三《算法与程序框图》教案设计 学习目标: 1.明确算法的含义,熟悉算法的三种基本结构:顺序、条件和循环,以及基本的算法语句. 2.能熟练运用辗转相除法与更相减损术、秦九韶算法、进位制等典型的算法知识解决同类问 算法的基本知识与算法对应的程序框图的设计. 与算法对应的程序框图的设计及算法程序的编写. 要点梳理 知识点一:算法与程序框图 1.算法的定义:广义的算法是指完成某项工作的方法和步 骤,现代意义的算法是指可以用计算机来解决的某一类问 题的程序和步骤,这些程序或步骤必须是明确和有效的, 而且能够在有限步之内完成. 2.四种基本的程序框 3.三种基本逻辑结构 (1)顺序结构 (2)条件结构 (3)循环结构 要点诠释: 1.对于算法的理

解不能仅局限于解决 数学问题的方法,解 决任何问题的方法和 步骤都应该是算法.算法具有概括性、抽象性、正确性等特点,要通过具体问题的过程和步骤的分析去体会算法的思想,了解算法的含义. 2.在学习程序框图时要掌握各程序框的 作用,准确应用三种基本逻辑结构,即顺序结构、条件分支结构、循环结构来画程序框图,准确表达算法. 画程序框图是用基本语句来编 程的前提.知识点二:基本算法语句 1、输入语句 2、输出语句 3、赋值语句 4、条件语句 IF-THEN-ELSE格式 IF-THEN格式 5、循环语句 (1)WHILE语句 (2)UNTIL语句 要点诠释: 基本算法语句是程序设 计语言的组成部分,注意各语

句的作用,准确理解赋值语 句,灵活表达条件语句.计算机 能够直接或间接理解的程序语 言都包含输入语句、输出语句、 赋值语句、条件语句和循环语句 等基本算法语句.输入语句、输 出语句和赋值语句贯穿于大多 数算法的结构中,而算法中的条 件结构由条件语句来表述,循环 结构由循环语句来实现.学习中 要熟练掌握这些基本算法语句.知 识点三:算法案例 案例1、辗转相除法与更相减损术 1.利用辗转相除法求最大公 约数的步骤如下: (1)用较大的数m 除以较小的 数n得到一个商(2)若 商和一个余数;≠0,则用除数n除以余数得到一个=0,则n为m,n的最大公约数;若; 为m,n的最大公约数;若 =0,此时所得到的和一个余数=0,则(3)若商≠0,则用除数除以余数得到一个和一个余数依次计算直至即为所求的最大公约数.2.更相减损术 (1)任意给出两个正数;判断它们是否都是偶数.若是,用2约简;若不是,执行第

高中数学 必修三 4.程序框图的画法

中学教师课时教案 备课人授课时间 课题1.1.2程序框图与算法的基本逻辑结构(三) 课标要求1.掌握程序框图的概念;2.会用通用的图形符号表示算法; 3.掌握画程序框图的基本规则,能正确画出程序框图; 教学目标 知识目标 通过设计流程图来表达解决问题的过程,了解流程图的三种基本逻辑 结构:顺序、条件分支、循环。理解掌握三种基本逻辑结构,能设计 简单的流程图。 技能目标 通过模仿、操作和探索,抽象出算法的过程,培养抽象概括能力、语 言表达能力和逻辑思维能力。 情感态度价值观 通过算法实例,体会构造的数学思想方法;提高学生欣赏数学美的能 力,培养学生学习兴趣,增强学好数学的信心;通过学生的积极参与、 大胆探索,培养学生的探索精神和合作意识。 重点综合运用框图知识正确地画出程序框图难点综合运用这些知识正确地画出程序框图。 教学过程及方法 问题与情境及教师活动学生活动 一.导入新课 前面我们学习了顺序结构、条件结构、循环结构,今天我们系 统学习程序框图的画法。 提出问题 (1)请大家回忆顺序结构,并用程序框图表示. (2)请大家回忆条件结构,并用程序框图表示. (3)请大家回忆循环结构,并用程序框图表示. (4)总结画程序框图的基本步骤. 讨论结果: (1)顺序结构是由若干个依次执行的步骤组成的,这是任何一 个算法都离不开的基本结构.框图略. (2)在一个算法中,经常会遇到一些条件的判断,算法的流程 根据条件是否成立有不同的流向.条件结构就是处理这种 过程的结构.框图略. (3)在一些算法中要求重复执行同一操作的结构称为循环结 构.即从算法某处开始,按照一定条件重复执行某一处理 过程.重复执行的处理步骤称为循环体. 循环结构有两种形式:当型循环结构和直到型循环结构. 框图略. (4)从前面的学习可以看出,设计一个算法的程序框图通常要 经过以下步骤:

必修三-算法与程序框图(优秀教案!).docx

算法与程序框图 教学目标:明确算法的含义,熟悉算法的三种基本结构。 教学重点:算法的基本知识与算法对应的程序框图的设计. 教学难点:与算法对应的程序框图的设计及算法程序的编写. 教学过程: 1.算法的定义:广义的算法是指完成某项工作的方法和步骤,现代意义的算法是指可以用计 算机来解决的某一类问题的程序和步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成 . 2.流程图的概念:流程图是用一些规定的图形、指向线及简单的文字说明来表示算法几程序 结构的一种图形程序.它直观、清晰,便于检查和修改. 其中,图框表示各种操作的类型,图框中的文字和符号表示操作的内容,带箭头的流程线(指向线)表示操作的先后次序. 构成流程图的图形符号及其作用 程序框名称功能 表示一个算法的起始和结束,是任何算法 起止框 程序框图不可缺少的。 表示一个算法输入和输出的信息,可用在 输入、输出框 算法中任何需要输入、输出的位置。 赋值、计算。算法中处理数据需要的算式、 处理框公式等,它们分别写在不同的用以处理数 据的处理框内。 判断某一条件是否成立,成立时在出口处 判断框标明“是”或“ Y”;不成立时在出口处标 明则标明“否”或“ N”。 流程线算法进行的前进方向以及先后顺序 循环框用来表达算法中重复操作以及运算 连结点连接另一页或另一部分的框图 注释框帮助编者或阅读者理解框图

3.规范流程图的表示: ①使用标准的框图符号; ②框图一般按从上到下、从左到右的方向画,流程线要规范; ③除判断框外,大多数框图符号只有一个进入点和一个退出点. ④在图形符号内描述的语言要非常简练、清楚. 4、算法的三种基本逻辑结构: 课本中例题的讲解得出三种基本逻辑结构:顺序结构、条件结构、循环结构 (1)顺序结构:顺序结构描述的是是最简单的算法结构,语句与语句之间,框与框之间是 按从上到下的顺序进行的。 例 1:已知一个三角形的三边分别为2、3、4,利用海伦公式设计一个算法,求出它的面积, 并画出算法的程序框图。 算法分析:这是一个简单的问题,只需先算出 p 的值,再将它代入公式,最后输出结果,只用顺序结构就能够表达出算法。 解:程序框图: 开始 p=(2+3+4)/22 s=√p(p-2)(p-3)(p-4) 输出 s 结束 点评:顺序结构是由若干个依次执行的步骤组成的,是任何一个算法都离不开的基本结构。 (2)条件结构:根据条件选择执行不同指令的控制结构。 例 2:任意给定 3 个正实数,设计一个算法,判断分别以这 3 个数为三边边长的三角形是否 存在,画出这个算法的程序框图。 算法分析:判断分别以这 3 个数为三边边长的三角形是否存在,只需要验收这 3 个数当中任意两个数的和是否大于第 3 个数,这就需要用到条件结构。 程序框图: 开始

必修3 1.1算法与程序框图教案

第一章算法初步 本章教材分析 算法是数学及其应用的重要组成部分,是计算科学的重要基础.算法的应用是学习数学的一个重要方面.学生学习算法的应用,目的就是利用已有的数学知识分析问题和解决问题.通过算法的学习,对完善数学的思想,激发应用数学的意识,培养分析问题、解决问题的能力,增强进行实践的能力等,都有很大的帮助. 本章主要内容:算法与程序框图、基本算法语句、算法案例和小结.教材从学生最熟悉的算法入手,通过研究程序框图与算法案例,使算法得到充分的应用,同时也展现了古老算法和现代计算机技术的密切关系.算法案例不仅展示了数学方法的严谨性、科学性,也为计算机的应用提供了广阔的空间.让学生进一步受到数学思想方法的熏陶,激发学生的学习热情. 在算法初步这一章中让学生近距离接近社会生活,从生活中学习数学,使数学在社会生活中得到应用和提高,让学生体会到数学是有用的,从而培养学生的学习兴趣.“数学建模”也是高考考查重点. 本章还是数学思想方法的载体,学生在学习中会经常用到“算法思想” “转化思想”,从而提高自己数学能力.因此应从三个方面把握本章: (1)知识间的联系; (2)数学思想方法; (3)认知规律. 1.1 算法与程序框图 1.1.1 算法的概念 整体设计 教学分析 算法在中学数学课程中是一个新的概念,但没有一个精确化的定义,教科书只对它作了如下描述:“在数学中,算法通常是指按照一定规则解决某一类问题的明确有限的步骤.”为了让学生更好理解这一概念,教科书先从分析一个具体的二元一次方程组的求解过程出发,归纳出了二元一次方程组的求解步骤,这些步骤就构成了解二元一次方程组的算法.教学中,应从学生非常熟悉的例子引出算法,再通过例题加以巩固. 三维目标 1.正确理解算法的概念,掌握算法的基本特点. 2.通过例题教学,使学生体会设计算法的基本思路. 3.通过有趣的实例使学生了解算法这一概念的同时,激发学生学习数学的兴趣. 重点难点 教学重点:算法的含义及应用. 教学难点:写出解决一类问题的算法.

必修三数学程序框图

概率 1.下列说法正确的是( ). A.如果一事件发生的概率为十万分之一,说明此事件不可能发生 B.如果一事件不是不可能事件,说明此事件是必然事件 C.概率的大小与不确定事件有关 D.如果一事件发生的概率为99.999%,说明此事件必然发生 2.从一个不透明的口袋中摸出红球的概率为1/5,已知袋中红球有3个,则袋中共有除颜色外完全相同的球的个数为( ). A.5个B.8个C.10个D.15个 3.下列事件为确定事件的有( ). (1)在一标准大气压下,20℃的纯水结冰 (2)平时的百分制考试中,小白的考试成绩为105分 (3)抛一枚硬币,落下后正面朝上 (4)边长为a,b的长方形面积为ab A.1个B.2个C.3个D.4个 4.从装有除颜色外完全相同的2个红球和2个白球的口袋内任取2个球,那么互斥而不对立的两个事件是( ). A.至少有1个白球,都是白球B.至少有1个白球,至少有1个红球C.恰有1个白球,恰有2个白球D.至少有1个白球,都是红球 5.从数字1,2,3,4,5中任取三个数字,组成没有重复数字的三位数,则这个三位数大于400的概率是( ). .2/5 B、2/3 C.2/7 D.3/4 6.从一副扑克牌(54张)中抽取一张牌,抽到牌“K”的概率是( ). A.1/54 B.1/27 C.1/18 D.2/27 7.同时掷两枚骰子,所得点数之和为5的概率为( ). A.1/4 B.1/9 C.1/6 D.1/12 8.在所有的两位数(10~99)中,任取一个数,则这个数能被2或3整除的概率是( ).A.5/6 B.4/5 C.2/3 D.1/2 9.甲、乙两人下棋,甲获胜的概率为40%,甲不输的概率为90%,则甲、乙两人下成和棋的概率为( ).

必修3-程序框图教案

程序框图 【教学目标】: (1)掌握程序框图的概念;会用通用的图形符号表示算法,掌握算法的三个基本逻辑结构(2)掌握画程序框图的基本规则,能正确画出程序框图。 (3)通过模仿、操作、探索,经历通过设计程序框图表达解决问题的过程;学会灵活、正确地画程序框图。 【教学重点】经过模仿、操作、探索,经历通过设计程序框图表达求解问题的过程,重点是 程序框图的基本概念、基本图形符号和3种基本逻辑结构 【教学难点】难点是能综合运用这些知识正确地画出程序框图。 【学法与教学用具】: 学法: 1、要弄清各种图形符号的意义,明确每个图形符号的使用环境,图形符号间的联结方式。 图形符号都有各自的使用环境和作用 2、在我们描述算法或画程序框图时,必须遵循一定的逻辑结构,事实证明,无论如何复杂的 问题,我们在设计它们的算法时,只需用顺序结构、条件结构和循环结构这三种基本逻辑就可以了,因此我们必须掌握并正确地运用这三种基本逻辑结构。 教学用具:计算机,TI-voyage200图形计算器 【教学过程】 引入: 算法可以用自然语言来描述,但为了使算法的程序或步骤表达得更为直观,我们更经常地用图形方式来表示它。 程序框图基本概念: (1)程序构图的概念 程序框图又称流程图,是一种用规定的图形、指向线及文字说明来准确、直观地表示算法的图形。 一个程序框图包括以下几部分:表示相应操作的程序框;带箭头的流程线;程序框外必要的文字说明。

学习这部分知识的时候,要掌握各个图形的形状、作用及使用规则,画程序框图的规则如下: 1、使用标准的图形符号。 2、框图一般按从上到下、从左到右的方向画。 3、除判断框外,大多数流程图符号只有一个进入点和一个退出点。判断框具有超过一个退出 点的唯一符号。 4、判断框分两大类,一类判断框“是”与“否”两分支的判断,而且有且仅有两个结果;另 一类是多分支判断,有几种不同的结果。 5、在图形符号内描述的语言要非常简练清楚。 (3)、算法的三种基本逻辑结构:顺序结构、条件结构、循环结构。 顺序结构 顺序结构是最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构。 顺序结构在程序框图中的体现就是用流程线将程序框自上而 下地连接起来,按顺序执行算法步骤。如在示意图中,A 框和B 框是依次执行的,只有在执行完A 框指定的操作后,才能接着执 行B 框所指定的操作。 例3、已知一个三角形的三边分别为2、3、4,利用海伦公式设计一个算法,求出它的面积,并画出算法的程序框图。 (算法—自然语言) 第一步: a =2,b =3,c =4; 第二步:p =2+3+42; 第三步:S =p(p -2)(p -3)(p -4)

高中数学必修三程序框图专题精练

高中数学必修三程序框图精练 一、单选题 1.执行如图所示的程序框图,若输出的S=88,则判断框内应填入的条件是() A. k>7 B. k>6 C. k>5 D. k>4 2.利用如图算法在平面直角坐标系上打印一系列点,则打印的点在圆x2+y2=25内的个 数为() A. 2 B. 3 C. 4 D. 5 3.中国古代有计算多项式值的秦九韶算法,如图是实现该算法的程序框图.执行该程序框图,若输入的x=2,n=2,依次输入的a为2,2,5,则输出的s=() A. 7 B. 12 C. 17 D. 34 4.秦九韶是我国南宋时期的数学家,普州(现四川省安岳县)人,他在所著的《数书九章》 中提出的多项式求值的秦九韶算法,至今仍是比较先进的算法.如图的程序框图给出了利 用秦九韶算法求某多项式值的一个实例,若输入x的值为2,则输出的v值为() A. 9×210﹣2 B. 9×210+2 C. 9×211+2 D. 9×211﹣2

5.若执行右侧的程序框图,当输入的x的值为4时,输出的y的值为2,则空白判断框中的条件可能为() A. x>3 B. x>4 C. x≤4 D. x≤5 6.某程序框图如图所示,则该程序运行后输出的S的值为() A. 1 B. C. D. 7.阅读程序框图,运行相应的程序,则输出的T值为() A. 22 B. 24 C. 39 D. 41 8.如果执行如图的框图,输入N=5,则输出的数等于() A. B. C. D. 9.执行如图所示的程序框图,则输出的结果是() A. B. C. D. 10.运行如图所示的程序,若输出y的值为1,则输入x的值为() A. 0 B. 0或﹣1 C. ±1 D. 1

必修3 程序框图练习题1

必修3第一章 算法初步 1.1.2程序框图与算法的基本逻辑结构(1) 题卷设计:绵阳市开元中学 王小凤老师 学生姓名 【学习目标】 通过本节习题课,体会高考算法考题模式 【直击高考】 1.(2012年高考(北京理))执行如图所示的程序框图,输出的S 值为( ) A .2 B .4 C .8 D .16 第2题图 2.(2012年高考(安徽理))如图所示,程序框图(算法流程图)的输出结果是( ) A .1 B .2 C .-1 D .-2 3.(2011浙江理)若某程序框图如图所示,则该程序运行后输出的k 的值是 4.(2010辽宁文)如果执行右面的程序框图,输入6,4n m ==,那么输出的p 等于 A. 720 B .360 C. 240 D. 120 第3题图 第4题图 5.(2010安徽文)如图所示,程序框图(算法流程图)的输出值=x 第5题图 第6题图 (第1题图)

6.(2010浙江理数)某程序框图如图所示,若输出的S=57,则判断框内为 A.?4>k B . ?5>k C. ?6>k D. ?7>k 7.(2009浙江卷理)某程序框图如图所示,该程序运行后输出的k 的值是 ( ) A .4 B .5 C .6 D .7 第7题图 第8题图 8.(2009年广东文)某篮球队6名主力队员在最近三场比赛中投进的三分球个数如下表所示: 上图(右)是统计该6名队员在最近三场比赛中投进的三分球总数的程序框图,则图中判断框应填 ,输出的s= 9.(2009山东卷理)执行下边的程序框图,输出的T= 第9题图 第10题图 10.(2009安徽卷理)程序框图(即算法流程图)如图所示,其输出结果是_______.

人教新课标A版 高中数学必修3第一章算法初步 1.1算法与程序框图 1.1.1算法的概念 同步测试(

人教新课标A版高中数学必修3第一章算法初步 1.1算法与程序框图 1.1.1算法的 概念同步测试(II)卷 姓名:________ 班级:________ 成绩:________ 一、单选题 (共15题;共30分) 1. (2分)算法的有穷性是指() A . 算法必须包含输出 B . 算法中每个操作步骤都是可执行的 C . 算法的步骤必须有限 D . 以上说法均不正确 2. (2分)阅读如图所示的程序框图,如果输入的n的值为6,那么运行相应程序,输出的n的值为() A . 3 B . 5

C . 10 D . 16 3. (2分)下列算法的理解不正确的是() A . 算法需要一步步执行,且每一步都能得到唯一的结果 B . 算法的一个共同特点是对一类问题都有效而不是个别问题 C . 任何问题都可以用算法来解决 D . 算法一般是机械的,有时要进行大量重复的计算,它的优点是一种通法 4. (2分)已知计算机中的某些存储器有如下特性:若存储器中原有数据个数为m个,则从存储器中取出n 个数据后,此存储器中的数据个数为m﹣n个;若存储器中原有数据为m个,则将n个数据存入存储器后,此存储器中的数据个数为m+n个.现已知计算机中A、B、C三个存储器中的数据个数均为0,计算机有如下操作:第一次运算:在每个存储器中都存入个数相同且个数不小于2的数据; 第二次运算:从A存储器中取出2个数据,将这2个数据存入B存储器中; 第三次运算:从C存储器中取出1个数据,将这1个数据存入B存储器中; 第四次运算:从B存储器中取出A存储器中个数相同的数据,将取出的数据存入A存储器,则这时存储器B中的数据个数是() A . 8 B . 7 C . 6 D . 5 5. (2分)算法是指可以用计算机来解决的某一类问题的程序或步骤,它不具有() A . 有限性 B . 明确性

人教新课标版数学高一-必修三学案 程序框图与算法的基本逻辑结构第3课时

第3课时循环结构、程序框图的画法 【明目标、知重点】 1.掌握两种循环结构的程序框图的画法,能进行两种循环结构程序框图间的转化; 2.掌握画程序框图的基本规则,能正确画出程序框图. 【填要点、记疑点】 1.循环结构的定义 在一些算法中,经常会出现从某处开始,按照一定的条件反复执行某些步骤的情况,这就是循环结构,反复执行的步骤称为循环体. 2.常见的两种循环结构 名称结构图特征 直到型循环结构先执行循环体后判断条件,若不满足条件则执行循环 体,否则终止循环 当型循环结构先对条件进行判断,满足时执行循环体,否则终止循 环 [情境导学]经济的高速增长也给我们的生态环境造成了一定程度的污染,治理污染营造优美的生态环境是社会发展的必然要求.大家知道工厂的污水是怎样处理的吗?污水进入处理装置后要进行多次循环处理才能达到排放标准.算法中也有很多问题需要反复循环运行后,才能计算出结果,能够反复操作的逻辑结构就是循环结构. 探究点一循环结构、循环体的概念

思考1你能举出需要反复循环计算的数学问题吗? 答例如用二分法求方程的近似解、数列求和等. 思考2阅读教材12页下半页,回答什么是循环结构、循环体? 答在一些算法中,经常会出现从某处开始,按照一定的条件反复执行某些步骤的情况,这就是循环结构.反复执行的步骤称为循环体. 探究点二循环结构的形式 思考阅读教材13页,回答循环结构有哪两种形式?它们有什么不同点和相同点? 答循环结构的形式有直到型循环结构和当型循环结构. 两种循环结构的不同点:直到型循环结构是程序先进入循环体,然后对条件进行判断,如果条件不满足,就继续执行循环体,直到条件满足时终止循环.当型循环结构是在每次执行循环体前,先对条件进行判断,当条件满足时,执行循环体,否则终止循环.两种循环结构的相同点:两种不同形式的循环结构中一定包含条件结构,用于确定何时终止执行循环体. 例1设计一个计算1+2+…+100的值的算法,并画出程序框图. 思考1如果一步一步的两两求和逐步计算,应如何设计算法? 第1步,0+1=1. 第2步,1+2=3. 第3步,3+3=6. 第4步,6+4=10. …… 第100步,4 950+100=5 050. 思考2对思考1算法中的重复操作的步骤,如何用代数的方法简化重复操作的步骤? 答可以用第(i-1)步的结果+i=第i步的结果这一关系简化重复操作的步骤. 思考3为了方便表示重复操作的过程,我们用一个累加变量S来表示每一步的计算结果,即把S+i的结果仍记为S,为此,我们使用赋值号“=”表示把S+i的值仍赋给S,那么你能写出第i步的步骤吗? 答第i步可表示为S=S+i,其中S的初始值为0,i依次取1,2, (100) 解这一问题的算法: 第一步,令i=1,S=0. 第二步,若i≤100成立,则执行第三步;否则,输出S,结束算法. 第三步,S=S+i. 第四步,i=i+1,返回第二步.

高中数学必修3算法习题(含答案)

2011届高一同步练习题新课标必修3 算法部分练习(一) (定义及古算法案例) 1.家中配电盒至电视机的线路断了,检测故障的算法中,为了使检测的次数 尽可能少,第一步检测的是 (A)靠近电视的一小段,开始检查 (B)电路中点处检查 (C)靠近配电盒的一小段开始检查(D)随机挑一段检查 2.早上从起床到出门需要洗脸刷牙(5min)、刷水壶(2min)、烧水(8min)、泡 面(3min)、吃饭(10min)、听广播(8min)几个步骤,从下列选项中选最好的一种算法 (A)S1洗脸刷牙、S2刷水壶、S3烧水、S4泡面、S5吃饭、S6听广播 (B)S1刷水壶、S2烧水同时洗脸刷牙、S3泡面、S4吃饭、S5听广播 (C)S1刷水壶、S2烧水同时洗脸刷牙、S3泡面、S4吃饭同时听广播 (D)S1吃饭同时听广播、S2泡面、S3烧水同时洗脸刷牙、S4刷水壶 3.算法: S1 输入n; S2 判断n是否是2,若2 = > n,则执行S3; n,则n满足条件,若2 S3 依次从2到1 n检验能不能整除n,若不能整除n,则n满足条件; - 满足上述条件的n是 (A)质数 (B)奇数 (C)偶数 (D)约数 4.算法:S1 m=a;S2 若b

人教版数学高一-人教A必修三 1.1程序框图的三种基本逻辑结构例析

程序框图的三种基本逻辑结构例析 算法的基本逻辑结构有三种,即顺序结构、条件结构和循环结构。其中顺序结构是最简单的结构,也是最基本的结构,循环结构必然包含条件结构,所以这三种基本逻辑结构是相互支撑的,它们共同构成了算法的基本结构,无论怎样复杂的逻辑结构,都可以通过这三种结构来表达 一.顺序结构:顺序结构描述的是是最简单的算法结构,语句与语句之间,框与框之间是按从上到下的顺序进行的。 例1:已知一个三角形的三边分别为2、3、4,利用海伦公式设计一个算法,求出它的面积,并画出算法的程序框图。 算法分析:这是一个简单的问题,只需先算出p 的值,再将它代入公式,最后输出结果,只用顺序结构就能够表达出算法。 程序框图: 二.条件结构:一些简单的算法可以用顺序结构来表示,但是这种结构无法对描述对象进行逻辑判断,并根据判断结果进行不同的处理。因此,需要有另一种逻辑结构来处理这类问题,这种结构叫做条件结构。它是根据指定打件选择执行不同指令的控制结构。 例2:任意给定3个正实数,设计一个算法,判断分别以这3个数为三边边长的三角形是否存在,画出这个算法的程序框图。 算法分析:判断分别以这3个数为三边边长的三角形是否存在,只需要验收这3个数当中任意两个数的和是否大于第3个数,这就需要用到条件结构。 程序框图:

三.循环结构:在一些算法中,经常会出现从某处开始,按照一定条件,反复执行某一处理步骤的情况,这就是循环结构,反复执行的处理步骤为循环体,显然,循环结构中一定包含条件结构。 循环结构又称重复结构,循环结构可细分为两类: (1)一类是当型循环结构,如图1-5(1)所示,它的功能是当给定的条件P1成立时,执行A框,A框执行完毕后,再判断条件P1是否成立,如果仍然成立,再执行A框,如此反复执行A框,直到某一次条件P1不成立为止,此时不再执行A框,从b离开循环结构。 (2)另一类是直到型循环结构,如下图所示,它的功能是先执行,然后判断给定的条件P2是否成立,如果P2仍然不成立,则继续执行A框,直到某一次给定的条件P2成立为止, b b 当型循环结构直到型循环结构 (1)(2) 例3:设计一个计算1+2+…+100的值的算法,并画出程序框图。 算法分析:只需要一个累加变量和一个计数变量,将累加变量的初始值为0,计数变量的值可以从1到100。 程序框图:

高中数学必修三算法初步练习题

考纲点击 1.以选择题或填空题的形式考查程序框图,以含有循环结构的程序框 图为主. 2.以数列、分段函数、统计以及不等式为载体,考查算法的三种逻辑 结构. 3.给出某种算法语句进行运行计算,主要以熟悉的当前的某种数学运 算为背景 . 1.(2015·高考课标卷Ⅱ)下边程序框图的算法思路源于我国古代数学名著《九章算术》中的“更相减损术”.执行该程序框图,若输入的a,b分别为14,18,则输出的a=() A.0 B.2 C.4 D.14 解析:选B.开始a=14,b=18. 第一次循环:14≠18且14<18,b=18-14=4; 第二次循环:14≠4且14>4,a=14-4=10; 第三次循环:10≠4且10>4,a=10-4=6;

第四次循环:6≠4且6>4,a=6-4=2; 第五次循环:2≠4且2<4,b=4-2=2; 第六次循环:a=b=2,退出循环,输出a=2,故选B. 2.(2015·高考课标卷Ⅰ)执行下面所示的程序框图,如果输入的t=0.01,则输出的n=() A.5 B.6 C.7 D.8 解析:选C.运行第一次:S=1-1 2 =1 2 =0.5,m=0.25,n=1, S>0.01; 运行第二次:S=0.5-0.25=0.25,m=0.125,n=2, S>0.01; 运行第三次:S=0.25-0.125=0.125,m=0.062 5, n=3,S>0.01; 运行第四次:S=0.125-0.062 5=0.062 5,m=0.031 25,n=4,S>0.01;运行第五次:S=0.031 25,m=0.015 625,n=5,S>0.01; 运行第六次:S=0.015 625,m=0.007 812 5,n=6, S>0.01;

相关主题