第一章算法初步

第一章算法初步
第一章算法初步

第一章 算法初步

1.1 算法与程序框图 1.1.1 算法的概念

1.下面四种叙述能称为算法的是( ) A.在家里一般是妈妈做饭

B.做米饭需要刷锅、淘米、添水、加热这些步骤

C.在野外做饭叫野炊

D.做饭必须要有米

2.下列关于算法的描述正确的是( ) A.算法与求解一个问题的方法相同

B.算法只能解决一个问题,不能重复使用

C.算法过程要一步一步执行,每步执行的操作必须确切

D.有的算法执行完后,可能无结果

3.对“求1+2+3+4+5的和”,下列说法正确的是( ) A.只能设计一个算法 B.可以设计两种算法 C.不能设计算法

D.设计的算法可以不包含输出 4.阅读下面的算法:

第一步,输入两个实数a ,b .

第二步,若a

这个算法输出的是( )

A.a ,b 中的较大数

B.a ,b 中的较小数

C.原来的a 的值

D.原来的b 的值

5.写出解方程2x +3=0的算法步骤:

第一步,________________________________________________________________. 第二步,________________________________________________________________. 第三步,________________________________________________________________.

6.写出求解方程组?

????

2x +y =7, ①

4x +5y =11 ②的一个算法.

7.已知直线l 的倾斜角是α(α≠90°),且直线l 过点P (x 0,y 0),请完成求直线l 的方程的一个算法:

第一步,设直线l 的方程为y -y 0=k (x -x 0). 第二步,___________________________________________________________________. 第三步,___________________________________________________________________.

8.有5个小球,其中4个的重量相同,仅有一个较重,打算用天平(不用砝码)找出那个重的小球.下面设计了一种用最少的测量次数测出那个重的小球的算法:

第一步,将5个小球分成A,B,C三组,每组分别有2,2,1个.

第二步,将A,B两组的小球分别放在天平的两侧,若____________________,则________________,然后执行第三步;若______________________,则C组的小球为那个重的小球.

第三步,将含那个重的小球的一组的两个小球分别放在天平的两侧,则较重的球为那个重的小球.

(1)将上述算法补充完整;

(2)若80个小球中含有1个较重的小球,请仿照上述算法设计一个算法,找出那个重的小球.

1.1.2程序框图和顺序结构

1.下列框图是判断框的是()

2.下列是程序框图的一部分,表示恰当的是()

A. B.

C. D.

3.在程序框图中,算法中间要处理数据或计算,可分别写在不同的()

A.处理框内

B.判断框内

C.输入、输出框内

D.终端框内

4.下列关于程序框图的说法,正确的有()

①程序框图只有一个入口,也只有一个出口;

②程序框图中的每一部分都应有一条从入口到出口的路径通过它;

③程序框图中的循环可以是无限的循环.

A.①②③

B.②③

C.①③

D.①②

5.如图1-1-4,该算法的功能是计算长方体的()

图1-1-4

A.体积

B.面对角线的长

C.体对角线的长

D.表面积

6.如图1-1-5所示的框图的输出结果为------------

图1-1-5

7已知三角形边长为a ,b ,c ,计算其面积公式为S =p (p -a )(p -b )(p -c ) ?

???其中p =a +b +c 2.如图1-1-6所示的框图是表示求三角形面积的一个算法,但缺少了两个框

图,缺少的是______________、____________.

图1-1-6

8.如图1-1-7所示的程序框图的功能是求一个数的相反数,则 内应填____________.

图1-1-7

9.已知小张的期末考语文成绩为102分,数学成绩为120分,英语成绩为116分,求他的总分和平均分的算法为:

第一步,输入A =102,B =120,C =116. 第二步,计算A +B +C .

第三步,计算A +B +C

3

.

第四步,得出总分和平均分. 请用程序框图表示这个算法.

10. 已知直角三角形的两直角边长分别为a ,b ,设计一个求该三角形周长的算法,并画出相应的程序框图.

1.1.3 条件结构和循环结构

1.下列说法不正确的是( )

A.顺序结构是由若干个依次执行的处理步骤组成的,每一个算法都离不开顺序结构

B.循环结构中一定包含条件结构

C.循环结构中不一定包含条件结构

D.循环结构中反复执行的步骤叫做循环体

