课件21张PPT。1.2基本算法语句1.2.1输入语句 输出语句 赋值语句输入语句 输出语句 赋值语句 条件语句 循环语句温故而知新1. 什么是算法?什么是程序框图? 2. 算法的基本逻辑结构有哪些? 算法通常是指按照一定规则解决某一类问题的明确的和有限的步骤。
程序框图是一种用程序框、流程线及文字说明来表示算法的图形。 算法的基本结构有三种:顺序结构、条件结构、循环结构,其中循环结构又分为当型结构和直到型结构两种。 温故而知新1. 算法的描述方法有哪些? 自然语言、程序框图和程序语言。 2. 基本的算法语句有哪些?阅读P21思考: 基本的算法语句有:输入语句、输出语句、赋值语句、条件语句、循环语句。INPUT “x=”;x
y=x^3+3*x^2-24*x+20
PRINT y
END
程序:输入语句
赋值语句
输出语句
例:要想输入一个学生的语文和数学两门课的成绩:INPUT “x=” ;x想一想:①上面语句写成 INPUT a 和 INPUT b 可以吗?②输入语句写成 INPUT a+b 或 INPUT 3 可以吗?说明:从键盘输入的数据只能是常量(不包括符号常量),不能是表达式(包括变量和函数)知识探究(一):输入语句 INPUT “Maths,Chinese,English”; a,b,c 注意:各“提示内容”之间以及各变量之间必须用逗号“,”隔开。但最后的变量的后面不需要。INPUT “a,b,c=” ; a,b,c例:要想输入一个学生的语、数、外三门课的成绩:输出语句的用途:
①输出常量,变量的值和系统信息。②输出数值计算的结果。PRINT “sum=”;a+b+c问题2:输出语句与输入语句有那些相同和不同之处?知识探究(二):输出语句 (2)用一个PRINT语句可以打印出若干个变量的值。(3)用PRINT语句可以输出表达式的值。如: PRINT 3+5/2说明:PRINT语句具有计算和输出的双重功能,遇到表达式时,它先计算,后输出。思考:若把前三步去掉,则运行后显示的结果是什么呢?知识探究(三):赋值语句 思考1:在算法的程序框图中,处理框是一个常用的程序框,我们用什么图形表示这个程序框?其功能作用如何?赋值、计算. 思考2:在上述求函数值的程序中,第二行中的语句称为赋值语句,其一般格式是:变量=表达式 其基本含义是将表达式所代表的值赋给变量,赋值语句中的“=”叫做赋值号.计算机在执行赋值语句时,先计算“=”右边表达式的值,然后把这个值赋给“=”左边的变量.
据此,执行框 转化为赋值语句可以怎样表述?^思考3:考察给一个变量重复赋值的程序: A=10
A=A+15
PRINT A
END
那么,A的输出值是多少?25基本算法语句三、赋值语句1、一般格式:变量=表达式2、说明:①作用是将表达式所代表的值赋给变量,计算。②赋值语句中的“=”称为赋值号。③赋值语句右边必须是一个数据、常量和算式,
左边必须是变量,不能为表达式。④赋值号左右不能对换。⑤不能用赋值号进行代数式的演算。⑥一个语句只能给一个变量赋值;⑦将一个变量的值赋给另一个变量,前一个变量
的值保持不变;可先后给一个变量赋多个不同的
值,但变量的取值总是最近被赋予的值。数学符号与程序符号的对比例2:编写程序,计算一个学生数学、语文、英语三门课的平均成绩。程序①:INPUT “Maths=”;a
INPUT “Chinese=”;b
INPUT “English=”;c
PRINT “The average=”;(a+b+c) /3
END程序②: INPUT “Maths,Chinese,English”; a,b,c
m=(a+b+c)/3
PRINT “The average=”;m
END 例3 写出“交换两个变量A和B的值,并输出交换前后的值”的程序.INPUT “A,B=”;A,BPRINT A,Bx=AA=BB=xPRINT A,BEND课堂练习:1、编制程序计算两个数的平方和。程序①:INPUT “x=”;x
INPUT “y=”;y
PRINT “x^2+y^2=” ; x^2+y^2
END程序②:INPUT “x=”;x
INPUT “y=”;y
a=x^2+y^2
PRINT “x^2+y^2=” ;a
END2、编制一程序,输入一圆的半径,便能输出该圆的周长和面积。程序:INPUT “r =” ;r
pi=3.14
C=2﹡pi﹡r
S=pi﹡r^2
PRINT “C=” ;C
PRINT “S=”;S
END练习21、判断下列赋值语句是否正确
(1) 4=m (2) x+y=10 (3) A=B=2 (4) N=2*N2、写出下列语句描述的算法的输出结果a=5
b=3
c=(a+b)/2
d=c*c
print da=1
b=2
c=a+b
b=a+c-b
print a,b,ca=10
b=20
c=30
a=b
b=c
c=a
print a,b,c×××√d= 16a=1,b=2,c=3a=20,b=30,c=20(5)INPUT “A,B=”;A,B
B=A+B
A=B-A
B=B-A
PRINT “A,B=”;A,B
END
(运行时从键盘输入3,7)(4)A=-1000
A=A+100
PRINT “A=”;A
END 将一个变量的值赋给另一个变量,前一个变量的值保持不变;可先后给一个变量赋多个不同的值,但变量的取值总是最近被赋予的值 。A=-900A,B =7 33、写出求1+2+3+4+5+6+7+8……+n的一个程序算法input “n=”;n
s=n*(n+1)/2
print s
end4、根据下列程序,画出程序框图input x,y
print x/2,3*y
x=x+1
y=y-1
print x,y
end小结1、输入语句、输出语句和赋值语句的功能与表示方法 2、能够设计程序,并准确运用输入语句、输出语句和赋值语句 3、注意书写的规范性。课件14张PPT。1.2基本算法语句1.2.2条件语句输入语句 输出语句 赋值语句 条件语句 循环语句条件语句IF-THEN格式:
IF 条件 THEN
语句体
END IF
说明:“条件”表示判断的条件,“语句”表示满足条件时执行
的操作内容;条件不满足时,结束程序,END IF表示条件语
句的结束。IF-THEN-ELSE格式:
IF 条件 THEN
语句 1
ELSE
语句 2
END IF
说明:在条件语句的一般格式中,“条件”表示判断的条件;
“语句 1”表示满足条件时执行的操作内容;“语句 2”表示不满足
条件时执行的操作的内容;END IF表示条件语句的结束。
满足条件?语句 1语句 2是否条件语句例1、编写程序,输入一个x的值,要求输出它的绝对值。
课本例5input x
if x>=0 then
print x
else
print -x
end if
end例2、编写程序,输入一个x的值,如果它是正数,则输
出它,否则不输出。参考课本26页思考input x
if x>0 then
print x
end if
end例3编写程序,使得任意输入3个整数按大到小的顺序输出。课本例7算法分析:算法思想:3个数两两比较,确定大小。按a、b、c输入,要按a、b、c输出,关键要找到最大值,将它赋值给a,中值赋给b,最小值赋给c。第一步 输入3个整数a、b、c第二步 将a与b比较,并把小者赋给b,大的赋给a;第三步 将a与c比较,并把小者赋给c,大的赋给a第四步 将b与c比较,并把小者赋给c,大的赋给b第五步 按顺序输出a,b,c开始输入a,b,cb>a?c>a?c>b?输出a,b,c结束t=aa=bb=tt=aa=cc=tc=tb=ct=bYNYNNYINPUT “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
END程序:例4(课本例题6)把下面的程序框图转化为程序。开始①①△≥0?△=0?结束输出p原方程无实
数根NYYN输入a,b,c开始输入a,b,c△≥0?△= 0?结束输出p原方程无
实数根NYYNINPUT a,b,c
d=b*b-4*a*c
IF d>=0 THEN
p=-b/(2*a)
q=SQR (d) /(2*a)
IF d=0 THEN
PRINT “x1= x2=”;p
ELSE
PRINT “x1, x2=”;p-q, p+q
END IF
ELSE
PRINT “No real root!”
END IF
END练习
1.某百货公司为了促销,采用购物打折的优惠办法:每位顾客一次购物
①在1000元以上者,按九五折优惠;
②在2000元以上者,按九折优惠;
③在3000元以上者,按八五折优惠;
④在5000元以上者,按八折优惠。
编写程序求优惠价。条件语句的嵌套
IF 条件1 THEN
语句 1
ELSE
IF 条件2 THEN
语句 2
ELSE
语句3
END IF
END IF
2、某快递公司规定甲、乙两地之间物品的托运费用根据下面的方法计算:物品重量在50千克以内,托运费为每千克 0.53 元,超过的话,超过部分每千克0.85元,试画出计算费用f的程序框图,并写出相应的QBASIC程序。 程序框图:对应的QBASIC程序
INPUT “输入重量G=”;G
IF G<=50 THEN
M=0.53*G
ELSE
M=50*0.53+0.85*(G-50)
END IF
PRINT “运费为:”;M
END
课本29页练习43. 闰年是指能被4整除但不能被100整除,或者能被400整除的年份。编写一个程序,判断输入的年份是否为闰年。
小结1、条件结构的程序表示2、注意书写的规范性IF 条件 THEN
语句1
ELSE
语句2
END IFIF 条件 THEN
语句
END IF课件22张PPT。1.2基本算法语句1.2.3 循环语句输入语句 输出语句 赋值语句 条件语句 循环语句循环结构的定义: 在一些算法中,从某处开始,按照一定条件,反复执行
某一处理步骤的情况,这就是循环结构。
反复执行的处理步骤称为循环体。两种循环结构有什么差别?While(当型)循环Until(直到型)循环两种循环结构有什么差别?先执行循环体,然后再检查条件是否成立,如果不成立就重复执行循环体,直到条件成立退出循环。先判断指定的条件是否为真,若条件为真,执行循环条件,条件为假时退出循环。先执行 后判断先判断 后执行两种循环语句:WHILE 条件
循环体
WEND(1)WHILE语句的一般格式: 当计算机遇到WHILE语句时,先判断条件的真假,如
果条件符合,就执行WHILE与WEND之间的循环体;然
后再检查上述条件,如果条件仍符合,再次执行循环体,
这个过程反复进行,直到某一次条件不符合为止.这时,
计算机将不执行循环体,直接跳到WEND语句后,接着执
行WEND之后的语句.练习:根据1.1.2例6中的程序框图,编写
计算机程序来计算1+2+…+100的值。i=1
sum=0
WHILE i<=100
sum=sum+i
i=i+1
WEND
PRINT sum
END程序:Until(直到型)循环DO
循环体
LOOP UNTIL 条件(2)UNTIL语句的一般格式:思考1:参照直到型循环结构,说说计算机是按怎样
的顺序执行UNTIL语句的? 思考2:用UNTIL语句编写计算机程序,来计算
1+2+…+100的值.思考2:用UNTIL语句编写计算机程序,来计算
1+2+…+100的值.i=1
sum=0
DO
sum=sum+i
i=i+1
LOOP UNTIL i>100
PRINT sum
END结束程序框图:程序:思考3:根据图1.1-2,把程序框图中的内容转化为相应的程序语句。(课本32页练习1) INPUT “n=”;n
i=2
DO
r=n MOD i
i=i+1
LOOP UNTIL i>n-1 OR r=0
IF r=0 THEN
PRINT “n不是质数."
ELSE
PRINT" n是质数."
END IF
END练习1.根据用二分法求方
程x2-2=0的近似根
的程序框图,写出相
应的程序语句。练习结束练习2.编写程序,计算函数f(x)=x2-3x+5当x=1,2,
3,…,20时的函数值。例2:修改21页例1 的程序,连续输入自变量的11个 取值,输出相应的函数值i=1
DO
INPUT “x=”;x
y=x^3+3*x^2-24*x+30
PRINT y
i=i+1
LOOP UNTIL i>11
END程序练习课本32页练习23.编写一个程序,输入正整数n,计算它的
阶乘n!(n!=n*(n-1)*…*3*2*1)t=t*i
i=i+1
i>n
变式训练(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?巩固升华1、设计一个算法框图:逐个输出12,22,32,……,n2,并写出相应的QBASIC程序。INPUT n
i = 0
WHILE i < n
i = i + 1
t = i ^ 2
PRINT t
WEND
ENDINPUT n
i = 0
DO
i = i + 1
t = i ^ 2
PRINT t
LOOP UNTIL i > = n
END2、设计一个算法框图:求满足1+2 + 3 + … + n>10000的最小正整数n,并写出相应的QBASIC程序。i = 0sum = 0DOi = i + 1sum = sum + iLOOP UNTIL sum>10000PRINT iEND3.P33页A组T3.程序INPUT “n=”;ni=1S=0WHILE i<=nS=S+(i+1)/ii=i+1WENDPRINT “S=”;SEND4.P33页B组T2.程序n=1p=1000WHILE n<=7p=p*(1+0.5)n=n+1WENDPRINT pEND5.P33页B组T4.程序INPUT “a=”;aINPUT “n=”;ns=0i=1WHILE i<=nS=S+aa=a+10 * ai=i+1WENDPRINT sEND小 结WHILE 条件
循环体
WENDDO
循环体
LOOP UNTIL 条件作业3.给定这样一个数列: 0,1,1,2,3,5, ……,
后一个数等于前两个数的和。用直到型循环语句编写程序,输出这列数的前50个数。1.用直到型循环语句写出求S=12+32+52+……+992的值的算法的程序2.1×2×3×4×5×……×n<1000,求符合条件的最大自然数n,试写出程序。