资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,计算机解决问题的过程,用计算机解决问题的优势,存储量大,运算速度快,精度高,可按人设定的程序重复执行。,80G,=80X1024MB,=80X1024X1024KB,=80X1024X1024X1024B,80X10,9,B,(相当于存储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,解方程组得:X2a-b/2,Yb/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,则记下x,2、设计算法:,根据已知与未知之间的关系写出求解问题的步骤。,(1)令X为1,(2)如果x/3余1,x/5余2,x/7余4,则记下x。,(3)如果算出则写出答案,(4)否则x=x+1,跳转到2,穷举法,用人工计算,得出结果是多少?,开始,X=x+1,结束,x/3余1,x/5余2,x/7余4,是,否,X=1,输出x,韩信点兵流程图,开始,N=1,N被3、5、7整除后,余数为2、3、2,输出N,结束,N=N+1,N,Y,流程框图标准,开始结束框,输入输出框,处理框,判断框,流程线,美国国家标准化协会,(American National Standard Institute,简称ANSI),输入系数值赋给a,b,c,计算b,2,-4XaXc的值赋给D,If D大于等于0 then,输出有交点,else,输出无交点,End if,伪代码描述,算法的描述,判断抛物线y=ax,2,+bx+c与x轴是否有交点,开始,输入系数,a,b,c,的值,计算,(=b,2,-4XaXc),若,=0,则输出有交点,结束,自然语言描述,流程图描述,开始,输入系数 a,b,c,=b,2,-4XaXc,0,输出有交点,输出无交点,结束,是,否,高中信息技术(必修)信息技术基础,第二节 算法的描述,广东汕头华侨中学技术组,二、流程图,3、练习:已知圆的半径r=6,试着自己,动手画出求面积s的流程图。,开始,结束,r=6,S=3.14*r*r,输出s的值,顺序结构,S1,S2,Sn,求实数a的绝对值的方法,选择结构,开始,结束,输出a的值,输入a的值,a大于等于0,是,否,输出-a的值,S1,S2,C,高中信息技术(必修)信息技术基础,第二节 算法的描述,广东汕头华侨中学技术组,二、流程图,4、练习:阅读下面的流程图说出它的功能,开始,i能被3整除,结束,i=1,是,否,i=i+1,i小于等于100,否,是,输出i的值,S1,C,否,是,循环结构,程序的基本结构,程序有3种最基本的结构:,顺序结构、选择结构循环结构。,S1,S2,Sn,S1,C,否,是,S1,S2,C,使用三种基本控制结构的组合来表现程序,可以改善程序的清晰度,提高程序的可读性,编软件的过程,分析问题,设计算法,编写程序,分析验证运行结果,程序设计,(,PROGRAM DESIGN,),程序设计语言,(PROGRAM LANGUAGE),程序设计语言(PROGRAM LANGUAGE)种类,机器语言,汇编语言,高级语言,所有代码是二进制,一种符号化的机器语言,为特定的计算机系统而设计.,Basic FORTRAN Pascal C,Visuanl Basic Delphi C+,机器可直接执行,需要编译后才可执行,机器语言和汇编语言都是面向机器的,属于低级语言,高级语言的语法更接近人的表达习惯.,算法独立于语言,一种算法可用多个语言编写,多种语言编写的”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、在因特网上查找自己喜欢的歌曲,在软件开发中有许多重要的环节,下列叙述,中正确的是(
展开阅读全文