2.如果一个算法的程序框图中有◇,那么表示该算法中一定有( ) A.循环结构和条件结构 B.条件结构 C.循环结构 D.无法确定

3.图1-1-16是描述求一元二次方程ax 2+bx +c =0的根的过程的程序框图,则虚线框内

是________结构.

图1-1-16

4.(2014年广东茂名一模)某程序框图如图1-1-17,现输入如下四个函数,则可以输出的

函数是( )

图1-1-17

A.f (x )=x 2

B.f (x )=1

x

C.f (x )=e x

D.f (x )=sin x 5.阅读图1-1-18,运行相应程序,则输出的i 值为( )

A.3

B.4

C.5

D.6

图1-1-18

6.

6.如图1-1-20,该程序框图所表示的算法的功能是( )

图1-1-20

A.比较a ,b ,c 三个数的大小

B.求a ,b ,c 三个数中的最大数

C.求a ,b ,c 三个数中的最小数

D.求a ,b ,c 三个数的和 7.如果执行如图1-1-21所示的程序框图后,输出的S =2550,那么判断框内应填( )

A.k <50?

B.k ≤50?

C.k ≤49?

D.k <49?

图1-1-21

8下面是求10的所有正约数的一个算法,请完成这个算法. 第一步,n =1.

第二步,若n ≤10,则判断10

n

是否为整数,若是,则____________,若不是,则执行第

三步;若n >10,则执行第四步.

第三步,将n用n+1代替,返回____________.

第四步,结束.

9.(2013年广东)执行如图1-1-19所示的程序框图,若输入n的值为4,则输出s的值为________.

图1-1-19

10.(创新题)阅读图1-1-22所示的程序框图,试说明它解决的是什么问题.

图1-1-22

11.(2012年全国)如果执行图1-1-23的程序框图,输入正整数N(N≥2)和实数a1,a2,…,

a N,输出A,B,则()

图1-1-23 A.A+B为a1+a2+…+a N的和

B.

A+B

2为a1,a2,…,a N的算术平均数

C.A和B分别是a1,a2,…,a N中最大的数和最小的数

D.A和B分别是a1,a2,…,a N中最小的数和最大的数

1.2基本算法语句

1.2.1输入语句、输出语句和赋值语句

1.下列给出的赋值语句中不正确的是

A.x=-x B.x=x-3

C.x=x2+1 D.4=x

2.执行“PRINT 3+2=”,则输出的结果是()

A.3+2=3+2 B.3+2=5

C.5=3+2 D.5

3.下面程序运行的结果是()

M=1

M=M+1

M=M+2

PRINT M

END

A.2B.3

C.4D.5

4.“x=3×5”,“x=x+1”是某一程序中的先后相邻的两个语句,那么下列说法正确的是()

①x=3×5的意思是x=3×5=15,此式与算术中的式子是一样的;

②x=3×5的意思是将数值15赋给x;

③x=3×5可以写成3×5=x;

④x=x+1语句在执行时“=”右边x的值是15,执行后左边x的值是16.

A.①③B.②④C.①④D.②③

5.在程序语言中,下列符号分别表示什么运算:*____________;/____________;∧______________;SQR()_____________;ABS()___________.

6.写出下列各语句描述的算法的输出结果.

(1)______________;

(2)________________.

a=5

b=3

c=(a+b)/2

d=c*c

PRINT“d=”;d END a=1

b=2

c=a+b

b=a+c-b

PRINT“a,b,c=”;a,b,c END

7.下列程序若输出的结果为3,则输入的x值可能是________.

INPUT“x=”;x

y=x*x+2*x

PRINT y

END

8.已知函数f(x)=x2+3x+1,编写一个程序计算f(4)的值.

9.给出下列程序,此程序的功能为()

INPUT“实数”;x1,y1,x2,y2

a=x1-x2b=y1-y2

m=a∧2n=b∧2

S=m+n

PRINT SQR(S)

END

A.求点到直线的距离

B.求两点之间的距离

C.求一个多项式的值

D.求输入值的平方根

1.2.2 条件语句

1.下列关于条件语句的说法正确的是( ) A.条件语句中必须有ELSE 和END IF B.条件语句中可以没有END IF

C.条件语句中可以没有ELSE ,但是必须有END IF

