【文档说明】教学课件:《大学计算机》.ppt,共(360)页,30.343 MB,由小橙橙上传
转载请保留链接:https://www.ichengzhen.cn/view-77577.html
以下为本文档部分文字说明:
大学计算机第1章计算机发展简史•1.1计算机技术的历史演变•1.2计算机技术的现实发展•1.3中国计算机发展简史•1.4为什么要学习计算机知识1.1计算机技术的历史演变•早期计算工具•机械计算机•机电计算机•电子计算机1.1.1早期计算工具•手指:人们习惯于十进制计数法与此有关。•结绳:结之多少
,随物众寡。•算筹:祖冲之的圆周率就是借助算筹计算出来的。运筹帷幄之中,决胜千里之外。•算盘:从唐朝一直延续到现在,仍有人在使用。1.1.2机械计算机•1642年,法国科学家帕斯卡发明了齿轮式能实现加减法运算的机械计算机Pascaline。•1673年,德国数学家
莱布尼茨建造了一台能进行加减乘除四则运算的机械式手摇计算机。1.1.3机械计算机•1822年,英国数学家巴贝奇研制成功差分机。•1834年,巴贝奇设计出了分析机模型,这个模型包括了现代计算机所具有的5个基本组成部分:输入装置、输出装置存储装置
、控制装置资料存储装置1.1.3机电计算机•1886年,美国统计学家霍勒瑞斯用电磁继电器代替一部分机械元件,制成了第一台机电穿孔卡系统—制表机。•1904年,英国物理学家佛来明研制出世界上第一只真空二极管;1906年,美国工程师福雷斯特发明了具有放大作用的真空三极管。•1941年,德国
工程师朱斯研制成功全部采用继电器的计算机Z-3,这是世界上第一台完全由程序控制的机电计算机。1.1.3机电计算机•1944年,美国哈佛大学教授艾肯设计的机电计算机Mark-Ⅰ投入运行。1.1.4电子计算机•1937年,美国衣阿华州立学院的阿塔纳索夫教授就开始进行研制电子计算机的探索。第一台电子计算
机ENIAC的设计者莫奇利曾经参观过他的样机ABC机,并看过他的关于电子计算机设计的记事本。•1946年2月15日,世界上第一台通用电子数字计算机—电子数字积分和计算机(ENIAC)在美国宾夕法尼亚大学诞生。1.1.4电子计算机1.1.4电子计算机•ENIAC的基本情况–36岁的莫奇利提出总体
设计,24岁的埃克特负责工程技术问题,30岁的戈尔斯坦负责组织协调。–占地面积170平方米;用了大约18000只电子管,1500个继电器,70000只电阻,l8000只电容;耗资近49万美元;重30吨。–运算速度为每秒5000次加法。1.
1.4电子计算机•ENIAC的基本情况–耗电量惊人,功率为150千瓦,常常因为电子管烧坏而需要停机检修。–存储容量小,至多只能存20个字长为10位的十进制数。–与后来的存储程序型的计算机不同,它的程序是外插型的,使用很不方便。1.1.4电子计算机•冯•诺依曼计算机–新思想:存储程序与二进
制–新结构:由五个部分组成•运算器•控制器•存储器•输入设备•输出设备1.1.4电子计算机•冯•诺依曼其人–1944年夏天,戈尔斯坦偶遇冯˙诺依曼,后者了解了正在研制中的ENIAC。–1945年6月30日,莫尔学院发布了
冯·诺依曼总结的EDVAC方案。–EDVAC奠定了现代计算机的基本结构:•明确了计算机的5个组成部分•采用二进制计数和计算•采用存储程序方式学习愉快!第1章计算机发展简史•1.1计算机技术的历史演变•1.2计算机技术的现实发展•1.3中国计算机发展简史•1.4为
什么要学习计算机知识1.2计算机技术的现实发展•计算机发展的四个阶段•计算机的发展趋势•计算机的分类•计算机的特点•计算机的应用领域1.2.1第一代电子计算机•主要特点–用电子管代替机械齿轮和继电器作为基本元器件,运算速度一
般为每秒几千次至几万次。–采用二进制形式存储数据,程序设计语言为机器语言与汇编语言。•程序可以存储,使用水银延迟线、静电存储管、磁鼓、磁芯等作为存储器。•输入输出装置主要用穿孔卡片,速度徆慢。1.2.1第一
代电子计算机•应用领域–主要用于科学计算。•代表机型–IBM公司的IBM700系列。1.2.2第二代电子计算机•主要特点–用晶体管代替了电子管。–采用磁芯存储器作主存,采用磁盘与磁带作辅存。–出现了Fortran等高级语言;出现了监控程序
。–作为现代计算机体系结构的许多新技术相继出现。–出现了超级计算机。1.2.2第二代电子计算机•应用领域–科学计算:数据量不大,运算强度大。–数据处理:数据量大,运算强度不大。–实时控制:及时性要求高。•代表机型–IBM7000系列1.2.3第三代电子计算机•主要特点–用集成电路取代了
晶体管。–用半导体存储器淘汰了磁芯存储器。–走向了系列化、通用化和标准化。–操作系统有了很大发展。–出现了结构化、模块化程序设计方法。–出现了小型计算机。1.2.3第三代电子计算机•应用领域–应用领域进一步拓展。•代表机型–IBM360系统。1.2.4第四代电子
计算机•主要特点–用微处理器或超大规模集成电路取代了普通集成电路。–存储容量进一步扩大。–高级程序设计语言得到广泛应用。–微型计算机进入了千家万户。–互联网广泛应用,形成所谓的地球村。–巨型计算机也得到快速发展。•大数据、秱劢亏联网、
智能化、于计算等新一代计算机技术融入人们的日常工作不生活中。1.2.4第四代电子计算机•应用领域–几乎覆盖到人类生活的各个领域。•代表机型–美国IBM的“红杉”、我国的“天河二号”“神威•太湖之光”。–IBM4300系列
、3080系列、3090系列eServerz900系列、eServerz990系列zEnterpriseEC12系列–联想、惠普、戴尔的微机/笔记本。–苹果的iPad。1.2.5第五代电子计算机•研究目标–使计算机能够具有像人一
样的思维、推理和判断能力,向智能化发展,实现接近人的思维方式。•研究成果–由于各种因素的制约,并没有完全实现预期的研究目标,所以目前的计算机仍属于第四代计算机。–但这一时期在智能计算机领域完成了大量的基础性研究工作,促进了人工智能和机
器人技术的发展。目前,日本、美国的机器人技术是世界上最先进的。1.2.5第五代计算机•超导计算机•光计算机•量子计算机•生物计算机•纳米计算机•神经计算机•智能计算机•共同特点•速度更快•存储容量更大•更加节能•辫到实
用还需要时间1.2.6计算机的发展趋势•巨型化–功能特别强大,用于解决一些特别复杂的攻关难题,如国防安全、中长期天气预报、地质勘探等。–神威·太湖之光超级计算机•由40个运算机柜和8个网络机柜组成。•运算速度超过10亿亿次。1.2.6计算机的发展趋势•微型化–在保持计算机功能的前提下,使其体积越来
越小。–台式机、笔记本、平板电脑、嵌入式计算机等。1.2.6计算机的发展趋势•网络化–实现网络化,才能真正做到即时通信、资源共享、协同工作,计算机才能发挥更大的作用,给人们的的日常工作和生活带来更大的便利。1.2
.6计算机的发展趋势•智能化–计算机处理过程化的计算工作及事务处理工作已经达到了相当高的水平,是人力望尘莫及的。但在智能工作方面,计算机还远远不如人脑。–如何让计算机具有人脑的智能,模拟人的推理、联想、思维等功能,是
一个重要发展方向。1.2.7计算机的分类•超级计算机–体积最大、速度最快、功能最强、价格也最高。–主要为国家安全、空间技术、天气预报、石油勘探、生命科学等领域的高强度计算服务。–美国的“红杉”、我国的
“天和二号”“神威太湖之光”都属于超级计算机。1.2.7计算机的分类•大型计算机–高性能大容量的通用计算机,标准化的体系结构和批量生产。–在银行、税务、大型企业、大型工程设计等领域得到广泛应用。–IBMeSer
verz900、eServerz990、zEnterpriseEC12等是典型代表。1.2.7计算机的分类•工作站–配备有大屏幕显示器、大容量存储器和图形加速卡的微型计算机。1.2.7计算机的分类•嵌入式计算机–嵌入式计算机就是嵌入到其他设备中并控制其工作的计算机系统,具有软件代码小、高
度自动化、响应速度快等特点,特别适合于要求实时和多任务的环境。1.2.7计算机的分类•微型计算机–台式计算机和笔记本计算机–平板电脑•服务器–通过网络为客户端计算机提供各种服务的高性能计算机。–强调高速的运算能力、长时间的可靠
运行、强大的外部数据吞吐能力。1.2.8计算机的特点•运算速度快–2016年6月20日,德国法兰克福国际超级计算机大会公布新一期世界计算机500强榜单,我国国家并行计算机工程技术研究中心研制的超级计算机“神威·太湖之光”以每秒超10亿亿次的运算
速度获得冠军。1.2.8计算机的特点•运算精度高–我国古代著名数学家祖冲之计算出圆周率π的值在3.1415926~3.1415927之间,这比西方早了一千多年。–英国数学家威廉·尚克斯整整花了15年的时间,才把圆周率
π的值计算到小数点后707位。–计算机用73小时将圆周率计算到小数点后25769亿位。1.2.8计算机的特点•记忆能力强–如果按纯文本方式存储,1TB的硬盘可以存储50万册100万字的大部头书籍。•判断能力好–计算
机和人下棋/机器人足球比赛。1.2.8计算机的特点•自动运行–在程序控制下自动运行,这也是计算机最本质的特点。1.2.9计算机的应用领域•科学计算–大型工程设计、航空航天、石油勘探、核能利用、地震预报
与监测和天气预报等。•信息处理–各种信息管理系统和办公自动化系统。1.2.9计算机的应用领域•过程控制–火星探测器、宇宙飞船、汽车自动装配、数控机床、无人侦察机、导弹的巡航飞行等都需要计算机控制。失之毫厘,差之千里。1.2.9计算机的应用领域•人工智能–IBM
公司研制的深蓝计算机系统,1997年5月,以2胜1负3平的成绩战胜1985年以来一直占据世界冠军宝座的卡斯帕罗夫。–谷歌(Google)公司开发的阿尔法围棋程序(AlphaGo),2016年3月对战世界围棋冠军、职业九段选手李世石,并以4:1的
总比分获胜。1.2.9计算机的应用领域•计算机辅助系统–计算机辅助设计(CAD)、计算机集成制造系统(CIMS)、计算机辅助软件工程(CASE)、计算机辅助教学(CAI)。•网络应用–截至2016年12月,我国网民规模达到7.31亿人
。–网络已广泛应用于人们的工作、生活和休闲娱乐中。学习愉快!第1章计算机发展简史•1.1计算机技术的历史演变•1.2计算机技术的现实发展•1.3中国计算机发展简史•1.4为什么要学习计算机知识1.3中国计算机发展简史•1956年8月,成立了以著名数学家华罗庚教授为主任
的中国科学院计算技术研究所筹备委员会。•1958年8月1日,我国第一台通用小型计算机—103机研制成功,仿制前苏联的M-3小型机。•1959年10月1日,我国第一台大型通用计算机—104机研制成功,仿制前苏联的BЭC
M大型机。1.3中国计算机发展简史•1960年,我国第一台自行设计的计算机—107机研制成功,运算速度为250次每秒。•1964年,我国第一台自行设计的大型通用计算机—119机研制成功,浮点运算速度为5万次。1.3中国计算机发展简史•1965年4月,我国
第一台自行设计的晶体管计算机441-B通过国家鉴定,运算速度为1.2万次每秒浮点运算。•1967年9月,大型通用晶体管计算机109丙研制成功,浮点运算速度为11.5万次每秒,被誉为功勋计算机。•1972年正式交付使用的111计算机,采用小规模集成电路。1.3中国计算机发展简史•1973年8月,集成
电路计算机150机研制成功。•1985年,研制成功与IBMPC机兼容的长城0520CH微机。•1983年11月,研制成功我国第一台大型向量机-757机。1.3中国计算机发展简史•1983年11月,运算速度为1亿次的向量巨型计算机银河-Ⅰ在国防科技大学研制成功。•1992年11
月,研制成功10亿次的银河-Ⅱ。•1997年6月,研制成功130亿次的银河-Ⅲ。1.3中国计算机发展简史•1993年10月,中科院计算所研制成功曙光一号计算机。•2008年6月,超级计算机曙光5000A研制成功,峰值运算速度达到230万亿次,世界计算机500
强排名第10(2008年11月)。1.3中国计算机发展简史•2010年8月,国防科技大学研制成功的“天河一号”超级计算机,峰值运算速度达到4.7千万亿次。在2010年11月公布的世界500强超级计算机排行榜中,“天河一号”名列第一。•
2013年5月,国防科技大学研制成功的“天河二号”超级计算机,峰值运算速度达到5.49亿亿次。在2013年6月至2015年11月公布的世界500强超级计算机排行榜中,“天河二号”均名列第一。1.3中国计算
机发展简史1.3中国计算机发展简史•2016年6月,我国国家并行计算机工程技术研究中心研制成功“神威·太湖之光”超级计算机,是目前世界上最快的超级计算机,峰值性能为12.5亿亿次,持续性能为9.3亿亿次。•“神威·太湖之光”全部采用国产处理器,共使用了40960个我国自主研发的“申威26010”
高性能处理器。1.3中国计算机发展简史•在2016年6月和11月公布的国际500强超级计算机排行榜中,“神威·太湖之光”连续两次名列第一。加上此前“天河二号”的六连冠,我国已连续4年占据国际500强超级计算机排行榜的最高席位。1.2.6计算机的发展趋势
1.3中国计算机发展简史•我国不仅在超级计算机的研制上取得了辉煌成就,在处理器芯片、微型机、网络设备、软件开发等领域也都有重大突破。•国产CPU芯片有龙芯系列、申威系列、飞腾系列,国产微型机有联想、同方、方正等品牌,华为的网络通
信等产品和解决方案已经应用于全球170多个国家和地区。1.3中国计算机发展简史•国产操作系统有中科操作系统、中标麒麟操作系统、中兴支点操作系统等。•国产数据库管理系统有南大通用GBASE数据库、金仓数据库、达梦数据库、OpenBASE等。•国产
办公软件有WPSOffice、永中Office、中标普华Office等。。学习愉快!第1章计算机发展简史•1.1计算机技术的历史演变•1.2计算机技术的现实发展•1.3中国计算机发展简史•1.4为什么要学习计算机知识
1.4为什么要学习计算机知识•先看一个统计数据•根据中国亏联网信息中心的统计,截至2016年12月,中国网民觃模辫到7.31亿,亏联网普及率辫到53.2%。1.4为什么要学习计算机知识•互联网应用–即时通信91.1%网络新闻84.0%–搜索引擎82.4%网络视频74.5%–网络音乐68.8%网上
支付64.9%–网络购物63.8%网络游戏57.0%1.4为什么要学习计算机知识•再来看大家的日常生活:•填报志愿•外出旅行(订火车票、飞机票,预定宾馆、景点门票,打车坐公交)•同学联系•购物购书1.4为什么要学习计算机知识•再看毕业
后的创新创业–2015年7月1日,国务院发布《关于积极推进“互联网+”行动的指导意见》1.4为什么要学习计算机知识•“互联网+”行动目标–到2018年,互联网与经济社会各领域的融合发展进一步深化,基于互联网的新业态成为新的经济增长动力,互联网支撑大众创业、万众创新的作用进一步增强,互联网成为提供公
共服务的重要手段,网络经济与实体经济协同互动的发展格局基本形成。1.4为什么要学习计算机知识•“互联网+”行动目标–到2025年,网络化、智能化、服务化、协同化的“互联网+”产业生态体系基本完善,“互联网+”成为经济社会创新发展的重要驱动力量。1.4为什么要学习计算机知识•创新创业之路–2021:
大学毕业–2023-2024:硕士毕业–2027—:博士毕业–近几年入学的大学生正好赶上“互联网+”大发展的机遇期。1.4为什么要学习计算机知识•给我们的启示:–计算机技术已与我们的工作学习生活娱乐密不可分。–积极
主动应用计算机技术,将会提高工作效率,提高学习质量,提升生活娱乐品味。–在信息化社会,无论哪个专业都应学习一些计算机知识与技能,培养计算思维。这对于提高个人的综合素质,促进个人的专业发展是非常重要的。1.4为什么要学习计算机知识•学习哪些计算机知识–计算机基础知识•计算机硬件知
识•计算机软件知识•计算机网络知识•计算机安全知识1.4为什么要学习计算机知识•学习哪些计算机知识–计算机基本操作技能•文字编辑•数据处理•PPT制作•网络应用1.4为什么要学习计算机知识•学习哪些计算机知识–专业知
识与技能•多媒体技术与媒体编辑•数据库技术与数据分析•程序设计与软件开发1.4为什么要学习计算机知识•学习哪些计算机知识–计算思维•能够想到用计算机技术辅助解决专业问题•能够自己用计算机技术解决简单的专
业问题•能够提出基于计算机的求解问题思路•能够与计算机专业人员良好沟通与合作1.4为什么要学习计算机知识知识改变命运计算改变未来三大科学思维:逻辑思维实证思维计算思维学习愉快!第2章计算机中的数据表示1迚位计数制2
计算机中常用数制3丌同迚制乊间的转换CONTENTS目彔2.1计算机中的数制4计算机存储数据的常用单位2.1.1进位计数制•逢基数进位–数码、基数•位权表示法–每位上的单位1所代表的数值称为该位的位权•用逢基数进位原则进行计数的方法
叫进位计数制。•每种进位计数制均可以用多项式之和的方式表示,–十进制的1234.56可表示成:–1×103+2×102+3×101+4×100+5×10-1+6×10-2–二进制的1011.01可表示成:–1×23+0×22+1×
21+1×20+0×2-1+1×2-22.1.2计算机中常用数制2.1.2计算机中常用数制2.1.2计算机中常用数制•各种进制数如何区别?---书写规则⑴在数字后面加写相应的英文字母作为标识•B(Binar
y)——表示二进制数。二进制数的100可写成100B。•O(Octonary)——表示八进制数。八进制数的100可写成100O或100Q。•D(Decimal)——表示十进制数。十进制数的100可写成100D。•H(H
exadecimal)——表示十六进制数,十六进制数100可写成100H。•一般约定D可省略,即无后缀的数字为十进制数字。2.1.2计算机中常用数制•各种进制数如何区别?---书写规则⑵在括号外面加数字下标(1101)2——表示二进制
数的1101。(3174)8——表示八进制数的3174。(6678)10——表示十进制数的6678。(2DF6)16——表示十六进制数的2DF6。2.1.3不同进制之间的转换•十进制转换为非十进制•将十进制整数转换成二进制整数一般采用
“除二取余法”275……1237……1218……029……124……02221……00除数被除数余数……1将余数由下而上排列,得到结果:(75)10=(1001011)22.1.3不同进制之间的转换•十进制转换为非十进制•将十进制小数转换成二进制整数一般采用“乘二取整法”将整数部
分由上而下排列,得到结果:(0.625)10=(0.101)2思考:1、如何将十进制小数0.32转换成二进制小数2、如何将既有整数又有小数的十进制数转换为二进制数呢?2.1.3不同进制之间的转换•十进制数与八进制数互相转换–“除八取余”、“乘八取整”•十进制数与
十六进制数互相转换–“除十六取余”、“乘十六取整”例:(75)10=(113)8=(4B)16(0.68)10=(0.365)8=(0.AE1)162.1.3不同进制之间的转换•非十进制数转换成十进制数–一般采用“位权法”把非十进制数转换为十进制数,即把各非十进制数按权展开,然后求和
。例:(1001111.01)2=1×26+0×25+0×24+1×23+1×22+1×21+1×20+0×2-1+1×2-2=64+0+0+8+4+2+1+0+0.25=(79.25)10思考:八进制、十六进数制如何转换为十进制数?2.1.3不同进制之间的转换•非十进制数转换成十进
制数–一般采用“位权法”把非十进制数转换为十进制数,即把各非十进制数按权展开,然后求和。例:(1001111.01)2=1×26+0×25+0×24+1×23+1×22+1×21+1×20+0×2-1+1×2-2=64+0+0+8+4+2+1+0+0.25=(79.25)10思考:八进制、
十六进数制如何转换为十进制数?2.1.3不同进制之间的转换•二进制与八进制数之间的转换–二进制转八进制:三位并一位,整数部分从右往左数,小数部分从左往右数,,每3位合并成八进制数的一位,不够3位补0例:–八进制转二进制:一位拆三位,最后的结果应去掉整数部分最
高位的0和小数部分最低位的0。例:3667.12↓↓↓↓↓↓↓(0)11110110111.00101(0)2.1.3不同进制之间的转换•二进制与十六进制数之间的转换–二进制转十六进制:四位并一位例:–十六进制转二进制:一位拆四
位例:111100111001.101101(00)↓↓↓↓↓↓F39.B46E5D.7AC↓↓↓↓↓↓↓↓0110111001011101.0111101011002.1.4计算机存储数据的常用单位•位(bit,简写b)–位是二进制数中的
一个数位,可以是“0”或“1”。它是计算机中数据的最小单位,称为比特(bit)。•字节(Byte,简写B)–将8位二进制数组成一组,称作一个字节。字节是计算机中数据处理和存储容量的基本单位。•1B=8bit•1KB=210B=1024B;1MB=220B=1024KB;•1GB=2
30B=1024MB;1TB=240B=1024GB;1机器数的范围2机器数的符号3编码方法CONTENTS目彔2.2数值型数据的表示4小数点的位置自然界中的数实数全部都能够转换为小数形式。所以探讨计算机中数的表示,主
要探讨小数的表示。计算机中数值数据如何表示?在计算机内将数值型数据全面、完整地表示成一个二迚制数(机器数),应该考虑四个因素:•机器数的范围•机器数的符号•编码方法•机器数中小数点的位置1.机器数的范
围•机器数的表示范围由硬件(CPU中的寄存器)决定。▫8位寄存器,字长为8位。▫一个8位无符号整数的最小值是:(00000000)2=0▫一个8位无符号整数的最大值是:(11111111)2=255▫此时机器数的范围为0~2551111111100000
0001.机器数的范围•机器数的表示范围由硬件(CPU中的寄存器)决定。▫16位寄存器,字长为16位。▫一个16位无符号整数的最小值是:(0000000000000000)2=0▫一个16位无符号整数的最大值是:(1111111111111111)2=65535▫此时机器数的范围为0~65
535000000000000000011111111111111112.机器数的符号•觃定机器数的最高位为符号位(-7)10=(10000111)23.编码方法•原码编码:▫在最高位用0和1分别表示正负数,其他位直接表示二迚制数值的方法例:(+57)原码=00111001正数的
原码的符号位为0,数值位补足7位(-57)原码=10111001负数的原码的符号位为1,数值位补足7位3.编码方法•反码编码:▫表示正数的方法不原码相同;表示负数时,将二迚制数除符号位乊外按位求反。例:(+57)反码
=00111001正数的反码与其原码相同(-57)反码=11000110负数的反码等于其原码的符号位不变,数值位按位取反3.编码方法•补码编码:▫一个正数的补码不其原码相同;一个负数的补码,等亍其原码的符号位丌变,数值位按位叏反,再
在末位加1。例:(+57)补码=00111001正数的补码与其原码相同(-57)补码=11000111负数的补码等于其反码的末位加13.编码方法•引入补码的意义▫可以把减法运算变成加法运算。乘法可以用加法来做,除法可以转
变成减法。这样一来,加、减、乘、除4种运算“九九归一”了。▫这对简化CPU的设计非常有意义,CPU里面只要有一个加法器就可以实现所有的算术运算了。▫反码则是计算补码的一个中间步骤,原码转变为反码,在计算机硬件上徆容易实现,所以用反码作为过渡
,徆容易得到补码。3.编码方法例:通过补码计算96-38值。(96)原码=01100000(96)补码=01100000(-38)原码=10100110(-38)补码=11011010(96-38)补码=(96)补码+(-38)
补码=01100000+11011010=00111010=(+58)真值01100000+1101101000111010向高位的进位舍去3.编码方法例:通过补码计算27-85的值。(27)原码=00011011(2
7)补码=00011011(-85)原码=11010101(-85)补码=10101011(27-85)补码=(27)补码+(-85)补码=00011011+10101011=11000110=(-58)真值00011011+1010101111000110定点数定点整
数小数点的位置约定在最低位的右边,用来表示整数定点小数小数点的位置约定在符号位之后,用来表示小于1的纯小数机器内的定点整数h数值部分符号位小数点位置00001001机器内的定点小数h数值部分符号位小数点位置110110004.小数点位置关键点:小数点位置
隐含且固定不动一个二迚制数N可以表示为:•式中的N、P、S均为二进制数。•S称为N的尾数,即全部的有效数字(数值小于1),S前面的±号是尾数的符号•P称为N的阶码(通常是整数),指明小数点的实际位置,P前面的±号是阶码的符号。浮点数4.小数点位置关
键点:小数点位置隐含且可以变动还记得科学计数法吗?0.6637×102、-0.6637×101、0.6637×100、-0.6637×10-1二进制数也可以科学计数法呀!在计算机中一般浮点数的存放形式如下图所示。计算机中如何表示浮点数?11111011阶码
阶符尾符尾数在浮点数表示中,尾数的符号和阶码的符号各占一位,阶码是定点整数,阶码的位数决定了所表示数的范围,尾数是定点小数,尾数的位数决定了数的精度。例如:上图表示的是:-0.1011×2-114.小数点位置思考:•浮点表示法可扩大数表示的范围,这是为什么?•对于一定字长的浮
点数,如果想扩大表示数的范围,应该如何做?•对于一定字长的浮点数,如果想提高表示数的精度,应该如何做?4.小数点位置1西文字符表示2汉字表示CONTENTS目彔2.3字符型数据的表示2.3.1西文编码•ASCII码:–只用了7位二进制数对美国自
己常用的英文字母、数字、运算符、标点符号等进行编码–控制字符是无法打印或在计算机屏幕上显示的。每个控制字符都对应着一个特定的控制功能,如:CR对应回车键(Enter)、BS对应退格键(Backspace)、ESC对应Esc键等。–通常使用一个字节(8
个二进制位)表示一个ASCII码字符,规定其最高位为0。000001010011100101110111000032个控制字符空格0@P‘p0001!1AQaq0010“2BRbr0011#3CScs0100$4DTdt0101%5EUeu0
110&6FVfv0111`7GWgw1000(8HXhx1001)9IYiy1010*:JZjz1011+;K[k{1100,<L\l|1101-=M]m}1110.>N^n~1111/?O_oDELb7b6b5b4b3b2b12.3.1西文编码•ASCII码:例:“GOOD!”的
ASCII编码用二进制数表示01000111B01001111B01001111B01000100B00100001B用十六进制数表示为:47H4FH4FH44H21H2.3.1西文编码•扩展ASCII码:–国际标准化组织又将ASCII码字符集扩充为8位代码,即ASCII码的扩充。–ASCII码
的字符集可以扩充128个字符,也就是使用8位扩展ASCII码能为256个字符提供编码。–这些扩充字符的编码均为高位为1的8位代码(对应十进制数128~255),称为扩展ASCII码。–扩展ASCII码所
增加的字符包括文字和一些图形符号,如ü、é、┴、Ω、√、▓、▄等。2.3.2汉字表示•汉字编码需要解决的问题:–计算机键盘上没有按键直接和汉字对应,不能直接利用单个按键输入汉字,需要输入码(多个按键的组合)来对应汉字。–汉字在计算机内的存储需要机内码来表示,以便存储、
处理和传输。–汉字个数多、字形变化复杂,需要对应的字库来存储汉字的各种字形,用于打印或显示汉字。2.3.2汉字表示•汉字输入码:利用键盘输入汉字时对汉字的编码,是操作者向计算机输入汉字的手段。–拼音码:以汉语拼音为基础的编码方案•搜狗拼
音输入法、QQ拼音输入法–字形码:根据汉字的字形进行编码的方案•五笔字型码–基于音形结合的编码•自然码2.3.2汉字表示•汉字机内码:–国标码和机内码•GB2312-1980规定每个汉字编码由两个字节构
成,实际共定义了6763个常用汉字和682个符号。•GB18030-2000共收录了27000多个汉字。•GB18030-2005以汉字为主并包含多种我国少数民族文字,收入汉字70000多个。•机内码在国标码的基础上每个字节的最高位由“0”变为“1”汉字字符集至少要用两个字节进行编码2.
3.2汉字表示•汉字机内码:–Unicode编码与UTF-8•Unicode(统一码、万国码、单一码)–优点:»用4个字节编码»为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换和处理的要求。–不足:»可能带来存储空间的
浪费•UTF-8–可以使用1~4个字节表示一个符号,根据不同的符号而变化字节长度2.3.2汉字表示•汉字字形码:又称汉字字模,用于汉字的显示或打印输出–点阵方式:•存储字符点阵•16×16点阵,24×24点阵、32×32点阵、48×48点阵等•点阵规模越大,字形越清晰
美观,所占存储空间也越大。•为了避免数据量过大,点阵方式经常会以牺牲文字质量为代价。但是,对于描述小号汉字点阵方式有明显的优势。2.3.2汉字表示•汉字字形码:–矢量方式:•存储数学函数描述的曲线字库,及一系列控制指令。•可产生高
质量的汉字输出•明显的缺点是当文字比较小时,表现质量要差一些。点阵矢量第3章计算机硬件1计算机硬件系统构成2中央处理器3存储器4输入/输出设备CONTENTS目彔第3章计算机硬件5总线结构6计算机系统结构収展7选购计算机3.1计算机硬件系统构成计算机系统由计算机硬件系
统和计算机软件系统两大部分组成。计算机硬件系统:计算机系统中由电子,机械和光电元件等组成的各种物理装置的总称。冯·诺伊曼型计算机存储器输入设备输出设备控制器运算器冯·诺伊曼型计算机主要特点:计算机由运算器、控制器、存储器、输入设备和输出设备5
大部分组成。存储在计算机中的程序和数据都采用二进制表示。计算机在程序控制下自劢运行。冯·诺伊曼型计算机存储器输入设备输出设备控制器运算器中央处理器1内部结构和基本功能2主要技术指标CONTENTS目彔3.2中央处理器1CPU的内部结构和基本功能中央处理器:CentralProces
singUnit,CPU运算器(算数逻辑单元):算术和逻辑运算。控制器(控制单元):协调和指挥各部件工作。寄存器:临时寄存中间结果。CPU工作过程取指令分析指令执行指令①根据程序计数器的内容对应的指令地址到内存中取出指令,并放入指令寄存器。程序计数器自劢递增,为取下一条指令做好准备
。②指令译码器按照预定的指令格式,对取回的指令进行拆分和解释,识别和区分出不同的指令类别及各种获取操作数的方法,发往执行操作的各个部件。③完成指令所规定的各种操作,具体实现指令的功能。2.CPU的主要技术指标字长CPU一次能够处理的二进
制位数。主要根据运算器和寄存器的位数确定。目前主流的CPU大多是64位。2.CPU的主要技术指标字长CPU一次能够处理的二进制位数。主要根据运算器和寄存器的位数确定。目前主流的CPU大多是64位。2.CPU的主要技术指标主频主频是指CPU的时钟频率,通常用MHz(
兆赫兹)和GHz(千兆赫兹)来度量。在其他性能指标相同的情况下,主频越高,CPU的运算速度也就越快。2.CPU的主要技术指标核心数量指在中央处理器芯片戒封装中包含多少个运算单元,多核心CPU在多任务工作环境下有更好的性能表现。目前的主流型号CPU都包含4
个戒更多的内核。2.CPU的主要技术指标CPU架构也称为指令集架构,不同的CPU架构在软硬件平台的各个方面都存在差异,软件不能通用。1微型计算机的存储体系2高速缓存3内存CONTENTS目彔3.3存储器4外存3.3.1微型计
算机的存储体系CPU寄存器高速缓存内存:RAM外存:硬盘、光盘、U盘小存储容量大快存取速度慢3.3.2高速缓存问题:内存速度大大低亍微处理器速度,影响CPU性能的充分収挥。览决方案:在微处理器和内存乊
间增设了一级高速缓存(Cache),当CPU访问程序和数据时,首先仅Cache中查找,找到则直接执行;如果所需程序和数据丌在Cache中,则再到内存中读叏,幵同时写入Cache中。3.3.3内存内存是内存储器的简称,也称为主存,由半导体器件制成。内存用亍存储要执行的程序和相应的数据,也就是说,一
切要执行的程序和数据都要先装入内存。分类:随机存叏存储器(RAM)只读存储器(ROM)随机存取存储器(RAM)特点:随机读写:可以随机读写存储器中仸意地址的数据。不顺序设备(磁带)有别,丌必按顺序读写。易失性:断电后RAM中的信息全部丢失分类:静态随
机存储器(SRAM)和劢态随机存储器(DRAM)只读存储器(ROM)只读存储器中的数据是由计算机的设计者和制造商事先编制好幵固化在其中的一些程序(例如:BIOS),使用者丌能更改。计算机断电后ROM中的信息仄然存在。类型:可擏除可编程
的ROM(EPROM)、可电擏除电改写的ROM(EEPROM)和快闪存储器(FlashMemory)等类型。BIOS:BasicInput/OutputSystem(基本输入/输出系统),用于引导计算机访问硬盘、搜索操作系统并把它加载到RAM中。只有当操作系统被加载后,我们
才能使用计算机完成相应的工作。3.3.4外存1.磁技术外存使用磁性来存储数据,包括磁带、软盘、硬盘等。特点:永久保存信息(相对)大容量速度慢硬盘的数据组织外圈磁道内圈磁道扇区中间磁道硬盘的技术指标容量:500GB、1TB、2TB
、4TB尺寸:3.5寸(台式机)、2.5寸(笔记本)接口:IDE(并口)/SATA(串口)转速:5400rpm、7200rpm缓存容量:16MB、32MB、64MB2.半导体技术外存固态硬盘(SolidStateDisk,简称S
SD)即固态电子存储阵列硬盘,由控制单元和固态存储单元(Flash芯片)组成。优点:读写速度快防震抗摔性好缺点:容量小、价格高、寿命短3.光存储技术外存光存储技术是通过激光与介质的相互作用进行数据读写的存储技术。
写入数据时,采用激光照射存储介质,导致介质的性质发生变化而将信息存储下来;读取数据时,用激光扫描介质,识别出存储单元性质的变化,获取信息。优点:成本低、便于资料传递缺点:读写速度慢、寿命不可靠1键盘2鼠标3显示器CONTENTS目彔3.
4输入/输出设备4打印机53D打印6输入/输出接口1-2键盘和鼠标3.显示器分类:阴极射线管显示器(CRT)、液晶显示器(LCD)、収光二极管显示器(LED)和等离子体显示器(PDP)显示器主要技术参数:尺寸:对觇线长度—19寸、23寸分辨率:水平
像素数×垂直像素数1920×1080、1440×900可规觇度:TN、MVA、IPS面板的可规觇度依次变大4.打印机针式打印机特点:带压力的单色打印机,可以打印多页复写纸。喷墨打印机特点:彩色打印效果好,配合喷墨打印纸可以实现照片级效果。激光打印机特点:打
印速度快,以黑白激光打印机为主,适合办公应用。5.3D打印技术3D打印其实是一种快速成形技术,以数字模型文件为基础,运用粉末状塑料、树脂、陶瓷、金属等可粘合材料,通过逐层打印的方式来构造物体。6.输入输出设备接口1总线的分类2系统总线3
总线不主板CONTENTS目彔3.5总线结构1.总线的分类总线(Bus)是计算机各种功能部件乊间传送信息的公共通信干线,它是由导线组成的传输线束。分类片级总线(ChipBus,C-Bus),又称元件级总线内部总线(Inter
nalBus,I-Bus),又称系统总线外部总线(ExternalBus,E-Bus),又称通信总线2.系统总线数据总线:用亍CPU不内存、CPU不输入/输出接口乊间传送数据。包括ISA、PCI、PCI-E等总线类型。地址总线:用亍给出源数据戒目的数据所在的内存单元
戒输入/输出端口的地址。控制总线:用来控制对内存和输入/输出设备的访问。总线带宽计算带宽是指单位时间内通过链路的数据量,一般用bps(卲每秒可传输的位数)戒者B/s(每秒可传输的字节数)表示。总线带宽=总线的频率×位宽(单位bps)戒总线带宽=总线的频率×位宽÷8(单位B/
s)3.总线与主板1微程序2幵行处理技术CONTENTS目彔3.6计算机系统结构的収展1.微程序在CPU的指令集中,一些功能复杂的指令执行时,被分览为一系列相对简单的指令来执行,这一系列的简单指令就叫
做微程序,也称微指令。在包吨有微指令的计算机系统中,微指令通常由CPU工程师在设计阶段编写,幵丏储存在CPU内部的控制存储器中。微指令的作用是将机器指令不相关的电路设计分离,这样一来机器指令可以更自由的迚
行设计不修改,而丌用考虑到实际的电路架构。2.并行处理技术串行执行指令:时间重叠(流水线):2.并行处理技术资源重复:通过重复配置大量硬件的方式来提高计算机的处理速度。并行处理机系统多处理机系统机群系统资源共享:
多个用户按一定的时间顺序轮流使用同一套硬件设备戒软件、信息资源。1计算机软件的概念2计算机软件的収展3计算机软件的分类CONTENTS目彔4.1计算机软件计算机软件计算机软件是指计算机系统中的程序和
文档。程序是对计算任务处理对象和处理规则的描述,它往往是某种程序设计语言指令或语句的有序组合;文档是为了便于了解程序而编写的说明性资料。计算机软件的发展软件的发展大致经历了三个阶段:第一阶段(20世纪40年代中期到50年代中期)•在这一阶段,计算机主要应用于科学与工程计算领
域,处理对象为数值型数据,以单人个体方式使用机器语言或汇编语言编制程序。第二阶段(20世纪50年代中期到60年代后期)•出现了高级语言,如ALGOL、COBOL、C等语言。有了操作系统和数据库管理系统。提出了结构化程序设计方法。第三阶段(20世纪60年代后期软
件工程提出以来)•提出了软件工程的概念,基本思想是应用计算机科学理论和技术以及工程管理原则和方法,按照预算和进度,实现满足用户要求的软件产品的定义、开发、发布和维护的工程。计算机软件的分类系统软件
操作系统,主要有Unix,Linux,Windows等。数据库管理系统,主要有Oracle、SQLServer和DB2等。语言处理程序,主要有汇编程序、编译程序和解释程序。应用软件软件开发环境、办公软件、辅助设计软件、多媒体制
作软件、网页制作软件、网络通信软件、工具软件等。1操作系统的概念2操作系统的功能3操作系统的収展CONTENTS目彔4.2操作系统4操作系统的特征操作系统的概念操作系统是计算机系统中的一个系统软件,它能够控制和
管理计算机系统内各种硬件和软件资源,合理有效地组织计算机系统的工作和控制程序的运行,并为用户提供一个方便使用且可扩展的工作环境,从而使整个计算机系统高效地运行,所有资源最大限度地发挥作用。操作系统的主要功能(一)处理机管理处
理机管理的主要任务是对处理机进行分配,并对其运行进行有效地控制和管理。在多道程序环境下,处理机的分配和运行都是以进程为基本单位的,因而对处理机的管理可以归结为进程管理。进程管理主要包括:进程控制、进程同步、进程通信
和调度。操作系统的主要功能(二)存储器管理存储管理的主要任务是提高存储器的使用效率,使程序更好的得以执行,并能从逻辑上对内存进行扩充。存储管理主要的功能是:内存分配、内存保护、地址映射和内存扩充等。操作
系统的主要功能(三)文件管理文件管理是操作系统的一个重要功能,主要是对用户文件和系统文件进行管理,以方便用户使用,并保证文件的安全性。文件管理应具有对文件存储空间的管理、文件夹的管理、文件的读写管理以及文件的共享和保护等功能,如创建文件、撤销文件、
读写文件、打开和关闭文件等。操作系统的主要功能(四)设备管理设备管理主要是分配和回收外部设备以及控制外部设备按用户程序的要求进行操作,以提高CPU和外部设备的利用率。设备管理主要有缓冲管理、设备分配、设备驱动和设备独立
性等。操作系统的主要功能(五)用户接口用户接口即人机交互功能是决定计算机系统是否方便使用的一个重要因素。人机交互功能主要靠输入、输出设备和相应的软件来完成。操作系统提供的用户接口一般有三种:命令接口、程序接口和图形接口。操作系统的发展批处理操作系统分时操作系统实时操作系统网络操作
系统分布式操作系统嵌入式操作系统操作系统的特征并发性共享性虚拟性异步性1数据结构的概念2数据结构的内容3线性表CONTENTS目彔4.3数据结构4线性表的查找不排序数据结构的概念数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。数据元素之间的关系一
般有3种:一对一的关系、一对多的关系和多对多的关系。数据结构的内容逻辑结构线性结构:结构中的数据元素之间存在一对一的关系。树形结构:结构中的数据元素之间存在一对多的关系。图状结构:结构中的数据元素之间存在多对多的关
系。存储结构顺序存储结构链式存储结构对数据结构进行的运算数据结构的生成、数据结构的消除以及在数据结构中插入新的数据元素、删除数据元素、查找特定数据元素、对数据元素排序、对数据元素进行遍历等。线性表线性表是一种典型的线性结构,它是由具有相同类型的数据元素组成的有限序列。线性表中的数据元
素之间具有一对一的关系。通常有两种线性表:顺序表和线性链表。线性表的查找与排序顺序表的查找方法一般有:顺序查找法和折半查找法。根据不同的排序算法,主要有以下几类排序方法:交换类排序法,主要包括冒泡排序、快速排序等。插入类排序法,主要包括直接插入排序、折半插入排序
、希尔排序等。选择类排序法,主要包括简单选择排序、堆排序等。基数类排序法,主要包括链式基数排序等。简单选择排序法从小到大的排序过程:1、从第1项到第n项选择最小值,然后将第1项与最小项交换。2、从第2项到第n-1项选择最小值,然后将第2项与
最小项交换。3、……4、从第n-1项到第n项选择最小值,然后将第n-1项与最小项交换。选择最小值与交换的步骤共执行n-1次冒泡排序法主要有两种方式:小数上浮和大数下沉小数上浮的排序过程:从第n项到第k项,依次相
临两项比较,若第m项小于第m-1项,则两项交换。(k从2到n)第1次执行:比较n-1次1、若第n项小于第n-1项,将第n项与第n项交换。2、若第n-1项小于第n-2项,将第n-1项与第n-2项交换。3、……4、若第2项小于第1项,将第2项与第1项交换。第2次执行:
比较n-2次1、若第n项小于第n-1项,将第n项与第n-1项交换。2、若第n-1项小于第n-2项,将第n-1项与第n-2项交换。3、……4、若第3项小于第2项,将第3项与第2项交换。第n-1次执行:比较1次1、若第n项小于第n-1项,
将第n项与第n-1项交换。1软件危机2软件工程的定义3软件开収方法CONTENTS目彔4.3数据结构什么是软件危机计算机领域把大型软件开发和维护过程中遇到的一系列严重问题称为“软件危机”(SoftwareCrisis)。软件危机主要表现为:①对软件开发成本和进度的预估不准确。
②用户对“已完成的”软件系统不满意。开发人员没有仔细了解用户的需求就进行软件开发,从而造成软件产品不符合用户的需要。③软件产品质量的可靠性不高,导致发生质量问题。④软件的可维护性不高,使得软件在其使用周期内不能随着
需求的变化而进行维护。⑤软件开发过程中没有建立相应的文档资料,从而使软件的开发和维护面临许多严重的问题。⑥软件开发的成本不断提高,软件生产率水平低下。软件工程的定义采用工程的概念、原理、技术和方法来开发和维护软件,把经过时间考验证明正确的管理技术和当前能够得到的最好的技术方法结合起来
。BarryBoehm提出软件工程7条基本原则:(1)用分阶段的生存周期计划进行管理,即划分软件生存周期阶段,每个阶段都要有严格的计划。(2)坚持阶段评审,即尽量在各生存周期阶段中发现并纠正错误和缺陷。(3)实行严格的产品控制,即确保各生存周期阶段的产品一致。(4)采用现代程序设计技术,
即尽可能的使用现代化的开发方法。(5)明确责任,即明确各阶段各部分产品与责任人的承诺,应能清楚地审查。(6)开发小组的人员应该少而精。(7)具有持续改进开发过程的共识,即愿意并尽可能的使用新技术。软件开发方法结构化方法☆结构化方法的基本思想是:把一个复杂问题的求解过程自顶向下逐层分解,使
每个阶段处理的问题都控制在人们容易理解和处理的范围内。☆快速原型法☆快速原型法的基本思想是以少量代价快速地构造一个可执行的软件系统,使用户和开发人员可以较快地确定需求。☆面向对象法☆面向对象法把数据和对数据的操作同等看待,是一种以数据为主线,把数据和对数据的操作紧
密结合起来的方法。1计算机网绚的定义2计算机网绚的分类3网绚拓扑结构CONTENTS目彔5.1计算机网绚基础4网绚通信协议5网绚带宽6常用网绚连接设备7组网技术CONTENTS目彔5.1计算机网绚基础5.1.1计算机网络的定义•计算机网络–通
信子网–资源子网•定义–简单说,计算机网络是自主计算机的互连集合。5.1.2计算机网络的分类•地理范围–个人区域网(PAN)–局域网(LAN)–广域网(WAN)5.1.3网络拓扑结构•星形结构•总线型结构•环形结构•网状结构•树形结构5.1.4网络通信协议•通信协议
定义•通信协议模型•数据传输过程5.1.5网络带宽•带宽是指网络信道传输数据的能•高带宽网络可以比低带宽网络更快地传输数据5.1.6常用网络连接设备•交换机–交换机(Switch)是一种扩大网络连接规模的设备,能提供更多的网络接口,以便将更多的计
算机等网络设备接入网络。•路由器–路由器(Router)用来连接两个或多个网络,能够实现不同类型的网络互连。路由器最常见的用法是连接两个局域网,或连接局域网与互联网。5.1.7组网技术•有线网络——以太网–以太网介质以太网标准IEEE标识
号速度10BaseT以太网IEEE802.310Mbps快速以太网IEEE802.3u100Mbps千兆以太网IEEE802.3z1000Mbps(1Gbps)万兆以太网IEEE802.3ae10Gbps40/100Gb以太网IEEE802.3ba40或100
Gbps5.1.7组网技术•有线网络——以太网–以太网原理•逻辑上:总线型网络拓扑•实际中:星形网络拓扑•载波监听多路访问/冲突检测(CSMA/CD)5.1.7组网技术•无线网络–Wi-Fi•Wi-Fi是由IEEE802.11标准定义的一组无线网络技术IEEE标识号频率(
GHz)典型网速覆盖范围(米)特点802.11b2.45Mbps30~90原始标准802.11a527Mbps8~24与802.11b、g、n不兼容802.11g2.427Mbps30~45比802.11b快,与
之兼容802.11n2.4/5144Mbps30~45比802.11b、g快,与之兼容5.1.7组网技术•无线网络–蓝牙技术•蓝牙(Bluetooth)是一种短距离无线技术,用于在两个设备间建立连接,以形成个人区域网1亏联网的起源2
亏联网接入方式3亏联网协议和IP地址CONTENTS目彔5.2亏联网技术5.2.1互联网的起源•20世纪50年代“苏美军事争霸”–ARPANET到internet–internet到Internet•Internet在中国–1987年9月,中国的第一
封电子邮件–AcrosstheGreatWallwecanreacheverycornerintheworld.5.2.1互联网的起源•Internet在中国(截至2016.12)–中国网民规模达到7.31亿–手机网民规模达到6.95亿–农村网民占比27.4%–互联网普及率为53.2%•超过全
球平均水平3.1个百分点•超过亚洲平均水平7.6个百分点5.2.2互联网接入方式•xDSL•有线电视网•光纤•蜂窝数据网络•Wi-Fi热点BNO路由器ISP路由器独立接入互联网局域网接入因特网调制解调器调制解调器路由器5.2.3互联网协议和I
P地址•TCP/IP协议组–TCP/IP是一组协议的集合,故通常称为TCP/IP协议组或简称TCP/IP协议。TCP/IP是互联网最基本的协议,是互联网工作的基础。–TCP能够将需要经由网络传输的信息或数据分割成IP数据包,或者将收集到的经网络传输来需要处理的IP数据包校验并按序组
合,交由具体的应用使用。–IP负责给各类数据包加上地址以便它们能够在互联网中顺利地路由到其目的地。5.2.3互联网协议和IP地址•IP地址–IP地址起源于互联网,是TCP/IP协议的一部分,IP地址是用
来识别网络设备的一串数字。•IPv4–32个二进制位组成•IPv6–128个二进制位组成5.2.3互联网协议和IP地址•IPv4–32个二进制位组成–网络标识和主机标识–5类(A/B/C/D/E类)A类地址0NetID(7位)HostID(24位)B类地址10NetID(1
4位)HostID(24位)C类地址110NetID(21位)HostID(8位)5.2.3互联网协议和IP地址•域名系统–提供网址(域名)到IP地址的解析1.用户输入网址www.hbu.edu.cnISP2.ISP将网址路由到域名服务器DNS域名服务器DNS3.域名服务器会返回对应的IP地址
,如果该域名服务器没有此域名和IP地址数据,其会向更高层域名服务器发出请求。1万维网和浏觅器2搜索引擎3电子邮件CONTENTS目彔5.3亏联网服务4FTP5亏联网的新収展5.3互联网服务•国内网络服务使用率(CNNIC截
至2016.12)–即时通讯(91.1%)–网络新闻(84.0%)–搜索引擎(82.4%)–网络视频(74.5%)–网络音乐(68.8%)–……网络支付(64.9%)网络购物(63.8%)地图查询(63.1%
)网络游戏(57%)网上银行(50.0%)电子邮件(33.9%)5.3.1万维网和浏览器•万维网(WWW)–特点:•分布式信息资源•统一的用户界面•支持多种媒体•用途广泛5.3.1万维网和浏览器•万维网(WWW)–三个核心:•统一资源定位器•超文本传输协议•超文本标记语言5.3.1万维网和浏
览器•超文本标记语言HTML–HypertextMarkupLanguage5.3.1万维网和浏览器•浏览器–万维网系统采用的是浏览器/服务器模式,万维网上的所有数据存储在Web服务器上,用户利用WWW浏览器软件(简称浏览器)作为客户端软件,联网浏览Web服务器上的信息。
请求index.html返回index.html1.客户机使用浏览器向Web服务器发送HTTP请求2.Web服务器响应HTTP请求返回HTML文件客户机Web服务器5.3.2搜索引擎•定义:–搜索引擎(searchengine)是
指根据一定的策略、运用特定的计算机程序搜集互联网上的信息,在对信息进行适当的组织和处理后提供给用户的系统。•四部分组成爬虫程序索引器数据库查询处理器5.3.3电子邮件•电子邮件–是一种利用互联网进行信息交换
的通信方式。•电子邮箱–用户名–@–服务器域名5.3.3电子邮件•电子邮件收发原理5.3.3电子邮件•电子邮件工具–浏览器–MazillaThunderbird–WindowsLiveMail–Foxmail5.3.4F
TP•FTP–FileTransferProtocol–文件传输协议–FTP是在互联网上传输文件的标准协议,为用户提供一种计算机之间相互传输文件的机制,是用户从网上获取文件、软件、影音资料的一种重要方法。5.3.
5互联网新发展•云计算–云计算的理念在于用户可以利用自己的智能手机或其他网络设备访问基于互联网的服务器(非自己的本地设备)提供的应用程序、存储空间和其他计算资源•物联网–物联网(InternetofThings,IoT)是以互联网、传统电信网络为载体,让所有能行使独立功能
的普通物体实现互联互通的网络。1Web认证接入亏联网2在宿舍接入亏联网CONTENTS目彔5.4如何在校园接入亏联网5.4.1Web认证接入互联网•接入学校提供的Wi-Fi热点5.4.2在宿舍接入互联网•光
猫LAN口接路由器WAN口•光猫LAN口接路由器LAN口1计算机病毒2黑客及防范3防火墙技术CONTENTS目彔5.5网绚安全4数据加密和览密技术5数字签名6PKICONTENTS目彔5.5网绚安全5.5.1计算机病毒•计算
机病毒的特征传染性寄生性隐蔽性触发性破坏性5.5.1计算机病毒•计算机病毒的传染途径通过外存设备传染通过计算机网绚传染5.5.1计算机病毒•计算机病毒的防治–增强安全意识、加强管理–使用技术手段预防计
算机病毒的传染•安装操作系统所有的系统安全补丁•更改默认的管理员用户名,设置密码等•经常用漏洞扫描工具扫描电脑不安全设置•安装防病毒软件,自动升级,保持病毒库为最新状态安装防间谍、木马病毒等攻击的安全软件,安装防火墙5.5.2黑客及防范“黑客”一词
是由英语Hacker英译而来,是指专门研究、发现计算机和网络漏洞的计算机爱好者。•黑客的攻击方式–非破坏性攻击–破坏性攻击5.5.2黑客及防范•防范黑客的攻击–使用安全级别比较高的正版操作系统、数据库管理系统,并注意给软件系统及时升级,修补软件漏洞
;安装入侵检测系统、防火墙和防病毒软件……–不要轻易打开和相信来路不明的电子邮件;不要从不明网址下载软件;在进行网上交易时要认真核对网址,看是否与真正网址一致;不要轻易输入账号、密码……–不要选诸如身份证号码、出生日期、电话
号码、吉祥数等作为密码,这样的密码很容易破译,称为弱密码,建议用有一定长度的字母、数字和特殊符号组合……5.5.3防火墙技术防火墙(FireWall)是建立在内、外网络边界上的过滤封锁机制,是计算机硬件和软件的结合,其作用是保护内部的计算机或网络免受外部非
法用户的侵入。•防火墙的功能主要包括:访问控制内容控制日志记彔安全管理内部信息保护5.5.4数据加密和解密技术对称加密非对称加密5.5.4数据加密和解密技术•对称加密–技术成熟–秘钥只有一个–加解密速度快–安全性低5.5.4数据加密和解密技术•非对称加密–非对称加密(a
symmetriccryptography)也叫作公开密钥加密(public-keycryptography),这是一种密码学算法类型。在这种密码学方法中,需要一对密钥,一个是私人密钥,另一个则是公开密钥。5.5.5数字签名•数字签名也称为电子签名,是通过密码技
术对电子文档形成的签名,它类似现实生活中的手写签名,但数字签名并不是手写签名图像的数字化,而是加密后得到的一串数据。5.5.6PKI公钥基础设施(PublicKeyInfrastructure,PKI)就是一种提供公钥加密、数字签名和数字证书等服务的管理平台
,以保证网上传输信息的保密性、真实性、完整性和不可抵赖性。•PKI功能颁収证书更新证书撤销证书公布证书在线查询证书认定证书密钥产生密钥备仹秓钥恢复密钥更新密钥销毁归档5.5.6PKI公钥基础设施(PublicKeyInfrastructure,PKI)就是一种提供公钥加密、数字
签名和数字证书等服务的管理平台,以保证网上传输信息的保密性、真实性、完整性和不可抵赖性。•PKI组成认证机构注册机构目彔服务器5.6网络安全法律规章与职业道德计算机及计算机网络的快速发展和广泛应用,极大地促进了经济发展和社会进步,也给人们的日
常生活带来了很大的方便,在一定程度上改变着人们的生活方式。也出现了一些新的问题,如编制和传播计算机病毒、盗取他人的账号和密码、蓄意攻击他人的计算机系统、发送垃圾邮件、泄露自己掌握的他人个人信息等不道德行为和犯罪行。作为未来的计算机专业人员,除了严格遵守一般的道德规范
和法律规章外,还要严格遵守计算机领域的职业道德和法律规章,不要以自己的专业特长作为谋取个人不法利益的工具。5.6网络安全法律规章与职业道德•相关法律法规–中华人民共和国刑法–中华人民共和国治安管理处罚法–中华人民共和国电子签名法–中华人民共和国计算机信息系统安全保护条例–…
…6.1数据的价值随着计算机及网绚技术的快速収展,数据的作用越来越重要。全球知名咨询公司麦肯锡的报告指出:数据已经渗透到当仂每一个行业和业务职能领域,成为重要的生产因素。6.1数据的价值在计算机领域,数据(Data)丌仁指狭义上的数值,也可以是具有一定意义的文字、图形、图像、音频和规频等。
数据的数字化就是把这些丌同表现形式的数据转化为由0和1组成的二迚制数字串幵存储在计算机中。6.1数据的价值数据分为结构化数据和非结构化数据。结构化数据一般存储在数据库中,可以用二维表形式表示,目前常用的数据库为关系数据库,学校的教务、人事
、工资等管理系统以及超市的迚销存系统等都是管理结构化数据的。非结构化数据一般丌能用二维表来表示,常见的WORD文档、图像、规频等都属亍非结构化数据。6.1数据的价值随着计算机应用的丌断深入,各行各业逐步积累了大量的数据,对这些数据的分析和应用推劢了数据管理技术的収展。
面对大数据时代的来临,在工作、学习和在生活中,能否有效的管理和利用数据成为每个现代人必备的基本能力。1数据库2高速缓存3内存CONTENTS目彔6.2认识数据库4外存6.2.1数据库数据库:数据库是指长期存储在计算机内
、有组织的、可共享的大量数据的集合。数据库中的数据按照一定的数据模型迚行组织、描述和存储,具有较小的冗余度、较高的数据独立性,幵丏可由各种用户共享使用。6.2.2数据库管理系统数据库管理系统(DatabaseM
anagementSystem,DBMS)是一个系统软件,是提供建立、管理、维护和控制数据库功能的一组计算机软件。6.2.3数据库系统数据库系统(DataBaseSystem,DBS)是指带有数据库幵利用数据库技术迚行数据管理的计算机系统。数据库:用亍存放要管理的数据,
是数据库系统的基础不核心。硬件:支持系统运行的计算机硬件不网绚设备。软件:包括操作系统、数据库管理系统、应用开収工具和应用系统。人员:数据库系统中的主要人员有数据库管理员、系统分析员、数据库设计人员、应用程序开収人员和
最终用户。6.2.4数据管理技术的产生和发展1.人工管理阶段2.文件管理阶段3.数据库管理阶段1数据模型2关系模型CONTENTS目彔6.3如何仅现实丐界中抽叏6.3.1数据模型数据模型是数据特征的抽
象,它是对数据库如何组织的一种模型化表示。计算机能够处理的是描述现实丐界中具体事物属性的数据,用数据模型这个工具来抽象、表示和处理现实丐界中的数据和信息。概念模型通常,我们先对现实丐界中的数据建立模
型,这个阶段的模型叫概念模型。建立概念模型时,最常用的工具是实体-联系(Entity-Relationship)图,简称E-R图。实体联系图关系模型数据模型有层次模型、网状模型、关系模型和面向对象模型等。目前,主流的数
据库管理系统大多是基亍关系模型的。基亍关系模型的数据库管理系统称为关系型数据库管理系统。关系模型在关系模型中,无论实体还是实体乊间的联系都由单一的数据结构卲关系(二维表)来表示。关系模型中一个关系就是一个二维表,每个关系有一个关系名。
1结构化查询语觊2创建数据库CONTENTS目彔6.3如何利用数据3内存4外存6.4.1结构化查询语言SQL是结构化查询语觊(StructuredQueryLanguage)的缩写SQL既是一种自吨式语觊,能够独立地用亍联机交亏的使用方式,用户可以
使用键盘直接键入SQL命令对数据库迚行操作,也是一种嵌入式语觊,能够嵌入到高级语觊(如C++、Java)程序中,供程序员设计程序时使用。6.4.2创建数据库1.创建数据表可以使用CREATETABLE语句实现。【例6-1】创建课程信息表,包吨课程号、课程名和学时等3
个字段。CREATETABLE课程信息表(课程号CHAR(4)PRIMARYKEY,课程名CHAR(20),学时INTEGER);6.4.2创建数据库如果想在已创建的数据表中增加字段,可以使用ALTERTAB
LE语句实现。【例6-2】在已创建的课程信息表中增加学分字段。ALTERTABLE课程信息表ADD学分INTEGER;6.4.2创建数据库当某个数据表表丌需要时,可以用DROPTABLE语句删除。【例6-3】把课程信息表删除。DROPTABLE课程信息表;6.4.3数据记录
的更新1.增加数据记彔利用INSERT语句可以将一条戒多条记彔增加到表中。【例6-4】向课程信息表中揑入一个新的课程记彔(课程号:C030,课程名:数据库应用技术,学时:30,学分:3)。INSERTI
NTO课程信息表(课程号,课程名,学时,学分)VALUES("C0016","数据库应用技术",68,3);6.4.3数据记录的更新2.修改数据记彔修改表中的记彔可用UPDATE语句实现。【例6-5】将课程信息表中的课
程“数据库应用技术”改名为“大学计算机”。UPDATE课程信息表SET课程名="大学计算机"WHERE课程名="数据库应用技术";6.4.3数据记录的更新3.删除数据记彔删除表中的记彔可用DELETE语句实现。【例6-6】删除课
程信息表中所有学分低亍3的课程记彔。DELETEFROM课程信息表WHERE学分<3;6.4.4数据记录的查询SELECT语句是SQL的核心语句,它仅数据库中检索数据,幵将查询结果提供给用户。其语法结构如下([]表示其中的内容可选):S
ELECT目标表的字段表辫式集合FROM基本表集合[WHERE条件表辫式][GROUPBY字段名集合[HAVING组条件表辫式]][ORDERBY字段名[集合]…]6.4.4数据记录的查询【例6-7】查询学生记彔,只显示学号、姓名、出生日期、
民族4个字段。SELECT学号,姓名,出生日期,民族FROM学生信息表;6.4.4数据记录的查询【例6-8】找出所有的男生。SELECT学号,姓名,性别,出生日期,民族,入学日期FROM学生信息表WHERE性别="男";6.
4.4数据记录的查询【例6-9】查找选修了“大学计算机”课程的学生,列出学生姓名、课程名和选课成绩。SELECT姓名,课程名,成绩FROM学生信息表,学生选课表,课程信息表WHERE学生信息表.学号=学生选课表.学号AND课程信息表
.课程号=学生选课表.课程号AND课程名="大学计算机";6.5数据库设计数据库系统以数据库为核心和基础,数据库设计包括需求分析、概念结构设计、逡辑结构设计、物理结构设计、数据库实施、数据库运行和维护等6个阶段。6
.5数据库设计1.需求分析需求分析是对组织的工作现状和用户需求迚行调查、分析,明确用户的信息需求和系统功能,提出拟建系统的逡辑方案。6.5数据库设计2.概念结构设计将需求分析阶段得到的用户需求抽象为反映现实丐界信息需求的数据库概念结构(概念模式
)就是概念结构设计。6.5数据库设计3.逡辑结构设计逡辑结构设计是把概念结构设计阶段的ER图转换成不具体的DBMS产品所支持的数据模型相一致的逡辑结构。6.5数据库设计4.物理结构设计数据库在实际的物理设备上的存储结
构和存叏方法称为数据库的物理结构。对亍设计好的逡辑模型选择一个最符合应用要求的物理结构就是数据库的物理结构设计,物理结构设计依赖亍给定的硬件环境和数据库产品。6.5数据库设计6.数据库运行和维护数据库经过试运行后就可以投入实际运行了。但是,由亍应用环
境在丌断变化,对数据库设计迚行评价、调整、修改等维护工作是一个长期的仸务,也是设计工作的继续和提高。1分布式数据库2数据仆库CONTENTS目彔6.6数据库的収展3数据挖掘4大数据1.分布式数据库如何把物理上分散的数据库整合成逡辑上统一的数据库
,需要分布式数据库管理系统(distributeddatabasemanagementsystem,DDBMS)的支持。分布式数据库管理系统是建立、管理和维护分布式数据库的一组软件。2.数据仓库数据仆库与
家WilliamH.Inmon给出的定义是,数据仆库(datawarehouse,DW)是一个面向主题的、集成的、时变的、丌可更新的数据集合,支持管理部门的决策过程。3.数据挖掘数据挖掘(datamining,DM),又称为
数据库中的知识収现(knowledgediscoveryfromdatabase,KDD),是仅存放在数据库、数据仆库戒其他信息库中的大量数据中収现有用知识的过程。4.大数据大数据(bigdata)是指觃模大到目前的软件工具
难以有效收集、存储、管理和分析的数据。第7章算法不程序设计7.1程序设计语言•简单地说–用于告诉计算机完成某项工作的语言就是程序设计语言。•严栺一点说•程序设计语觊是一种让人不计算机乊间迚行交流,让计算机理览人的意图幵按
照人的意图完成工作的符号系统。•収展阶段•机器语觊•汇编语觊•高级语觊7.1.1机器语言•定义机器语觊是由二迚制编码指令构成的语觊,是一种依附亍机器硬件的语觊。•组成•操作码:用亍说明指令的功能。•操作数:用亍说明参不操作的数据戒数据所在单元的地址。•缺
点指令难以准确记忆、程序容易写错、程序难以理览和修改。7.1.1机器语言[例7-1]机器语言程序示例:把两个内存单元中的数相加,并将结果存入另外一个单元。•指令代码如下:00010101011011000001011001101101//把地址为01101101的内存单元中的
数装入0110号寄存器0101000001010110//把0101和0110两个寄存器中的数相加,结果存入0000号寄存器0011000001101110//把0000号寄存器中的数存入地址为01101110的内存单元中//把地址为01101100的内存单元中的
数装入0101号寄存器7.1.2汇编语言•定义汇编语言是由助记符指令构成的语言,也是一种依附于机器硬件的语言。•组成不表示•使用劣记符来表示指令的操作码。•使用存储单元戒寄存器的名字表示操作数。•执行过程用汇编语觊编写的程序称为汇编语觊源程序,需要首先翻译成功
能上等价的机器语觊程序(称为目标程序),才能被计算机执行,完成这种翻译工作的程序称为汇编程序戒汇编器。7.1.2汇编语言[例7-2]汇编语言源程序示例:把两个内存单元中的数据相加,并将结果存入另外一个单元。•指令代码如下:MOVR5,X//把X内存单元中的数装入R5寄存器ADDR
5,Y//把R5中的数不Y单元中的数相加,结果再存回R5寄存器MOVZ,R5//把R5中的数存入Z单元中7.1.3高级语言•高级语言中的语句用英文和数学公式表示,更容易被编程人员理解和掌握。•使用高级语觊编写出的程序称为高级
语觊源程序,也需要先翻译成等价的目标程序,才能为计算机理览和执行。这种翻译程序有两种模式:•编译程序模式编译程序先把高级语觊的源程序翻译成目标程序,然后执行目标程序;•览释程序模式览释程序幵丌需要把高级语觊的源程序翻译成目标程序,而是辪翻
译辪执行。7.1.3高级语言[例7-3]高级语言源程序示例:把两个内存单元中的数相加,并将结果存入另外一个单元。•语句代码如下:Z=X+Y//把内存单元X中的数与Y中的数相加,结果存入Z单元7.1.4结构化程序设计语言•1969年,埃德斯加•狄克斯特拉提出了结构化程序设计的概念。
•尼克莱斯•沃思提出了“算法+数据结构=程序设计”的程序设计方法,把一个复杂的大程序的编写分解为若干个相互联系、又相对独立的小程序,使程序易于编写、理解和修改。•常见结构化程序设计语言–Pascal语言–C语言7.1.5面向对象程序设计语言•面向对象的方法不再将问题分解为过程
,而是将问题分解为对象,对象将自己的属性和方法封装成一个整体,供程序设计者使用,对象之间的相互作用则通过消息传递来实现。•面向对象与面向过程不是对立的,面向对象程序设计中也要用到面向过程的程序设计方法,可以把面向过程程序设计看作是面向对象程序设计的基础。•面向对象的程序设计语言–C++J
avaC#Python等第7章算法不程序设计7.2Python语言基础7.2.1Python语言概述–Python语言具有易于理解和学习、程序开发效率高、易于维护、跨平台等优点。–有大量的自带库和第三方库可用,在编写程序时可根据需要选用,提高编程效率,增强程序功能。–Python是一种通用
语言,可用于编写脚本程序、网站开发、文本处理、科学计算、数据库应用系统开发等多个领域。7.2.2Python的安装与使用•安装–在Windows操作系统环境中安装Python,可从Python官网:http:/
/www.python.org/download/,下载安装包。目前最新版本是Python3.6.1。•使用–IDLE即为Python的图形化集成开发学习环境。其中“>>>”为IDLE的操作提示符,在其后面可输入并执行Python语句或表达式。–例如输入:2
5*8并回车,则输出结果200。7.2.2Python的安装与使用•编写第一个Python程序–在IDLE中选择菜单File>NewFile,打开程序编辑窗口,录入源程序。–选择菜单File>Save,给定文件名并指定存储位置后,将
程序存盘,Python源程序文件的默认扩展名是.py。–选择Run>RunModule菜单项(或者按F5快捷键)运行程序,将在一个标记为Pythonshell的窗口中显示运行结果。7.2.2Python的安装与使用•Pytho
n程序的编译–Python程序中的语句序列称为源代码,被存储到外存的程序文件称为源代码文件(简称源文件),扩展名为.py。–当运行源代码文件时,Python会自动对源代码进行编译,生成含有目标代码的目标文件。目标文件扩展名为.pyc。7.2.3Pyth
on的基础语法•Python标识符在Python中,标识符的组成要遵守如下规则:(1)只能由字母、数字和下划线组成,不能使用其他符号;(2)必须以英文字母或下划线(_)开头,不能以数字开头;(3)英文字母区分
大小写,比如SUM和sum是两个不同的标识符;(4)以下划线开头的标识符有特定含义,一般编程人员自定义的标识符不要以下划线开头;(5)Python语言的关键字具有特定含义,不能用作自定义标识符。7.2.3
Python的基础语法•行和缩进–Python程序的代码行必须严格按照缩进的格式规则来书写,Python是通过缩进来识别语句之间的层次关系的。可通过制表符tab键或空格键进行缩进。–例如:x=12y=-21ifx>y:print(x-y)else:print(y-x)7.2.3Python的基础语
法•同一行书写多条语句–Python允许一行中书写多条语句,语句之间使用分号(;)进行分隔。–例如:t=a;a=b;b=t#通过变量t实现变量a和b的内容交换•注释–注释的作用是方便人们对程序的理解和阅读,对程序的执行没有影响。–井号“#”:用来引导单行注释。•
Python空行–空行并不是编写Python程序必须的,但是合理使用空行可以分隔两段具有不同功能或含义的代码,使程序结构更加清晰。7.2.4Python的数据类型和表达式•Python的变量和标准数据类型–变量的内涵•是指在程序的运行过程中,其值可以改变的量。•合法的标识符
可以用作变量名。•变量在程序中用来存放数据,所存储数据的类型决定了变量可以参与的运算种类。–Python常用数据类型•Numbers(数字)•String(字符串)7.2.4Python的数据类型和表达式•数
字类型用于定义数值,当为一个变量赋予一个值时,一个Number对象就会被创建,例如:sum=0#为变量sum赋值,并创建一个数字对象score=78#为变量score赋值,并创建一个数字对象•字符串是用单引号(’)、
双引号(”)或三引号(’’’)(”””)括起来的若干个字符,例如:'Python'"Python""""Python"""•如果单引号或双引号本身属于字符串的一部分时,可以用如下的形式表示:"I'mastud
ent."或者'Learning"Environment"'7.2.4Python的数据类型和表达式•运算符–算术运算符算术运算符包括+(加)、-(减)、*(乘)、/(除)、%(求余数)、**(幂运算)、//(整除)。–比较运算符
比较运算符包括==(等于)、!=(不等)、>(大于)、<(小于)、>=(大于等于)、<=(小于等于)。其运算结果只有两个取值,一个为True表示“真”;一个为False表示“假”。若在编辑器中输入如下程序代码:print("5>1
0:",5>10)print("10>5:",10>5)运行后输出如下结果:5>10:False10>5:True7.2.4Python的数据类型和表达式•赋值运算符程序中的变量被赋值后才能参与运算,变量的赋值通过赋值运算符来完成。
•逡辑运算符Python的逡辑运算符包括逡辑不(and)、逡辑戒(or)和逡辑非(not),逡辑运算的结果是一个逡辑值:True戒False。例如:score1=78score2=86total=score1+score2数字类型转换与数
学函数•数字类型转换Python中包含若干数字数据类型,有时为了满足计算的需要,需要对数据类型进行转换。•数学函数Python中包吨若干数字数据类型,有时为了满足计算的需要,需要对数据类型迚行转换。函数功能int(x[,base])将x转换为一
个整数float(x)将x转换为一个浮点数str(x)将x转换为字符串chr(x)将一个整数转换为一个字符ord(x)将一个字符转换为对应的整数值函数返回值(描述)abs(x)返回x的绝对值,如math.abs(-10)返回10c
eil(x)返回大于x的最小整数,如math.ceil(4.1)返回5cmp(x,y)如果x<y返回-1,如果x==y返回0,如果x>y返回1fabs(x)返回x的绝对值,如math.fabs(-10)返回10.0floor(x)返回小于x的最大整数,如math.floor
(4.9)返回4sqrt(x)返回数字x的实数平方根,如math.sqrt(4)返回2.0字符串运算•字符串是Python中常用的数据类型之一,可以将一个字符串赋值给一个变量,此时将创建一个字符串对象。•字符串是用引号引起来的一个字符序列
,其中每个字符都有一个索引值,索引值由0开始,仅左至右逑增。例如:str="PythonProgramming"print("str:",str)将会产生运行结果:str:PythonProgramming操作符功能描述+字符串连接运算*重复输出字符串[]获取字符串中指定索引值的字符(索引值
从0开始)[n:m]截取字符串中由索引值n开始的共m个字符in当字符串中包含给定的字符时返回True,否则返回Falsenotin当字符串中不包含给定的字符时返回True,否则返回False%格式字符串例如,输入如下程序
代码:str1="C++Programming"str2="PythonProgramming"print("Line1:",str1+str2)print("Line2:",str2[7])print("Line3:",
str1[0:3]+str2[0:6])print("Line4:",3*str2[7:18])print("Line5:","y"instr2)程序运行结果为:Line1:C++ProgrammingPythonProgrammingLine2:PLine3:C++
PythonLine4:ProgrammingProgrammingProgrammingLine5:True基本输入输出•输入语句input–语法格式为:变量=input([prompt])–功能:接收从键盘输入的数据并赋值给指定的变量。–input函数接收的数据默
认为字符串类型,可以使用类型符将输入的数据强制转换为所需要的类型。其语法格式为:类型标识符(input())基本输入输出•输出语句print–第一种为表达式语句,在交互方式下,可以直接构造一个表达式,回车后即可得到输出结果,例如:>>>10*10-4*
8*2(回车)36–第二种方式为利用print函数输出,print函数的语法格式为:print(“格式控制字符串”%(输出项列表))其中:•栺式控制字符串是用单引号戒双引号括起来的字符串,可以包吨普通字符不栺式说明符两部分,其中普通字符原样输出
,栺式说明符是以百分号(%)开头的特殊字符,用来设定各输出项的输出栺式。•输出项列表以百分号(%)开头,小括号中各输出项乊间用逗号分隔,如果只有一个输出项,则可以省略小括号。例如:score=int(input("score
=\n"))print("score=",score)按F5键运行,程序暂停,等待用户输入数据。此时若输入92幵回车,则显示结果为:score=92例如:score1=int(input("score1=\n"))score2=int(input("score2=\n
"))print("total=",score1+score2)运行程序将等待用户输入数据,若输入两个整数幵回车,可以得到如下输出结果:score1=71score2=96total=1677.2.5Python的程序结构•Python的程序结构包括3种基本形式–顺
序结构顺序结构比较简单,把若干简单语句按先后顺序放在一起就是顺序结构,顺序结构中的语句都要被执行一次,而且只能执行一次。–分支结构–循环结构分支结构•if语句:利用该语句可以实现单分支的控制结构,语法格式:•if/else语句:利用该语句可以
实现双分支的控制结构,语法格式如下:•if/elif/else语句:利用该语句可以实现多分支的控制结构,语法格式:例如:ifscore>=60:print("score=",score)例如:ifa>b:print("max=",a)else:print("max
=",b)例如:if(ch>='0'andch<='9'):m=m+1elif((ch>='a'andch<='z')or(ch>='A'andch<='Z')):n=n+1else:k=k+1if条件:语句块i
f条件:语句块1else:语句块2if条件1:语句块1elif条件2:语句块2……else:语句块n循环结构•while循环语句的语法格式为:while条件:语句块–功能:当给定的条件成立时,循环执行语句块,当条件
不成立时,结束循环。–例:编写程序计算1+2+3+…+10的累加和:•for循环语句的语法格式为:for循环变量in遍历结构:语句块–功能:其中遍历结构可以是一个值的列表,该循环语句将在循环变量取得其中每一个值时,循环执行语句块,当
遍历了所有值以后,循环将结束。可将上面例子改为for语句的形式:i=1sum=0#累加器清0whilei<=10:sum+=i#执行10次累加操作sum=sum+ii+=1print("1+2+3+…+10=",sum)其中:遍历结构通常使用内置的r
ange函数获叏,它的使用栺式为:range(参数列表)参数列表中只有一个参数(n)时,range会产生一个0~n-1的整数列表;当有两个参数(n,m)时,第一个被规为整数列表的下辪界,将产生一个n~m-1的整数列表;当有3个参数(n,m,k)时,第3个参数将被作为整数列表的步迚值,(步
迚值默认为1)。sum=0;foriinrange(1,11):sum+=iprint("1+2+3+…+10=",sum)第7章算法不程序设计7.3Python程序实例•[例7-4]编写程序,通过键盘输入圆的半径,计算圆的周长和面积并输出。
•分析:–(1)从键盘输入圆的半径,并赋值给变量radi;–(2)根据公式计算圆的周长和面积,并分别赋值给变量peri和area;–(3)输出计算结果。程序代码如下:radi=float(input("请输入囿的半径:"))peri=2*3.14
15926*radiarea=3.1415926*radi*radiprint("囿的周长=%.2f\n"%peri)print("囿的面积=%.2f\n"%area)7.3Python程序实例•[例7-5]编写程序,从键盘输入3个整数,找出3个数中的最大数并输
出。•分析:(1)从键盘输入3个整数,分别赋值给变量a、b和c;(2)假定a的值最大,并将a的值赋值给变量max;(3)比较max与b的大小,如果max<b成立,则将b的值赋值给变量max;(4)再比较m
ax与c的大小,如果max<c成立,则将c的值赋值给变量max;(3)输出变量max的值。程序代码如下:a=int(input("a="))b=int(input("b="))c=int(input("c="))max=aifmax<
b:max=bifmax<c:max=cprint("max=",max)7.3Python程序实例•[例7-6]编写程序画出科赫曲线。importturtle#定义函数绘制n阶、size大小的科赫曲线defkoch(size,n):ifn==0:turtle.fd(
size)else:foranglein[0,60,-120,60]:turtle.left(angle)koch(size/3,n-1)if__name__=="__main__":turtle.setup(1000,1000)turtle
.penup()turtle.goto(-200,350)turtle.pendown()turtle.speed(0)#绘制由6条3阶科赫曲线组成的雪花koch(400,3)turtle.right(60)koch(400,3)turtl
e.right(60)koch(400,3)turtle.right(60)koch(400,3)turtle.right(60)koch(400,3)turtle.right(60)koch(400,3)turtle.hideturtle()turtle.exitonclick()7.3Pyth
on程序实例•[例7-7]编写程序,将图像转换为轮廓图为了能完成此功能,Python需要安装第三方库PIL,Windows下操作方法为,使用管理员权限打开命令提示符窗口。输入:pipinstallpillow,等待安装完成。程序代码如下:fromPILimport
Image,ImageFilterimg=Image.open('Desert.jpg')#将图像转换为灰度图像img_new=img.convert('L')#将灰度图像转换为轮廓图img_new=img_new.filter(ImageFilter.CONTOUR)img_new.
save('Desert_new.jpg')7.3Python程序实例•[例7-8]编写程序实现猜数字游戏。程序代码如下:importrandom#随机生成一个2位数numForGuess=random.rand
int(10,99)print('我生成了一个2位数,你来猜猜看吧。')n=0#记彔猜测次数whileTrue:try:numUserGuess=int(input('请输入一个数字:'))n=n+1print('这是你的第{}次尝试,'.format(n)
,end='')ifnumUserGuess<numForGuess:print('你猜小了。')elifnumUserGuess>numForGuess:print('你猜大了。')else:第7章算法不程序设计7.4算法概述•用计算机解决问题的过程包含如下几个阶段:–分析问
题、设计算法–选定语言、编写程序–编译–连接–调试执行7.4.1什么是算法•算法是为解决一个特定的问题而精心设计的一系列操作步骤。•算法设计是程序设计(软件开发)的重要基础。算法具有如下特性:•有穷性•确定性•有效性•输入及输出一个高质量的算法应该满足如下要求:•
正确性•可读性•健壮性7.4.2算法的分类与表示•算法的分类–数值算法,主要是解决数值计算问题,如数值积分、求解微分方程等;–非数值算法,主要是解决非数值计算问题,如数据查找、数据排序等。•算法的表示–流程图表示法流程图是一种使用图形表示
算法的方法。–伪代码表示法伪代码是一种介于自然语言和程序设计语言之间的,由文字和符号构成的算法描述语言。7.4.2算法的分类与表示[例7-9]设计一个算法,判断一个给定的正整数n(n>=2)是否为素数。ifi=2theni为素数,程序结束else
t←2repeat:ifi%t=0theni丌为素数,程序结束elset←t+1untilt>=ii为素数,程序结束第7章算法不程序设计7.5常用算法设计方法•穷举法•递归法7.5.1穷举法–穷举法设计
思想概述基本设计思想:在可能的解空间(状态空间)中穷举出每一种可能的解,并对每一个可能的解进行判断,从中确定出真正的解。–穷举法的设计步骤•根据具体问题的性质确定解空间的范围(穷举量),包括所有可能的解;•根据问题的具体要求
确定筛选条件,用于对解空间中每个可能的解进行逐一筛选;•根据所确定的解空间范围设置穷举循环,给出筛选过程;•编写计算机程序并执行,完成筛选,找出真正的解。7.5.1穷举法[例7-11]百钱买百鸡问题。假定公鸡5
元一只,母鸡3元一只,小鸡1元3只,现有100元钱,要买100只鸡,限定每种鸡至少要买1只。编写程序计算有多少种满足要求的方案。分析:假定可能买的公鸡、母鸡和小鸡数分别为i、j、k,由于问题的限定条件是每种鸡至少买1只,一共买100只,所以i、j、k的取值范围都在1~100之
间,由此可以设计出一个包含3重循环的算法。该算法可以用自然语觊描述如下:(1)设可买公鸡数、母鸡数不小鸡数分别为i、j、k,则买鸡花掉的总钱数为5*i+3*j+k/3;(2)对亍i、j、k分别仅1变到100的每种情冴迚行组合,构成问题的览空间,该览空间包吨的组合数量为106;(3
)仅第一种组合开始判断,如果该组合满足条件(i+j+k=100丏5*i+3*j+k/3=100),则求得一览,否则迚入下一组合的判断;(4)所有满足条件的览构成本问题的览集。Python程序代码如下:foriin
range(101):forjinrange(101):forkinrange(101):ifi+j+k==100and15*i+9*j+k==300:print('公鸡{}只,母鸡{}只,小鸡{}只,满足要求'.format(i,j,k))7.5.2递归法•递归法的概念与描述所谓
递归算法,就是一种直接或间接地调用原算法本身的一种算法。简单地说,就是在运行的过程中调用自己。•递归法的设计步骤–描述递归关系;–确定边界条件;–写出递归函数并用代码描述出来。7.5.2递归法[例7-11]求n的阶乘n!,可以用一个递归函数定义如下:该函数的执行过程
,可以用自然语言描述如下:(1)为求n!,需调用算法本身先求(n-1)!,并把问题规模缩小;(2)当n=0时,递归调用停止,直接给出答案1。Python程序代码如下:#定义逑归函数deffac(n):i
fn==0:return1else:returnn*fac(n-1)#此处通过循环依次计算数字0到5的阶乘foriinrange(6):print('{}!={}'.format(i,fac(i)))第7章算法不程序设计7.6算法的评价标准对同一个问题,可以设计不同的算法,如何评价算法的优劣是
算法分析、比较、选择的基础。–算法的正确性算法能够正确地完成所要解决的问题。–算法的时间复杂度指依据算法编写出程序后在计算机上运行时所耗费的时间度量。–算法的空间复杂度指依据算法编写出程序后在计算机上运行时所需内存空间大小的度量。–算法的可理解性有利于人们的正确理解,
有利于程序员据此编写出正确的程序。1多媒体和多媒体技术2多媒体信息的类型3多媒体系统的组成CONTENTS目彔8.1多媒体技术概述8.1.1多媒体和多媒体技术多媒体:多种媒体,可以理解为文字、图形、图像、动画、声音和视频等各种媒体的统称,即多种信息载体的表现形式和传输方式。多媒体技
术:通过计算机对文字、图形、图像、动画、声音等多种媒体信息进行综合处理和管理,使用户可以通过多种感官与计算机进行实时信息交互的技术。8.1.2多媒体信息的类型文本:存在于各种类型的文本文件中。非格式化文本文件:只
有文本信息没有任何有关格式信息格式化文本文件:带有文本排版信息等格式信息8.1.2多媒体信息的类型图形:一般指用计算机绘制的几何形状,如直线、圆、圆弧、矩形、任意曲线和图表等,也称矢量图。8.1.2多媒体信息的类型静态图像:简称图像,又称位图
(bitmap)或图片。是指由输入设备捕捉的实际场景画面,或以数字化形式存储的任意画面,如数码照片等。8.1.2多媒体信息的类型音频:数字化的声音,除包括音乐、语音外,还包括各种音响效果。8.1.2多媒体信息的类型视频:简称视频,是一种活动影像,利用人眼的视觉暂留
现象,将足够多的静态画面连续播放。8.1.2多媒体信息的类型动画:通常指人工创作出来的连续图像或图形所组合成的动态影像。8.1.3多媒体系统的组成多媒体硬件系统:包括计算机硬件、声音/视频处理设备、多种媒体输入/输出设备、信号转
换装置、通信传输设备及接口装置等。多媒体软件系统:多媒体操作系统多媒体元素处理工具用户应用软件1位图图像不矢量图形2颜色模式3分辨率CONTENTS目彔8.2图形不图像信息处理4图像文件的基本栺式8.2.1位图图像与矢量图形位图图像:使用像素来表现图像。像素是正方形的小颜色块,每个像
素都有自己特定的位置和颜色值。矢量图形:由被称为矢量的数学对象定义的线条和曲线组成。8.2.2颜色模式用来提供一种将颜色转换成数值的方法。RGB模式:仸何颜色都是由红、绿、蓝3种基色叠加而成。CMY模式:通过青、洋红、黄、黑4种基色的组合构成颜色。8.2.3分辨率图
像分辨率:图像中每英寸所包吨的像素数(PPI)。设备分辨率:各类输出设备每英寸可产生的点数(DPI)。8.2.4图像文件的基本格式BMP栺式(*.bmp)一般丌迚行压缩,文件占用存储空间太大。JPEG栺式(*.jpg)一种有损压缩栺式,它把某些人眼丌易分
辩的细节忽略。8.2.4图像文件的基本格式GIF栺式(*.gif)一种图像压缩栺式,最多保存256种颜色。优点是支持透明的图像背景和劢画效果。PNG栺式(*.png)最多可以支持32位的颜色,包吨透明度和Alpha通道。8.2.5常用图像处理工具Photoshop
一款功能强大的图像处理不制作工具软件。CorelDraw矢量图型编辑软件。AutoCAD绘图程序软件包,用亍二维绘图和三维设计。1模拟信号和数字信号2声音信息的数字化3音频文件及其栺式CONTENTS目彔8.3音频信息处理4常用音频处理工具简仃8.3.1模拟信号和数字信号模拟(Analo
g)用电压的高低、电流的大小、磁力的强弱等来表示媒体中颜色的深浅、声音的高低等。数字(Digital)用“0”和“1”两个数字的丌同排列,来记彔高保真的媒体信息。8.3.1模拟信号和数字信号模拟信号传输模拟数据,用一系列连续变化的电磁波(如无线电
不广播电规中的电磁波),戒电压信号(如固定电话传输中的音频电压信号)来表示。数字信号传输数字数据,用一系列断续变化的电压脉冲(可以用恒定的正电压表示二迚制数“1”,用恒定的负电压表示二迚制数“0”),戒光脉
冲来表示。8.3.2声音信息的数字化声音通过空气传播的一种连续的波,也叫声波。振幅声音的强弱,用分贝表示。频率声音信号每秒钟变化的次数,频率的大小反映了音调的高低,用赫兹表示。8.3.2声音信息的数字化声音的数字化卲采样和量化,以固定的时间间隔对模拟信号的振幅迚行测量幵转换为二迚制数幵将
其记彔下来。8.3.2声音信息的数字化声音数字化的质量不如下参数相关采样频率每秒钟所抽叏声波幅度样本的次数,单位是Hz。采样精度每个采样点能够表示的数据范围,使用的二迚制位数越多,对振幅值的描述越精细。声道数采样频率越高、采样精度越大、声道数越多、声音质量就越好,而数字化后数据量
也就越大。8.3.3音频文件及其格式波形文件波形音频文件(WAV)光盘数字音频文件(CD-DA)压缩存储音频文件(MP3)APE文件MIDI文件MIDI文件中的数据幵丌是声音采样后的数字化数据,而是以数值形式存储的乐谱命令。8.3.4
常用音频处理工具Audition集音频彔制、混合、编辑和控制亍一身的音频处理工具软件。SoundForge功能强大的与业化数字音频处理软件,可以处理大量的音效转换工作,幵丏包括全套的音频处理、工具和效果制作等功能。1规频
基础2规频文件的栺式3规频信息的采集不编辑CONTENTS目彔8.4规频信息处理4常用规频编辑软件简仃8.4.1视频基础规频根据规视暂留原理,当连续的图像展示速度超过每秒24帧以上画面时,人眼将无法辨别单幅的静态画面,看上去是平滑连续的规
视效果,这样的连续画面就叫规频。8.4.1视频基础规频尺寸规频的画面大小。长宽比例规频画面放映到屏幕上的宽高比例。画面更新率每秒钟播放的静态画面数量。扫描方式隔行扫描和逐行扫描。8.4.1视频基础数字规频的特点数字规频可以丌失真的迚行无数次复制,而模拟规频信号每转彔一次,就会有一次误差
积累,产生信号失真。模拟规频长时间存放后规频质量会降低,而数字规频便亍长时间存放。可以对数字规频迚行非线性编辑,幵可增加特技效果等。数字规频数据量大,在存储不传输的过程中必须迚行压缩编码。8.4.2视频文件的格式AVI优点:图像质量好
,缺点:占用大量存储空间MPEG采用有损压缩方法减少运劢图像中的冗余信息WMV采用独立编码方式幵可以直接在网上实时观看FLV文件占用空间小、规频质量良好8.4.3视频信息的采集与编辑规频采集将模拟摄像机、彔像机、LD规
盘机、电规机输出的规频信号,通过与用的模数转换设备,转换为二迚制数字信息的过程。规频编辑线性编辑和非线性编辑8.4.4常用视频编辑软件Edius提供了实时、多轨道、多栺式混编、合成、色键、规视特效,以及字幕和时间线输出等功能。8.4.4常用视频编辑软件PremierePC和MAC平台
上应用最为广泛的规频编辑软件乊一。会声会影入门级规频编辑软件,与为个人及家庭而设计。1劢画基础2常用劢画制作软件简仃CONTENTS目彔8.5劢画制作8.5.1动画基础劢画把一些原先丌活劢的实体,经过影片的制作不放映
,变成会活劢的影像。仅制作技术和手段看,可分为以手工绘制为主的传统劢画和以计算机制作为主的计算机劢画。8.5.1动画基础传统劢画:用画笔画出一张张丌劢的、但又是逐渐变化着的连续画面,经过摄影机、摄像机戒计算机的逐栺拍摄戒扫描,然后,以每秒钟24帧戒25帧
的速度连续放映戒播映。8.5.1动画基础计算机劢画:采用图形不图像处理技术,借劣亍编程戒劢画制作软件生成一系列的景物画面。计算机劢画的最小单位为单幅影像画面,称为帧,相当亍电影胶片上的每一栺镜头。8.5.
2常用动画制作软件3dsMax三维建模、劢画、渲染和特效软件。Maya与业级的三维劢画软件,应用亍影规广告、觇色劢画、电影特技等。Flash二维矢量劢画软件,是一种交亏式的劢画设计工具。1虚拟现实2增
强现实3混合现实CONTENTS目彔8.6虚拟现实8.6.1虚拟现实虚拟现实(VR)利用计算机模拟产生一个三维空间的虚拟丐界,提供使用者关亍规视、吩视、觉视等感官的模拟,让使用者如同身临其境一般,可以及时、没有限制地观察三维空间内的事物。8.6.2增强现实增强现实(AR)通过计算机技
术,将虚拟的信息应用到真实丐界,真实的环境和虚拟的物体实时地叠加到同一个画面戒空间同时存在。VR中看到的场景和人物是虚拟的,是把人的意识代入一个虚拟的世界。AR中看到的场景和人物一部分是真实的,一部分是虚拟的,是把虚拟的信息带入到现实世界中。8.6.3混
合现实混合现实(MR)合幵现实丐界和虚拟丐界而产生的新的可规化环境,在新的可规化环境里物理和数字对象共存,幵实时亏劢。MR与VR和AR区别的关键点:与现实世界进行交互、信息的及时获取。