知识讲解基本算法语句基础.docx

上传人:b****5 文档编号:8236826 上传时间:2023-01-30 格式:DOCX 页数:17 大小:197.05KB
下载 相关 举报
知识讲解基本算法语句基础.docx_第1页
第1页 / 共17页
知识讲解基本算法语句基础.docx_第2页
第2页 / 共17页
知识讲解基本算法语句基础.docx_第3页
第3页 / 共17页
知识讲解基本算法语句基础.docx_第4页
第4页 / 共17页
知识讲解基本算法语句基础.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

知识讲解基本算法语句基础.docx

《知识讲解基本算法语句基础.docx》由会员分享,可在线阅读,更多相关《知识讲解基本算法语句基础.docx(17页珍藏版)》请在冰豆网上搜索。

知识讲解基本算法语句基础.docx

知识讲解基本算法语句基础

基本算法语句

【学习目标】

1、正确理解输入语句、输出语句、赋值语句的结构.

2、会写一些简单的程序.

3、掌握赋值语句中的“=”号的作用.

4、正确理解条件语句和循环语句的概念,并掌握其结构的区别与联系.

5、会应用条件语句和循环语句编写程序.

【要点梳理】

要点一、输入语句

在程序中的INPUT语句就是输入语句.这个语句的一般格式是:

INPUT“提示内容”;变量

其中,“提示内容”一般是提示用户输入什么样的信息.

INPUT语句不但可以给单个变量赋值,还可以给多个变量赋值,其格式为:

INPUT“提示内容1,提示内容2,提示内容3,…”;变量1,变量2,变量3,…

功能:

可对程序中的变量赋值.

要点诠释:

①“提示内容”提示用户输入什么样的信息,必须加双引号,提示内容“原原本本”的在计算机屏幕上显示,提示内容与变量之间要用分号隔开;

②变量是指程序在运行时其值是可以变化的量;

③一个语句可以给多个变量赋值,中间用“,”分隔,但最后的变量的后面不需要;

④要求输入的数据必须是常量,而不能是函数、变量或表达式;

⑤无计算功能.

例如,输入一个学生数学,语文,英语三门课的成绩,可以写成:

INPUT“数学,语文,英语”;a,b,c

要点二、输出语句

在程序中的PRINT语句是输出语句.它的一般格式是:

PRINT“提示内容”;表达式

 

同输入语句一样,表达式前也可以有“提示内容”.

功能:

可输出表达式的值,计算.

要点诠释:

①“提示内容”提示用户输出什么样的信息,提示内容必须加双引号,提示内容要用分号和表达式分开;

②表达式是指程序要输出的数据,可以是变量、计算公式或系统信息;

③一个语句可以输出多个表达式,不同的表达式之间可用“,”分隔;

④有计算功能,可以输出常量、变量或表达式的值以及字符.

要点三、赋值语句

用来表明赋给某一个变量一个具体的确定值的语句.它的一般格式是:

变量=表达式

赋值语句中的“=”叫做赋值号.

功能:

先计算出赋值号右边表达式的值,然后把这个值赋给赋值号左边的变量,使该变量的值等于表达式的值.

要点诠释:

①赋值号的左右两边不能对换,如“A=B”“B=A”的含义运行结果是不同的;

②格式中右边“表达式”可以是一个数据、常量和算式,如果“表达式”是一个算式时,赋值语句的作用是先计算出“=”右边表达式的值,然后将该值赋给“=”左边的变量;

③赋值号左边只能是变量名字,而不能是表达式,如:

2=X是错误的;

④不能利用赋值语句进行代数式的演算(如化简、因式分解等);

⑤对于一个变量可以多次赋值;

⑥有计算功能;

⑦赋值号与数学中的等号的意义是不同的.赋值号左边的变量如果原来没有值,则执行赋值语句后,获得一个值,如果已有值,则执行该语句后,以赋值号右边表达式的值代替该变量的原值,即将“原值”冲掉.

要点四、条件语句

算法中的条件结构是由条件语句来表达的,是处理条件分支逻辑结构的算法语句.它的一般格式是:

(IF-THEN-ELSE格式)

 