D.条件语句中可以没有END IF ,但是必须有ELSE

2.如下表示的程序,当输入a ,b 的值分别为2,3时,最后输出的值是( ) INPUT a ,b IF a>b THEN m =a ELSE

m =b END IF PRINT m END

A.2

B.3

C.2或3

D.5

3.已知函数y =?

???

?

x ,x ≥0,-x ,x <0,计算y 的值的程序是( )

INPUT “x =”;x IF x =0 THEN y =x

END IF PRINT y END INPUT “x =”;x IF x>=0 THEN y =x

ELSE y =-x END IF PRINT y

END

A B

INPUT “x =”;x

IF x>=0 THEN

x =y

END IF

PRINT y

END

INPUT “x =”;x

IF x>=0 THEN

y =x

ELSE y =-x

PRINT y

END

C D

4.为了使运行下面程序之后输出y =9,键盘输入应为( )

INPUT “x =”;x IF x>=0 THEN y =(x +1)*(x +1)ELSE

y =(x -1)*(x -1)END IF PRINT y END

A.x =-2

B.x =-4

C.x =-2或x =2

D.x =-4或x =4

5.写出下列程序的运行结果:

若x =6,则P =________;若x =20,则P =________.

6.函数“MOD”表示求余数,如3MOD2=1(3除以2,余数为1),将下列程序补充完整: INPUT x m =xMOD2

IF THEN PRINT “x 是奇数”

ELSE

PRINT “x 是偶数”END IF END

7.对于函数y =?

???

?

x (010),请补全下面的算法程序(其中x >0).

INPUT x

IF x>0 AND x<=10 THEN ELSE

END IF PRINT y END

8.已知在a,b,c三个实数中,有且只有一个正数,设计一个程序(用算法语句表示),筛选出这个正数.

9.铁路部门托运行李的收费方法如下:y是收费额(单位:元),x是行李重量(单位:kg).当0<x≤20时,按0.35元/kg收费;当x>20时,20 kg的部分按0.35元/kg,超出20 kg 的部分,则按0.65元/kg收费.请根据上述收费方法编写程序.

1.2.3循环语句

1.循环语句有WHILE和UNTIL语句两种,下面说法错误的是()

A.WHILE语句和UNTIL语句之间可以相互转化

B.当计算机遇到WHILE语句时,先判断条件真假,如果条件符合,就执行WHILE和WEND之间的循环体

C.当计算机遇到UNTIL语句时,先执行一次DO和UNTIL之间的循环体,再对UNTIL 后的条件进行判断

D.WHILE语句与UNTIL语句之间不可以相互转化

2.下面程序执行后,输出的结果是()

n=5

s=0

WHILE s<15

s=s+n

n=n-1

WEND

PRINT n

END

A.-1

B.0

C.1

D.2

3.阅读下面程序,该程序是哪个和式的计算?()

i=1

S=0

WHILE i<=10

S=S+i

i=i+1

WEND

PRINT S

END

A. B.1+2+3+…+11

C.1+2+3+…+9

D.1+2+3+…+10

4.以下给出的程序的功能是___________________________.

i=1

S=1

WHILE S<=5000

S=S*i

i=i+1

WEND

i=i-2

PRINT i

END

5.下面是求30个数的平均数的程序,则在横线上应补充语句为()

A.i>30

B.i<30

C.i>=30

D.i<=30

6.把求n!的程序补充完整

[注:n!=1×2×…×(n-1)×n]:

7.设计一个计算5×7×…×99的算法,并写出相应的算法程序.

8.下面程序输出的n值是____________.

j =1

n=0

WHILE j<=11

j=j+1

IF

jMOD 4=0

THEN

n=n+1

END IF

j=j+1

WEND

PRINT n

END

9.读程序:

甲乙

i=1

S=0

WHILE i<=1000 S=S+i

i=i+1

WEND

PRINT S

END i=1000

S=0

DO

S=S+i

i=i-1

LOOP UNTIL i<1 PRINT S

END

对甲、乙程序和输出结果判断正确的是()

A.程序不同,结果不同

B.程序不同,结果相同

C.程序相同,结果不同

D.程序相同,结果相同

10.设计一个程序,求立方小于等于1000的所有正整数.

1.3算法案例

1.整数108与84的最大公约数是()

A.6

