算法苏教版.docx

上传人:b****5 文档编号:7263613 上传时间:2023-01-22 格式:DOCX 页数:28 大小:153.31KB
下载 相关 举报
算法苏教版.docx_第1页
第1页 / 共28页
算法苏教版.docx_第2页
第2页 / 共28页
算法苏教版.docx_第3页
第3页 / 共28页
算法苏教版.docx_第4页
第4页 / 共28页
算法苏教版.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

算法苏教版.docx

《算法苏教版.docx》由会员分享,可在线阅读,更多相关《算法苏教版.docx(28页珍藏版)》请在冰豆网上搜索。

算法苏教版.docx

算法苏教版

第1课时 算法的概念

【问题情境】

  1.假如你的朋友不会发电子邮件,你能教会他吗?

  发邮件的方法很多,下面就是一种操作步骤:

  第一步 打开电子信箱

  第二步 点击“写邮件”;

  第三步 输入发送地址;

  第四步 输入主题;

  第五步 输入信件内容;

  第六步 点击“发送邮件”。

  2.求解方程组

             2x+y=7,             ①

             4x+5y=11            ②

时可按下述步骤进行:

  第一步 方程①不动,将方程②中的x的系数除以方程①中x的系数,得到乘数

m=

=2;

第二步 方程②减去m乘以方程①,消去方程②中的x项,得到

2x+y=7

3y=-3

第三步 将上面的方程自下而上回代求解,得到y=-1,x=4.

所以原方程组的解为

x=4,

y=-1.

这种消元回代的方法适用于一般线性方程组的求解。

  上面的两个问题有怎样的共同特征?

【范例解读】

例1写出求533除以7的商和余数的算法过程。

 

例2已知lg2=0.3010,lg3=0.4771,写出求lg64的值的一个算法。

 

【归纳点拔】

1.算法,就是做某一工作的方法和步骤,本章主要讨论的是计算机能实现的算法——一类问题的机械的、统一的求解方法,求算法就是给出完成一件事情的操作程序。

2.算法具有下列特点:

(1)有限性:

一个算法在执行有限个步骤后必须结束.

(2)确定性:

算法的每一个步骤和次序应当是确定的.

【测试反馈】

1.写出求35791113的值的一个算法。

2.写出解方程3x+5=0的一个算法过程。

3.写出作棱长为2的正三棱柱的直观图的算法过程。

4.将“打电话”的过程描述成一个算法,试由此说明算法具有哪些性质?

5.写出解方程组

x+y=3,

y+z=5,

z+x=4

的一个算法。

6.你能用一个算法将用数学模型解决实际问题的过程表示出来吗?

第2课时 程序框图(顺序结构)

【问题情境】

  1.

 

图1

  上面的“框图”可以表示一个算法吗?

按照这一程序操作时,输出的结果是多少?

若第一个“输入框”中输入的是77,则输出的结果又是多少?

2.已知ABC,图2所示的程序框图给出了作ABC的外接圆的一个算法。

这个算法在结构上有什么特点?

【范例解读】

例1 半径为r的圆面积计算公式为

S=r2。

当r=10时,写出计算圆面积的算法,画出程序框图。

 

例2 已知两个单元分别存放了变量x和y的值,试给出交换这两个变量值的一个算法,并画出程序框图。

 

【归纳点拔】

画程序框图时应注意的问题

1.先建立解决问题的算法,并将其用自然语言表述。

2.再弄清楚初值、循环情况、条件、表达式、程序的结构、流向等.

3.顺序结构表示的算法过程是依次进行多个处理,可用框图表示为

A

B

【测试反馈】

1.根据程序框图

X←1,Y←2,Z←3

X←Y,Y←X,Z←Y

输出Z

终止

 

输出的结果是

 A 3       B 1        C 2        D 0

2.按下面的顺序结构进行操作

第4步 输出点(a,b).

输出的结果是

 A 点(2,-1)关于直线2x-y+4=0的对称点

 B 点(-2,1)关于直线2x-y+4=0的对称点

 C 

写出求点(2,-1)关于直线2x-y+4=0的对称点的一个算法的程序框图。

2.画出用现代汉语字典查阅“华”字的程序框图。

3.写出解不等式组

x-2<1,

2x+1>5

的一个算法,并画出程序框图。

4.写出求过两点(-1,1)和(3,9)的直线的在x轴上的截距的一个算法,并用程序框图表示这个算法。

