文档库 最新最全的文档下载
当前位置:文档库 › 10、算法初步(1)(教师版)

10、算法初步(1)(教师版)

10、算法初步(1)(教师版)
10、算法初步(1)(教师版)

算法初步(1)----同步练习

一、基础知识 1.算法

(1)定义:在数学中,算法通常是指按照 解决某一类问题的 的步骤. (2)应用:算法通常可编成计算机 ,让计算机执行并解决问题. 2.程序框图

为了将设计好的算法清晰直观地描述出来,通常采用画流程图的方法来表示。

程序框图是由一些图框和流程线组成的,其中图框表示各种操作的类型,图框中的文字和符号表示操作的内容,流程线表示操作的先后次序。

3、框图的结构

(1)、顺序结构:依次进行多个处理的结构称为顺序结构。下图(1)为顺序结构。

(2)、条件结构:先根据条件作出判断,再决定执行哪一种操作的结构称为选择结构。下图(2)为选择结构。

(3)、循环结构:需要重复执行同一操作的结构称为循环结构。下图(3)为循环结构。

图1 图2 图3

3、算法语句

(1)输入语句、输出语句和赋值语句 :1.输入语句

(1)格式:INPUT “提示内容”;变量

(2)功能:可以一次为一个变量或多个变量赋值,实现算法中的输入功能. 2.输出语句

(1)格式:PRINT “提示内容”;表达式

(2)功能:先计算表达式的值,然后输出结果,实现了算法中的输出功能.显示在计算机屏幕上,也就输出

信息,可以是常量、变量的值或系统信息.

3.赋值语句

(1)格式:LET 变量=表达式

(2)功能:先计算表达式的值,然后吧结果赋值给“=”左边的变量,此步完成后, “=”右边变量的值就改

变了.

(2)1.格式1 (1)框图 (2)格式

(3)功能:当计算机执行上述语句时,首先对IF 后面的条件进行判断,如果满足条件P,那么执行语句A,否

则执行 2.格式2 (1)框图

(2)格式

(3)功能:当计算机执行上述语句时,首先对IF 后面的条件进行判断,如果满足条件P,那么执行语句体

1,在执行END IF 之后的语句,即结束条件语句;如果不满足条件P,那么执行语句体2,再执行END IF 之后的语句,即结束条件语句.

(3)循环语句

(I )当型(WHILE 型)循环语句 (1)框图

(2)格式

(3)功能:计算机执行此程序时,遇到WHILE 语句,先判断条件是否成立,如果成立,则执行WHILE 和WEND 直

接的循环体;然后返回到WHILE 语句再判断上述条件是否成立,如果成立,再执行循环体,这个过程反复执行,直到一次返回到WHILE 语句判断上述条件不成立为止,这时不再执行循环体,而是跳到WEND 语句后,执行WEND 后面的语句.因此当型循环又称“前测试型”循环,也就是我们经常讲的“先测试后执行”、“先判断后循环”.

(II )直到型(UNTIL 型)循环语句 (1)框图

(2)格式

(3)功能:计算机执行UNTIL 语句时,先执行DO 和LOOP UNTIL 之间的循环体,然后判断LOOP UNTIL 后面

的条件是否成立,如果条件不成立,返回DO 语句重新执行循环体.这个过程反复执行,知道一次判断LOOP UNTIL 后面的条件成立为止,这时不再返回执行循环体,而是跳出循环体执行LOOP UNTIL 条件下面的语句.因此直到型循环又称“后测试型”循环,也就是我们经常讲的“先执行后测试”、“先循环后判断”.

二、基本题型 (一)例题分析 选择题:

1.阅读下面的程序框图,则输出的S =

A .14

B .20

C .30

D .55

2.阅读图2所示的程序框图,运行相应的程序,输出的结果是

A .1 B. 2 C. 3 D. 4

3.阅读右图所示的程序框图,运行相应的程序,输出的结果是

A .2

B .4

C .8

D .16

4.某程序框图如图所示,该程序运行后输出的k 的值是

A .4

B .5

C .6

D .7

5

S 是

A .378-

B .378

C .418-

D .418

6.如图的程序框图表示的算法的功能是

A .计算小于100的奇数的连乘积

B .计算从1开始的连续奇数的连乘积

C .从1开始的连续奇数的连乘积,当乘积大于100时,计算奇数的个数

D .计算100531≥???????n 时的最小的n 值.

2题 4题

5题

6题

