课件57张PPT。1.2基本算法语句 计算机完成任何一项任务都需要算法,但是,我们用自然语言或程序框图描述的算法,计算机是无法“看得懂,听得见”的。因此还需要将算法用计算机能够理解的程序设计语言(programming language)翻译成计算机程序。【创设情境】 在现代社会里,计算机已经成为人们日常生活和工作不可缺少的工具,如:听MP3,看电影,玩游戏,打字排版,画卡通画,处理数据等等,那么,计算机是怎样工作的呢?这些就是这一节所要研究的主要内容——基本
算法语句。今天,我们先一起来学习输入、输
出语句和赋值语句。 程序设计语言有很多种。如BASIC,Foxbase,
C,Pascal等。为了实现算法中的三种基本的
逻辑结构:顺序结构、条件结构和循环结构,
各种程序设计语言中都包含下列基本的算法
语句:输入语句 输出语句 赋值语句
条件语句 循环语句 1.2.1基本算法语句
——输入语句、输出语句和赋值语句学习目标:
1.了解输入(出)语句和赋值语句的语法;
2.能将顺序结构的程序框图改写成计算机程序语言(不过多强调语法)。
3.进一步理解高考中程序框图的考察形式及解题方法。
学习重点:
1.将顺序结构的程序框图改写成计算机程序语言(不过多强调语法);
2.高考中考察输(入)出和赋值语句的试题的解题方法(主要问输出值)。
学习难点:
输入(出)语句和赋值语句的语法。
输入语句和输出语句分别用来实现算法的输入信息,输出结果的功能。 例1 用描点法作函数y=x3+3x2-24x+30的图象
时,需要求出自变量和函数的一组对应值.编写程序,
分别计算当x=-5,-4,-3,-2,-1,0,1,
2,3,4,5时的函数值. INPUT “x=”;x
y=x^3+3*x^2-24*x+30
PRINT y
END程序: -----------------输入语句 ---------赋值语句-------------------------输出语句-------------------------表示结束一.输入语句 INPUT “提示内容”;变量输入语句的一般格式 说明:
(1)输入语句的作用是实现算法的输入信息功能;
(2)“提示内容”提示用户输入什么样的信息,
变量是指在程序运行时其值是可以变化的量;
(3)输入语句要求输入的值只能是具体的常数,
不能是函数、变量或表达式;
(4)提示内容与变量之间用分号“;”隔开,
若输入多个变量,变量与变量之间用逗号“,”隔开.例如,输入一个学生数学,语文,英语三门课的成绩,
可以写成:INPUT “数学,语文,英语”;a,b,c注意:
INPUT语句不但可以给单个变量赋值,还可以给多个变量赋值,其格式为:INPUT “提示内容1,提示内容2,提示内容3,…”;变量1,变量2,变量3,… 练一练:请你用输入语句表达课本P7和P9页程序框图中输入框中的内容。P7页:INPUT “n=”; n P9页:INPUT a, b, c 二.输出语句 PRINT “提示内容”;表达式说明:
(1)“提示内容”提示用户输出什么样的信息,
表达式是指程序要输出的数据;①输出常量,变量的值和字符串等系统信息。
②输出数值计算的结果。(2)输出语句的用途: 输出语句的一般格式(3)同输入语句一样,表达式前也可以有“提示内容”.〖思考〗:在课本P7页图1.1-2程序框图中的输出框的内容怎样用输出语句来表达? 参考答案:
PRINT “n是质数.”
PRINT “n不是质数.”PRINT “S=”; S 三.赋值语句(1)赋值语句的一般格式:变量=表达式(2)赋值语句的作用是:先计算出赋值号右边表达
式的值,然后把这个值赋给左边的变量,使该变量的
值等于表达式的值。
(3)赋值语句中的“=”称作赋值号,与数学中的等
号的意义是不同的.赋值号的左右两边不能对换.
(4)赋值语句左边只能是变量名字而不是表达式,
如:2=x是错误的;右边表达式可以是一个数据、
常量或算式;不能利用赋值语句进行代数式的
演算。(如化简、因式分解、解方程等)
(5)对于一个变量可以多次赋值。【例题解析】
例2:编写程序,计算一个学生数学、语文、
英语三门课的平均成绩。分析:先写出算法,画出程序框图,再进行编程。结束程序框图INPUT “数,语,英”;a,b,c
y=(a+b+c)/3
PRINT “平均分”;y
END程序:例3:“运行”以下程序,写出输出的结果。程序:A=10
A=A+15
PRINT A
END 分析:此程序给变量A赋了两次值。A的初值为10,第二次赋值后,初值被“覆盖”,A的值变为25,因此输出值是25。[变式引申]:以下程序的输出值是多少?A=10
B=A
A=2*B
PRINT A,B
END答案:20,10例4.交换变量A和B的值,并输出交换前后的值。分析:类比“交换装满水的两个水桶里的水需要
再找一个空桶”,所以引入一个临时变量X,将A
的值赋予X,又将B的值赋予A,再将X的值赋予B,
从而达到交换A,B的值的目的。INPUT A
INPUT B
PRINT A,B
X=A
A=B
B=X
PRINT A,B
END问题:能否用下列赋值语句交换A,B的值?A=15
B=20
A=B
B=A不能!!!!!!最后A与B的值均为20。〖练习1〗:编写一个程序,要求输入一个圆的半径,
便能输出该圆的周长和面积.( π取3.14)分析:设圆的半径为R,则圆的周长C=2πR,面积S=πR2,可以利用顺序结构中的INPUT语句,PRINT语句和赋值语句设计程序。INPUT “R=”;R
C=2*3.14*R
S=3.14*R^2
PRINT “C=”;C
PRINT “S=”;S
END〖练习2〗课本P24页练习T1.
已知华氏温度与摄氏温度的转换公式是:
(华氏温度-32)×5÷9=摄氏温度
编写一个程序,输入一个华氏温度,输出
其相应的摄氏温度。〖练习3〗课本P24页练习T2。
编写一个程序,计算两个非0实数的加、
减、乘、除运算的结果。注:BASIC语言中的标准函数SQR(x)表示数x的算术平方根,ABS(x)表示x的绝对值。〖练习4〗编写一个程序,利用海伦公式
计算三边长分别为2,3,4的三角形的面积。ABS(x)=|x|. 【课堂小结】
(1)本节课介绍了输入语句、输出语句和赋值语句的结构特点及联系.
(2)要掌握并能应用输入语句,输出语句,赋值语句编写一些简单的程序解决数学问题,特别是掌握赋值语句中“=”的作用及应用.
(3)编写程序的一般步骤:先写出算法,画出程序框图,再进行编程。
有良好习惯的编程高手大都有很强的分析问题的能力,逻辑思维很严谨。作业:
课本P24页练习T4
课本P33页习题1.2A组T2INPUT “a,b,c=”;a ,b,c
X=10.4*a
Y=15.6*b
Z=25.2*c
sum=X+Y+Z
PRINT “sum=”;sum
END程序:〖作业1〗P24页T4.INPUT “a,b,h=”;a ,b,h
p=a+b
s=p*h/2
PRINT “s=”;s
END程序:〖作业2〗P33页A组T2.学习目标:
1.能读懂条件语句,知道在什么条件下会执行哪部分语句;
2.理解条件语句中蕴含的分类讨论思想;
3.通过实例学习,培养严谨细致的数学素养。
学习重点:
条件语句的书写格式与功能
学习难点:
1.条件语句中条件表达式的书写;
2.多个条件语句相互配合完成更细致的分类讨论。 1.2.2基本算法语句
——条件语句 算法中的条件结构是由条件语句来表达的,条件语句是处理条件分支逻辑结构的算法语句.条件语句的一般格式 只含一个“分支”的条件结构写成条件语句为当计算机执行这种形式的条件语句时,首先对IF后的条件进行判断,如果条件符合,就执行THEN后的语句体,否则执行END IF之后的语句. 含两个“分支”的条件结构写成条件语句为 当计算机执行上述语句时,首先对IF后的条件进行判断,如果条件符合,就执行THEN后的语句1,否则执行ELSE后的语句2. 【例题解析】例1(课本P27例6)编写程序,输入一元二次方程ax2+bx+c=0的系数,输出它的实数根。(参考课本P11例5的程序框图)算法分析: 一元二次方程的根有三种不同情况:设判别式△=b2-4ac (1)当△>0时,一元二次方程有两个不等的实数根.(2)当△=0时,一元二次方程有两个相等的实数根.(3)当△<0时,一元二次方程没有实数根.是【程序框图】开始输入a,b,c△=b2-4ac△≥0?原方程无实根22结束否11△=0?输出p是否x1=p+qx2=p-q输出x1,x2【程序】INPUT “ a,b,c =”;a,b,c
d=b^2-4*a*c
IF d>=0 THEN
p=-b/(2*a)
q=SQR(d)/(2*a)
IF d=0 THEN
PRINT “一个实数根”;p
ELSE
x1=p+q
x2=p-q
PRINT “两个实数根”;x1,x2
END IF
ELSE
PRINT “无实数根”
END IF
END例2(课本P27例7):编写程序,使得任意输入的3个整数按从大到小的顺序输出。 算法分析:用a,b,c表示输入的3个整数;为了节约变量,把它们重新排列后,仍用a,b,c表示,并使a≥b≥c.具体操作步骤如下。
第一步:输入3个整数a,b,c.
第二步:将a与b比较,并把小者赋给b,大者赋给a.
第三步:将a与c比较. 并把小者赋给c,大者赋给a,此时a已是三者中最大的。
第四步:将b与c比较,并把小者赋给c,大者赋给b,此时a,b,c已按从大到小的顺序排列好。
第五步:按顺序输出a,b,c.c=bb=tb=tc=ta=c【程序框图】开始输入a,b,cb>a?是t=aa=b否c>a?是t=a否c>b?t=c是否输出a,b,c交换a,b的值【程序】INPUT “a,b,c =”;a,b,c
IF b>a THEN
t=a
a=b
b=t
END IF
IF c>a THEN
t=a
a=c
c=t
END IF
IF c>b THEN
t=b
b=c
c=t
END IF
PRINT a,b,c
END1.课本P29页T1.INPUT “a,b,c=”; a,b,c
IF a+b>c AND a+c>b AND b+c>a THEN
PRINT “Yes.”
ELSE
PRINT “No.”
END IF
END参考答案:【课堂练习】2.课本P29页T2.读程序,说明此程序的作用.INPUT “x=:”;x
IF 9 a=x10
b=x MOD 10
x=10*b+a
PRINT x
END IF
END[问题]如输入的数x=86,则输出的结果是什么?68 此程序用于交换一个两位数的个位和十位数字.3.课本P29页T3.编写求一个数是偶数还是奇数的程序,从键盘输入一个整数,输出该数的奇偶性.INPUT “a=”; a
IF a MOD 2 =0 THEN
PRINT “偶数”
ELSE
PRINT “奇数”
END IF
END参考答案:4.课本P22页T4.闰年指年份能被4整除但不能被100整除,或者能被400整除的年份.编写一个程序,判断输入的年份是否为闰年.INPUT y
b=y MOD 4
c=y MOD 100
d=y MOD 400
IF b=0 AND c< >0 THEN
PRINT “闰年”
ELSE
IF d=0 THEN
PRINT “闰年”
ELSE
PRINT “不是闰年”
END IF
END IF
END参考答案:表示c≠05.编写一个程序,输入两个整数a,b,判断a是否能被b整除。INPUT “a,b=”; a,b
IF a MOD b =0 THEN
PRINT “b divides a.”
ELSE
PRINT “b does not divide a.”
END IF
END参考答案: 【课堂小结】
本节课主要学习了条件语句的结构、特点、作用以及用法,并懂得利用它解决一些简单问题。条件语句使程序执行产生分支,根据不同的条件执行不同的路线,其本质就是利用分类讨论思想使复杂问题简单化。
条件语句一般用在需要对条件进行判断的算法设计中,如判断一个数的正负,确定两个数的大小等问题,还有求分段函数的函数值等,往往要用条件语句,有时甚至要用到条件语句的嵌套。
作业:
课本P33页习题1.2 A组T1,B组T3(P33页B组T3)INPUT “x=”;x
IF x<1 THEN
y=x
ELSE
IF x<10 THEN
y=2*x-1
ELSE
y=3*x-11
END IF
END IF
PRINT“y=”;y
END参考答案:学习目标:
1、知识与技能
(1)正确理解循环语句的概念;
(2)会应用循环语句编写程序。
2、过程与方法
经历对现实生活情境的探究,认识到应用计算机解决数学问题方便简捷,促进发展学生逻辑思维能力 1.2.3基本算法语句
——循环语句3、情感态度与价值观
了解循环语句在程序中起判断转折作用,在解决实际问题中起决定作用。通过本小节内容的学习,有益于我们养成严谨的数学思维以及正确处理问题的能力。重点与难点:
重点:循环语句的步骤、结构及功能.
难点:会编写程序中的循环语句.
算法中的循环结构是由循环语句来实现的 .循环结构有两种-----当型与直到型.当型循环结构(当条件满足时反复执行循环体)直到型循环结构(反复执行循环体直到条件满足) 对应于程序框图中的两种循环结构,一般程序设计语言中也有当型(WHILE型)和直到型(UNTIL型)两种语句结构。 即WHILE语句和UNTIL语句。 (1)WHILE语句的一般格式是:
WHILE 条件
循环体
WEND 其中循环体是由计算机反复执行的一组语句构成的。WHLIE后面的“条件”是用于控制计算机执行循环体或跳出循环体的。WHILE——当……
时候WEND——朝……方向
行走(1)WHILE语句的一般格式是 WHILE 条件
循环体
WEND 当计算机遇到WHILE语句时,
先判断条件的真假,如果条件
符合,就执行WHILE与WEND之间的循环体;然后再检查上述条件,如果条件仍符合,再次执行循环体,这个过程反复进行,直到某一次条件不符合为止.这时,计算机将不执行循环体,直接跳到WEND语句后,接着执行WEND之后的语句. (2)UNTIL语句的一般格式是:
DO
循环体
LOOP UNTIL 条件DO——做什么LOOP UNTIL——绕环回线走,直到达到某种
条件为止思考:参照其直到型循环结构对应的程序框图,说说
计算机是按怎样的顺序执行UNTIL语句的? (2)UNTIL语句的一般格式是:
DO
循环体
LOOP UNTIL 条件从UNTIL型循环结构分析,计算机执行该语句时,先
执行一次循环体,然后进行条件的判断,如果条件不
满足,继续返回执行循环体,然后再进行条件的判断,
这个过程反复进行,直到某一次条件满足时,不再执
行循环体,跳到LOOP UNTIL语句后执行其他语句,
是先执行循环体后进行条件判断的循环语句.提问:通过对照,大家觉得WHILE型语句与UNTIL型
语句之间有什么区别呢? 区别:在WHILE语句中,是当条件满足时执行循环
体,而在UNTIL语句中,是当条件不满足时执行循环
体。例1.编写程序,
计算自然数1+2+3+…+99+100的和. 分析:这是一个累加问题.我们可以用WHILE型语句,也可以用UNTIL型语句。i=1
S=0WHLIE i<=100S=S+ii=i+1WENDPRINT SENDi=1
S=0DOS=S+i
i=i+1LOOP UNTILi>100PRINT SEND变式训练(1):
编写程序求:n!=1×2×3×4×5×……×n的值.如何修改?WHILE语句i=1
S=0WHLIE i<=100S=S+ii=i+1WENDPRINT SENDINPUT “n=”;nS=1S=S*ii≤n?S=1nS=S*i变式训练(2):
编写程序求:1×3×5×7×……×101的值.如何修改?UNITL语句i=1
S=0DOS=S+ii=i+1LOOP UNTIL i>100PRINT SENDS=1101S=S*ii=i+2直到型S=1S=S*i i=i+2i>101?例2:根据P7页图1.1-2,将程序框图转化为程序语句. 分析:仔细观察,该程序框图中既有条件结构,又有循环结构。INPUT “n=”;n
i=2
DO
r=n MOD i
i=i+1
LOOP UNTIL i>=n OR r=0
IF r=0 THEN
PRINT “n is not a prime number.”
ELSE
PRINT “n is a prime number.”
END IF
END程序布置作业
①课本P33 A3, B4
②的最小正整数的算法基本语句3.P33页A组T3.程序INPUT “n=”;ni=1S=0WHILE i<=nS=S+(i+1)/ii=i+1WENDPRINT “S=”;SEND习题解答7.P33页B组T4.程序INPUT “a=”;aINPUT “n=”;ntn=0sn=0i=1WHILE i<=ntn=tn+asn=sn+tna=a*10i=i+1WENDPRINT snEND习题解答