5.若x1,x2是一元二次方程2x2-3x+1=0的两个实根,求x12+x22的值。

  给出解决上述问题的一个算法,并画出程序框图。

6.已知函数f(x)=

实数a1=f

(1),a2=f(a1),an+1=f(an)。

试写出一个求a5的算法,并画出程序框图。

 

第3课时 程序框图(条件结构)

【问题情境】

  1.某市居民用水收费的方法是:

水费=基本费+超额费+损耗费。

  若每月用水不超过10m3,只付基本费8元和每户每月的定额损耗费1元;若用水超过10m3,除了付上同的基本费和损耗费外,超过剖分每m3付2元的超额费。

已知一户居民每月的定额损耗费不超过5元。

试写出求该户居民每月的应付水费的一个算法,并画出该算法的程序框图。

【范例解读】

例1 已知三个实数a,b,c。

试给出寻找这三个数是的最大数的一个算法,并画出该算法的程序框图。

 

例2 设计求解一元二次方程

ax2+bx+c=0(a≠0)

的一个算法,并用程序框图表示。

 

【归纳点拔】

1.有些问题需要按给定的条件进行分析、比较和判断,并按判断的的不同情况进行不同的操作,这类问题的实现就要用到选择结构的设计.

2.选择结构也称为“分支结构”或“选取结构”,它要先根据指定的条件进行判断,再由判断的结果决定选取执行两条分支路径中的某一条.

3.下图的虚线框内就是选择结构的一般形式。

在A、B两个操作选项中,只能执行A和B之一,不可能既执行A又执行B,但A或B两个框中可以有一个是空的,即不执行任何操作.

 

【测试反馈】

1.根据下面的程序框图操作,使得当成绩不低于60分时,输出“及格”,当成绩低于60分时,输出“不及格”

输入成绩x

2

1

x≥60

不及格

及格

 A 1框中填“Y”,2框中填“N”   B 1框中填“N”,2框中填“Y”

 C 1框中填“Y”,2框中可以不填  C 2框中填“N”,1框可以不填

2.表示解方程ax+b=0(a,b为常数)的一个正确的算法是

 

 

 

3.在表示解不等式ax+b<0(a,b为常数,且a≠0)的算法的程序框图中,判断框中应填入的内容是       。

4.给出下面的算法:

 S1 屏幕上显示两个两位整数;

 S2 提示用户输入这两个数的和;

 S3 检查计算结果是否正确,如果是,则显示“正确”;否则显示“错误!

再试一次”,然后继续输入计算结果,直至结果正确为止。

将这个算法用程序框图可表示为

 

                              。

5.对于输入的实数x,设计求函数

x2+1x≥0,

          y=

-x+1x<0.

的函数值的算法,并将该算法用程序框图表示。

6.某地的出租车按如下方法收费:

起步价10元,可行3km(不含3km);3km到7km(不含7km)按1.6元/km计价(不足1km按1km计算);7km以后都按2.4元/km计价(不足1km按1km计算)。

  试给出当行车路程为xkm时的车费的一个算法,并用程序框图表示。

7.输入一个年份,判断它是否为闰年,并输出相应的结果。

闰年判断条件为:

能被4整除不能被100整除的是闰年,能被4整除且能被400整除的也是闰年,其它为非闰年。

8.输入一个学生的三门成绩,判断其学习成绩等级。

平均分90分以上(包括90分)为优秀、80分至90分为良好(包括80分、其它类同)、70分至80分为中等、60分至70分为及格、60分以下为不及格。

 

第4课时 程序框图(循环结构)

【问题情境】

1.计算前5个正整数的和时,可以按下面的算法进行

第一步 计算1+2,得到3;

第二步 将第一步所得结果3与3相加,得到6;

第三步 将第二步所得结果6与4相加,得到10;

第四步 将第三步所得结果10与5相加,得到15。

当要求计算前100个正整数的和时,可用这种算法吗?

你能找到简便的算法吗?

2.用程序框图给出求使1+2+3+……+n>2005的最小自然数n的一个算法。

【范例解读】

例1 设计一个求3个实数中的最小数的算法,并用程序框图表示。

 

例2 设计一个10个数的平均数的算法。

 

【归纳点拔】

1.“直到型(Until型)”循环结构的功能是:

先执行A框,然后判断给定的条件p是否成立,如果p不成立,则再执行A,然后再对条件p作判断,如果p仍不成立,又执行A,……,如此反复执行A,直到给定的条件p成立为止.

 

