220 likes | 342 Views
算法初步. § 1.2.1 算法基本语句 — 输入语句、输出语句、赋值语句. 温故而知新. 1. 什么是算法?什么是程序框图?. 算法通常指可以用计算机来解决的某一类问题的程序或步骤,这些程序或步骤必须是明确的和有效的,而且能够在有限步之内完成。 程序框图是一中用规定的图形、指向线及文字说明来准确、直观的表示算法的图形。. 2. 算法的基本逻辑结构有哪些?. 算法的基本结构有三种:顺序结构、条件结构、循环结构,其中循环结构又分为当型结构和直到型结构两种。. 请同学们阅读 P21 前三段并理解下面问题:.
E N D
算法初步 §1.2.1算法基本语句 —输入语句、输出语句、赋值语句
温故而知新 1. 什么是算法?什么是程序框图? 算法通常指可以用计算机来解决的某一类问题的程序或步骤,这些程序或步骤必须是明确的和有效的,而且能够在有限步之内完成。 程序框图是一中用规定的图形、指向线及文字说明来准确、直观的表示算法的图形。 2. 算法的基本逻辑结构有哪些? 算法的基本结构有三种:顺序结构、条件结构、循环结构,其中循环结构又分为当型结构和直到型结构两种。
请同学们阅读P21前三段并理解下面问题: 3. 计算机能够"理解"的语言与人的语言有什么区别? 计算机不同于人:人有大脑,可以思考问题,而计算机则不能.用自然语言和程序框图描述的算法,计算机无法识别,必须转化为其能理解的语言,即程序语言。 4、基本的算法语句有哪些?各自对应怎样的算法结构? 基本的算法语句有五种:输入语句、输出语句、赋值语句、条件语句、循环语句;输入语句、输出语句、赋值语句基本上是对应顺序结构,条件语句对应条件结构、循环语句对应循环结构。
程序设计语言有多种,目前较为通用的有BASIC,C 等等 由于BASIC语言具有简单、易学的特点,我们使用了 类似BASIC的语句形式和语法规则来介绍算法语句。 可对程序中的变量赋值 无 INPUT “提示文字”;变量 可输出表达式的值,计算 PRINT “提示内容”;变量 有 可对程序中的变量赋值,计算 变量=表达式 有
(1)BASIC语言中的运算符号: +,-,*,/,^ (2) BASIC语言中的逻辑运算符号: >, >=, < ,<= ,< > , AND, OR ,NOT (3)BASIC语言中的函数符号: SQR(x)= 例:输入语句 INPUT “x=”;x 或INPUT x 或INPUT “x,y = ”;x,y 例:输出语句 PRINT “s=”;s 或PRINT y 或PRINT “y=”; (a+b+c)/3
赋值语句 作用: 用来实现把右边表达式所表示的值赋给左边的变量。 格式: 变量=表达式 例4:交换两个变量A和B的值,并输出交换前后的值。 P24页例3:给一个变量重复赋值 INPUT A,B PRINT A,B x=A A=B B=x PRINT A,B END A=10 A=A+15 PRINT A END
例1、用描点法作函数y=x^3+3x^2-24x+30的图象时,需要求自变量和函数的一组对应值。编写程序,求对应值。例1、用描点法作函数y=x^3+3x^2-24x+30的图象时,需要求自变量和函数的一组对应值。编写程序,求对应值。 开始 INPUT “x=”;x y=x^3+3*x^2-24*x+30 PRINT x PRINT y END 输入x y=x^3+3*x^2-24*x+30 输出y 结束
开始 输入语文a 输入数学b 输入英语c 总分s=a+b+c 平均p=s/3 输出总分s 输出平均分p 结束 例2 编写程序,计算一个学生语文、数学、英语三门课程的总成绩和平均成绩,并输出。 程序: INPUT “yuwen=”;a INPUT “shuxue=”;b INPUT “yingyu=”;c s=a+b+c p=s/3 PRINT “zongfen=”;s PRINT “pingjunfen=”;p END INPUT “Maths ,Chinese ,English,=“ a,b,c PRINT “The average=“;(a+b+c)/3 END
例3 若三角形的三边分别是a,b,c,借助三角型面积公式(海伦-秦九韶公式) 编写一个求三角形面积的程序。 程序: INPUT “a,b,c=”;a,b,c p=(a+b+c)/2 S=SQR(p*(p-a)*(p-b)*(p-c)) PRINT “三角形面积S=”;S END
练习巩固 分析下面程序执行的结果 (2) (1) INPUT “A,B=”;A,B B=A+B A=B-A B=B-A PRINT “A,B=”;A,B END (运行时从键盘输入3,7) A=-1000 A=A+100 PRINT “A=”;A END A=-900 A,B =7 3 将一个变量的值赋给另一个变量,前一个变量的值保持不变;可先后给一个变量赋多个不同的值,但变量的取值总是最近被赋予的值 。
例4、某工种是计件算工资的,每月工资=每月完成的数量(件)×每件工资,再从总工资中扣除5%交纳各种费用,其余为实发工资。试编写一程序,通过输入每件工资和完成数量,输出实发工资。例4、某工种是计件算工资的,每月工资=每月完成的数量(件)×每件工资,再从总工资中扣除5%交纳各种费用,其余为实发工资。试编写一程序,通过输入每件工资和完成数量,输出实发工资。 INPUT “每件工资=”;A INPUT “完成数量=”;B M=(A*B)*(1-0.05) PRINT “实发工资=”;M END
P24页课后练习: 2程序: INPUT “a=,b=”;a,b sum=a+b diff=a-b mul=a*b div=a/b PRINT sum,diff,mul,div END 1程序: INPUT “F=”;F C=(F-32)*5/9 PRINT “C=”;C END 返回
3、程序: INPUT“a,b,c =”;a,b,c p=(a+b+c)/2 s=SQR(p*(p-a)*(p-b)*(p-c)) PRINT “s=“;s END 4、程序: INPUT“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.2.2算法基本语句 ———条件语句
新课讲解 条件结构用怎样的程序语句来描述?这种语句的一般格式是怎样的? IF条件 THEN 语句1 ELSE 语句2 END IF IF条件 THEN 语句 END IF 否 满足条件? 否 满足条件? 是 语句 语句1 语句2 是
例1、编写一个程序,求实数x的绝对值 INPUT “X=”;X IF X>=0 THEN PRINT X ELSE PRINT -X END IF END
程序框图: 开 始 例2 编写程序,输入一元二次方程 输入a,b,c 的系数,输出它的实数根。 Δ=b2-4ac 自然语言描述: p= -b/2a 每一步:输入a,b,c q=SQR(Δ)/(2a) 第二步:计算判别式△ 否 Δ≥0? 第三步:如果△<0有两不同实根, △=0有两个相同实根, △<0否则没实数根。根据情况输出结果。 是 x1=p+q x2=p-q 是 原方程无实数根 x1=x2? 否 原方程有两个相等 的实数根x1,x2 原方程有两个不等 的实数根x1,x2 结 束
BASIC程序: INPUT “Please input a,b,c=:”;a,b,c d = b * b –4 * a * c p = – b / (2 * a) q = SQR(d) / (2 * a) IF d >= 0 THEN x1 = p + q x2 = p – q IF x1 = x2 THEN PRINT “One real root:”;x1 ELSE PRINT “Two real roots:xl”;x1,”and x2”; x2 END IF ELSE PRINT “No real rool.” END IF END
例3 编写程序,使得任意输入3个整数按大到小的顺序输出。 算法分析: 算法思想: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
对应的流程图: 相应的BASIC程序: 开始 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 END 输入a,b,c b>a? 是 否 t=a,a=b,b=t 是 c>a? t=a,a=c,c=t 否 c>b? 是 t=b,b=c,c=t 否 输入a,b,c 结束
否 满足条件? 满足条件? 是 语句 语句1 语句2 小结 条件结构的程序表示 IF条件 THEN 语句1 ELSE 语句2 END IF IF条件 THEN 语句 END IF 2、注意书写的规范性
第4期作业 P23练习1,2,3,4 P29练习1,4