基本算法语句 - 范文中心

基本算法语句

08/10

基本算法语句

教学目标:

通过伪代码学习基本的算法语句,更好地了解算法思想. 教学重点:

如何进行算法分析. 教学难点:

如何进行算法分析. 教学过程: Ⅰ. 课题导入

算法基本语句包括赋值语句、输入输出语句、条件语句、循环语句. 伪代码

问题:已知某学生一次考试中语文、数学和英语学科的得分分别为85,90,95,试设计适当的算法求出这名学生三科的总分和平均分.

解:sum ←0 C ←85 M ←90 E ←95

sum ←C +M +E

A ←sum /3 Print sum,A end

Ⅱ. 讲授新课

例1:设计一个解二元一次方程组的通同算法. 设二元一次方程组为

⎧a 1x +b 1y =c 1⎨ (a 1b 2-a 2b 1≠0) ⎩a 2x +b 2y =c 2

用消元法解得

b c -b c

⎧x a

b -a b

⎨a c -a c ⎩y a b -a b

21

12

122112

21

用伪代码表示为 用伪代码表示为 Read a 1,b 1,c 1,a 2,b 2,c 2 x ← y ←

b 2c 1-b 1c 2

a 1b 2-a 2b 1a 1c 2-a 2c 1

a 1b 2-a 2b 1

Print x ,y

例2:已知三角形的三边,试用流程图和伪代码表示求这个三角形的周长的算法. 解:流程图 伪代码

Read a ,b ,c M ← a +b +c Print M

例3:已知一匀变速运动的物体的初速度、末速度和加速度分别为V 1,V 2,a ,求物体运动的距离s . 试编写求解这个问题的一个算法的流程图,并用伪代码表示这个算法.

V -V 解:由题意可知,V 2=V 1+a t,故运动时间t =

a V 22-V 1212

所以,物体运动的距离s =V 1 t+ a t= .

22a

据此,可设计算法如下: 将此算法程序用伪代码表示为:

Read V 1,V 2,a V 22-V 12

s ←

2a

Print s End

例4:写出下列用伪代码描述的算法执行后的结果. (1)算法开始 a ←2; a ←4; a ←a +a ; 输出a 的值; 算法结束 执行结果:( ) 答案:8

(2)算法开始 n ←10; i ←2; sum ←0; while (i ≤n ) sum ←sum+i ; i ←i +2;

输出sum 的值; 算法结束 执行结果:( ) 答案:30 点评:本题主要考查学生对基本算法语句的灵活准确应用和自然语言与符号语言的转化,让学生理解用伪代码表示的算法. Ⅲ. 课堂练习

课本P 17 1,2,3. Ⅳ. 课时小结

Read 是输入语句的一种,输入数据还有其它方式;输入语句与赋值语句不同,赋值语句可以将一个代数表达式的赋于一个变量,而输入语句只能读入具体的数据. Ⅴ. 课后作业

课本P 24 1,2.

基本算法语句(二)

教学目标:

使学生能结合选择结构的流程图学习条件语句,能用条件语句编写程序. 教学重点:

如何在伪代码中运用条件语句. 教学难点:

如何在伪代码中运用条件语句. 教学过程: Ⅰ. 课题导入

某百货公司为了促销,采用购物打折的优惠办法:每位顾客一次购物 (1)在1000元以上者,按九五折优惠. (2)在2000元以上者,按九折优惠. (3)在3000元以上者,按八五折优惠. (4)在5000元以上者,按八折优惠. 编写程序求优惠价.

解析:设购物款数为x 元,优惠价为y 元,则优惠付款公式为