2.“当型(While型)”循环结构如图,它的功能是:

当给定的条件p成立时,执行A框操作,执行完A后,再判断条件p是否成立,如果仍成立,再执行A框,如此反复执行A框,直到某一次p不成立为止.

3.当型循环和直到型循环是可以互相转换的.对同一个问题,如果分别用当型循环和直到型循环来处理的话,则两者判断的条件恰好相反.

【测试反馈】

1.按下面的程序框图运行后,所得的I的值为

 

 A 4       B 5       C 3       D 6

2.给出下面的程序框图:

 

这个程序框图的输出结果是

 A 1+2+3+……+100=5050sum=5050n=100

B1+3+5+……+99=2500sum=2500n=50

C1+3+5+……+19=100sum=100n=10

D1+2+3+……+14=105sum=105n=14

3.给出下面的算法:

 S1 屏幕上显示两个两位整数;

 S2 提示用户输入这两个数的和;

 S3 检查计算结果是否正确,如果是,则显示“正确”;否则显示“错误!

再试一次”,然后继续输入计算结果,直至结果正确为止。

 S4 询问用户是否继续练习,如果用户回答“Y”,则重复上述过程;如果回答“N”,则程序退出。

将下面的空档填上适当的内容,以完成表示这个算法的程序框图

 

4.在下面的空档内填上适当的内容,完成这个用循环结构表示的求35791113值的程序框图。

 

5.用程序框图表示求42的所有正约数的算法。

6.用N1代表第一个学生的学号,Ni表示第i个学生的学号,Gi表示第i个学生的成绩,那么下图表示了一个什么样的算法?

 

7.

8.一队士兵来到一条有鳄鱼的深河的左岸。

只有一条小船和两个小孩,这条船只能承载两个小孩或一个士兵。

  试设计一个算法,将这队士兵渡到对岸,并将这个算法用程序框图表示。

第5课时 基本算法语句(输入、输出、赋值语句)

【问题情境】

  已知某学生一次考试中语文、数学和英语学科的得分分别为85、90、95,试设计适当的算法求出这名学生的部分和平均分。

  和我们已经接触到的很多问题一样,在解决这个问题时,需要将这名学生的三门学科的分数输入电脑,或将三门学科的分数赋给相应的变量,以便于电脑进行运算操作。

同时,运算的结果也需通过适当方式进行输出,否则,这样的算法是没有意义的。

  怎样进行输入、输出或对变量进行赋值呢?

【范例解读】

例1 已知一匀变速运动的物体的初速度、未速度和加速度分别为V1,V2,a,求物体运动的距离s。

试编写求解这个问题的一个算法的程序框图,并用伪代码表示这个算法。

 

例2 已知三角形的三边,试用程序框图和伪代码表示求这个三角形的周长和面积的算法。

 

【归纳点拔】

【测试反馈】

1.赋值语句a=a+1的含意是

A 把就是a的值存放到a+1中     B 变量a的值等于a+1的值

C 把变量a的值加1后赋给变量a   D 把变量a+1的值存放到a中

2.下列四个语句中语法正确的是

A INPUT“A,B,C=”;A,B,CBINPUT;“A,B,C=”;A,B,C

CINPUT“A,B,C=”;A;B;CDINPUT“A=”,A,“B=”,B

3.若A=3,B=6,则下面程序运行后的结果是       。

  INPUT “A,B=”;A,B

  C=A*B+5

PRINTC

END

4.执行下面的程序

  X=1

  Y=2

  Z=3

  X=Y

  Y=X

  Z=Y

  PRINT Z

  PRINT A;B;C

  END

的结果是           。

5.试用伪代码编写程序,输出如下图形

       **

      ****

     ******

    ********

6.已知一个正三棱柱的底面边长为2,高为3,用输入、输出语句和赋值语句表示计算此三棱柱的体积的算法。

7.请用伪代码编写程序,实现三个变量A=1,B=2,C=3的值按顺序互换,即A→B→C→A之间的交换。

8.某市2004年112月的产值分别为3.8,4.2,5.3,6.1,5.6,4.8,7.3,4.5,6.4,5.8,4.7,6.5(亿元),该市要统计每季度的月平均产值及2003年的月平均产值,试分别用赋值语句和输入、输出语句表示计算上述各个平均值的算法。

 

第6课时 基本算法语句(条件语句)

【问题情境】

下面的问题可用哪种结构的算法表示?

