基于Python的程序设计思想与方法_

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

程序设计思想与方法翁惠玉Email:hyweng@sjtu.edu.cnweng-hy@cs.sjtu.edu.cn《程序设计思想与方法》hyweng@sjtu.edu.cn-2教材参考教材教材很遗憾,暂无合适的中文版教材目前使用:PythonProgramming:AnIntroductiontoComputerScience.(电子版)HowtoThinkLikeaComputerScientist—LearningwithPython.(电子版)《程序设计思想与方法》hyweng@sjtu.edu.cn-3什么是计算机科学?计算机科学并非研究计算机!正如天文学不是研究天文望远镜CS要回答的基本问题:什么是可计算的?对此问题的回答有三种方式:实际设计一个解决问题的算法理论分析问题的可解性:无解的,不是能行可解的通过实验来研究问题.3《程序设计思想与方法》hyweng@sjtu.edu.cn-4课程主要内容解决可计算问题需要教会计算机如何解决问题如何教计算机解决问题了解计算机有哪些基本功能因材施教,设计教学的过程一门与计算机进行交流的语言《程序设计思想与方法》hyweng@sjtu.edu.cn-5对本课程的定位学习计算机科学解决问题的思想方法,应用于其他专业领域不是程序设计语言课程!本课程需要编程,以加深对计算思维的理解坏消息:学习编程语言需要掌握非常繁琐的细节好消息:Python语言非常简单,易学易用也不是算法和数据结构课程!当然会学习这方面的一些基本技术5《程序设计思想与方法》hyweng@sjtu.edu.cn-6计算机与程序计算机组成程序设计语言初识Python《程序设计思想与方法》hyweng@sjtu.edu.cn-7计算机的组成硬件:计算机的躯壳软件:计算机的灵魂计算机,也被称之为“电脑”,是一种能够按照事先存储的程序自动、高效地对数据进行输入、处理、存储和输出的系统《程序设计思想与方法》hyweng@sjtu.edu.cn-8计算机硬件存储器输入设备输出设备控制器运算器CPU《程序设计思想与方法》hyweng@sjtu.edu.cn-9存储器保存正在运行的程序代码和数据内存的最小单元是bit,一个bit存储一个二进制位。一般8个bit组成一个byte,若干个byte组成一个word在一般的机器中,内存按字节编址,内存大小也是按字节计量关机后,内存的数据全部丢失《程序设计思想与方法》hyweng@sjtu.edu.cn-10CPUCPU(CentralProcessingUnit)有两个部件组成:ALU–Arithmetic-LogicUnit(运算器)Controlunit(控制器)《程序设计思想与方法》hyweng@sjtu.edu.cn-11控制器控制器控制计算机的其余部分如何完成程序的指令指挥内存和其它部件之间的信息的传送(包括信息和指令)指挥CPU和输入输出设备之间的控制信息的传送《程序设计思想与方法》hyweng@sjtu.edu.cn-12控制器中的信息存储控制器中有两个寄存器:指令寄存器(IR):保存当前正在执行的指令程序计数器(PC):保存下一条要执行的指令地址《程序设计思想与方法》hyweng@sjtu.edu.cn-13控制器的工作取下一条指令:按PC指定的地址到内存中取出下一条指令,存入IR。解码指令:将指令解码成一系列的控制信号执行指令:将控制信号发送给相关部件,执行相应的运算《程序设计思想与方法》hyweng@sjtu.edu.cn-14运算器的组成逻辑电路:执行控制器发出的控制信号一组存放正在运算的数据的寄存器《程序设计思想与方法》hyweng@sjtu.edu.cn-15输入输出设备输入设备将人能理解的符号转换成计算机能处理的符号。常用的输入设备有:键盘、鼠标、光笔等输出设备将计算机的输出转换成人能理解的输出。常用的输出设备有:显示器、打印机、音响设备等《程序设计思想与方法》hyweng@sjtu.edu.cn-16计算机的组成硬件:计算机的躯壳软件:计算机的灵魂计算机,也被称之为“电脑”,是一种能够按照事先存储的程序自动、高效地对数据进行输入、处理、存储和输出的系统《程序设计思想与方法》hyweng@sjtu.edu.cn-17计算机软件软件决定了计算机能做什么.没有软件,计算机只是一堆废铁.软件可以分为系统软件和应用软件。系统软件居于计算机系统中最靠硬件的部分,它将计算机的用户与硬件隔离。系统软件与具体的应用无关,但其他的软件要通过系统软件才能发挥作用。常用的系统软件有操作系统、编译器、网络软件等。应用软件是为了支持某一应用而开发的软件。如字处理软件、财务软件等。《程序设计思想与方法》hyweng@sjtu.edu.cn-18计算机与程序计算机组成程序设计语言初识Python《程序设计思想与方法》hyweng@sjtu.edu.cn-19程序设计语言人与计算机进行交流的一种语言为什么不用自然语言与计算机交互?精确的语法和语义无二义性有不同层次的程序设计语言LuChaojun,SJTU19《程序设计思想与方法》hyweng@sjtu.edu.cn-20不同层次的程序设计语言机器语言汇编语言高级语言《程序设计思想与方法》hyweng@sjtu.edu.cn-21机器语言是机器的母语。每种计算机都有自己的机器语言。与计算机硬件设计有关。每个语句用一组二进制数表示用机器语言写程序是非常困难的,读机器语言写的程序也是非常困难的机器语言提供的功能非常简单《程序设计思想与方法》hyweng@sjtu.edu.cn-22汇编语言用缩写和助记符代替机器语言的0和1的比特串和机器语言一样,不同类的机器有不同的汇编语言汇编程序:将汇编语言写的程序翻译成机器语言的程序解决了机器语言的可读性问题,但没有解决功能简单的问题以及可移植型问题《程序设计思想与方法》hyweng@sjtu.edu.cn-23高级语言类似于英语的语言,适合于人理解功能比机器语言强,解决问题更加容易编译器:将过程化语言写的程序(源代码)翻译成机器语言的程序(目标代码)解释器:逐句解释源程序并执行,不保存目标代码。《程序设计思想与方法》hyweng@sjtu.edu.cn-24编译执行main(){inti,s;i=1;s=0;Ccompiler0110001011101001SourceprogramObjectprogram将程序全部翻译成机器语言的程序,然后再执行。《程序设计思想与方法》hyweng@sjtu.edu.cn-25解释执行源程序解释系统(逐句解释、执行)原始数据结果《程序设计思想与方法》hyweng@sjtu.edu.cn-26高级语言的特点具备了一定的机器独立性,使用户可以专注于解决问题的方法。但某些方面还是受到机器的限制为了解决移植性问题,ANSI制订了一系列的标准《程序设计思想与方法》hyweng@sjtu.edu.cn-27高级语言本课程采用Python语言高级程序设计语言有很多种,据说2008年网上被引用最多的10个语言是(按字母顺序):C,C++,C#,Java,JavaScript,Perl,PHP,Python,Ruby,SQL27《程序设计思想与方法》hyweng@sjtu.edu.cn-28计算机与程序计算机组成程序设计语言初识Python《程序设计思想与方法》hyweng@sjtu.edu.cn-29PythonPython采用编译/解释混合方式:先编译成字节码,再解释执行Python软件:用户码/密码:hyweng/public启动Python29《程序设计思想与方法》hyweng@sjtu.edu.cn-30初识Python:提示符,提示你可以输入命令语句:一条命令,如print“hello”串:“helloworld”数:3、10表达式:3+5赋值:x=530《程序设计思想与方法》hyweng@sjtu.edu.cn-31函数函数:将完成某一功能的语句组合起来函数定义函数调用:defarea():…x=5…y=6…printx*y…area()30《程序设计思想与方法》hyweng@sjtu.edu.cn-32带参数的函数函数定义函数的调用defarea(x,y):…printx*y…area(3,4)12area(2,4)8《程序设计思想与方法》hyweng@sjtu.edu.cn-33模块如果一段程序需要反复执行,可以把它以文件形式保存在外存储器中。保存在外存储器中的程序称为一个模块,也称为脚本文件或源文件。PYTHON的源文件的后缀名为py程序模拟物理现象:chaos程序《程序设计思想与方法》hyweng@sjtu.edu.cn-34#File:chaos.py#Asimpleprogramillustratingchaoticbehavior.defmain():printThisprogramillustratesachaoticfunctionx=input(Enteranumberbetween0and1:)foriinrange(10):x=3.9*x*(1-x)printxinput('Enter0toquit')main()《程序设计思想与方法》hyweng@sjtu.edu.cn-35main函数:标志程序的开始,也可以省略注释变量与赋值程序的执行:一个个语句顺序执行,但也可以重复执行某个语句《程序设计思想与方法》hyweng@sjtu.edu.cn-36for循环将一段语句重复执行多次语法forvarinsequence:bodysequence是一个值的序列,如[1,3,5,7,9]或range(10)(即[0,1,…,9]).body可以是任何语句序列,用左缩进标识.36《程序设计思想与方法》hyweng@sjtu.edu.cn-37程序的控制流程序的诸语句通常是顺序执行的,但循环语句改变了控制流,表示一种控制结构.控制流可以用流程图直观表达37bodyvar取seq的下一个值无有《程序设计思想与方法》hyweng@sjtu.edu.cn-38保存文件用任何一个文本编辑器,保存成纯文本格式在IDLE中的file菜单中选择newwindow,输入程序的内容。输入结束后再在file菜单中选择save或saveas保存到文件中《程序设计思想与方法》hyweng@sjtu.edu.cn-39模块的执行在IDLE中执行程序打开文件:在file菜单下选open或直接用右键点击文件,并选择用IDLE打开,或先打开IDLE,再在file菜单下选择open执行:在run菜单下选runmodule或直接按f5Cmd界面中执行程序import文件《程序设计思想与方法》hyweng@sjtu.edu.cn-40添加python的路径Import时,系统必须知道到哪里去找那个文件这是通过PYTHONPATH指定的安装PYTHON时,系统会指定缺省path。缺省的路径是:\Python26\Lib\site-packages添加搜索路径右键单击我的电脑,然后单击属性。单击高级选项卡。单击环境变量。单击新建添加一个新变量名和值。《程序设计思想与方法》hyweng@sjtu.edu.cn-41END《程序设计思想与方法》hyweng@sjtu.edu.cn-42写一个简单的程序软件开发过程程序实例:温度转换程序的构件程序实例:利息计算《程序设计思想与方法》hyweng@sjtu.edu.cn-43程序设计需要系统化的方法程序设计是用精确的语言告诉计算机该做什么,要精确到最细节处.计算机只

1 / 483
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功