当计算机执行上述语句时,首先对IF后的条件进行判断,如果条件符合,就执行THEN后的语句1,否则执行ELSE后的语句2.其对应的程序框图为:

(如上右图)

在某些情况下,也可以只使用IF-THEN语句:

(即IF-THEN格式)

 

计算机执行这种形式的条件语句时,也是首先对IF后的条件进行判断,如果条件符合,就执行THEN后的语句,如果条件不符合,则直接结束该条件语句,转而执行其他语句.其对应的程序框图为:

(如上右图)

要点诠释:

条件语句的作用:

在程序执行过程中,根据判断是否满足约定的条件而决定是否需要转换到何处去.需要计算机按条件进行分析、比较、判断,并按判断后的不同情况进行不同的处理.

要点五、循环语句

算法中的循环结构是由循环语句来实现的.对应于程序框图中的两种循环结构,一般程序设计语言中也有当型(WHILE型)和直到型(UNTIL型)两种语句结构.即WHILE语句和UNTIL语句.

1.WHILE语句的一般格式是:

 

其中循环体是由计算机反复执行的一组语句构成的.WHLIE后面的“条件”是用于控制计算机执行循环体或跳出循环体的.

当计算机遇到WHILE语句时,先判断条件的真假,如果条件符合,就执行WHILE与WEND之间的循环体;然后再检查上述条件,如果条件仍符合,再次执行循环体,这个过程反复进行,直到某一次条件不符合为止.这时,计算机将不执行循环体,直接跳到WEND语句后,接着执行WEND之后的语句.因此,当型循环有时也称为“前测试型”循环.其对应的程序结构框图为:

(如上右图)

2.UNTIL语句的一般格式是:

 

其对应的程序结构框图为:

(如上右图)

直到型循环又称为“后测试型”循环,从UNTIL型循环结构分析,计算机执行该语句时,先执行一次循环体,然后进行条件的判断,如果条件不满足,继续返回执行循环体,然后再进行条件的判断,这个过程反复进行,直到某一次条件满足时,不再执行循环体,跳到LOOPUNTIL语句后执行其他语句,是先执行循环体后进行条件判断的循环语句.

要点诠释

当型循环与直到型循环的区别

①当型循环是先判断后执行,直到型循环是先执行后判断;

②当型循环用WHILE语句,直到型循环用UNTIL语句;

③对同一算法来说,当型循环和直到型循环的条件互为反条件.

【典型例题】

类型一:

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

例1.判断下列输入、输出语句是否正确?

为什么?

(1)输入语句INPUTa;b;c

(2)输入语句INPUTx=3

(3)输出语句PRINTA=4

(4)输出语句PRINT20,3*2

【解析】

(1)错,变量之应用“,”隔开;

(2)错,INPUT语句中只能是变量而不能是表达;(3)错,PRINT语句中不能用赋值号“=”;(4)对,PRINT语句可以输出常量、变量、表达的值。

【总结升华】输入语句的格式是:

INPUT“提示内容”;变量,其作用是输入信息;输出语句的格式是:

PRINT“提示内容”;表达式,其作用是输出结果。

举一反三:

【变式1】

(1)下列给出的输入语句正确的是________。

①INPUTa;b;c;②INPUTx=3;③INPUTa,b,c;④INPUT“a=,b=”,a,b;⑤INPUT“a=,b=”a,b。

(2)下列给出的输出语句正确的是________。

①PRINTA=4;②PRINT“你的姓名”XM;③PRINTa,bc;④PRINT20,3*2;⑤PRINTS。

【答案】

(1)③

(2)③④⑤

例2.任给三个变量a,b,c赋值,计算a2―3b2+5c的值。

INPUT“a=”;a

INPUT“b=”;b

INPUT“c=”;c

S=a*a―3*b*b+5*c

PRINTS

END

【解析】程序如下:

【总结升华】注意程序中a2―3b2+5c的写法,也可写为“a^2―3*b^2+5*c”。

举一反三:

【变式1】判断下列赋值语句是否正确:

(1)4=m;

(2)x+y=10;(3)A=B=2;(4)N=N2。

【解析】

(1)错误;

(2)错误;(3)错误;(4)正确。

【总结升华】由赋值语句中赋值号“=”左边是变量,右边是表达式、常量或变量知

(1)、