7.右图是把二进制数)2(11111化为十进制数的一个程序框图,判断框内应填入的 条件是

A .4i >

B .4i ≤

C .5i >

D .5i ≤

8.某程序框图如图所示,则该程序运行后输出的B 等于 A .15 B .29 C .31 D .63

9.如果执行右边的程序框图,输入2,0.5x h =-=,那么输出的各个数的和等于 A .3 B .3.5 C .4 D .4.5

10.某店一个月的收入和支出总共记录了N 个数据1a ,2,,N a a ???,其中 收入记为 正数,支出记为负数。该店用右边的程序框图计算月总收入S 和月 净盈利V ,那么在图中空白的判断框和处理框中,应分别填入下列四个选项中 的

A .0,A V S T >=-

B .0,A V S T <=-

C .

A >S T +

7题

8题

10题

9题

11. 如图所示,是关于闰年的流程,则 以下年份是闰年的为

A .1996年

B .1998年

C .2010年

D .2100年12. 某流程如图所示,现输入如下四个函数,则可以输出的函数是

A .2

)(x x f = B .

x

x f 1

)(=

C .62ln )(-+=x x x f D.x x f sin )(=

二、填空题:

13.程序框图(即算法流程图)如图所示,其输出结果是_______.

14.执行右边的程序框图,输出的T =

.

12题

11题

13题

14题

15.下面的程序框图表示的算法的结果是 16

16.阅读右上面的流程图,若输入6,1a b ==,则输出的结果是 2

17右面的程序框图,如果输入三个实数a ,b ,c ,要求输出这

三个数中最大的数,那么在空白的判断框中,应该填入下面四个选项中的 ①c x > ②x c > ③C .c b > ④b c >

18、如图所给出的是计算12+14+16+…+1

20的值的一个程序框图,

其中判断框内应填入的条件是________答案:i>10?

15题

17题

18题

算法初步(2)—算法同步练习

1、 分析下面的程序,当输入x 的值为3时,程序的输出结果为________.答案:8-

INPUT x IF x<-1 THEN y=x^2 ELSE

IF x<=1 THEN y=0 ELSE y=(-2)^x END IF END IF PRINT y END

2 、给出下列程序,如果输入8,26,10--,那么输出的是________.答案:26-

INPUT a,b,c IF a>b THEN a=b END IF

IF a>c THEN a=c END IF PRINT a END

3、 编写一个程序,求实数x 的绝对值. 解:程序1:

INPUT x IF x>=0 THEN PRINT x ELSE PRINT –x END IF END 程序1: INPUT x

x=-x END IF PRINT x END

4、 判断一元二次函数)0(02≠=++a c bx ax 是否有根. 分析:ac b 42

-=?,当0≥?时,方程有实根;

当0

Step1:输入三个系数c b a ,,. Step2:计算ac b 42

-=?.

Step3:判断0≥?是否成立.若是,则输出“方程有实根”;

否则输出“方程无实根”,

程序框图为: 程序为:

INPUT “a,b,c=”;a,b,c d=b^2-4*a*c IF d>=0 THEN

PRINT “Have real root ” ELSE

PRINT “No real root ” END IF END

5 、编写一个程序,使任意输入的3个整数按从大到小的顺序输出.

解:算法分析:用c b a ,,表示输入的3个整数.为了节约变量,把他们重新排列后,仍用c b a ,,表示,并使

c b a ≥≥.具体操作步骤如下:

第一步,输入3个整数c b a ,,.

第二步,将a 与b 比较,并把小者赋给b ,大者赋给a .

第三步,将a 与c 比较,并把小者赋给c ,大者赋给a (此时a 已是三者中最大的).

第四步,将b 与c 比较,并把小者赋给c ,大者赋给b (此时c b a ,,已按从大到小的顺序排列好). 第五步,按顺序输出c b a ,,.

程序:

INPUT “a,b,c=”;a,b,c IF b>a THEN t=a a=b b=t END IF

t=a

a=c

c=t

END IF

IF c>b THEN

t=b

b=c

c=t

END IF

PRINT a,b,c

END

(二)循环语句

1、下列程序执行后输出结果为________.答案:990

i=11

S=1

DO

S=S*i

i=i-1

LOOP UNTIL i<9

PRINT S

END

2、下列程序输出的结果是( )答案: C

i=1

S=0

WHILE i<=4

S=S*2+1

i=i+1

WEND

PRINT S

END

A.3

B.7

C.15

D.19

3、已知以下程序,则( )答案: D

x=-1

DO

x=x*x

LOOP UNTIL x>10

PRINT x

END

4、 设计一个计算100321++++ 的算法,并画出程序框图. 解:算法如下:

第一步:输入n (这里100=n ). 第二步:0=sum ,1=i . 第三步:i sum sum +=. 第四步:1+=i i .

第五步:如果i 不大于n ,返回第三步;否则,算法结束.

最后得到的sum 值就是100321++++

程序框图为:

类型题1: 设计一个算法计算100642++++ . 解:算法如下:第一步:输入n (这里100=n ).

第二步:0=sum ,2=i .

第三步:i sum sum +=,2+=i i .

第四步:如果i 不大于n ,返回第三步;否则,算法结束.

最后得到的sum 值就是100642++++ 的值.

程序框图为:略

类型题2: 设计一个算法计算2

2

2

2

100321++++ . 解:算法如下:第一步:输入n (这里100=n ).

第二步:0=sum ,1=i .

第三步:2

i sum sum +=,1+=i i .

第四步:如果i 不大于n ,返回第三步;否则,算法结束.

最后得到的sum 值就是2

2

2

2

100321++++ 的值.

程序框图为:略

类型题3: 设计一个算法计算100321???? . 解:算法如下:第一步:输入n (这里100=n ).

第二步:0=sum ,1=i . 第三步:i sum sum ?=,1+=i i .

第四步:如果i 不大于100,返回第三步;否则,算法结束.

最后得到的sum 值就是100321???? 的值.

程序框图为:略

相关文档