1.2.1算法基本语句
温故而知新 1. 什么是算法?什么是程序框图?
2. 算法的基本逻辑结构有哪些? 顺序结构 基本结构 条件结构 当型结构 循环结构 直到型结构
新课 1. 计算机能够"理解"的语言与人的语言有什么区别? 计算机不同于人:人有大脑,可以思考问题,而计算机则不能.用自然语言和程序框图描述的算法,计算机无法识别,必须转化为其能理解的语言,即程序语言。
2、基本的算法语句有哪些?各自对应怎样的算法结构? 输入语句 输出语句 对应顺序结构 基本的算法语句 赋值语句 条件语句 对应条件结构 循环语句 对应循环结构
输入语句,输出语句,赋值语句
数学符号与程序符号的对比 数学符号 程序符号 × * ÷ / a^b ≤ <= ≥ >= ≠ <> |x| ABS(x) SQR(x) 且\或 AND\OR
输入语句 赋值语句 输出语句 END语句表示程序到此结束 例1、用描点法作函数y=x3+3x2-24x+30的图象时,需要求自变量和函数的一组对应值。编写程序,求对应值。 开始 INPUT “x=”;x y=x^3+3*x^2-24*x+30 PRINT x PRINT y END 输入语句 输入x 赋值语句 y=x3+3x2-24x+30 输出语句 输出y END语句表示程序到此结束 结束
一、输入语句 1、一般格式:INPUT “提示内容”;变量 2、功能:对程序中的变量进行赋值 (2)“提示内容”是提示用户输入什么样的信息, 它与后面的“;”可以省略; (3)一个语句可以给多个变量赋值,中间用“,”分隔; (4)用户由键盘输入的数据只能是常量,输入多个数据时用“,”分隔,且个数要与变量的个数相同; (5)无计算功能
例:输入语句 (1)INPUT “x=”;x (2)INPUT x (3)INPUT “x=,y=,z=”;x,y,z (4) INPUT “x,y,z”;x,y,z (5) INPUT “x,y,z=”;x,y,z (6) INPUT x,y,z
二、输出语句 1、一般格式:PRINT “提示内容”;表达式 2、功能:输出表达式的值,计算 3、说明: (2)表达式可以是变量、计算公式、常量或系统信息 (3)一个语句可以输出多个表达式,中间“,”分隔 (4)有计算功能,能直接输出计算公式的结果
例:输出语句 (1)PRINT “s=”;s (2)PRINT y,z (3)PRINT “y=”;(a+b+c)/3 (4)PRINT “结果:” 3+4+5 (5)PRINT “No real root”
三、赋值语句 例如:“x=5”的意思是将数值5赋给变量x. 1、一般格式:变量=表达式 2、功能:对程序中的变量进行赋值 3、说明: (1)赋值语句的作用是将表达式所代表的值赋给变量。它实质上是先将赋值号“=”右边表达式的值计算出来,然后把该值赋给“=”左边的变量,使该变量的值等于表达式的值。 例如:“x=5”的意思是将数值5赋给变量x.
(2)赋值语句中的“=”称作赋值号,而不是“等号”,两者意义不同。 例1:a=b,表示将b的值赋给a,而不是说a和b相等 (2)赋值语句中的“=”称作赋值号,而不是“等号”,两者意义不同。 例1:a=b,表示将b的值赋给a,而不是说a和b相等!例2:在数学式子中a=a+1一般是错误的,但在赋值语句中a=a+1是有意义的,其功能是将a的值加1在赋给a,原来a的值将被“冲掉”。 (3)赋值号的左右两边不能对换,赋值语句是将赋值号右边表达式的值赋给赋值号左边的变量, 例如:a=b表示用b的值代替变量a原来的值,不能写为b=a,因为b=a表示用a的值代替变量b的值.
(4)赋值语句左边只能是变量名字,而不是表达式。例如:x=5是对的,5=x是错误的;a+b=c也是错误的,而c=a+b是正确的。 (5)格式中右边“表达式”可以是一个常数、含有其他变量的表达式或含有变量自身的表达式. 例如:如A=3,a=b2+c,i=i+2等. (6)不能利用赋值语句进行代数式的演算(如化简、因式分解等)。 例如:y=x2-1=(x+1)(x-1)这是不能实现的,在赋值语句中赋值号右边的表达式中的每一个“变量”都必须事先赋给确定的值。
(7)在同一个赋值语句中只能给一个变量赋值,不能出现两个或多个“= ”。 例如:a=b=5是错误的。 (8)对于一个变量可以多次赋值.每次赋值将 “原值”冲掉,留下“新值”. 例1:a=5,a=7,a=9,则执行时a的值是9; 例2:A=5,B=A,C=A,最后执行时C的值仍然是5。
分析:此程序给变量A赋了两次值.A的初值为10,第二次赋值后,初值被“覆盖”,A的值变为25,因此输出值是25. 给一个变量重复赋值。 程序: A的输出值是多少? A=10 A=A+15 PRINT A END 分析:此程序给变量A赋了两次值.A的初值为10,第二次赋值后,初值被“覆盖”,A的值变为25,因此输出值是25.
练习. 1 判断下列赋值语句正确的是: A.4=M; B. M= -M; C.B=A=3; D. x+y=0. B
2 指出下列语句的错误,并改正: (1)PRINT A+B= ; C (2)INPUT “How old are you ” x (3)INPUT , x (4)INPUT x=2
3、完成以下表格 语句 一般格式 主要功能 是否有计算功能 输入语句 输出语句 赋值语句 可对程序中的变量赋值 INPUT “提示内容”;变量 无 可输出表达式的值,计算 PRINT “提示内容”;变量 有 可对程序中的变量赋值,计算 变量=表达式 有
例2、编写程序,计算一个学生数学、 语文、英语三门课的平均成绩。 INPUT “a,b,c”;a,b,c y=(a+b+c)/3 开始 输入a、b、c INPUT “a,b,c”;a,b,c y=(a+b+c)/3 PRINT “y=”;y END y=(a+b+c)/3 输出y 结束
例2、编写程序,计算一个学生数学、 语文、英语三门课的平均成绩。 INPUT “a,b,c”;a,b,c 开始 输入a、b、c INPUT “a,b,c”;a,b,c PRINT “y=”;(a+b+c)/3 END y=(a+b+c)/3 输出y 结束
PRINT “The average=“;(a+b+c)/3 END 开始 例2、编写程序,计算一个学生数学、 语文、英语三门课的平均成绩。 输入a、b、c INPUT “Maths=“;a INPUT “Chinese=“;b INPUT “English=“;c PRINT “The average=“;(a+b+c)/3 END y=(a+b+c)/3 输出y 结束
交换两个变量A和B的值,并输出交换前后的值。 分析:引入一个中间变量X,将A的值赋予X,又将B 的值赋予A,再将X的值赋予B,从而达到交换A, B的值.(比如交换装满水的两个水桶里的水需要 再找一个空桶) 程序: INPUT A INPUT B PRINT A,B X=A A=B B=X END
(2) INPUT A ,B PRINT A ,B x=A A=B B=x END (运行时从键盘输入3,7) (1) A=-1000 分析下面程序执行的结果 (2) INPUT A ,B PRINT A ,B x=A A=B B=x END (运行时从键盘输入3,7) (1) A=-1000 A=A+100 PRINT “A=”;A END A=-900 A,B = 7 , 3
(3) INPUT “A,B=”;A,B B=A+B A=B-A B=B-A PRINT “A,B=”;A,B END (运行时从键盘输入3,7) A,B =7 3 将一个变量的值赋给另一个变量,前一个变量的值保持不变;可先后给一个变量赋多个不同的值,但变量的取值总是最近被赋予的值 。
小结 1、输入语句、输出语句和赋值语句的功能与格式 2、能够设计程序,并准确运用输入语句、输出语句和赋值语句 3、注意书写的规范性。
练习 D C 1、当x的值为5时,“PRINT “x =” ; x”在屏幕上输出的结果为( ) A. 5=5 B.5 C.5=x D. x=5 2、将 表示成算法语句是 D C
练习 1,2,3 3、写出下列语句描述的算法的输出结果 (2)a=1 b=2 c=a+b b=a+c-b PRINT a,b,c d=c*c PRINT d 1,2,3 16 20,30,20
练习 20,20 20,10 10,10 30,30 4、若a=10, b=20,x=30,则下列语句执行后输出的 结果是什么? (2) x=b b=a a=x PRINT a,b (1) a=b b=a PRINT a,b 20,20 20,10 (3) b=a a=b PRINT a,b (4)a=x x=b b=a PRINT a,b 10,10 30,30
三、课后练习1: p.24练习第一题程序 程序: INPUT “F=“;F C=(F-32)*5/9 PRINT “C=“;C END 返回
三、课后练习2: p.24练习第二题程序 程序: INPUT “a=,b=“;a,b sum=a+b diff=a-b mul=a*b div=a/b PRINT sum,diff,mul,div END 返回
三、课后练习3: p.24练习第三题程序 程序: p=(2+3+4)/2 s=SQR(p*(p-2)*(p-3)*(p-4)) PRINT “s=“;s END 返回