B.8

C.12

D.24

2.用秦九韶算法求多项式f(x)=7x6+6x5+3x2+2当x=4时的值,先算的是()

A.4×4=16

B.7×4=28

C.4×4×4=64

D.7×4+6=34

3.用秦九韶算法计算多项式f(x)=x7-5x5+2x4+4x3+7x2+9x+2当x=2时的值时,需要做乘法和加法运算的次数分别是()

A.7,7

B.7,6

C.6,7

D.6,6

.4 根据如图1-3-1所示的求公约数方法的程序框图,输入m=2146,n=1813,则输出的实数m的值为()

图1-3-1

A.36

B.37

C.38

D.39

5.将下面的八进制数化为十进制数.

(1)24(8);(2)1357(8).

6 用秦九韶算法计算多项式x4+x3+x2+x+1的值时,其表达式应写成________________.

7.若六进制数13a 502(6)转化为十进制数后,等于12 710,求数字a的值(要求用两种方法解答).

8用辗转相除法求210与162的最大公约数,并用更相减损术检验.

9..用秦九韶算法求多项式f(x)=7x7+6x6+5x5+4x4+3x3+2x2+x当x=3时的值.

参考答案

第一章 算法初步 1.1 算法与程序框图 1.1.1 算法的概念 【课后巩固提升】

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

6.移项,得2x =-3 系数化为1,得x =-3

2

输出x =-3

2

7.-2x <-3 x >3

2

8.解:用加减消元法解这个方程组,其算法步骤是: 第一步,①×2-②,得-3y =3. ③ 第二步,解③,得y =-1.

第三步,①×5-②,得6x =24. ④

(或第三步,将y =-1代入①,得2x -1=7. ④) 第四步,解④,得x =4.

第五步,方程组的解为?

????

x =4,

y =-1.

9.第二步,求k 值,k =tan α

第三步,把k =tan α代入直线l 的方程得y -y 0=tan α(x -x 0)

10.解:(1)天平不平衡 那个重的小球在较重的一组中 天平平衡 (2)算法如下:

第一步,将全部小球分成A ,B ,C 三组,使A ,B 两组的球一样多,且比C 组多一个球.

第二步,将A ,B 两组的小球分别放在天平的两侧,若天平不平衡,则那个重的小球在较重的一组中,执行第三步;若天平平衡,则那个重的小球在C 组中;

第三步,对含那个重的小球的一组,重复第一步、第二步的操作直至找出那个重的小球为止.

这样至多测量4次就可找出那个重的小球.

1.1.2 程序框图和顺序结构 【课后巩固提升】 1.D 2.A 3.A

4.D 解析:程序框图有且仅有一个入口和一个出口,其中每一部分都应有一条从入口到出口的路径通过它.程序框图的循环必须在有限步骤内完成,无限的循环被称为死循环,在程序框图中是禁止出现的.

5.C

6.B 解析:本框图是一个赋值语句.先把y 的值2赋给x ,即x =2;然后再把z 的值3赋给y ,即y =3;最后把x 的值2赋给z ,即z =2.∴输出的x ,y ,z 的值分别为2,3,2.

7. 8.解:如图D4.

图D4 9.y=-x

10.解:算法步骤如下:

第一步,输入实数a,b.

第二步,计算a2+b2,并将结果赋给c.

第三步,计算l=a+b+c.

第四步,输出l.

程序框图如图D5.

图D5 11.解:算法步骤如下:

第一步,人带两只狼过河.

第二步,人自己返回.

第三步,人带一只羚羊过河.

第四步,人带两只狼返回.

第五步,人带两只羚羊过河.

第六步,人自己返回.

第七步,人带两只狼过河.

第八步,人自己返回.

第九步,人带一只狼过河.

程序框图如图D6.

图D6

1.1.3条件结构和循环结构

【课后巩固提升】

1.C 2.B 3.条件 4.D

5.B解析:列表依照循环执行过程可得出结果.

6.输出n第二步

7.7解析:根据题意,该算法的功能为

第一步:i=1,s=1+(1-1)=1,i=2;

第二步:i=2,s=1+(2-1)=2,i=3;

第三步:i=3,s=2+(3-1)=4,i=4;

第四步:i=4,s=4+(4-1)=7,i=5.