如何用伪代码表示这种结构的算法呢?

1.输入全班学生的某学科的一次考试的成绩后,将成绩不合格的学生打印出来;

2.输入一个正整数,如果是偶数,就将其输出。

【范例解读】

例1.输入两个数A和B,将较大的数打印出来。

 

例2.已知函数

10,(x>0)

y=0,(x=0)

-10,(x<0).

输入x的值,计算y的值。

【归纳点拔】

【测试反馈】

1.按下列程序运行的结果是

 A=4.5

 B=6

 IF A>=5 THEN

   B=B+1

 ELSE

   B=B-3

   B=B+2

 END IF

 IF B>=4 THEN

   B=B*B

 ELSE

   B=A+B

 END IF

 PRINT B

 END

 A 10.5       B 11.5       C 16        D 25

答案 D

解:

A=4.5,第一个选择结构条件不满足,则B=B-3=3,B=B+2=5;而第二个选择结构条件满足,B=B*B=5*5=25,所以运行结果为25。

2.下列程序的目的是            (其中函数INT(X)的结果为实数X的整数部分)。

 INPUT “X,Y=”;X,Y

 PRINT X,Y

 M=X

 I=Y

L1:

IF M/I=INT(M/I) THEN GOTO L2

 C=M-INT(M/I)*I

M=I

I=C

GOTOL1

L2:

PRINT “I=”;I

 END

 A 求X,Y的最小公倍数    B 求X,Y的最大公约数

 C 求X被Y整除的商     D 求Y除以X所得的余数

3.下列程序的运行结果是        。

 X=6

 Y=7

 IF X>5THENY=Y+8

IFX>4THENY=Y+7

IFX>3THENY=Y+6

PRINTY

END

(答案:

28)三个条件均成立,所以THEN以后的语句均已执行,则结果为7+8+7+6=28。

4.下列程序的运行结果是        。

 X=0

 IF X>0 THEN X=X+1 ELSE X=X-1

 IF X>0 THEN Y=X ELSE IF X=0 THEN Y=1 ELSE Y=3-X

 PRINT “Y=”;Y

 END

(答案:

Y=4。

因为X=0,第一行条件X>0不满足,则X=X-1=-1,第二行条件X>0也不满足,执行内层选择,X=0不成立,则Y=3-X=4)

5.设计一个算法,判断一个整数是奇数还是偶数。

要求画出程序框图,写出伪代码(P54)。

6.发动机的推力F(kg)与温度t(oC)的关系是

            1860,当t≤10

F=

2080,当10

2867,当20

3250,当30

用伪代码编写程序,根据温度计算发动机的动力。

7.在下面的伪代码表示的程序中,hour24表示24小时计时法中的小时数,hour12为12小时计时法中的小时数,minute为分钟数。

程序为:

 INPUT “请输入时间的小时数和分钟数:

”;hour24,minute

IFhour24<0ORhour24>23THENEND

IFhour24<=12THEN

hour12=hour24

PRINT“NOW,TIMEIS:

”;hour12;“:

”;minute;“am”

ELSE

Hour12=hour24-12

PRINT“NOW,TIMEIS:

”;hour12;“:

”;minute;“pm”

 END IF

 END

这个程序的运行结果是什么?

它有怎样的功能?

8.有一函数如下

1(x>0)

             y=0(x=0)

-1(x<0).

编写一个程序,根据给定的x的值求函数y的值。

请画出程序框图,写出伪代码。

第7课时 基本算法语句(循环语句)

【问题情境】

  用算法求3+6+9+……+99时,可以按逐个相加的方式进行,但这样的算法程序太长,操作不方便。

按怎样的算法结构可以简单算法过程呢?

如何用伪代码表示这种算法?

【范例解读】

 例1.将5名学生的一门功课的成绩依次输入并计算输出平均成绩。

(P78)

 

 例2.1990年我国人口为11亿。

如果每年的人口增长率为1.5%,多少年后人口达到或超过15亿?

 设计一个算法解决上面的问题。

画出程序框图,写出伪代码。

 

【归纳点拔】

【测试反馈】

1.下列程序运行次数是A、B、C、D中的哪一种?

 FOR I=7 TO 90 STEP 5

    PRINT I

 NEXT I

 END

 A 14        B 15        C 16        D 17

2.下面的程序运行后输出的结果是

 I=1

 WHILE I<8

I=I+2

S=2*I+3

WEND

PRINTS