⎧x (x

⎪0. 95x (1000≤x

y =⎨0. 9x (2000≤x

用条件语句表示为: Read x

If x

If x

If x

If x

点评:在准确理解算法的基础上,学会条件语句的使用. Ⅱ. 讲授新课

例1:写出下面流程图所表述的算法的功能并用伪代码表示.

答案:解:输出两个不同的数中小的一个数. 用伪代码表示为 Begin Read a ,b If a >b then Print b Else Print a End if End

例2:某市电力公司为了鼓励居民用电,采用分段计费的方法计算电费:每月用电不超过100度时,按每度0.57元计算;每月用电超过100度时,其中的100度仍按原标准收费,超过部分每度按0.50元计算. 问:如何设计一个计算应交电费的算法?

答案:解:设月用电x 度时,应交电费y 元,当x ≤100和x >100时,写出y 关于x 的函数关系式为

0

y =⎨

57+0. 5(x -100) x >100. ⎩

所以,计算应交电费的算法可以用伪代码表示为 Begin Read x

If x ≤100 then y ←0.57x Else

y ←57+0.5(x -100) End if Print y End

例3:试用条件语句描述计算应纳税所得额的算法过程,其算法如下: S1 输入工资x (x ≤5000); S2 如果x ≤800,那么y =0;

如果800<x ≤1300,那么y =0.05(x -800); 如果1300<x ≤2800,

那么y =25+0.1(x -1300), 否则y =175+0.15(x -2800); S3 输出税收y ,结束.

答案:解:这个算法用条件语句描述为 Begin Read x

If x ≤800 then y ←0

Else if 800

Else if 1300

y ←175+0.15(x -2800) End if Print y End

例4:在水果产地批发水果,100 kg为批发起点,每100 kg 40元;100 kg至1000 kg 8折优惠;1000 kg至5000 kg,超过1000 kg部分7折优惠;5000 kg至10000 kg,超过5000 kg的部分6折优惠;超过10000 kg,超过部分5折优惠. 请写出销售金额y 与销售量x 之间的函数关系,并用伪代码表示计算销售金额的算法.

⎧0. 32x 100

答案:y =⎨

0. 24x +240 500010000.

这个算法用条件语句描述为

Begin Read x

If 100

Else if 1000

Else if 5000

y ←0.2x +640 End if Print y End Ⅲ. 课堂练习

课本P 20 1,2,3. Ⅳ. 课时小结

算法中的选择结构可以用条件语句实现. if 选择结构: if/else选择结构:

Ⅴ. 课后作业

课本P 24 3,4.

基本算法语句(三)

教学目标:

使学生能结合选择结构的流程图学习条件语句,能用条件语句编写程序. 教学重点:

如何在伪代码中运用条件语句. 教学难点:

如何在伪代码中运用条件语句. 教学过程: Ⅰ. 课题导入

写出计算1+2+3+4+„+100之和的伪代码. 答案:解:此问题可以用循环语句表示为 S ←1

For I from 2 to 100 S ←S +I End For Print S Ⅱ. 讲授新课

例1:依次将十个数输入,要求将其中最大的数打印出来. 试用流程图和伪代码表示问题的算法. 用伪代码设计算法如下: Begin Read X max ←X

For I from 2 to 10 Read X

If X >max then max ←X End if End for Print max End

流程图:

例2:已知S =5+10+15+„+1500,请用流程图描述求S 的算法并用伪代码表示. 解析:流程图如下图所示:

从流程图可以看出这是一个循环结构,我们可以运用循环语句来实现. Begin S ←5

For I from 10 to 1500 step 5 S ←S +I End For Print S End

点评:在准确理解算法的基础上,学会循环语句的使用. 循环语句包括for 循环、While 循环和Until 循环. 解题时要根据需要灵活运用.

循环语句包括if „then ,if „then „else ,并且if „then „else 可以嵌套,解题时要根据需要灵活运用. 例3:伪代码算法填空.

有一列数:1,1,2,3,5,8,13,21,„. 这列数有个特点,前两个数都是1,从第3个数开始,每个数都是前两个数的和,例如:3是1和2的和;13是5和8的和等等,这样的一列数一般称为斐波那契数.

下列伪代码所描述的算法功能是输出前10个斐波那契数,请把这个算法填写完整. a ←1; b ←1;

输出a ,b ; n ←2;

while n

答案:①a ←b ②b ←c 例4:求1-

11111

+-+„+-的值. 234910

算法分析:第一步是选择一个变量S 表示和,并赋给初值0,再选一个变量H ,并赋给初值0;

第二步开始进入for 循环语句,首先设i 为循环变量,并设初值、步长、终值; 第三步为循环表达式(循环体);

第四步用“end for”控制一次循环,开始一次新的循环. 伪代码如下: S ←0 H ←0

For i from 1 to 10 H ←(-1)i +1/i S ←S +H End for Print S

例5:小明第一天背一个单词,第二天背两个单词,以后每一天比前一天多背一个单词,问他前十天共背了多少个单词? 解:第一步是选择一个变量S 表示和,并赋给初值0,

第二步开始进入for 循环语句,首先设i 为循环变量,并设初值、步长、终值; 第三步为循环表达式(循环体);

第四步用“end for”控制一次循环,开始一次新的循环. 伪代码如下: S ←0

For i from 1 to 10 S ←S +i End for Print S

例6:求平方值小于2000的最大整数. 解:伪代码: j ←1

While j 2

例7:用伪代码描述求解S =1×2×3ׄ×(n -1)×n 的算法. 解:此问题可以用循环语句表示为 Begin Read n S ←1

For I from 1 to n S ←S ×I End for Print S End

例8:输入一个正整数n ,并计算S =11×22×33ׄ×n n 的值. 解:第一步是选择一个变量n ,并要求输入初值; 第二步是选择一个变量S 表示和,并赋给初值0;

第三步开始进入for 循环语句,首先设i 为循环变量,并设初值、步长、终值; 第四步为循环表达式(循环体);

第五步用“end ”控制一次循环,开始一次新的循环. 伪代码如下: Read n S ←0

For i from 1 to n S ←S ×i i

End for Print S End

例9:某城市现有人口总数为100万人,如果年自然增长率为1.2%,试解答下面的问题: (1)写出该城市人口数y (万人)与年份x (年)的函数关系式; (2)用伪代码写出计算10年以后该城市人口总数的算法;

(3)用伪代码写出计算大约多少年以后该城市人口将达到120万人. 答案:(1)y =100×(1+0.012)x .

(2)10年后该城市人口总数为y =100×(1+0.012)10. 算法如下: Begin y ←100 t ←1.012

For I from 1 to 10 y ←y ×t End for Print y End

(3)设x 年后该城市人口将达到120万人,即100×(1+0.012)x =120. 算法如下: Begin S ←100 I ←1.012 T ←0

While S

课本P 23 1,2,3,4. Ⅳ. 课时小结

算法中的循环结构可以用循环语句实现. 正确理解两种循环语句:for 循环、当型循环和直到型循环. 当型循环:while (条件表达式)循环体语句;

直到型循环:do 循环体语句while (条件表达式);

for 循环:for (表达式1;表达式2;表达式3)循环体语句;

Ⅴ. 课后作业

课本P 24 5,6.


相关内容

  • 上好"算法初步"
    摘 要:算法初步这一章是新课程改革以后,在高中新增加的一章,是数学及其应用的重要组成部分,是计算科学的重要基础,算法的应用是学习数学的一个重要方面,在教学时应当充分使用教科书提供的典型实例,让学生在解决具体问题的过程中学习一些基本逻辑结构和 ...
  • 时间复杂度的计算
    时间复杂度的计算 学习数据结构时,觉得时间复杂度计算很复杂,怎么也看不懂,差不多三年之后,还是不懂,马上就要找工作了,赶紧恶补一下吧: 首先了解一下几个概念.一个是时间复杂度,一个是渐近时间复杂度.前者是某个算法的时间耗费,它是该算法所求解 ...
  • 模糊控制器的工作原理辅导
    模糊控制器的工作原理辅导 模糊控制是模仿人的思维方式和人的控制经验来实现的一种控制.把模糊集合的理论应用于控制就可以把人的经验形式化,在控制过程中实现模糊推理与决策. 一.模糊控制系统的组成 在工程实践中,操作人员的控制策略是用自然语言表达 ...
  • 算法设计课程习题答案
    算法设计课程习题答案 第一章 1-1什么是算法?它与计算过程和程序有什么区别? 算法是指求解一个问题所需要的具体步骤和方法.它是指令的有限序列.算法有一系列明确定义的基本指令序列所描述的,求解特定问题的过程,它能够对合法的输入,在有限时间内 ...
  • 信息技术会考知识点
    题目是万变的,但知识点就这么点 上册: 信息的一般特征: ①载体依附性 ② 价值相对性 ③时效性 ④共享性⑤真伪性⑥可处理性.⑦传递性: 五次信息技术革命: ①语言的使用 ②文字的创造,信息的存储和传递首次超越了时间和地域的局限 ③印刷术的 ...
  • 第8课时-§1.3算法案例--辗转相除法与更相减损术
    课题:§1.3算法案例--辗转相除法与更相减损术 教学目标: 知识与能力:理解辗转相除法与更相减损术中蕴含的数学原理,并能根据这些原理进行算法分析:基本能根据算法语句与程序框图的知识设计完整的程序框图并写出算法程序. 过程与方法:在辗转相除 ...
  • [程序设计基础]实验指导书
    实验1 C的实验环境和C语言的数据类型 ⒈ 实验目的 ⑴ 了解在具体的语言环境下如何编辑.编译.连接和运行一个C程序. ⑵ 通过运行简单的C程序,初步了解C源程序的特点. ⑶ 掌握C语言数据类型,熟悉如何定义一个整型.字符型和实型的变量,以 ...
  • 信息学奥林匹克竞赛教程
    第一课初识Pascal语言 信息学奥林匹克竞赛是一项益智性的竞赛活动,核心是考查选手的智力和使用计算机解题的能力.选手首先应针对竞赛中题目的要求构建数学模型,进而构造出计算机可以接受的算法,之后要写出高级语言程序,上机调试通过.程序设计是信 ...
  • 数据库原理实验指导书(Mysql)
    数据库原理实验指导书 实验项目列表 实验一:数据库的定义实验 一.实验目的: 1.理解MySQL Server 6.0 服务器的安装过程和方法: 2.要求学生熟练掌握和使用SQL .T-SQL .SQL Server Enterpriser ...
  • 东南大学数据结构 93-20**年
    东南大学93考研题 注意事项 : (1) 答卷上需写清题号,不必抄题 (2) 描述可用你熟悉的一种类高级语言,如类Pascal ,所用主要数据结构及变量的意义须加以注释.必要时算法中应加注释 . 一.回答下列问题 : (共 35分) l 与 ...