(2)错误,(4)正确。

赋值语句只能给一个变量赋值,不能出现两个或多个“=”,从而(3)错误。

例3.编写一个程序,要求输入两个正数a、b的值,输出ab和ba的值。

【解析】可以利用“INPUT”语句输入两个正数,然后将ab和ba的值分别赋给两个变量,然后输出这两个变量的值即可;另一方面ab与ba作为两个幂的值,是把底数和指数进行了交换,故还可以利用赋值语句,采用将两个变量的值互换的办法实现这一算法。

解法一:

程序为:

INPUT“a,b=”;a,b

A=a^b

B=b^a

PRINT“ab=”;A

PRINT“ba=”;B

END

INPUT“a,b=”;a,b

A=a^b

PRINT“ab=”;A

x=a

a=b

b=x

A=a^b

PRINT“ba=”;A

END

解法二:

程序为:

【总结升华】注意观察两种解法的区别。

解法二更巧妙地利用了赋值语句,互换变量来实现算法。

举一反三:

【变式1】写出下列语句描述的算法的输出结果。

a=5

b=3

c=(a+b)/2

d=c*c

PRINT“d=”;d

END

(1)

a=1

b=2

c=a+b

b=a+c―b

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

END

(2)

a=10

b=20

c=30

a=b

b=c

c=a

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

END

(3)

【解析】

(1)∵a=5,b=3,

,∴d=c2=16。

(2)∵a=1,b=2,c=a+b,∴c=3。

又将a+c―b赋值给b,∴b=1+3-2=2。

(3)由b=20及a=b知a=20,由c=30及b=c知b=30,由a=30及c=a知c=20。

【总结升华】此题主要考查对三种语句的理解,要对三种语句理解透彻。

注意写出每一步的运算结果,以减少错误。

例4.“植树造林,防风抗沙”。

某沙漠地区在2010年年底有绿化带树林20000亩,该地区每年春天会种树400亩加以绿化,但同时每年冬天又会有总绿化面积的1%被沙漠化,问2013年年底该地区总绿化面积有多少亩?

画出解决此问题的算法的程序框图,并写出程序。

【解析】该地区总绿化面积每年都在变化,可以设置一个变量来表示每年年底的绿化面积。

程序框图如图。

程序:

【总结升华】利用赋值语句可以对同一变量进行多次赋值,程序输出变量的最后值。

举一反三:

【变式1】在一次数学考试中,小明、小亮、小强的成绩分别为a、b、c,后来发现统计错了。

小亮的成绩记在小明的名下,小强的成绩记在小亮的名下,而小明的成绩记在小强的名下了。

设计程序更正成绩单。

【解析】程序:

INPUT“更正前的成绩”;a,b,c

x=a

a=c

c=b

b=x

PRINT“更正后的成绩”;a,b,c

END

【总结升华】变量x主要用于存放一个变量的值,应用赋值语句将原来的三个数进行了轮换,输出的a,b,c已经不是原来的a,b,c了,而依次对应的是原来的c,a,b。

类型二:

条件语句

例5.给出三个正整数a,b,c,判断以这3个数为三条边边长的三角形是否存在,若存在,则求出其面积,请设计程序实现该功能,并画出相应的程序框图。

【解析】由于不是任意三条线段都能构成三角形的三边,因此必须先判断三边是否满足任意两边之和大于第三边,即a+b>c,a+c>b,b+c>a,这些是保证能组成三角形的必要条件。

经判断,如果满足上述条件,则按下面的公式计算三角形的面积,

程序框图如图所示。

程序如下:

【总结升华】编程的一般步骤为:

(1)算法分析:

根据提供的问题利用数学及相关学科的知识,设计出解决问题的算法;

(2)画出程序框图:

依据算法分析,画出对应的程序框图;

(3)写出程序:

根据程序框图中的算法步骤,逐步把算法用相应的程序语句表达出来。

举一反三:

【变式1】(2015秋湖北荆州区期末)已知1图列程序,当输入t=5时,输出结果是________.

【答案】0.4

【解析】t=5,不满足条件t≤3执行Else后语句,

c=0.2+0.1(5-3)=0.4

输出结果是0.4.

故答案为:

0.4.