5>4,此时退出程序,输出s=7.

8.B

9.B解析:因为S=2+4+6+…+100=2550,故k=50,故判断框内填“k≤50?”.10.解:本题为当型循环结构,先执行i≤n?,再循环.i=1是奇数,执行循环体时,i均取奇数,M是所有奇数的3次幂之和,即计算13+33+53+…+n3的值.11.C

1.2基本算法语句

1.2.1输入语句、输出语句和赋值语句

【课后巩固提升】

1.D 2.B 3.D 4.D

5.乘除乘方求算术平方根求绝对值

6.C

7.(1)16(2)1,2,3

8.1或-39.B

10.解:程序如下:

INPUT“x=”;x

x=4

y=x∧2+3*x+1

PRINT“f(4)=”;y

END

11.B

1.2.2 条件语句 【课后巩固提升】

1.C 2.B 3.B 4.a 是否为0 5.2.1 10.5

解析:求分段函数P =?

????

0.35x (x ≤10),

3.5+0.7(x -10) (x >10)的值.

6.m<>0 7.C

8.y =x y =2*x -11

9.解:由题意,得y =?

????

0.35x (0

0.35×20+0.65(x -20) (x >20),

该函数是一个分段函数,需要对行李的重量作出判断,因此,这个过程可以用算法中的条件结构来实现.

程序如下:

10.解:程序框图如图D10,程序如下:

INPUT a ,b ,c IF a>0 THEN

PRINT “正数”;a ELSE

IF b>0 THEN

PRINT “正数”;b ELSE

PRINT “正数”;c END IF END IF END

图D10

1.2.3 循环语句 【课后巩固提升】 1.D

2.B 解析:试运行程序,n =5,s =0;s =5,n =4;s =9,n =3;s =12,n =2;s =14,n =1;s =15,n =0.输出n =0.

3.D

4.求使1×2×3×…×i ≤5000成立的最大正整数 5.A

6.INPUT WHILE WEND 7.解:算法如下: 第一步,令S =5,i =7. 第二步,S =S ×i ,i =i +2.

第三步,判断i>99是否成立,若成立,则执行下一步;否则,返回第二步.

第四步,输出S,结束.

程序如下:

S=5

i=7

DO

S=S*i

i=i+2

LOOP UNTIL i>99

PRINT S

END

8.3解析:试运行程序,j=1,n=0;j=2,j=3;j=4,n=1,j=5;j=6,j=7;j =8,n=2,j=9;j=10,j=11;j=12,n=3,j=13,输出n=3.

9.B解析:甲、乙都是计算1+2+3+…+1000的值.

10.解:程序如下:

i=0

DO

i=i+1

m=i*i*i

LOOP UNTIL m>1000

PRINT i

END

1.3算法案例

【课后巩固提升】

1.C 2.15

3.D解析:因为f(x)=a n x n+a n-1x n-1+…+a1x+a0=(…((a n x+a n-1)x+a n-1)x+…+a1)x+a0,所以用秦九韶算法求多项式f(x)=7x6+6x5+3x2+2当x=4时的值,先算的是7×4+6=34.

4.x(x(x(x+1)+1)+1)+1

5.A解析:此n次多项式的最高次项系数为1且含有系数为0的项,但仍需进行n 次乘法运算和n次加法运算.

6.解:(1)24(8)=2×8+4=20.

(2)1357(8)=1×83+3×82+5×8+7=751.

7.解:210=162×1+48,162=48×3+18,48=18×2+12,18=12×1+6,12=6×2+0.

所以210与162的最大公约数为6.

检验:因为210与162都是偶数,可同时除以2,

即取105与81的最大公约数后再乘2,

105-81=24,81-24=57,57-24=33,

33-24=9,24-9=15,15-9=6,9-6=3,6-3=3.

所以210与162的最大公约数为3×2=6.

8.B解析:算法的功能是利用辗转相除法求2146与1813的最大公约数,2146=1813+333;

1813=5×333+148;333=2×148+37;148=4×37+0,最大公约数是37.故选B.

9.解:方法一:将六进制数转化为十进制数.

13a 502(6)=1×65+3×64+a×63+5×62+0×6+2

=12 710(10).

即7776+3888+216a+180+0+2=12 710,

216a=864,a=4.

∴a的值为4.

相关主题