END

A17        B 19        C 21       D 23

3.要使以下FOR循环执行20次,循环变量的初值应当是          。

 FOR k=     TO-5STEP-1

4.下列程序的功能为输出如下的图形,请将程序补充完整

********

********

********

********

 CLS

FORI=1 TO 4

   PRINT TAB(10+I)

   FOR J=1 TO       

      PRINT “*”;

   NEXT J

   PRINT

 NEXT I

 END

(说明:

其中的“TAB(n)”的功能是行前空n个字符)

(答案:

8)

5.画出求

(共6个2)的值的一个算法的程序框图,并用伪代码表示这个算法。

6.将1到100之间的奇数按顺序累加,直到其和等于或大于100为止。

要求输入表示这些奇数相加并得到运算结果的算式。

(P80)

7.用循环语句设计一个算法,在有限个实数中找到最大的一个数。

(<离散数学>P121)

8.有一个三位数,当把百位数作十位数,十位数作个位数,而个位数作百位数时,则得到一个新的三位数。

原来的三位数是新三位数的2倍还多3。

试编制适当的程序找出符合要求的三位数。

 用伪代码表示上述程序。

(P109)

第8课时 习题课

【双基演练】

1.下面四个语句中不正确的打印语句是

 A PRINT A=B+C           B PRINT “A=”;B+C

 C PRINT “A=B+C”         D PRINT A=;B+C

2.下面的程序运行的结果是

 N=0

 I=0

 WHILE I<30

   I=(I+1)*(I+1)

   N=N+1

 WEND

 PRINT N

 END

 A 0        B 3         C 4         D 29

3.完善下列程序

 INPUT “X=”;X

 IF X>=0THEN

Y=6

ELSE

Y=5

PRINTY

END

4.按下面的程序运行后输出的S的值是       。

 FOR I=1 TO 5

S=0

J=1

FORK=1ToI

J=J*K

NEXTK

S=S+J

NEXTI

PRINTS

END

【范例解读】

1.写出一个在三个数a,b和c中找出第2个小数的算法(假设a,b,c互不相同),画出程序框图,并用伪代码表示这个算法。

 

2.用While语句描述求使1+2+3+……++>2004成立的最小正整数n的算法过程。

 

3.读入若干个自然数,统计出其中奇数的个数。

用伪代码表示解决这个问题的算法过程。

(P93)

 

【测试反馈】

1.下面的程序运行后输出的结果是

 N=0

 I=0

 WHILE I<30

I=(I+1)*(I+1)

N=N+1

WEND

PRINTN

END

A0B3C4D29

2.下列程序的运行结果是

 A=5

 B=4

 IF B>=A THEN

   B=A+B

 ELSE 

   B=A-B

PRINT B

END

A 9       B 4        C 1        D 0

3.下列程序的运行结果是          。

 A=1

 B=2

 C=10

 D=B*B-4*A*C

 IF D>=0THEN

X1=(-B+SQR(D))/(2*A)

X2=(-B-SQR(D))/(2*A)

PRINT“X1=”;X1,“X2=”;X2

 ELSE

   PRINT “X1=”;-B/(2*A);“+”;SQR(-D)/(2*A);“i”,

   PRINT “X2=”;-B/(2*A);“-”;SQR(-D)/(2*A);“i”

 END IF

 END

(-1+3i -1-i)

4.下列程序运行后输出的结果是        。

 FOR A=1 TO 5

    Y=1

    FOR B=1 TO 10

       FOR C=1 TO 6

          Y=Y+1

       NEXT C

    NEXT B

 NEXT A

 PRINT A

 END

5.按下列程序运行后的结果是      。

 XY=10

IFXY>100THEN

A=A+1

ELSE

IFXY>50THEN

A=A+2

ELSE

A=A+4

ENDIF

ENDIF

PRINTA

END

6.求出所有能被7整除的两位数。

用伪代码表示算法过程。

7.火车站对乘客退票要收取一定的费用,收费办法是:

按票价每10元(不足10元按10元计算)核收2元,票价在2元以下的不退。

试分步写出将票价为x元的车票退掉后,返还的金额y元的算法,画出程序框图,并用伪代码将这个算法表示出来。

第9课时 算法案例(辗转相除法与更相减损)

【问题情境】

1.小李问老师怎样求两个正整数的最大公约数,老师画了一个程序框图(如下):

“你按这个框图进行吧”。

 

(1)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 城乡园林规划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1