例6.(2016河南周口月考)输入任意两个实数,编写程序求其差的绝对值,并画出程序框图.

【解析】程序如下:

INPUT a,b

IF a>=b THEN

c=a-b

ELSE

c=b-a

ENDIF

PRINT c

END

程序框图如图所示.

【总结升华】这是一个分段函数求值的问题,在计算之前,需要对自变量进行判断,这就需要用到条件结构,并且还是一个有两个分支的条件结构。

所以可以运用“IF—THEN—ELSE”语句。

举一反三:

【变式1】已知程序如下,若输入x=5,则输出结果是()

INPUT“x=”;x

IFx>=0THEN

y=1

ELSE

y=-1

ENDIF

PRINT“y=”;y

END

A.

B.

C.y=1D.y=-1

【答案】C

【变式2】读下面的程序,并回答问题。

INPUTx

IFx<=2THEN

y=x^2

ELSE

IFx<=5THEN

y=2*x-3

ELSE

y=1/x

ENDIF

ENDIF

PRINTy

END

该程序的作用是输入x的值,输出y的值。

(1)画出该程序对应的程序框图;

(2)若要使输入的x值与输出的y值相等,问这样的x值有几个?

【解析】由程序可知这是一个求

的函数值的程序。

(1)程序对应的程序框图如右图所示。

(2)x=x2,则x=0或x=1。

此时均满足x≤2。

若2x-3=x,则x=3,满足2<x≤5。

,则x=±1,不满足x>5。

综上可知满足题设条件的x值有3个,即x=0或x=1或x=3。

【变式3】输入一个自然数N,求其被3除得到的余数,设计一个程序,并输出相应的信息。

【解析】程序如下:

INPUT“请输入一个自然数N;”;N

M=NMOD3

IFM=0THEN

PRINT“能被3整除”

ENDIF

IFM=1THEN

PRINT“余数为1”

ENDIF

IFM=2THEN

PRINT“余数为2”

ENDIF

END

类型三:

循环语句

例7.(2015春河南南阳期中)根据下面的要求,求满足1+2+3+…+n>500的最小的自然数n.

(1)画出执行该问题的程序框图;

(2)以下是解决该问题的一个程序,但有2处错误,请找出错误并予以更正.

【思路点拨】

(1)分析题目中的要求,发现这是一个累加型的问题,故可能用循环结构来实现,在编写算法的过程中要注意,累加的初始值为1,累加值每一次增加1,退出循环的条件是累加结果>500,即可得到流程图;

(2)直到型循环结构是直到满足条件退出循环则“While”错误,应改成LOOPUNTIL,以及根据循环次数可知输出结果为n.

【解析】

(1)程序框图如图:

(两者选其一即可,答案不唯一)

(2)①直到型循环结构是直到满足条件退出循环,While错误,应改成LOOPUNTIL;

②根据循环次数可知输出n+1应改为输出n.

③最后一行,应该用“end”结束

举一反三:

【变式1】分析下面程序的算法功能,画出其算法的程序框图。

i=-1

WHILEi<=1

x=i

y=x^3

i=i+0.2

PRINT“y=”;y

WEND

END

【解析】程序框图如下图所示。

 

这是一个用循环语句编写的程序,第一次循环取x=-1,第二次取x=-1+0.2,…,最后一次取x=1,这实际上就是把区间[-1,1]平均分成10等份,求函数

在区间的端点及各等分点处的函数值问题。

例8.编写一个程序计算

,并画出程序框图。

【解析】解法一(当型循环),如图:

解法二(直到型循环),如图:

举一反三:

高清:

基本算法语句例5

【变式1】编写程序,计算自然数1+2+3+……+99+100的和.

【答案】这是一个累加问题.我们可以用WHILE型语句,也可以用UNTIL型语句.由此看来,解决问题的方法不是唯一的,当然程序的设计也是有多种的,只是程序简单与复杂的问题.

程序:

WHILE型:

i=1

sum=0

WHILEi<=100

sum=sum+i

i=i+1

WEND

PRINTsum

END

UNTIL型:

i=1

sum=0

DO

sum=sum+i

i=i+1

LOOPUNTILi>100

PRINTsum

END

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

当前位置:首页 > 高等教育 > 军事

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

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