您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > AI人工智能 > python课件Chapter01-ch
程序设计思想与方法入门篇庄天红课程主要内容•解决可计算问题需要教会计算机如何解决问题•我们如何教会计算机解决问题–了解计算机有哪些基本功能–熟悉一门与计算机进行交流的语言–掌握设计思路与方法为什么要学习编程•它是计算机系统的基础•了解我们最好的助手:我们每天都在使用电脑,学习编程有助于我们理解电脑的优势和局限•帮助我们成为一个聪明的计算机用户•编码也是一件有趣的、充满挑战的智力活动•编程的形式多种多样,用途十分广泛,各行各业都离不开它•通过用简单系统起步,不断深入和提高,有助于锻炼我们分析复杂系统的能力,并有助于提高我们解决问题的技能。•程序员有很大的社会需求量。LuChaojun,SJTU4LuChaojun,SJTU44何为计算思维?•人们在解决不同问题时有不同的思考方式–数学思维:解数学问题–工程思维:工程设计–形象思维:创作诗词–......•计算思维建立在由计算机执行的计算过程的能力和局限之上.•由于计算机的广泛应用,计算思维应当成为人们的基本能力.–与阅读,书写,算术能力一样!计算思维的特点•是概念化思考,而非编程实现•是基本思考能力,而非机械的套用•是人的思考,而非计算机•与数学思维和工程思维相结合•是思想,而非人造物•人人皆有,处处皆是LuChaojun,SJTU5日常生活中的计算思维•小学算术:长除法,最大公约数•查字典:线性,二分•排队:先来先处理•整理扑克牌:插入排序•书包:预取与缓存•邮递员投递路线:尽可能只经过一次•烧菜:并行处理•工厂:流水线并行•……LuChaojun,SJTU6计算+X•计算数学,计算几何,自动定理证明•计算生物学,生物信息学•算法博弈论•计算化学•计算物理学•人工智能,机器学习•医学影像技术•电子商务•计算机艺术:电影特效,计算机作曲绘画书法•……LuChaojun,SJTU7对本课程的定位•学习计算机科学解决问题的思想方法,应用于各个专业领域•不仅仅是一门程序设计语言课程!–本课程需要编程,以加深对计算思维的理解–坏消息:学习编程语言需要掌握非常繁琐的细节–好消息:Python语言非常简单,易学易用8计算机与程序•计算机组成•程序设计语言•初识Python计算机的组成•硬件:计算机的躯壳•软件:计算机的灵魂计算机,也被称之为“电脑”,是一种能够按照事先存储的程序自动、高效地对数据进行输入、处理、存储和输出的系统。计算机硬件存储器输入设备输出设备控制器运算器CPU存储器•保存正在运行的程序代码和数据•内存的最小单元是bit,一个bit存储一个二进制位。一般8个bit组成一个byte,若干个byte组成一个word•在一般的机器中,内存按字节编址,内存大小也是按字节计量•关机后,内存的数据全部丢失CPUCPU(CentralProcessingUnit)有两个部件组成:•ALU–Arithmetic-LogicUnit(运算器)•Controlunit(控制器)控制器•控制器控制计算机的其余部分如何完成程序的指令–指挥内存和其它部件之间的信息的传送(包括信息和指令)–指挥CPU和输入输出设备之间的控制信息的传送控制器中的信息存储•控制器中有两个寄存器:–指令寄存器(IR):保存当前正在执行的指令–程序计数器(PC):保存下一条要执行的指令地址控制器的工作•取下一条指令:按PC指定的地址到内存中取出下一条指令,存入IR。•解码指令:将指令解码成一系列的控制信号•执行指令:将控制信号发送给相关部件,执行相应的运算运算器的组成•逻辑电路:执行控制器发出的控制信号•一组存放正在运算的数据的寄存器输入输出设备•输入设备将人能理解的符号转换成计算机能处理的符号。常用的输入设备有:键盘、鼠标、光笔等•输出设备将计算机的输出转换成人能理解的输出。常用的输出设备有:显示器、打印机、音响设备等计算机的组成•硬件:计算机的躯壳•软件:计算机的灵魂计算机,也被称之为“电脑”,是一种能够按照事先存储的程序自动、高效地对数据进行输入、处理、存储和输出的系统计算机软件•软件决定了计算机能做什么.没有软件,计算机只是一堆废铁.•软件可以分为系统软件和应用软件。•系统软件居于计算机系统中最靠硬件的部分,它将计算机的用户与硬件隔离。系统软件与具体的应用无关,但其他的软件要通过系统软件才能发挥作用。常用的系统软件有操作系统、编译器、网络软件等。•应用软件是为了支持某一应用而开发的软件。如字处理软件、财务软件等。计算机与程序•计算机组成•程序设计语言•初识Python程序设计语言•人与计算机进行交流的一种语言•为什么不用自然语言与计算机交互?–精确的语法和语义–无二义性•有不同层次的程序设计语言LuChaojun,SJTU22不同层次的程序设计语言•机器语言•汇编语言•高级语言机器语言•是机器的母语。每种计算机都有自己的机器语言。与计算机硬件设计有关。•每个语句用一组二进制数表示•用机器语言写程序是非常困难的,读机器语言写的程序也是非常困难的•机器语言提供的功能非常简单–例如:0000010000000001.是Intel8086能理解的一条指令.汇编语言•用缩写和助记符代替机器语言的0和1的比特串•和机器语言一样,不同类的机器有不同的汇编语言•汇编程序:将汇编语言写的程序翻译成机器语言的程序–前机器语句对应:ADDAL,1.需要汇编器处理后机器才懂.•解决了机器语言的可读性问题,但没有解决功能简单的问题以及可移植型问题高级语言•类似于英语的语言,适合于人理解–如:x=y+1.需要编译器或解释器翻译后机器才懂.•功能比机器语言强,解决问题更加容易•编译器:将过程化语言写的程序(源代码)翻译成机器语言的程序(目标代码)•解释器:逐句解释源程序并执行,不保存目标代码。编译执行main(){inti,s;i=1;s=0;Ccompiler0110001011101001SourceprogramObjectprogram将程序全部翻译成机器语言的程序,然后再执行。解释执行源程序解释系统(逐句解释、执行)原始数据结果高级语言的特点•具备了一定的机器独立性,使用户可以专注于解决问题的方法。但某些方面还是受到机器的限制•为了解决移植性问题,ANSI制订了一系列的标准高级语言•本课程采用Python语言•高级程序设计语言有很多种,据说2008年网上被引用最多的10个语言是(按字母顺序):C,C++,C#,Java,JavaScript,Perl,PHP,Python,Ruby,SQL30计算机与程序•计算机组成•程序设计语言•初识PythonPython•Python采用编译/解释混合方式:先编译成字节码,再解释执行•Python系统软件://cbase.sjtu.edu.cn用户:python,密码:python2012•安装\启动Python32初识Python•提示符,提示你可以输入命令•语句:一条命令,如print“hello”•串:“helloworld”•数:3、10、0.5•表达式:3+5•赋值:x=533函数•函数:将完成某一功能的语句组合起来•函数定义•函数调用:defarea():…x=5…y=6…printx*y…冒号和缩进来分割代码块area()30带参数的函数•函数定义•函数的调用defarea(x,y):…printx*y…area(3,4)12area(2,4)8模块•如果一段程序需要反复执行,可以把它以文件形式保存在外存储器中。•保存在外存储器中的程序称为一个模块,也称为脚本文件或源文件。•PYTHON的源文件的后缀名为.py•程序模拟物理现象:chaos程序#File:chaos.py#Asimpleprogramillustratingchaoticbehavior.defmain():printThisprogramillustratesachaoticfunctionx=input(Enteranumberbetween0and1:)foriinrange(10):x=3.9*x*(1-x)printxinput('Enter0toquit')main()•main函数:标志程序的开始,也可以用其它模块名•注释•变量与赋值•程序的执行:一个个语句顺序执行,但也可以重复执行某个语句for循环•将一段语句重复执行多次•语法forvarinsequence:body–sequence是一个值的序列,如[1,3,5,7,9]或range(10)(即[0,1,…,9]).–body可以是任何语句序列,用左缩进标识.39程序的控制流•程序的诸语句通常是顺序执行的,但循环语句改变了控制流,表示一种控制结构.•控制流可以用流程图直观表达40bodyvar取seq的下一个值无有模块的执行•在IDLE中执行程序–打开文件:在file菜单下选open或直接用右键点击文件,并选择用IDLE打开–执行:在run菜单下选runmodule或直接按f5•Cmd界面中执行程序–import文件Cmd界面中执行chaos.py程序C:\DocumentsandSettings\Administratorcd\python27C:\Python27cdtest(文件在c:\Python27\test下)C:\Python27\testchaos.pyThisprogramillustratesachaoticfunctionEnteranumberbetween0and1:0.50.9750.09506250.3354999222660.8694649252590.4426331091130.9621652553370.1419727793620.47508438620.9725789275370.104009713267END
本文标题:python课件Chapter01-ch
链接地址:https://www.777doc.com/doc-4855581 .html