全套课件-大学计算机基础(第三版)_完整
- 格式:ppt
- 大小:25.14 MB
- 文档页数:308
2018/10/8今日目标❑建模和模拟冯氏结构的机器执行指令◆一个名字叫TOY 的计算机❑计算思维的本质是两个“A ”,抽象(Abstract )和自动化(Automatic )◆前者对应着建模,后者对应着模拟什么是抽象?⏹艺术中的抽象☐绘画2w1画家的职责不是借助具体形象反映现实,而是以抽象的形象表达科学的真实毕加索《牛》幻灯片 3w1 举几个抽象的例子艺术:抽象画、音乐北京上海地铁图wang, 2011/10/11什么是抽象?⏹艺术中的抽象☐绘画⏹生活中的抽象☐地铁图45The London Underground Map (1928)Harry Beck6The LondonUnderground Map (1928)The LondonUnderground Map (1933)by Harry Beck7北京地铁图8w2幻灯片 9w2 举几个抽象的例子艺术:抽象画、音乐北京上海地铁图wang, 2011/10/11计算机组成结构的抽象(实体抽象)控制器运算器输入设备输出设备存储器计算机组成结构的抽象(实体抽象)14计算的抽象(概念抽象)⏹什么是计算?☐从一个符号串变换成另一个符号串☐Peter J. Denning :Computation is a sequence of representations .⏹图灵机导致了计算的形式概念什么是模拟?(百度百科)⏹模拟是对真实事物或者过程的虚拟。
☐场景游戏就是对现实世界的虚拟⏹模拟要表现出选定的物理系统或抽象系统的关键特性。
16今日目标⏹建模和模拟一个名字叫TOY 的计算机☐冯氏结构☐执行指令⏹建模(抽象)已由冯诺依曼完成了⏹下面我们用Python 程序来虚拟实现这台机器的自动化执行指令的过程控制器运算器输入设备输出设备存储器Let’s GO!18☐主存单元(房间)✓大小:一个字节(8bit)(房间大小)☐存储容量(房间数量)☐主存地址:每个主存单元有一个编号(房间号)✓编号从0开始,依次加1✓地址码的长度决定系统支持的最大主存容量内存......00000001 (10110110)⏹哪种数据结构适合用来模拟主存?☐主存↔列表✓1000个元素↔1000个主存单元✓元素编号↔主存地址✓元素类型:整数20mem = [0]*1000mem 用于模拟主存,共1000个主存单元⏹用哪种数据结构来模拟寄存器?☐通用寄存器组(R0,R1……R9)↔列表☐程序计数器↔变量pReg ☐指令计寄存器↔变量iReg ✓类型统一为整型,可根据需要转换21= [0]*1000 mem = [0]*1000reg = [0]*10 pReg = 0iReg = 0mem 用于模拟主存,共1000个主存单元CPU 寄存器24address = int(flds[0])= int(flds[1]) 如何将硬盘程序里指令加载入内存?lin: ‘100031012'try:[‘100', '031012']地址:100指令:031012flds = lin.split()address = int (flds[0])instruc = int (flds[1]) mem[address] = instruc if first:pReg = addressfirst = False except : pass载入一条指令TOY计算机之执行程序请键入以下程序并运行33run('D:sum100.mml')mem def run('D:\\sum100.mml')print(mem[11])= [0]*1000; reg = [0]*10;pReg = 0; iReg = 0printMachineState ():def loadProgram (file):def cycle ():def run (fileName):‘prog1.mml')print(mem[105])教材第142~144页run(‘sum100.mml')print(mem[11])。
目 录第1章 计算机与信息基础知识 (1)1.1计算机概述 (1)1.1.1计算机的发展简史 (1)1.1.2计算机的特点 (6)1.1.3计算机的分类 (6)1.1.4计算机的应用领域 (7)1.2微型计算机系统的组成 (9)1.2.1计算机硬件系统 (9)1.2.2计算机软件系统 (10)1.2.3计算机的性能指标 (11)1.2.4微型计算机硬件 (12)1.3计算机中的数据和常用编码 (20)1.3.1计算机内部的进制表示 (20)1.3.2计算机常用的几种数制 (20)1.3.3常用的信息编码 (21)1.4信息与信息技术 (23)1.4.1信息的概念 (23)1.4.2信息的分类 (23)1.4.3信息技术概述 (23)1.4.4信息技术的发展 (24)1.5计算机职业道德规范 (25)1.5.1计算机职业道德规范 (25)1.5.2计算机犯罪主要案例 (26)思考与练习 (27)第2章 操作系统 (28)2.1操作系统概述 (28)2.1.1操作系统的定义 (28)2.1.2操作系统的功能 (28)2.1.3操作系统的基本特征 (29)2.1.4操作系统主要类型 (30)2.1.5几种典型操作系统简介 (31)2.2Windows XP概述 (33)2.2.1Windows XP的特点 (33)2.2.2Windows XP的运行环境和安装 (33)2.2.3Windows XP启动和退出 (34)2.2.4Windows XP的桌面 (34)2.2.5Windows XP的帮助系统 (35)2.3Windows的基本操作 (36)2.3.1鼠标的使用 (36)2.3.2窗口的基本操作 (36)2.3.3对话框的基本操作 (38)2.3.4菜单的基本操作 (38)2.3.5中文输入 (39)2.4Windows的资源管理器 (40)2.4.1文件和文件夹 (40)2.4.2资源管理器 (41)2.4.3管理文件和文件 (43)2.4.4剪贴板 (46)2.5Windows的控制面板 (46)2.5.1显示器的设置 (46)2.5.2键盘和鼠标的设置 (48)2.5.3添加/删除硬件 (49)2.5.4添加/删除程序 (49)2.5.5打印机管理 (50)2.6Windows的常用附件 (51)2.6.1系统工具 (51)2.6.2记事本 (51)2.6.3写字板 (52)2.6.4画图 (52)2.6.5计算器 (52)2.6.6媒体播放器 (53)2.6.7录音机 (53)2.7Windows 7操作系统简介 (53)思考与练习 (54)第3章 文字处理软件Word 2003 (55)3.1Word 2003概述 (55)3.1.1Word 2003的启动和退出 (56)3.1.2Word 2003的窗口组成 (56)1。
2018/10/8今日目标❑建模和模拟冯氏结构的机器执行指令◆一个名字叫TOY 的计算机❑计算思维的本质是两个“A ”,抽象(Abstract )和自动化(Automatic )◆前者对应着建模,后者对应着模拟什么是抽象?⏹艺术中的抽象☐绘画2w1画家的职责不是借助具体形象反映现实,而是以抽象的形象表达科学的真实毕加索《牛》幻灯片 3w1 举几个抽象的例子艺术:抽象画、音乐北京上海地铁图wang, 2011/10/11什么是抽象?⏹艺术中的抽象☐绘画⏹生活中的抽象☐地铁图45The London Underground Map (1928)Harry Beck6The LondonUnderground Map (1928)The LondonUnderground Map (1933)by Harry Beck7北京地铁图8w2幻灯片 9w2 举几个抽象的例子艺术:抽象画、音乐北京上海地铁图wang, 2011/10/11计算机组成结构的抽象(实体抽象)控制器运算器输入设备输出设备存储器计算机组成结构的抽象(实体抽象)14计算的抽象(概念抽象)⏹什么是计算?☐从一个符号串变换成另一个符号串☐Peter J. Denning :Computation is a sequence of representations .⏹图灵机导致了计算的形式概念什么是模拟?(百度百科)⏹模拟是对真实事物或者过程的虚拟。
☐场景游戏就是对现实世界的虚拟⏹模拟要表现出选定的物理系统或抽象系统的关键特性。
16今日目标⏹建模和模拟一个名字叫TOY 的计算机☐冯氏结构☐执行指令⏹建模(抽象)已由冯诺依曼完成了⏹下面我们用Python 程序来虚拟实现这台机器的自动化执行指令的过程控制器运算器输入设备输出设备存储器Let’s GO!18☐主存单元(房间)✓大小:一个字节(8bit)(房间大小)☐存储容量(房间数量)☐主存地址:每个主存单元有一个编号(房间号)✓编号从0开始,依次加1✓地址码的长度决定系统支持的最大主存容量内存......00000001 (10110110)⏹哪种数据结构适合用来模拟主存?☐主存↔列表✓1000个元素↔1000个主存单元✓元素编号↔主存地址✓元素类型:整数20mem = [0]*1000mem 用于模拟主存,共1000个主存单元⏹用哪种数据结构来模拟寄存器?☐通用寄存器组(R0,R1……R9)↔列表☐程序计数器↔变量pReg ☐指令计寄存器↔变量iReg ✓类型统一为整型,可根据需要转换21= [0]*1000 mem = [0]*1000reg = [0]*10 pReg = 0iReg = 0mem 用于模拟主存,共1000个主存单元CPU 寄存器24address = int(flds[0])= int(flds[1]) 如何将硬盘程序里指令加载入内存?lin: ‘100031012'try:[‘100', '031012']地址:100指令:031012flds = lin.split()address = int (flds[0])instruc = int (flds[1]) mem[address] = instruc if first:pReg = addressfirst = False except : pass载入一条指令TOY计算机之执行程序请键入以下程序并运行33run('D:sum100.mml')mem def run('D:\\sum100.mml')print(mem[11])= [0]*1000; reg = [0]*10;pReg = 0; iReg = 0printMachineState ():def loadProgram (file):def cycle ():def run (fileName):‘prog1.mml')print(mem[105])教材第142~144页run(‘sum100.mml')print(mem[11])。
⼤学计算机基础第3版参考课件-第06讲-Python简介V 第6讲⼤学计算机基础——Python简介V2import numpy as npimport matplotlib.pyplot as plt h, v0, g = 3000, 200, 9.8tmax=np.sqrt(2*h/g)t = np.linspace(0, tmax)xt = v0*tyt = h-1/2*g*t**2plt.plot(xt,yt,'r -')plt.grid('on')plt.axis([0, 5000, 0, h])plt.show()绘制弹道轨迹h=3000v 0=200问题1:要绘制多条轨迹怎么办?3import numpy as npimport matplotlib.pyplot as plt h, v0, g = 3000, 200, 9.8tmax=np.sqrt(2*h/g)t = np.linspace(0, tmax)xt = v0*tyt = h-1/2*g*t**2plt.plot(xt,yt,'r -')plt.grid('on')plt.axis([0, 5000, 0, h])plt.show()绘制炸弹轨迹h=3000v 0=200问题2:别处要⽤这段代码怎么办?根据h 和v 0计算x t 和y t4import numpy as npimport matplotlib.pyplot as plth, v0, g = 3000, 200, 9.8tmax=np.sqrt(2*h/g)t = np.linspace(0, tmax)xt = v0*t yt = h-1/2*g*t**2plt.plot(xt,yt,'r -')plt.grid('on')plt.axis([0, 5000, 0, h])plt.show()tmax=np.sqrt(2*h/g)t = np.linspace(0, tmax)xt = v0*tyt = h-1/2*g*t**2根据h 和v 0计算x t 和y tcalBombTrace calBombTrace (h, v0)xt, yt=calBombTrace(h, v0)xt, yt=calBombTrace(h, v0)⽬录2.1 概述2.2 初识Python2.3 分⽀2.4 循环2.5列表2.6 其它数据类型2.7 函数5函数6def 函数名():语句1……语句n缩进要相同冒号不能少括号不能少def 表⽰定义函数函数体命名规则与变量类似尽量反映函数功能例:定义打印当前⽇期和时间的函数7print ('今天是:', time.strftime('%Y-%m-%d'))print ('现在是:', time.strftime('%H:%M:%S'))print ('今天是:', time.strftime('%Y-%m-%d'))print ('现在是:', time.strftime('%H:%M:%S'))def printTime():import time printTime()函数体在调⽤后才会执⾏2.7.2 参数传递例:定义函数,功能是打印给定数字,且保留5位⼩数8print_(x):def print('%.5f'% x)a = print_(x ):print ('%.5f'% x )eval (input ('a='))print_(a )如有多个参数,⽤逗号隔开参数在函数体内的使⽤⽅法与变量相同调⽤时将具体值赋给参数2.7.2 参数传递定义函数,功能是打印列表L中所有元素的n次⽅之和9习题def Ln = [x**n for x in L]print(sum(Ln))L = [1, 2, 3, 4, 5]printSumLn(L, n):Ln = [x**n for x in L]print (sum (Ln))n = 3 printSumLn(L, n)2.7.2 参数传递定义函数,功能是打印列表L中所有元素的n次⽅之和,n的默认值为110def printSumLn(L, n):L = [1, 2, 3, 4, 5]printSumLn(L, n=1):Ln = [x**n for x in L]print (sum (Ln))n = 3printSumLn(L, n)#n 为给定值3printSumLn(L)#n 为默认值1任⼀默认值参数右边不能再出现⾮默认值参数def f(x=1, y, z=0)def f(x=1,y=1,z=0)def f(y, x=1, z=0)printSumLn(L, n=1):print (sum (Ln))printSumLn(L, n)#n 为给定值3printSumLn(L)#n 为默认值12.7.3 返回值定义函数,功能是计算列表L中所有元素的n次⽅之和,n的默认值为111def s =calSumLn(L, n=1):Ln = [x**n for x in L]s=sum (Ln)return sL = [1, 2, 3, 4, 5]n = 3y =calSumLn(L, n)print ('y=', y)如有多个返回,⽤逗号隔开编程计算阴影部分⾯积139.8, 9.3, 6.4 2.9, 4.1, 4.7 2.0, 1.4, 2.3尽量将需重复使⽤的代码封装成函数利⽤函数计算三⾓形⾯积=+ + 2S = ( ? )( ? )( ? )三边长输⼊:三边长a, b, c 输出:三⾓形⾯积S编程计算阴影部分⾯积149.8, 9.3, 6.4 2.9, 4.1, 4.7 2.0, 1.4, 2.3尽量将需重复使⽤的代码封装成函数利⽤函数计算三⾓形⾯积 = + +2S = ( ? )( ? )( ? )三边长输⼊:三边长a, b, c 输出:三⾓形⾯积S import numpy as np def triArea (a, b, c):p=(a+b+c)/2 t=p*(p-a)*(p-b)*(p-c)return np.sqrt(t)S1=triArea (9.8, 9.3, 6.4)S2=triArea (2.9, 4.1, 4.7)S3=triArea (2.0, 1.4, 2.3)print (S1-S2+S3)24.201…import numpy as npimport matplotlib.pyplot as plt h, v0, g = 3000, 200, 9.8tmax=np.sqrt(2*h/g)t = np.linspace(0, tmax)xt = v0*tyt = h-1/2*g*t**2plt.plot(xt,yt,'r -')plt.grid('on')plt.axis([0, 5000, 0, h])plt.show()绘制炸弹轨迹h=3000v 0=200根据h 和v 0计算x t 和y timport numpy as np import matplotlib.pyplot as plth, v0, g = 3000, 200, 9.8tmax=np.sqrt(2*h/g)t = np.linspace(0, tmax)xt = v0*tyt = h-1/2*g*t**2plt.plot(xt,yt,'r -')plt.grid('on')plt.axis([0, 5000, 0, h])plt.show()2.7.3 返回值16绘制炸弹轨迹?h=3000, 2000?v 0=200, 260根据h 和v 0计算x t 和y t 习题在同⼀坐标系中绘制各情况下的轨迹for h in H:for v0 in V0:import matplotlib.pyplot as plt import plt.grid('on')numpy as npimport matplotlib.pyplot as pltdef calBombTrace (h, v0):g=9.8; tmax=np.sqrt(2*h/g)t = np.linspace(0, tmax)return v0*t, h-1/2*g*t**2H, V0=[3000, 2000],[200, 260]for h in H:for v0 in V0:xt,yt=calBombTrace(h,v0)plt.plot(xt,yt)plt.grid('on')plt.axis([0, 6500, 0, 3000])plt.show()与数学中函数类似= =1×2×3×?×17def f (x):y = 1for i in range (1, x+1):y=y*i return y print (f (10))能不能直观表⽰这种形式的数学函数?= = 1 ?1, =1, >1,(∈)if x==1:return 1def else:return x*f(x-1)f (x):if x==1:return 1else :return x*f (x-1)print (f (10))递归调⽤:⾃⼰调⽤⾃⼰1202年,意⼤利数学家斐波那契提出了“兔⼦繁殖问题”:假设⼀对成熟的兔⼦每⽉能⽣⼀对⼩兔(⼀雌⼀雄),⼩兔⼀个⽉后长为成熟的兔⼦,假定兔⼦不会死亡,那么由⼀对刚出⽣的⼩兔开始,第n个⽉时会有多少对兔⼦?。
信息编码及信息表示第二讲内容1、进制的基本概念2、二进制运算3、进制之间的转换0进制的起源❑计数系统(5万年前开始)◆刻痕◆结绳记事◆算筹◆进位制(进制)❑进制◆一种计数方法,一般用于刻画事物间的数量关系,是人们在长期实践中发现和发明的十进制传说起源于用十个手指头计数二进制传说起源于中国道教的八卦?◆进位计数制,简称进制◆生活中的常用的还有哪些进制?◆任何一个数,可以用不同的进位制表示❑基本符号集◆表示某种进位制所具有的数字符号的个数❑语法规则◆合法字符串:数符排列规则❑语义规则◆逢十进一❑基本运算◆四则运算十进制5 4 3 . 2 1↓ ↓ ↓ ↓ ↓102101 100 10-1 10-2百十个逢十进一1.进制的基本概念——8/16进制❑八进制◆基数是“8”:0,1,2,3,4,5,6,7❑十六进制◆基数是“16”:0,1,2,3,4,5,6,7,8,9,A ,B ,C ,D ,E ,F (10, 11, 12, 13, 14, 15)逢八进一逢十六进一2.二进制运算❑算术运算◆加、减、乘、除❑逻辑运算◆与、或、非、异或2.二进制运算——算数运算❑加法:“逢二进一”0+0=0;0+1=1+0=1;1+1=10❑减法:“借一当二”0-0=0;1-0=1;1-1=0;0-1=1❑乘法:“被乘数的移位与相加”0×0=0;1×0=0×1=0;1×1=1❑除法:“除数的移位与相减”1 ÷1=1;0 ÷1=0;( 0÷0=0 ;1 ÷0无意义)2.二进制运算——逻辑运算❑计算机中的逻辑运算是按“位”进行的,上述真值表代表了每一位的计算公式◆010 ∧110 = 010◆010 ∨110 = 110◆⌝010 = 101◆010 ⊕110 = 100练习一❑11011 + 11001 = 110100❑11.101 1.01 = 10.011❑A=10110101,B=10010011,C=01011101◆(A ∨B) ⊕!(B ∧C) = 01011001计算机为什么采用二进制?V ◆易于物理实现(只需0、1两个状态)◆运算规则简单◆适合逻辑运算◆通用性强◆表示数据抗干扰能力强,可靠性高9 9 9 998 8 8 88 9 9 9 1×R(R +1)/2研讨:通信密语的编码假设有两支友邻军队夜间在一条河的两岸并行行军。