苏科版(2018)八年级全册信息技术 4.2算法 课件(22ppt)

文档属性

名称 苏科版(2018)八年级全册信息技术 4.2算法 课件(22ppt)
格式 ppt
文件大小 682.5KB
资源类型 教案
版本资源 苏科版
科目 信息技术(信息科技)
更新时间 2020-12-11 12:04:33

图片预览

文档简介

想一想,有什么办法可以解决这个问题
如何在屏幕上显示这样的图案?
可以用顺序语句和循环语句两种方法来解决问题
(1)设置两个循环变量i 和 j,i 控制行号的循环,i=1 to 6,j 控制每行输出的“*”个数循环,j=1 to i。
(2)设计内外两个循环,外循环每执行一次行号加1,内循环每执行 一次循环,在屏幕上打印“*“个数等于行号
(3)循环执行6次结束
(1)在第屏幕第一行打印"*";
(2)在第屏幕第二行打印"* *";
(3)在第屏幕第三行打印 "* * *";
(4)在第屏幕第四行打印 "* * * *";
(5)在第屏幕第五行打印"* * * * *";
(6)在第屏幕第六行打印 "* * * * * *";
在程序设计中,解决问题的方法和步骤,就叫作算法。
什么是算法?
用计算机编程解决问题时,首先确定解决问题的思路和方法,并写出正确的求解步骤,这就是所谓的算法。简单的说,算法就是解决问题的方法和步骤。
问题:猎人带着一只狼,一头羊和一些白菜过河,但渡船太小,一次只能带一样。因为狼要吃羊,羊要吃白菜,所以狼和羊,羊和白菜不能在无人监管的情况下相处。猎人不知道如何渡河。有人对猎人说:只要按照他所写的一组指令去做,就能顺利过河。
第1步:把羊带到对岸;
第2步:返回;
第6步:返回;
第4步:返回时把羊带原岸;
第5步:把菜带对岸;
第3步:把狼带对岸;
第7步:把羊带对岸;
算法
问题:猎人带着一只狼,一头羊和一些白菜过河,但渡船太小,一次只能带一样。因为狼要吃羊,羊要吃白菜,所以狼和羊,羊和白菜不能在无人监管的情况下相处。猎人不知道如何渡河。有人对猎人说:只要按照他所写的一组指令去做,就能顺利过河。
第1步:把羊带到对岸;
第2步:返回;
第6步:返回;
第4步:返回时把羊带原岸;
第5步:把菜带对岸;
第3步:把狼带对岸;
第7步:把羊带对岸;
算法
发电子邮件的方法很多,下面是其中的一种操作步骤:
假如你的朋友不会发电子邮件,你怎么教会他?
第1步:登录电子信箱;
第2步:点击“写信”;
第6步:点击“发送”;
第4步:输入主题;
第5步:输入信件内容;
第3步:输入收件人邮箱地址;
算法
任意给定一个正实数,设计一个算法求以这个数为半径的圆的面积.
第一步:给定一个正实数r;
第二步:计算以r为半径的圆的面积S=π*r*r;
第三步:得到圆的面积S.
算法
如果你是一个程序员,你采取哪种方法进行编程?为什么?
如何在屏幕上显示这样的图案?
Private Sub Form_Click()
Dim i , j As Integer
For i = 1 To 6
For j = 1 To i
Print "*";
Next j
Print
Next i
End Sub
Private Sub Form_Click()
Print "*";
Print "* *";
Print "* * *";
Print "* * * *";
Print "* * * * *";
Print "* * * * * *";
End Sub
如是要是打印100行、1000行呢?
评价算法的优劣
同样解决一个问题,可以有不同的算法,但是不同的算法解决问题的效果和效率却可能大不相同。
算法的优劣直接影响所编程序的质量。
一个好的算法应该是有穷的、可读的、确定的以及消耗电脑内存空间小。
举例
问题:编写一个包含有1000位同学的姓名与电话号码的通信录程序,当输入某同学的姓名时,程序立刻显示出该同学的电话号码
算法一:
(1)检索通信录第1行,判断是否与该同学的信息相符
(2)如果相符,则显示该同学的电话号码,并结束程序;如果不相符,则检索下一行,继续进行判断……?
算法二:
(1)对通信录以姓名为关键字进行升序排序
(2)从通信录表的中点位置开始检索,判断是否与该同学的信息相符。如果相符,则显示该同学的电话号码,并结束程序。若信息不相符,则表的中点位置的同学姓名要比所找同学姓名”大“,则放弃中点位置的后半部分,返回到前半部分的中点位置继续进行检索;若表的中点位置的同学姓名要比所找同学姓名”小“,刚放弃中点位置的前半部分,返回到后半部分的中点位置继续检索……
?
自主探究任务
(1)阅读文字材料,谈谈算法的作用。
(2)选择一个你感兴趣的算法故事了解,并和全班同学作简单介绍。
解决问题的一般思路
几年前,细菌传染在一所医院爆发,医生和临床工作者想知道,这种传染如何在患者群体中进行的,于是他们采集了遗传和生理数据,将数据同问题描述一起传给到计算者,然后这些计算研究者采用算法思维,正式定义这个问题,解决它,写出代码,分析数据,将结果的传染情形提供给医生和临床工作者。
程序设计解决问题的一般思路 ?:分析问题—设计算法—实现算法(分析算法的优劣 )—根据最优算法编程—解决问题
同学们在今后利用程序解决问题时要形成这种算法思维,多学习和研究算法,更快更巧妙得解决问题!
举例:如何编写程序解决“在屏幕上显示图案问题”
分析问题
1
设计算法
2
评价算法优劣
3
根据算法进行编程
4
解决问题
5
小结
算法是程序的灵魂
为解决问题提供思路和方法
算法的优劣影响编程的质量
程序设计解决问题的一般思路:
分析问题
设计算法
评价算法的优劣
根据算法选择编辑语言进行编程
解决问题
请用VB语言将下面一句赋值语句表示出来:
“将a加b除以a减b的值赋给x变量”句子
用VB语言将下面流程图中的赋值过程表示出来:
开始
c=a+b
c=c/a
c=c-b
x=c
结束
算法的描述
自然语言
流程图
比较
总结:我们要根据实际情况来选择使用自然语言或流程图描述算法。比如,当用自然语言描述算法容易让人产生歧义时,就要换一种方式进行描述。
描述方式
优点
缺点
自然语言
描述简单、容易理解
有时会产生歧义
流程图
逻辑清晰、直观明了
描绘麻烦
图形符号
名称
功能
终端框
(起止框)
输入、输出框
处理框
(执行框)
判断框
表示一个算法的起始和结束
表示一个算法输入和输出的信息
赋值、计算
判断某一条件是否成立,成立时在出口处标明“是”或“Y”,不成立时标明“否”或“N”.
构成流程图的图形符号及其功能
流程线
连接程序框
连结点
连接程序框图的两部分
算法步骤为:
第一步,输入圆的半径 r .
第二步,计算
第三步,输出s.
流程图
结束
开始
输入r
输出s
计算
任意给定一个正实数,设计一个算法求以这个数为半径的圆的面积,并画出程序框图表示.
例:判断“整数n (n>2)是否是质数”的算法
算法步骤:
流程图:
第1步,给定大于2的整数n.
第2步,令i=2.
第3步,用i除n,得到余数r.
第4步,判断“r=0”是否成立.若是,则n不是质数,结束算法;否则将i的值增加1,仍用i表示.
第5步,判断“i>(n-1)”是否成立.若是,则n是质数,结束算法;否则返回第三步.
开始
输入n
求n除以i的余数
i的值增加1,仍用i表示
i>n-1或r=0?
r=0?
n不是质数
n是质数
结束




i=2
自学任务
自学流程图的符号及功能,掌握利用流程图描述算法,完成学习任务
问题:从键盘中输入两个不同的数,然后显示最大的数,请设计算法,画出流程图,并用VB 编写程序,体验通过程序设计解决问题的完整过程。
任务提示:综制流程图时要求新建一个word文档或PPT文档,写出算法步骤,利用其中的画图工具画出流程图,文件命名”学号+姓名.doc/.ppt“,所有VB程序文件放在一个文件夹中压缩成一个包”学号+姓名.rar“
课堂小结
算法的概念及在程序设计中的重要性
算法——解决问题的方法和步骤,是程序的灵魂
程序设计解决问题的一般思路
分析问题—设计算法—分析算法的优劣—根据最优算法编程—解决问题
算法的描述方法
自然语言和流程图