课件36张PPT。计算机解决问题的过程用计算机解决问题的优势存储量大
运算速度快
精度高
可按人设定的程序重复执行。80G
=80X1024MB
=80X1024X1024KB
=80X1024X1024X1024B
≈80X109B
(相当于存储40忆个汉字的容量,一本书的容量40万字,相当于10万本书,一个前黄高中图书馆的容量)Pentium II的水平,大约相当于每秒钟运行4千万条指令 。计算圆周率:
人工计算的最高纪录808 位(1948) ENIAC 2035位(1949)现代计算机2061.5843亿位 (1999) 人会因为重复计算的疲劳而影响工作效率,电脑不会如何用计算机解决问题当我们用计算机解决问题时,首先要分析问题,然后根据问题的要求选择合适的软件。
如果现有的软件能满足我们的要求,我们会直接用这些软件来完成任务。将相关的条目用线连接处理一篇文稿
进行数据统计
剪辑处理音频
剪辑处理视频
图像处理
做一个网站
网上聊天Photoshop
Word
Excel
Premiere
Cooledit
FrontPage
QQ这些问题有什么软件来解决?前黄高中的运动会编排工作
前黄高中排课软件不是与生俱来的,是人的智慧结晶;
不是所有的问题都能够使用已有的软件来解决的;自己编程序用计算机解决问题的过程观察问题
分析问题,选择合适的计算机软件解决问题
没有合适的软件,自己编写软件解决问题编软件的过程,
分析问题
设计算法
编写程序
测试验证,运行结果什么是算法(algorithm)?算法就是解决问题的方法和步骤算法有优劣之分
解决问题的步骤多少不是衡量算法优劣的依据算法的特征:
有穷性:算法的步骤必须是有限的
确定性:算法每一步必须有明确的意义
输出:算法必须保证有结果输出,可以有一个或者多个
输入:算法可以有0个或多个输入
可行性:原则上用纸笔也可精确算出结果什么是算法(algorithm)?有81个球,只有一个球比其它球轻,轻利用一台没有砝码的天平把它找出来方法2:
把81个球分成3组各27个球
先比较其中两组,如果不平衡,找出较轻那一组再分成3组个9个球;如果平衡,找出剩余那一组再分成3组个9个球
先比较其中两组,如果不平衡,找出较轻那一组再分成3组个3个球;如果平衡,找出剩余那一组再分成3组个3个球
在最后剩余的三个球中找出轻的那个球方法1:
天平两边各放一个球,看天平是否平衡;
如果上一步天平倾斜,找出轻球;如果平衡,再放另外两个球;
重复上一步;
……
找到轻球
结束农夫过河问题
一个农夫带着一只狼,一只羊和一棵白菜过河。河边只有一条船,由于船小,农夫一次只能带其中的一样过河。 如无人看管,狼要吃羊,羊要吃菜。问农夫如何安排过河,才能使狼、羊、菜都安然无恙。 渡河的方法与步骤:第一步:农夫带着羊渡过河去;
第二步:农夫划船回来;
第三步:农夫带着菜渡过河去;
第四步:农夫带着羊划船回来;
第五步:农夫带着狼渡过河去;
第六步:农夫划船回来;
第七步:农夫带着羊渡过河。一个笼子里有鸡和兔,现在只知道里面一共有35个头,94只脚,问鸡和兔各有多少只?
X+Y=a
2X+4Y=b
解方程组得:X=2a-b/2,Y=b/2-a鸡兔同笼问题设计算法输入a和b的值
求X=2a-b/2
求Y=b/2-a
输出X,Y的值
结束a1X+b1Y=c1
a2X+b2Y=c2
输入a1,b1,c1,a2,b2,c2的值
求X=(b2*c1-b1*c2)/(a1*b2-a2*b1)
求Y=(a1*c2-a2*c1)/(a1*b2-a2*b1)
输出X,Y的值
结束算法的描述 算法是人求解问题的思想方法,是对解题过程的精确描述,需要用语言来表示
一、用自然语言描述算法
自然语言就是我们日常用的语言
例:韩信点兵问题的算法描述
二、用流程图描述算法
例:把韩信点兵问题的算法用流程图描述出来
三、用伪代码描述算法韩信点兵问题:
相传汉高祖刘邦问大将军韩信统御士兵多少,韩信答道:
每3人一列余1人,5人一列余2人,7人一列余4人,13人一列余6人…….刘邦听后茫然而不知其数,你能说出有多少士兵吗?
探究活动一:
先解决一个小问题:
求整除3余1,整除5余2,整除7余4的最小自然数
1、分析问题:
利用数学知识,找出题目已知什么,求什么。
设所求的数X,则X满足X除以3余1,X除以5余2,X除以7余4,则记下x2、设计算法:
根据已知与未知之间的关系写出求解问题的步骤。
(1)令X为1
(2)如果x/3余1,x/5余2,x/7余4,则记下x。
(3)如果算出则写出答案
(4)否则x=x+1,跳转到2
穷举法
用人工计算,得出结果是多少?韩信点兵流程图
Y流程框图标准美国国家标准化协会
(American National Standard Institute,简称ANSI)输入系数值赋给a,b,c
计算b2-4XaXc的值赋给D
If D大于等于0 then
输出有交点
else
输出无交点
End if伪代码描述算法的描述判断抛物线y=ax2+bx+c与x轴是否有交点开始
输入系数a,b,c的值
计算△(△=b2-4XaXc)
若△<0,则输出无交点
若△>=0,则输出有交点
结束自然语言描述流程图描述高中信息技术(必修) 信息技术基础第二节 算法的描述二、流程图 3、练习:已知圆的半径r=6,试着自己
动手画出求面积s的流程图。顺序结构求实数a的绝对值的方法 选择结构高中信息技术(必修) 信息技术基础第二节 算法的描述二、流程图 4、练习:阅读下面的流程图说出它的功能 循环结构程序的基本结构 程序有3种最基本的结构:
顺序结构、选择结构循环结构。 使用三种基本控制结构的组合来表现程序,可以改善程序的清晰度,提高程序的可读性编软件的过程分析问题
设计算法
编写程序
分析验证运行结果程序设计(PROGRAM DESIGN)
程序设计语言(PROGRAM LANGUAGE)程序设计语言(PROGRAM LANGUAGE)种类机器语言汇编语言高级语言所有代码是二进制一种符号化的机器语言,为特定的计算机系统而设计.机器可直接执行需要编译后才可执行机器语言和汇编语言都是面向机器的,属于低级语言
高级语言的语法更接近人的表达习惯.算法独立于语言,一种算法可用多个语言编写多种语言编写的”HELLO WORLD”程序Visual Basic:
Print "Hello World!"汇编( Intel x86, MS-DOS, TASM语言?)? ? MODEL? ?SMALL ? ? IDEAL ? ? STACK? ?100H? ? DATASEG ? ?? ?? ?? ?MSG DB 'Hello, world!$' ? CODESEG ? ?? ?? ?? ?MOV AX, @data ? ?? ?? ?? ?MOV DS, AX ? ?? ?? ?? ?MOV DX, OFFSET MSG ? ?? ?? ?? ?MOV AH, 09H? ?? ?; DOS: output
ASCII$ string ? ?? ?? ?? ?INT 21H ? ?? ?? ?? ?MOV AX, 4C00H ? ?? ?? ?? ?INT 21H ? ? END Pascal语言
program Hello;
begin
writeln( 'Hello, world! ');
end.C语言
#include
void main()
{
printf("Hello World! n");
}易语言:
标准输出 (, “Hello World!”)程序中的每一行叫一条语句, 也可叫一个指令.
每一种程序设计语言都有自己的语法.Fortran语言??PROGRAM HELLO WRITE(*,10) 10 FORMAT('Hello, world!') STOP
END观察问题
分析问题,选择合适的计算机软件解决问题
没有合适的软件,自己编写软件解决问题用计算机解决问题的过程分析问题
设计算法
编写程序
测试验证,运行结果什么是算法?
算法的描述算法就是解决问题的方法和步骤
算法有优劣之分
解决问题的步骤多少不是衡量算法优劣的依据
算法中的步骤必须是有限的自然语言
流程图
伪代码程序设计语言种类机器语言
汇编语言
高级语言习题1下列关于程序设计的说法中不正确的是( )
A、程序设计就是指示计算机如何去解决问题或完成一组可执行指令的过程
B、程序设计就是寻求解决问题的方法,并将其实现步骤编写成计算机可以理解的程序的过程
C、程序设计语言的发展经历了机器语言、汇编语言、高级语言等几个过程,比较流行的高级语言有PASCAL、FORTRAN、C++等
D、程序设计和计算机语言是同一个概念的两个方面习题2下列关于算法的特征描述不正确的是( )
A、有穷性:算法必须在有限步之内结束
B、确定性:算法的每一步必须有确切的含义
C、输入:算法至少有一个输入
D、输出:算法至少有一个输出
以下不属于算法基本特征的是( )
A、可执行性 B、确定性 C、有穷性 D、无限性
下面说法正确的是( )
A、算法+数据结构=程序设计 B、算法就是程序 C、数据结构就是程序 D、算法包括数据结构习题3图形符号“"在算法描述流程图中表示()
A、算法的开始或结束
B、输入输出操作
C、处理或运算的功能
D、用来判断条件是否满足需求
在使用流程图描述算法中,表示变量的计算与赋值的符号框为( )
A、矩形框 B、菱形框
C、平行四边形框 D、椭圆形框习题5下列关于算法说法不正确的是( )
A、算法独立于任何具体的语言,BASIC算法只能用BASIC语言来实现
B、解决问题的过程就是实现算法的过程
C、算法是程序设计的"灵魂"
D、算法可以通过编程来实现
下列关于算法的说法不正确的是( )
A、算法是解决问题的方法和步骤
B、解决问题的过程是实现算法的过程
C、算法是程序设计的"灵魂"
D、以上说法都不对习题6下列关于算法的特征描述正确的是()
A、有穷性:算法必须在有限步之内结束
B、确定性:算法的每一步必须有确切数据
C、输入:算法必须至少有一个输入
D、输出:算法必须至多有一个输出
以下哪个不是程序设计高级语言( )
A、HTTP B、BASIC C、C++ D、Java E、word
F、list G、pascal H、css关于程序设计,以下说法正确的是( )
A、程序设计语言的发展大致经历了机器语言、汇编语言、高级语言等几个阶段
B、程序设计语言的发展大致经历了高级语言、汇编语言、机器语言等几个阶段
C、程序设计语言的发展大致经历了机器语言、高级语言、汇编语言等几个阶段
D、程序设计语言的发展大致经历了汇编语言、机器语言、高级语言等几个阶段在日常生活中,我们常常会碰到许多需要解
决的问题,以下描述中最适合用计算机编程
来处理的是( )
A、确定放学回家的路线
B、计算某个同学期中考试各科成绩总分
C、计算10000以内的奇数平方和
D、在因特网上查找自己喜欢的歌曲在软件开发中有许多重要的环节,下列叙述
中正确的是( )
A、软件维护只包括对程序代码的维护
B、程序调试后一般不需要再测试
C、软件测试应该由程序开发者来完成
D、需求分析与程序设计、测试、维护是软件开发中的重要环节
算法是解决问题的步骤序列,正确的序列是( )
①分析问题;②提出问题;③设计算法
A、②①③ B、①②③ C、①③② D、②③①