计算机基础作业 第一章计算机与信息社会 习题1 一、思考题: 1.计算机的发展经历了哪几个阶段?各阶段的主要特征是什么? 答:计算机经历了电子管、晶体管、中小规模集成电路和大、超大规模集成电路等4个阶段。 电子管计算机的特征是:采用电子管作为计算机的逻辑元件,内存储器采用水银延迟线,外存储器采用磁鼓、纸带、卡片等,运算速度只有每秒几千次到几万次基本运算,内存容量只有几千个字节,使用二进制表示的机器语言或汇编语言编写程序。 晶体管计算机的特征是:用晶体管代替了电子管,大量采用磁芯作为内存储器,采用磁盘、磁带等作为外存储器。 采用了中小规模集成电路的计算机的特征是:用集成电路代替了分立元件。集成电路是把多个电子元器件集中在几平方毫米的基片上形成的逻辑电路。 采用了大、超大规模集成电路的计算机的特征是:以大规模、超大规模集成电路来构成计算机的主要功能部件,主存储器采用集成度很高的半导体存储器,目前计算机的最高速度可以达到每秒几十万亿次浮点运算。 4.计算机主要用于哪些领域? 答:计算机主要应用在科学和工程计算、信息和数据处理、过程控制、计算机辅助系统及人工智能等领域。 7.信息技术都包含那些? 答:信息技术主要包括信息基础技术、信息系统技术、信息应用技术三个层次。 二、选择题 1.最早的计算机是用来进行(A)的。 A )科学计算B)系统仿真C)自动控制D)信息处理 2.构成第二代计算机的主要电子元件是(B) A )电子管B)晶体管C)中.小规模集成电路D)超大规模集成电路 3.以下哪个不是计算机的特点(D) A )计算机的运行速度快B)计算机的准确度高C)计算机的存储容量巨大D)计算机的体积很小 4办公自动化属于计算机哪项应用(A) A )数据处理B)科学计算C)辅助设计D)人工智能 5.以下关于信息的特征不正确的是(B) A )共享性B)不可存储C)可处理性D)可传递
算法设计与分析试卷 一、填空题(20分,每空2分) 1、算法的性质包括输入、输出、___、有限性。 2、动态规划算法的基本思想就将待求问题_____、先求 解子问题,然后从这些子问题的解得到原问题的解。 3、设计动态规划算法的4个步骤: (1)找出____,并刻画其结构特征。 (2)_______。 (3)_______。 (4)根据计算最优值得到的信息,_______。 4、流水作业调度问题的johnson算法: (1)令N1=___,N2={i|ai>=bj}; (2)将N1中作业依ai的___。 5、对于流水作业高度问题,必存在一个最优调度π,使得作业π(i)和π(i+1)满足Johnson不等式_____。 6、最优二叉搜索树即是___的二叉搜索树。 二、综合题(50分) 1、当(a1,a2,a3,a4,a5,a6)=(-2,11,-4,13,-5,-2)时,最大子段和为∑ak(2<=k<=4)____(5分) 2、由流水作业调度问题的最优子结构性质可知,T(N,0)=______(5分)
3、最大子段和问题的简单算法(10分) int maxsum(int n,int *a,int & bestj) { intsum=0; for (int i=1;i<=n;i++) for (int j=i;j<=n;j++) int thissum=0; for(int k=i;k<=j;k++)_____; if(thissum>sum){ sum=thissum; ______; bestj=j;} } return sum; } 4、设计最优二叉搜索树问题的动态规划算法 OptimalBinarysearchTree? (15分) Void OptimalBinarysearchTree(int a,int n,int * * m, int * * w) { for(int i=0;i<=n;i++) {w[i+1][i]=a[i]; m[i+1][i]=____;} for(int r=0;r 一种用于区块链的拜占庭容错算法 张铮文 erik@https://www.wendangku.net/doc/5612967694.html, 摘要 本文提出了一种改进的拜占庭容错算法,使其能够适用于区块链系统。我们假设在此网络中,消息可能会丢失、损坏、延迟、重复发送,并且接受的顺序与发送的顺序不一致。此外,节点的行为可以是任意的:可以随时加入、退出网络,可以丢弃消息、伪造消息、停止工作等,还可能发生各种人为或非人为的故障。我们的算法对由n个共识节点组成的共识系统,提供?的容错能力,这种容错能力同时包含安全性和可用性,并适用于任何网络环境。f=?n?1 3 1.概述 区块链是一种去中心化的分布式账本系统,它可以用于登记和发行数字化资产、产权凭证、积分等,并以点对点的方式进行转账、支付和交易。区块链技术最早是由中本聪在一个密码学的邮件列表中提出的[1],也就是比特币。此后,基于区块链技术的各种应用纷纷出现,比如基于区块链的电子现金系统、基于区块链的股权交易系统、基于区块链的智能合约系统等。区块链系统与传统的中心化账本系统相比,具有完全公开、不可篡改、防止多重支付等优点,并且不依赖于任何的可信第三方。 然而,和任何分布式系统一样,区块链系统会面临网络延迟、传输错误、软件错误、安全漏洞、黑客入侵等问题。此外,去中心化的特点决定了此系统的任何一个参与者都不能被信任,可能会出现恶意节点,以及因各方利益不一致导致的数据分歧等问题。 为了防范这些潜在的错误,区块链系统需要一个高效的共识机制来确保每一个节点都有一个 唯一公认的全局账本。传统的针对某些特定问题的容错方法,并不能完全解决分布式系统以及区块链系统的容错问题,人们需要一种能够容忍任何种类错误的容错方案。 比特币采用工作量证明机制[1],非常巧妙地解决了这个问题。但是代价也很明显,那就是巨额的电力成本和资源浪费。此外,新的区块链必须寻找到一种与之不同的散列算法,用于避免来自比特币的算力攻击,如莱特币采用了与比特币的SHA256不同的SCRYPT算法。 拜占庭容错技术是一种解决分布式系统容错问题的通用方案[5]。本文在Castro和Liskov 于1999年提出的Practical Byzantine Fault Tolerance(PBFT)[3]的基础上,提出了一种改进的拜占庭容错算法,使其能够适用于区块链系统。 2.系统模型 区块链是一个分布式账本系统,参与者通过点对点网络连接,所有消息都通过广播的形式来发送。系统中存在两种角色:普通节点和记账节点。普通节点使用系统来进行转账、交易等操作,并接受账本中的数据;记账节点负责向全网提供记账服务,并维护全局账本。 我们假设在此网络中,消息可能会丢失、损坏、延迟、重复发送,并且接受的顺序与发送的顺序不一致。此外,节点的行为可以是任意的:可以随时加入、退出网络,可以丢弃消息、伪造消息、停止工作等,还可能发生各种人为或非人为的故障。 我们采用密码学技术来保证消息传递的完整性和真实性,消息的发送者要对消息的散列值进 是节点i对消息m的电子签名,D(m)是消息m的散列值。如果没有特行签名。我们定义?m?σ i 殊说明,本文所规定的签名都是对消息散列值的签名。 3.算法 我们的算法同时提供了安全性和可用性,只要参与共识的错误节点不超过?n?1 ?,就能保证整 3 华北科技学院计算机系综合性实验 实验报告 课程名称操作系统C 实验学期 2012 至 2013 学年第 2 学期学生所在系部计算机学院 年级 10级专业班级网络B102 学生姓名刘状学号 201007024205 任课教师杜杏菁 实验成绩 计算机系制 《操作系统C》课程综合性实验报告 开课实验室:基础六机房2013年6月3日 实验题目进程调度算法模拟 一、实验目的 通过对进程调度算法的模拟,进一步理解进程的基本概念,加深对进程运行状态和进程调度过程、调度算法的理解。 二、设备与环境 1. 硬件设备:PC机一台 2. 软件环境:安装Windows操作系统或者Linux操作系统,并安装相关的程序开发环境,如C \C++\Java 等编程语言环境。 三、实验内容 (1)用C语言(或其它语言,如Java)实现对N个进程采用某种进程调度算法(如动态优先权调度)的调度。 (2)每个用来标识进程的进程控制块PCB可用结构来描述,包括以下字段: ?进程标识数ID。 ?进程优先数PRIORITY,并规定优先数越大的进程,其优先权越高。 ?进程已占用CPU时间CPUTIME。 ?进程还需占用的CPU时间ALLTIME。当进程运行完毕时,ALLTIME变为0。 ?进程的阻塞时间STARTBLOCK,表示当进程再运行STARTBLOCK个时间片后,进程将进 入阻塞状态。 ?进程被阻塞的时间BLOCKTIME,表示已阻塞的进程再等待BLOCKTIME个时间片后,将 转换成就绪状态。 ?进程状态STATE。 ?队列指针NEXT,用来将PCB排成队列。 (3)优先数改变的原则: ?进程在就绪队列中呆一个时间片,优先数增加1。 ?进程每运行一个时间片,优先数减3。 (4)为了清楚地观察每个进程的调度过程,程序应将每个时间片内的进程的情况显示出来,包括正在运行的进程,处于就绪队列中的进程和处于阻塞队列中的进程。 (5)分析程序运行的结果,谈一下自己的认识。 学生实习报告 课程名称_ 数据结构与数据处理应用训练 题目名称多级反馈队列调度算法的实现 学生学院计算机与计算科学 专业班级 学号 学生姓名 指导教师 2012年 2月 16 日 多级反馈队列调度算法的实现 【摘要】 多级反馈队列调度算法是操作系统中CPU处理机调度算法之一,该算法既能使高优先级的进程(任务)得到响应又能使短进程(任务)迅速完成。UNIX操作系统便采取这种算法,而本次试验就是试用C语言模拟某多级反馈队列调度算法。本次试验中前三级就绪队列采用时间片轮转法,时间片大小分别为2、4和8,最后一级就绪队列采用FIFO调度,将任务进入多级队列进行模拟,任务从优先级高的队列到优先级地的队列的顺序逐一进入,还用了算法支持抢占式,最后完成模拟,得到各个任务先后完成的顺序,还有得到各个任务的响应时间、离开时间、周转时间。 【关键词】队列优先级任务时间 1 内容与要求 【内容】 多级反馈队列调度算法是操作系统中CPU处理机调度算法之一,该算法既能使高优先级的进程(任务)得到响应又能使短进程(任务)迅速完成。UNIX操作系统便采取这种算法,本次试验就是试用C语言模拟某多级反馈队列调度算法,通过输入任务号、到达时间、运行时间,求出任务完成的先后顺序以及各个任务 的响应时间、离开时间、周转时间。 【要求】 多级反馈队列调度算法描述: 1、该调度算法设置四级就绪队列:前三级就绪队列采用时间片轮转法,时间片大小分别为 2、4和8;最后一级就绪队列采用FIFO调度。 2、任务在进入待调度的队列等待时,首先进入优先级最高的队列等待。 3、首先调度优先级高的队列中的任务。若高优先级中队列中已没有调度的任务,则调度次优先级队列中的任务,依次类推。 4、对于同一个队列中的各个任务,按照队列指定调度方法调度。每次任务调度执行后,若没有完成任务,就被降到下一个低优先级队列中。 5、在低优先级的队列中的任务在运行时,又有新到达的任务,CPU马上分配给新到达的任务。(注:与原来的题目不同,原题是在低优先级的队列中的任务在运行时,又有新到达的任务时,要在运行完这个时间片后,CPU马上分配给新到达的任务,而本题不需要在运行完这个时间片,即正在进行的任务立刻停止,CPU 马上分配给新到达的任务) 6、为方便实现,时间以1为单位,用整数数据表示;且每个时间点,最多只有一个任务请求服务(即输入)。 2 总体设计 算法总体思路: 这是建立在一个时间轴上的,即时刻,一个一个时刻(时间点)进行。 2.1.1 主函数思路: 第一章 1. 计算机的发展经历了那几个阶段?各阶段的主要特征是什么? a)四个阶段: 电子管计算机阶段;晶体管电路电子计算机阶段;集成电路计算机阶段;大规模集成电路电子计算机阶段。 b )主要特征: 电子管计算机阶段:采用电子管作为计算机的逻辑元件;数据表示主要是定点数;用机器语言或汇编语言编写程序。 晶体管电路电子计算机阶段:采用晶体管作为计算机的逻辑元件,内存大都使用铁金氧磁性材料制成的磁芯存储器。集成电路计算机阶段:逻辑元件采用小规模集成电路和中规模集成电路。 大规模集成电路电子计算机阶段:逻辑元件采用大规模集成电路和超大规模集成电路。 2. 按综合性能指标分类,计算机一般分为哪几类?请列出各计算机的代表机型。 高性能计算机(曙光),微型机(台式机算机),工作站(DN-100 ),服务器(Web服务器)。 3. 信息与数据的区别是什么? 信息:对各种事物的变化和特征的反映,又是事物之间相互作用和联系表征。数据:是信息的载体。 4. 什么是信息技术? 一般是指一系列与计算机等相关的技术。 5. 为什么说微电子技术是整个信息技术的基础? 晶体管是集成电路技术发展的基础,而微电子技术就是建立在以集成电路为核心的各种半导体器件基础上的高新电子技术。 6. 信息处理技术具体包括哪些内容?3C含义是什么? a )对获取的信息进行识别、转换、加工,使信息安全地存储、传送,并能方便的检索、再生、利用,或便于人们从中提炼知识、发现规律的工作手段。b)信息技术、计算机技术和控制技术的总称 7. 试述当代计算机的主要应用。 应用于科学计算、数据处理、电子商务、过程控制、计算机辅助设计、计算机辅助制造、计 算机集成制造系统、多媒体技术和人工智能等。 4.2在下列情况下求解递归关系式T(n)=g(n) 2T(n/2)f(n)n足够小 否则 当①n=2kg(n)=O (1)和f(n)=O(n); ②n=2kg(n)=O (1)和f(n)=O (1)。 解: T(n)=T(2k)=2 T(2k-1)+f(2k)=2(2 T(2k-2)+f(2k-1)) +f(2k) =22T(2k-2)+21f(2k-1)+ f(2k) =…… =2kT (1)+2k-1f (2)+2k-2f (22)+…+20f(2k)kk-1k-220k=2g(n)+ 2f (2)+2f (2)+ (2) (2)①当g(n)=O (1)和f(n)=O(n)时,一种用于区块链的拜占庭容错算法
操作系统进度调度算法实验
多级反馈队列调度算法的实现
《大学计算机基础》第五版第1-4章课后习题答案
《计算机算法基础》第三版,课后习题答案