湖南大学-计算理论实验

湖南大学-计算理论实验
湖南大学-计算理论实验

目录

实验A---- ADFA的可判定性 (2)

1、问题描述 (2)

2、算法设计思路 (3)

3、实验总结 (3)

4、AC代码 (3)

实验B----CFG是P成员 (4)

1、问题描述 (4)

2、算法设计思路 (5)

3、实验总结 (5)

4、AC代码 (5)

实验C----NFA转换为DFA (8)

1、问题描述 (8)

2、算法设计思路 (9)

3、实验总结 (9)

4、AC代码 (9)

实验D----两个数的互素判定 (12)

1、问题描述 (12)

2、算法设计思路 (13)

3、实验总结 (13)

4、AC代码 (13)

实验E----可判定的DFA的空问题 (14)

1、问题描述 (14)

2、算法设计思路 (15)

3、实验总结 (15)

4、AC代码 (15)

实验A---- ADFA的可判定性1、问题描述

2、算法设计思路

A:首先将输入的状态转移矩阵保存在S数组中,其中其中S[i][j]表示第i行第j列,意义为状态i经过字母j到达状态S[i][j]。

B:对每一个输入的串W,从after(after表示每次转换后的状态,初始为起始状态)开始,按照每一个字符,得到相应的后继状态,保存在after中。

C:最后判断accept[after]的值,即串在DFA上运行之后最终状态是否可接受。

3、实验总结

总的来说这一题比较容易(有点太水了),只要把输入串的每一个字符按照前面的状态得到后继状态,并不断的走下去,直到串的最后一个字符,就可以得到最后的状态,再根据其是否处在接受态,给出相应的输出

4、AC代码

#include

#include

using namespace std;

long n,m,t,a;

long s[1000][1000]; //存储转移矩阵

long accept[1000]; //存储接受状态

int main(){

while(cin>>n>>m>>t>>a){

memset(s,0,sizeof(s));

memset(accept,0,sizeof(accept));

for(int i = 1;i<=n;i++){

for(int j = 1;j<=m;j++)

cin>>s[i][j];

}

for(int i = 0;i

long temp;

cin>>temp;

accept[temp] = 1;

}

while(a--){

string temps;

cin>>temps;

int after = 1;

for(int i = 0;i

after = s[after][temps[i]-'a'+1];

}

if(accept[after]==1)

cout<<"YES"<

else

cout<<"NO"<

}}

return 0;

}

实验B----CFG是P成员1、问题描述

2、算法设计思路

A: 找出所有A->b型规则

B: 找出所有A->BC型规则

C: 考察每一个长为1的子串

D: 考察L长度的子串

E: 检查起始变元是否在table[0][n]中

3、实验总结

(1)刚开始用栈和转移矩阵来进行状态的切换,想要先把CFG转换为一个PDA,在根据PDA接受串的情况来判断(因为题目要求线性时间复杂度),后来发现转换成PDA的时候,每一个转移矩阵里应该是一个状态的集合。

(2)原本定义一个set S来表示转移矩阵,但是觉得这样还不如直接用原来的CFG按照某种规则来进行替换,让他的复杂度为线性的。具体线性替换的顺序在2中详细介绍了

4、AC代码

#include

#include

#include

using namespace std;

int main()

{

int n,m; //n行满足乔姆斯基范式的文法描述, m行待测字符串

while(cin>>n)

{

string *cfg; //CFG文法描述

cfg=new string[n];

for(int i=0;i

cin>>cfg[i]; //输入CFG文法

cin>>m; //输入待测字符串数量

string *str; //待测字符串

str=new string[m];

for(int i=0;i

cin>>str[i]; //输入待测字符串int *lstr; //待测字符串的长度lstr=new int[m];

for(int i=0;i

lstr[i]=str[i].length();

string ***table; //定义表格

table=new string**[m];

for(int i=0;i

table[i]=new string*[lstr[i]];

for(int i=0;i

for(int j=0;j

table[i][j]=new string[lstr[i]];

//找出所有A->b型规则

string Ab[100];

int num=0;

for(int i=0;i

{

for(int k=3;k

{

if(cfg[i][k]>96 && cfg[i][k]<123)

{

Ab[num]+=cfg[i][0];

Ab[num]+=cfg[i][k];

num++;

}

}

}

//找出所有A->BC型规则

string ABC[100];

int num2=0;

for(int i=0;i

{

for(int k=3;k

{

if(cfg[i][k]<91)

{

ABC[num2]+=cfg[i][0];

ABC[num2]+=cfg[i][k];

ABC[num2]+=cfg[i][k+1];

k++;

num2++;

}

}

//考察每一个长为1的子串

for(int i=0;i

{

for(int j=0;j

{

for(int k=0;k

{

if(str[i][j]==Ab[k][1]) //考察CFG文法的每一个字符

table[i][j][j]=Ab[k][0];

}

}

}

//考察l长度的子串

for(int i=0;i

{

for(int l=2;l<=lstr[i];l++) //l是子串的长度

{

for(int p=0;p

{

int j=p+l-1; //j是子串的结束位置

for(int k=p;kk

{

for(int q=0;q

{

if(table[i][p][k].find(ABC[q][1],0)!=string::npos && table[i][k+1][j].find(ABC[q][2],0)!=string::npos)

{

table[i][p][j]+=ABC[q][0];

}

}

}

}

}

}

//检查起始变元是否在table[0][n]中

for(int i=0;i

{

int flag=0;

if(table[i][0][lstr[i]-1].find(cfg[0][0],0)!=string::npos)

flag=1;

if(flag==1)

cout<<"yes"<

}

else

{

cout<<"no"<

}

} delete []cfg;

delete []str;

for(int i=0;i

for(int j=0;j

delete []table[i][j];

for(int i=0;i

delete []table[i];

delete []table;

}

return 0;

}

实验C----NFA转换为DFA

1、问题描述

Problem description

有限状态自动机(FSM "finite state machine" 或者FSA "finite state automaton" )是为研究有限内存的计算过程和某些语言类而抽象出的一种计算模型。有限状态自动机拥有有限数量的状态,每个状态可以迁移到零个或多个状态,输入字串决定执行哪个状态的迁移。有限状态自动机可以表示为一个有向图。有限状态自动机是自动机理论的研究对象。

Input

2、 算法设计思路

状态集合的子集合,采用二进制(特征)串的方式,一个子集中包含该状态,对应的特征串就为1,否则为0,比如上面状态集合的子集{q0q1q2},其特征串就是0111,而子集{q0},其特征串就是0001。将对应的特征串转换为十进制的数字,得到转移函数δ。

3、 实验总结

在转化的过程中经NFA 中状态矩阵中的每一个状态的集合映射到DFA 中的一个状态。即NFA 中的状态子集为一个DFA 中的状态;只要NFA 状态子集中有一个为接受态,相应的映射的DFA 中的状态就为接受态

4、 AC 代码

#include #include #include #include

#include

#define M 99999

using namespace std;

int ans[M];

int one[M];

int zero[M];

int lft[M];

int rgt[M];

int change[M];

bool vis[M];

bool ac[M];

int cnt, n, q, f;

int index(int p)

{

int x = 1;

if(p == 1)

return 0;

int i = 0;

while(++i)

{

x <<= 1;

if(p == x)

return i;

}

return 0;

}

int mege(int a, int b)

{

while(b)

{

int x = b&(-b);

if(!(a&x))

a ^= x;

b ^= x;

}

return a;

}

void dfs(int p)

{

ans[cnt] = p;

int lsum = 0, rsum = 0;

while(p)

{

int x = p&(-p);

int y = index(x);

lsum = mege(lsum, zero[y]);

rsum = mege(rsum, one[y]);

p ^= x;

}

lft[cnt] = lsum;

rgt[cnt] = rsum;

cnt++;

if(!vis[lsum])

vis[lsum] = 1, dfs(lsum);

if(!vis[rsum])

vis[rsum] = 1, dfs(rsum);

}

int main()

{

int t;

scanf("%d", &t);

while(t--)

{

scanf("%d%d%d", &n, &q, &f);

for(int i = 0; i < n; i++)

scanf("%d", &zero[i]);

for(int i = 0; i < n; i++)

scanf("%d", &one[i]);

cnt = 0;

memset(vis, 0, sizeof(vis));

memset(ac, 0, sizeof(ac));

vis[q] = 1;

dfs(q);

int sum = 0;

for(int i = 0; i < cnt; i++)

if(ans[i]&f)

ac[i] = 1, sum++;

for(int i = 0; i < cnt; i++)

change[ans[i]] = i;

printf("%d %d %d\n", cnt, sum, 0);

for(int i = 0, j = 0; i < cnt; i++)

{

if(ac[i])

{

if(j)

printf(" ");

printf("%d", i);

j++;

}

}

printf("\n");

for(int i = 0; i < cnt; i++) {

if(i)

printf(" ");

printf("%d", change[lft[i]]);

}

printf("\n");

for(int i = 0; i < cnt; i++){

if(i)

printf(" ");

printf("%d", change[rgt[i]]);

}

printf("\n");

}

return 0;

}

实验D----两个数的互素判定

1、问题描述

2、算法设计思路

A:我们先来比较总结一下GUN中整形的范围:

int -2147483648 ~ +2147483647 (4 Bytes)

unsigned int 0 ~ 4294967295 (4 Bytes)

long == int

long long -9223372036854775808 ~ +9223372036854775807 (8 Bytes)

double 1.7 * 10^308 (8 Bytes)

unsigned int 0~4294967295

__int64的最大值:9223372036854775807

__int64的最小值:-9223372036854775808

unsigned __int64的最大值:18446744073709551615

B:从上面的结果可以看到,unsigned __int64可以符合题目的数据要求

C:用辗转相除的方法来计算最大公约数,这里使用辗转相除的递归法3、实验总结

(这题也好水)实验时要注意题目所给数据的取值范围;对于辗转相除求最大公约数,可以用非递归的或者递归的形式,两者的复杂度相差无几,鉴于递归形式的思路比较明确,而且方便编写(几行代码就可以搞定),所以使用递归形式的辗转相除。

4、AC代码

#include

#include

#include

using namespace std;

unsigned __int64 gcd(unsigned __int64 a, unsigned __int64 b)

{

if (b > 0)

{

return gcd(b, a % b);

}

return a;

}

int main(){

unsigned __int64 a,b;

while(cin>>a>>b){

if(gcd(a,b)==1){

printf("YES\n");

}

else

printf("NO\n");

}

return 0;

}

实验E----可判定的DFA的空问题

1、问题描述

2、算法设计思路

A:是否接受w的问题。ADFA是可判定的。ANFA是可判定的。ARES是可判定的。EDFA是可判定的。EQDFA是可判定的。P100。核心思想:图灵机跟踪DFA的状态和当前位置,状态和位置的变化由转移函数决定。

B:DFA不接受任意串存在以下几种情况:没有接受状态、接受状态独立、接受状态和起始状态不在同一个团中;基于以上三种情况编写代码

3、实验总结

不要去根据DFA可能接受某一个串去判断一个DFA大的可判定性,而是从相反的方向来考虑问题:即判断DFA是否拒绝所有的串。DFA拒绝所有的串只可能存在以上三种情况。

4、AC代码

#include

#include

#include

#include

using namespace std;

bool vis[110];

bool ac[110];

int num[110][110];

int n, m, f, p, cnt;

bool dfs(int k)

{

vis[k] = 1;

if(ac[k])

{

return 1;

}

for(int i = 0; i < m; i++)

if(!vis[num[k][i]] && dfs(num[k][i]))

{

return 1;

}

return 0;

}

int main()

{

while(scanf("%d%d", &n, &m)!=EOF)

{

memset(vis, 0, sizeof(vis));

memset(ac, 0, sizeof(ac));

for(int i = 0; i < n; i++)

for(int j = 0; j < m; j++)

scanf("%d", &num[i][j]);

scanf("%d", &f);

for(int i = 0; i < f; i++)

{

scanf("%d", &p), ac[p] = 1;

}

if(f)

if(dfs(0))

printf("NO\n");

else

printf("YES\n");

else

printf("YES\n");

}

return 0;

}

湖南大学2013年操作系统期末试卷

答案仅为参考 1.Which of the following scheduling alogrithms could result in starvation and why? (1)First-come,first-served (2)Shortest job first (3)Round robin (4)Priority【来自课后习题】 答:最短工作优先调度和优先级调度算法会引起饥饿。优先级调度算法会使某个低优先级进程无穷等待CPU,此时,可能发生两种情况,要么进程最终能进行,要么系统最终崩溃并失去所有未完成低优先级进程。 解决方式——老化,老化是一种技术,以逐渐增加在系统中等待很长时间的进程的优先级。(最短工作优先调度会使工作长度最大的进入无限等待CPU) 2.Can a resource allocation graph (资源分配图) have cycle without deadlock(死锁)? If so,state why and draw a sample graph(画一个死锁点的图); if no,state why not? 答:有死锁,死锁部分为P2-R4-P5-R3。 3.What is the cause of thrashing(颠簸)? How dose the system detect(检测)thrashing? Once it detects thrashing,what can the system do to eliminate(消除)this problem?【来自课后习题】 答:分配的页数少于进程所需的最小页数时发生颠簸,并迫使它不断地页错误。该系统可通过对比多道程序的程度来估计CPU利用率的程度,以此来检测颠簸。降低多道程序的程度可以消除颠簸。 4.某Demand Paging system,拥有逻辑空间64页,每页2KB,拥有物理空间1MB。 (1)写出逻辑地址的格式。 解:11位页内地址,5位页号 (2)若不考虑访问权限等,进程的页表最多有多少项?每项至少有多少位? 解:因为有32个逻辑页面,所以页表有32项。因为有1M/2K= 2的9次方物理块,所以每个页表项至少有9位 (3)如果物理空间减少一半,页表结构应相应作怎样的改变? 解:32项,每项至少需要8位

湖南大学结构力学大纲

湖南大学硕士研究生入学专业课程考试大纲 课程编号:443 课程名称:结构力学 课程总分:150 考试时间:180分钟 一、课程要求 要求考生全面系统地掌握结构力学的基本概念、基本理论和基本方法,了解各类结构的受力性能。并且能综合运用结构力学的理论、方法解决具体的问题。 二、考试内容 1、平面体系的几何组成分析 (1)了解几何不变体系、几何可变体系、几何瞬变体系的定义。 (2)了解刚片、约束(必要约束、多余约束)、自由度的概念。 (3)掌握几何不变体系的基本组成规则,并能运用它们分析一般体系的几何组成,正确区分不同体系,即无多余约束的几何不变体系、有多余约束的几何不变体系、几何可变体系及几何瞬变体系。 (4)了解静定与超静定结构几何组成特征。 2、静定结构内力计算 (1)了解常见的各类静定结构(梁、拱、桁架、刚架、组合结构等)的受力特征与计算方法。 (2)熟练掌握直杆内力图的形状特征及绘制直杆弯矩图的叠加法。 (3)熟练掌握多跨静定梁和其他多跨结构的内力计算方法,能区分基本部分与附属部分,并能熟练地画出内力图。 (4)熟练掌握各类静定刚架的内力计算方法,并能正确画出内力图。 (5)掌握桁架零杆的判别方法,掌握用结点法和截面法计算简单桁架与各种联合桁架指定杆件的内力。掌握组合结构的内力计算和弯矩图画法。 (6)掌握三铰拱的反力计算和指定截面内力的计算方法,并能正确画出内力图。了解合理拱轴线的概念。 (7)了解静定结构的特征。 3、虚功原理与结构位移计算 (1)了解广义力、广义位移、虚功及弹性体系虚功原理的概念。 (2)掌握计算结构位移的单位荷载法,能根据实际状态中拟求位移的位置、方向和性质,正确地建立虚拟状态。 (3)了解结构位移计算的一般公式,了解荷载作用下结构位移计算的实用公式。(4)熟练掌握用积分法计算结构的位移,熟练掌握用图乘法计算梁和刚架的位移。熟记三角形、标准二次抛物线等常见图形的面积及形心位置。 (5)了解功的互等定理、位移互等定理、反力互等定理、位移和反力互等定理及其使用条件。 4、力法 (1)了解超静定结构的概念。 (2)掌握超静定次数的确定方法和力法基本结构的选取。 (3)了解力法的典型方程式及其物理意义。 (4)熟练掌握荷载作用下超静定梁和刚架的内力计算方法,并能绘出最后内力图。(5)掌握力法计算中的对称性利用,会用对称的基本结构简化计算。 (6)掌握超静定结构的位移计算,能利用结构条件对力法计算进行校核。

湖南大学实验报告

HUNAN UNIVERSITY C++ 学生姓名李国龙 学生学号201408010211 专业班级计算机科学与技术 指导老师杨圣洪 2015年12月 30日

一、实验原理:运用MFC的知识编写一个系统,实现二进制文件的创建,读取,查询,插入,修改,删除,排序,索引,基于索引的查询等功能。 二、实验目标:掌握MFC的相关知识,学会利用MFC进行文件操作系统的编写。 三、实验设计: 1、建立框架 利用 MFC Exe 模板建立 MFC 的基础界面,其中第 3 步中不选“ActiveX 控件”,在第 5 步中选择“作为静态的DLL”,其他取默认值,等你熟练后,你再百度或搜狗找办法,定制所你的喜欢的模式。项目名称为 Lt13DTextFile。建立菜单:我的文件、我的编辑在“我的文件”下方建:建立文本文件 ID_MENUITEMFILENEW、读取文本文件ID_MENUITEMFILEREAD、查询单条记录ID_MENUITEMQUERYONE、查询多条记录 ID_MENUITEMQUERYM 在“ 我的编辑” 下方建:修改 ID_MENUITEMEDITMODI 、删除ID_MENUITEMEDITDEL 、插入 ID_MENUITEMEDITINSERT 、排序ID_MENUITEMEDITSORT1 、排序 2 ID_MENUITEMEDITSORT2 、索引ID_MENUITEMEDITINDEX、根据索引查询ID_MENUITEMEDITQUERYINDEX。 单击后显示一句话。先建立菜单系统,为每个菜单项的单击事件写

上 MessageBox(NULL,"函数名","测试 ",MB_OK),等将来建立相应对话框后,再进行修改。由于保存在 LT13DTextFileView.cpp 即 View 文件中,显示对话框的命令为:voidCLt13DTextFileView::OnMenuitemeditqueryindex() { MessageBox("根据索引文件快速查询","初始代码",MB_OK); } 2、建立数据结构类 StudScore 在当前项目中建立 StudScore.h,将 LT12B 中同名文件的内容复制过来。再新建 StudScore.cpp,当我将 LT12B::StudScore.cpp 代码贴到当前文件中,再编译时出现如下错误:studscore.cpp(248) : fatal error C1010: unexpected end of file while looking for precompiled header directive,百度一下在最前面加上“#include"stdafx.h"”,这是将普通的 DOSAPP 迁移到 MFC 时发生的现象,是正常的!因为不符合 MFC 的规范。 3、建立文件操作类 StudScoreAFile 在当前项目中建立 studScoreAFile.h,将 LT12B 中同名文件的内容复制过来。建立 studScoreAFile.cpp,复制 LT12B 中相关代码,可以要进行修改,加上 include"stdafx.h"后,编译竟然能能通过,不是说 MFC 与 DOSAPP 中 C++的文件读写操作不一样吧?不再是流媒体 ofstream 或 iftream,而是采用 CStdioFile 吗?先试试看。经实际测试,只需要将以上函数中 stringstream sdata 换成

湖南大学数据库实验2

数据库系统概论实验报告 题目交互式SQL 学生姓名刘家宇 学生学号20110801126 专业班级计科一班 指导老师王永恒 完成日期 2014/5/9

一、实验目的 1.熟悉数据库的交互式SQL工具。 2.熟悉通过SQL对数据库进行操作。 3.完成实验要求的上机练习。 二、实验环境及工具 在windows XP环境下,利用MySQL 及其交互式查询工具来熟悉SQL。 三、实验内容 1.在MySQL中建立一个数据库,进行实验所要求的各种操作,所有的SQL操作均 在此建立的新库里进行。 其中对数据库的操作包括: 1) 各类查询操作(单表查询,连接查询,嵌套查询,集合查询)。 2) 各类更新操作(插入数据,修改数据,删除数据)。 2.在MySQL中定义一个视图,进行实验所要求的各种操作,所有的SQL操作均在 此建立的新视图里进行。 其中对数据库的操作包括: 1)视图的定义(创建和删除); 2)视图的查询; 3)视图的更新(注意更新的条件)。 四、实验上机练习 1.创建course ,student ,sc 表:

2.Student 表中插入数据: 3.Student 表中修改数据:

4.Student表中的查询操作: 例:查询选修IS专业的学生的姓名: 5.建立选择“IS”专业的学生的视图: 6.更新视图数据:

五、实验中出现的问题及解决方案 问题: 建立course表的时候输入语句如下: Create table course (cno char(9) primary key, Cname char(20), Cpno char(4), Ccredit smallint, Foreign key cpno references course (cno) ); 出现错误; 解决方法: 查阅相关书籍发现时语法错误,修改如下: Create table course (cno char(9) primary key, Cname char(20), Cpno char(4), Ccredit smallint, Foreign key (cpno) references course (cno) );

湖南大学2018年硕士研究生《结构力学》考试大纲_湖南大学考研网

湖南大学2018年硕士研究生《结构力学》考试大纲801结构力学一、课程要求 要求考生全面系统地掌握结构力学的基本概念、基本理论和基本方法,了解各类结构的受力性能。并且能综合运用结构力学的理论、方法解决具体的问题。 二、考试内容 1、平面体系的几何组成分析 (1)了解几何不变体系、几何可变体系、几何瞬变体系的定义。 (2)了解刚片、约束(必要约束、多余约束)、自由度的概念。 (3)掌握几何不变体系的基本组成规则,并能运用它们分析一般体系的几何组成,正确区分不同体系,即无多余约束的几何不变体系、有多余约束的几何不变体系、几何可变体系及几何瞬变体系。 (4)了解静定与超静定结构几何组成特征。 2、静定结构内力计算 (1)了解常见的各类静定结构(梁、拱、桁架、刚架、组合结构等)的受力特征与计算方法。 (2)熟练掌握直杆内力图的形状特征及绘制直杆弯矩图的叠加法。 (3)熟练掌握多跨静定梁和其他多跨结构的内力计算方法,能区分基本部分与附属部分,并能熟练地画出内力图。 (4)熟练掌握各类静定刚架的内力计算方法,并能正确画出内力图。 (5)掌握桁架零杆的判别方法,掌握用结点法和截面法计算简单桁架与各种联合桁架指定杆件的内力。掌握组合结构的内力计算和弯矩图画法。 (6)掌握三铰拱的反力计算和指定截面内力的计算方法,并能正确画出内力图。了解合理拱轴线的概念。 (7)了解静定结构的特征。 3、虚功原理与结构位移计算 (1)了解广义力、广义位移、虚功及弹性体系虚功原理的概念。 (2)掌握计算结构位移的单位荷载法,能根据实际状态中拟求位移的位置、方向和性质,正确地建立虚拟状态。 (3)了解结构位移计算的一般公式,了解荷载作用下结构位移计算的实用公式。 (4)熟练掌握用积分法计算结构的位移,熟练掌握用图乘法计算梁和刚架的位移。熟记三角形、标准二次抛物线等常见图形的面积及形心位置。 (5)了解功的互等定理、位移互等定理、反力互等定理、位移和反力互等定理及其使用条件。 4、力法 (1)了解超静定结构的概念。 (2)掌握超静定次数的确定方法和力法基本结构的选取。 (3)了解力法的典型方程式及其物理意义。 (4)熟练掌握荷载作用下超静定梁和刚架的内力计算方法,并能绘出最后内力图。 (5)掌握力法计算中的对称性利用,会用对称的基本结构简化计算。 (6)掌握超静定结构的位移计算,能利用结构条件对力法计算进行校核。 (7)了解超静定结构的特征。 5、位移法 (1)了解位移法的基本概念。 (2)掌握位移法计算中结点角位移和独立的结点线位移未知数数目的确定方法。掌握位移法基本结构的选取。

最新湖南大学数据结构第5次作业

1 1、画出对下列存储于数组中的值执行buildheap后得到的最大值堆: 2 10 5 12 3 2 1 8 7 9 4 3 4 先序遍历为12 10 4 1 2 9 5 8 3 7 5 中序遍历为1 4 2 10 5 9 12 3 8 7 6 7 2、假设某字母表各个字母的权如下: 8 Q Z F M T S O E 9 2 3 10 10 10 15 20 30 10 (a)按照这个字母表,一个包含n个字母的字符串采用Huffman编码在最差情 11 况下需要多少位?怎样的串会出现最差情况? 12 13 在最差的情况下需要5*n位,当所有的字母都是Q或者Z的时候。 (b)按照这个字母表,包含n个字母的字符串采用Huffman编码在最佳情况 14 15 下需要多少位?怎样的串会出现最佳情况? 16 在最佳的情况下需要2*n位,当所有的字母都是E或者O的时候。 17 (c)按照一个字母表,一个字母平均需要多少位? 18 (2*30 + 2*20 + 3*15 + 3*10 + 3*10 + 4*10 + 5*3+ 5*2)/100 =2.7 19 ∴ 2.7

20 3、编写一个算法来判断两棵树是否相同。尽可能提高算法效率,并分析算法21 的运行时间代价。 22 template 23 bool Compare(GTNode* tree1, GTNode* tree2) { 24 GTNode *num1, *num2; 25 if (((tree1 == NULL) && (tree2 != NULL)) || 26 ((tree2 == NULL) && (tree1 != NULL))) 27 return 0; 28 if ((t1 == NULL) && (t2 == NULL)) return 1; 29 if (tree1->val() != tree2->val()) return 0; Num1 = tree1->left_child(); 30 31 Num2 = tree2->left_child(); 32 while(!((num1 == NULL) && (num2 == NULL))) { if (!Compare(num1, num2)) return false; 33 34 if (num1 != NULL) num1 = num1->right_value(); 35 if (num2 != NULL) num2 = num2->right_value(); 36 }} 37 38 O(n)

30天自制操作系统日志第5天

操作系统实验日志 一、实验主要内容 1、接收启动信息和结构体 在上一章中,xsize和ysize的值都是直接赋值为320*200,但实际上我们需要从asmhead.nas 先前保存下来的值中去。即: 不然的话,当画面模式改变时系统就不能正确运行。所以试着用指针取得图像模式:void HariMain(void) { char *vram; int xsize, ysize; short *binfo_scrnx, *binfo_scrny; int *binfo_vram; init_palette(); /*设定调色板*/ binfo_scrnx = (short *) 0x0ff4;

binfo_scrny = (short *) 0x0ff6; binfo_vram = (int *) 0x0ff8; xsize = *binfo_scrnx; ysize = *binfo_scrny; vram = (char *) *binfo_vram; for(;;) { io_hlt(); /*執行naskfunc里的_io_hlt*/ } } 诶这样是不是说就可以改变画面模式了?于是天真的我: 保存运行一下,以为画面会显示坐标在左上角的320*200,结果发现画面显示错误,forget about it。诶然后发现结构体里这个在汇编里没有定义,可能作者以后讲? 哦先说结构体 可以看做结构体是将一堆变量集中声明,然后作为新的变量用于其他场合。 结构体的运用: (1)先声明结构体: 如上图 (2)后定义结构体变量:struct BOOTINFO abc; 或者定义结构体指针变量:struct BOOTINFO *binfo; 这里binfo表示指针变量后应该首先给指针赋值,可写成:Binfo = (struct

湖南大学结构力学考研[2014年-2015年]真题参考答案与解析

湖南大学2014结构力学参考答案 一、填空题 1、分析:考察几何组成相关知识包括计算自由度,三刚片原则; 1)当计算自由度W>0时,体系一定为几何常变体系。当体系为几何不变体系时计算自由度一定 不大于零(逆否命题); 2)当在A 点加一竖向链杆,或是固定铰支座,取三个 刚片1、2、3;分析如图所示,其中铰一和铰三 共线,铰二为无穷远处的铰。由于一三铰的联线 与形成铰二的平行链杆平行故为瞬变体系。 答案:几何常变体系,瞬变体系,瞬变体系; 几点注意: 1)在多余约束的概念上,有的学校认为只有在几何不变体系的 情况下才有此概念,而有的学校则认为只要是不起约束作用的约束均为多余约束,因而瞬变体 系有一个多余约束,若对多余约束采用后者的理解则答案为:几何常变体系,瞬变体系,有二 个多余约束的瞬变体系;根据湖南大学教材采用第一种理解,几何分析的结果应为无多余约束 的几何不变体系,有几个多余约束的几何不变体系,几何常变体系,瞬变体系四者之一; 2)计算自由度与实际自由度的概念区别; 3)答题写成瞬变结构,几何常变结构是错误的,结构的前提是不变体系。 补充题1:对右图所示结构进行几何组成分析。 (答案:瞬变体系) A 刚片1 刚片3 刚片2 一 二 三

()KN F A M By 181612 24,0=?==∑ 2、分析:考查静定结构内力分析,包括组合结构的内力计算; ①求支座B 的反力By F ②求F NFG 作截面1-1如图所示 ())(16081842430拉KN F F C M NFG NFG =∴=?-?+??=∑ ③求M DA ,将零杆标注如图所示,作1-1截面易得 )(16116外侧受拉m KN M DA ?=?= 几点注意: 1)对于静定结构的内力分析(求支座反力和任意截面内力计算)主要做好几何组成分析,二力 杆识别,零杆识别,对称性分析四方面工作,这样可以大大简化计算; 2)二力杆:两端铰接的直杆,若跨内无横向荷载,则该杆只受轴力,无弯矩和剪力; 补充题2:求右图所示支座B 的反力 (答案:)(20↑=KN F By ) 3、分析:考查超静定结构的位移计算; 方法一 : 方法二: 取基本体系如图所示 q B A C D E F G F By 112m 2m 2m 2m 2m 20KN A B C D E F ()EA P P P P EA DH 25.1510752.0752.06451.0451.010915.0915.01 =??+??+??=?P=1

最新湖南大学数据结构第5次作业

1、画出对下列存储于数组中的值执行buildheap后得到的最大值堆: 10 5 12 3 2 1 8 7 9 4 先序遍历为12 10 4 1 2 9 5 8 3 7 中序遍历为1 4 2 10 5 9 12 3 8 7 2、假设某字母表各个字母的权如下: Q Z F M T S O E 2 3 10 10 10 15 20 30 (a)按照这个字母表,一个包含n个字母的字符串采用Huffman编码在最差情况下需要多少位?怎样的串会出现最差情况? 在最差的情况下需要5*n位,当所有的字母都是Q或者Z的时候。 (b)按照这个字母表,包含n个字母的字符串采用Huffman编码在最佳情况下需要多少位?怎样的串会出现最佳情况? 在最佳的情况下需要2*n位,当所有的字母都是E或者O的时候。 (c)按照一个字母表,一个字母平均需要多少位? (2*30 + 2*20 + 3*15 + 3*10 + 3*10 + 4*10 + 5*3+ 5*2)/100 =2.7 ∴ 2.7 3、编写一个算法来判断两棵树是否相同。尽可能提高算法效率,并分析算法的运行时间代价。 template bool Compare(GTNode* tree1, GTNode* tree2) { GTNode *num1, *num2; if (((tree1 == NULL) && (tree2 != NULL)) || ((tree2 == NULL) && (tree1 != NULL))) return 0; if ((t1 == NULL) && (t2 == NULL)) return 1; if (tree1->val() != tree2->val()) return 0; Num1 = tree1->left_child();

11年湖南大学材料科学基础真题

2011年材料科学基础真题 一、名词解释(任选6题,每题5分,共30分) 1.键能曲线: 2.玻璃转变温度:当物质由固体加热或由熔体冷却时,在相当于晶态物质熔点绝对温度2/3~1/2温度附近出现热膨胀、比热容等性能的突变。该温度称为玻璃转变温度。 3.空间点阵:组成晶体的粒子(原子、离子或分子)在三维空间中形成有规律的某种对称排列,如果我们用点来代表组成晶体的粒子,这些点的空间排列就称为空间点阵。 4.非均匀形核:熔融液体冷却过程中,依附于母相中某种界面上的形核过程。 5.共格界面:所谓共格晶界,是指界面上的原子同时位于两相晶格的结点上,即两相的晶格是彼此衔接的界面上的原子为两者共有。 6.相图杠杆定律:某一成分的二元合金在某温度时,处于二元相图的两相区内,则两相之间的质量比可用“杠杆法则”求得。在此温度处做一条水平线与该两相区的相界线相交,两个交点内水平线被合金的成分垂线分成两段,两相的质量比与这两线段的长度成反比,用相对百分数表示,这个现象好像力学中的杠杆,所以称为“杠杆定律”。 7.位错滑移:在一定应力作用下,位错线沿滑移面移动的位错运动。 二、简答题(共10题,任选6题,每题10分) 1.MgO中加入Li2O后的空位浓度变化 2.热塑性材料与热固性材料的结构与性能区别 答:热塑性:具有线性和支化高分子链结构,加热后会变软,可反复加工成形。 热固性:具有体型(立体网状)高分子链结构,不溶于任何溶剂,也不能熔融,一旦定型后不能再改变形状,无法再生。 3.固溶体强度比纯金属强的原因 答:因为合金两类原子尺寸不同,引起点阵畸变,阻碍位错运动,造成固溶强化。

4.刃型位错与螺型位错的区别 答:刃型位错和螺型位错的异同点:①刃型位错位错线垂直于柏氏矢量,螺型位错位错线平行于柏氏矢量;②刃型位错柏氏矢量平行于滑移运动方向,螺型位错柏氏矢量垂直于滑移运动方向;③刃型位错可作攀移运动且只有一个滑移面,螺型位错只可作滑移运动但有无数个滑移面;④两者都可以用柏氏矢量表示。 5.施密特定律的表示及各量的物理意义 6.Ni的晶体结构为面心立方结构,其原子半径位r=0.1243nm,试求Ni的晶格常数及原子数,间隙种类 4r40.1243 a===0.3516nm 22 三、论述题(任选4题,每题15分) 1.与三种基本结合键的有关论述与弹性模量的关系 2.关于固溶体固溶度的影响因素 答:溶质原子以原子态溶入溶剂点阵中组成的单一均匀的固体;溶剂的点阵类型被保留。 影响固溶体的因素有: 1.原子尺寸因素。当溶剂、溶质原子直径尺寸相对差小于+15%时,有大的代位溶解度。 2.负电性因素。溶剂、溶质的负电性差越小溶解度越大,一般小于0.4~0.5会有较大溶解度。 3.电子浓度因素。有两方面的含义:一是原子价效应,即同一溶剂金属,溶质原

湖南大学操作系统期末考试卷2014

1. 什么是多道程序技术,它带来了什么好处? 答:多道程序技术即是指在内存中存放多道作业,运行结束或出错,自动调度内存中另一道作业运行。多道程序主要优点如下: (1)资源利用率高。由于内存中装入了多道程序,使它们共享资源,保持系统资源处于忙碌状态,从而使各种资源得以充分利用。 (2)系统吞吐量大。由于CPU和其它系统资源保持“忙碌”状态,而且仅当作业完成或运行不下去时才切换,系统开销小,所以吞吐量大。 2. 系统调用是OS与用户程序的接口,库函数也是OS与用户程序的接口,这句话对吗?为什么? 答:不正确,系统调用可以看成是用户在程序一级请求OS为之服务的一种手段。而库函数则是在程序设计语言中,将一些常用的功能模块编写成函数,放在函数库中供公共选用。函数库的使用与系统的资源分配并无关系,仍属用户程序而非OS程序,其功能的实现并不由OS完成,且运行时仍在用户状态而非系统状态。 3. Which of the following components of program state are shared across threads in a multithreaded process? a. Register values b. Heap memory c. Global variables d. Stack memory 答:b、c 此处要简单说明原因 4. 下面哪种调度算法会导致饥饿?并说明原因。a. 先到先服务调 度(FCFS) b. 最短作业优先调度(SJF) c. 轮转调度(RR) d. 优先级调度(Priority) 答:b(长作业的可能饥饿)、d(低优先级的可能饥饿) 5. 有结构文件可分为哪几类,其特点是什么? 答:有结构文件可分为以下三类,分别是: (1)顺序文件。它是指由一系列记录,按某种顺序排列所形成的文件。

湖南大学结构力学考试及答案

结构力学 试 题 题号 一 二 三 四 五 六 七 八 九 十 总分 分数 一.是非题(将判断结果填入括弧:以O 表示正确,X 表示错误)(本大题分4小题,共 11分) 1 . (本小题 3分) 图示结构中DE 杆的轴力F NDE =F P /3。( ). 2 . (本小题 4分) 用力法解超静定结构时,只能采用多余约束力作为基本未知量。 ( ) a a a a F P E D

3 . (本小题 2分) 力矩分配中的传递系数等于传递弯矩与分配弯矩之比,它与外因无关。( ) 4 . (本小题 2分) 用位移法解超静定结构时,基本结构超静定次数一定比原结构高。 ( ) 二.选择题(将选中答案的字母填入括弧内)(本大题分5小题,共21分) 1 (本小题6分) 图示结构EI=常数,截面A 右侧的弯矩为:( ) A .2/M ; B .M ; C .0; D. )2/(EI M 。 2. (本小题4分) 图示桁架下弦承载,下面画出的杆件内力影响线,此杆件是:( ) A.ch ; B.ci; C.dj; D .cj . F p /2 M 2a 2a a a a a A F p /2 F p /2 F p /2 F p F p a d c e b f g h i k l F P =1 1 j

3. (本小题 4分) 图a 结构的最后弯矩图为: A. 图b; B. 图c; C. 图d; D.都不对。( ) ( a) (b) (c) (d) 4. (本小题 4分) 用图乘法求位移的必要条件之一是: A.单位荷载下的弯矩图为一直线; B.结构可分为等截面直杆段; C.所有杆件EI 为常数且相同; D.结构必须是静定的。 ( ) 5. (本小题3分) 图示梁A 点的竖向位移为(向下为正):( ) A.F P l 3 /(24EI ); B . F P l 3 /(!6EI ); C . 5F P l 3 /(96EI ); D. 5F P l 3 /(48EI ). l l M /4 3M /4 M /4 3M /4 3M /4 M /4 M /8 M /2 EI EI M

07年湖南大学材料科学基础真题

2007年材料科学基础真题 一、名词解释(30分) 1.孪晶:在切应力作用下,晶体的一部分沿一定的晶面(称为孪生面)和晶向(称为孪生方向)相对于另一部分晶体作均匀的切边时所长生的变形。孪生变形后,相邻两部分晶体的取向不同,恰好以孪生面为对称面形成镜像对称,形成孪晶。 2.柯肯达尔效应:在置换式固溶体中,由于两种原子以不同的速度相对扩散而造成标记面飘移的现象。 3.二次渗碳体:从奥氏体中析出的渗碳体称为二次渗碳体,其形态一般沿奥氏体晶界呈网状分布。 4.小角度晶界:界面两侧的晶粒取向差小于10o的晶界,有对称倾侧晶界和非对称倾侧晶界之分。 5.成分过冷:在合金凝固过程中,虽然液相中的实际温度分布一定,但是由于固液界面前沿液相中的溶质富集,导致液相的实际熔点下降。液相的实际凝固温度与熔体中的溶质的实际温度不一致,产生过冷现象。这种过冷是由于成分变化与实际温度分布这两个因素共同决定,这种过冷呈为成分过冷。 6.施密特(Schmid)因子:拉伸变形时,能够引起晶体滑移的分切应力t的大小取决于该滑移面和晶向的空间位置()。t与拉伸应力σ间的关系为: 被称为取向因子,或称施密特因子,取向因子越大,则分切应力越大。 二、简答题(任选5题,50分) 1.简述柯垂尔气团和铃木气团的特点 答:溶质与刃型位错之间产生交互作用,形成柯垂尔气团。 溶质原子与层错交互作用形成铃木气团。 当材料的温度升高时,柯垂尔气团容易消失而铃木气团受温度的影响很小。 2.写出FCC、BCC和HCP晶胞中的四面体、八面体间隙数,致密度和原子配位数。 答:(1)间隙

FCC晶胞:4个八面体间隙,8个四面体间隙; BCC晶胞:6个八面体间隙;12个四面体间隙; HCP晶胞:6个八面体间隙;12个四面体间隙; (2)配位数 BCC:最近邻8个,考虑次近邻为(8+6)个 FCC:最近邻12个 HCP:理想状态12个,非理想状态(6+6)个 (3)致密度 BCC:0.68 FCC:0.74 HCP:0.74 3.简述固溶体和中间相的特点 答:(1)固溶体:固溶体保持了溶剂的晶格类型;成分可以在一定范围内变化,但不能用一个化学式来表示;不一定满足原子比或电子数比;在相图上为一个区域;具有明显的金属性质。例如具有一定的导电、导热性质和塑性等。固溶体中的结合键主要是金属键。 (2)中间相:金属与金属,或金属与非金属(氮、碳、氢、硅)之间形成的化合物总称为金属间化合物。由于金属间化合物在相图中处于相图的中间位置,故也称为中间相。 金属间化合物的晶体结构不同于构成它的纯组元,键合方式也有不同的类型,可能有离子键、共价键,但大多数仍然属于金属键类型。 4.相界面结构有哪几种形式,其界面能特点是什么? 答:有共格、半共格和非共格三种。 共格界面的晶格畸变能最高,化学能最低;非共格界面的化学能最高而晶格畸变能最低;半共格界面介于两者之间。 5.变形织构有哪几种类型,对材料的性能有何影响?如何消除? 答:(1)有丝织构和板织构 (2)造成材料的性能产生显著的各异性。如,对于板材,在冲压成型时容易产生制耳。

操作系统实验一中断处理

实习一中断处理 一、实习内容 模拟中断事件的处理。 二、实习目的 现代计算机系统的硬件部分都设有中断机构,它是实现多道程序设计的基础。中断机 构能发现中断事件,且当发现中断事件后迫使正在处理器上执行的进程暂时停止执行,而让操作系统的中断处理程序占有处理器去处理出现的中断事件。对不同的中断事件,由于它们的性质不同,所以操作系统应采用不同的处理。通过实习了解中断及中断处理程序的作用。本实习模拟“时钟中断事件”的处理,对其它中断事件的模拟处理,可根据各中断事件的性质确定处理原则,制定算法,然后依照本实习,自行设计。 三、实习题目 模拟时钟中断的产生及设计一个对时钟中断事件进行处理的模拟程序。 [提示]: (1) 计算机系统工作过程中,若出现中断事件,硬件就把它记录在中断寄存器中。中 断寄存器的每一位可与一个中断事件对应,当出现某中断事件后,对应的中断寄存器的某一位就被置成―1‖。 处理器每执行一条指令后,必须查中断寄存器,当中断寄存器内容不为―0‖时,说明有中断事件发生。硬件把中断寄存器内容以及现行程序的断点存在主存的固定单元,且让操作系统的中断处理程序占用处理器来处理出现的中断事件。操作系统分析保存在主存固定单元中的中断寄存器内容就可知道出现的中断事件的性质,从而作出相应的处理。 本实习中,用从键盘读入信息来模拟中断寄存器的作用,用计数器加1 来模拟处理器 执行了一条指令。每模拟一条指令执行后,从键盘读入信息且分析,当读入信息=0 时,表示无中断事件发生,继续执行指令;当读入信息=1 时,表示发生了时钟中断事件,转时钟中断处理程序。 (2)假定计算机系统有一时钟,它按电源频率(50Hz)产生中断请求信号,即每隔20 毫秒产生一次中断请求信号,称时钟中断信号,时钟中断的间隔时间(20 毫秒)称时钟单

湖南大学考研结构力学真题

湖南大学1997年招收攻读硕士学位研究生人学考试命题专用纸 招生专业:结构工程考试科目:结构力学A试题编号:40101一.填空题(5*4=20分) 1.图示结构CA杆A端的弯矩M AC=(),()侧受拉。EI=常数 2.图示结构中CD杆C端的剪力Q CD=()。EI=常数 3.如图超静定刚架,支座A发生顺时针转角φA,支座B发生向下的竖向位移Δ,若用力法采用图示基本结构进行计算,其力法方程为()。(系数及自由项不必具体算出) 4.图示等截面梁,在温度改变影响下,弯矩图轮廓为()。(EI=常数) 二.求图示桁架中a、b杆的内力。(12分) 三.用力法计算图示刚架,并作出其弯矩图。(16分)

四.用位移法计算图示刚架时,写出其位移法方程,并求出其系数及自由项。(13分)EI=常数 五.求图示多跨静定梁的M D影响线。(12分) 六.用矩阵位移法中的直接刚度法形成图示刚架的结构刚度矩阵(忽略杆件的轴线变形)。(15分) 七.求图示简支梁的自振频率和振型(作出振型图)。(12分)

湖南大学1998年招收攻读硕士学位研究生人学考试命题专用纸 招生专业:结构工程考试科目:结构力学A试题编号:40101一.填空题(5*5=25分) 1.图示结构,各杆EI相同,N CD=(),()力。 2.图示桁架中,N FG=(),()力。 3.图示三铰刚架中,M DA=(),()侧受拉。 4.图示结构的M A影响线: 5.图示结构,弯矩为常数的杆件有()。

二.作图示结构的弯矩图。(10分) 三.试用力法计算图示结构,并作出其弯矩图。(18分) 四.试用位移法计算图示结构,作出其弯矩图,并求Q CB。(18分) 五.求图示体系的自振频率,并作出其相应的振型图。(15分) 六.用直接刚度法(先处理法或后处理法)形成图示结构刚度矩阵(不考虑轴向变形)。(14分)

湖南大学《材料科学基础》2009-2013年期末试卷及详细答案

湖南大学2009年《材料科学基础》期末考试试卷 一. 图1是Na 2 O的理想晶胞结构示意图,试回答: 1.晶胞分子数是多少; 2.结构中何种离子做何种密堆积;何种离子填充何种空隙,所占比例是多少; 3.结构中各离子的配位数为多少,写出其配位多面体; 4.计算说明O2-的电价是否饱和; 5.画出Na 2 O结构在(001)面上的投影图。 二. 图2是高岭石(Al 2O 3 ·2SiO 2 ·2H 2 O)结构示意图,试回答: 1.请以结构式写法写出高岭石的化学式; 2.高岭石属于哪种硅酸盐结构类型; 3.分析层的构成和层的堆积方向; 4.分析结构中的作用力; 5.根据其结构特点推测高岭石具有什么性质。

三. 简答题: 1.晶体中的结构缺陷按几何尺寸可分为哪几类? 2.什么是负扩散? 3.烧结初期的特征是什么? 4.硅酸盐晶体的分类原则是什么? 5.烧结推动力是什么?它可凭哪些方式推动物质的迁移? 6.相变的含义是什么?从热力学角度来划分,相变可以分为哪几类? 四. 出下列缺陷反应式: 1.NaCl形成肖特基缺陷; 2.AgI形成弗仑克尔缺陷(Ag+进入间隙); 3.TiO 2掺入到Nb 2 O 3 中,请写出二个合理的方程,并判断可能成立的方程是 哪一种?再写出每个方程的固溶体的化学式。 4.NaCl溶入CaCl 2 中形成空位型固溶体 五. 表面力的存在使固体表面处于高能量状态,然而,能量愈高系统愈不稳定,那么固体是通过何种方式降低其过剩的表面能以达到热力学稳定状态的。 六.粒径为1μ的球状Al 2O 3 由过量的MgO微粒包围,观察尖晶石的形成, 在恒定温度下,第一个小时有20%的Al 2O 3 起了反应,计算完全反应的时间:⑴ 用杨德方程计算;⑵用金斯特林格方程计算。 七.请分析熔体结构中负离子团的堆积方式、聚合度及对称性等与玻璃形成之关系。 八.试从结构和能量的观点解释为什么D晶界>D晶内? 九.试分析二次再结晶过程对材料性能有何影响?工艺上如何防止或延缓二次再结晶的发生? 十.图3是A-B-C三元系统相图,根据相图回答下列问题: 1.写出点P,R,S的成分; 2.设有2kgP,问需要多少何种成分的合金Z才可混熔成6kg成分为R的合金。

材料科学基础考研真题汇编

全国名校材料科学基础考研真题汇编(含部分答案)益星学习网提供全套资料 目录 1.清华大学材料科学基础历年考研真题及详解 2009年清华大学材料科学基础(与物理化学或固体物理)考研真题及详解 2008年清华大学材料科学基础(与物理化学或固体物理)考研真题及详解 2007年清华大学材料科学基础(与物理化学或固体物理)考研真题及详解 2.北京科技大学材料科学基础历年考研真题 2014年北京科技大学814材料科学基础考研真题 2013年北京科技大学814材料科学基础考研真题 2012年北京科技大学814材料科学基础考研真题 2011年北京科技大学814材料科学基础考研真题 3.西北工业大学材料科学基础历年考研真题及详解 2012年西北工业大学832材料科学基础考研真题及详解 2011年西北工业大学832材料科学基础(A卷)考研真题及详解 2010年西北工业大学832材料科学基础(A卷)考研真题及详解 4.中南大学材料科学基础历年考研真题及详解 2012年中南大学963材料科学基础考研真题(回忆版) 2009年中南大学959材料科学基础考研真题及详解 2008年中南大学963材料科学基础考研真题 2008年中南大学963材料科学基础考研真题(A组)详解 5.东北大学材料科学基础历年考研真题 2015年东北大学829材料科学基础考研真题(回忆版) 2014年东北大学829材料科学基础考研真题 6.北京工业大学材料科学基础历年考研真题及详解 2012年北京工业大学875材料科学基础考研真题 2009年北京工业大学875材料科学基础考研真题及详解 2008年北京工业大学875材料科学基础考研真题及详解 7.中国科学技术大学材料科学基础历年考研真题 2014年中国科学技术大学802材料科学基础考研真题 2013年中国科学技术大学802材料科学基础考研真题 2012年中国科学技术大学802材料科学基础考研真题 8.东华大学材料科学基础历年考研真题 2013年东华大学822材料科学基础考研真题 2012年东华大学822材料科学基础考研真题 9.南京航空航天大学材料科学基础历年考研真题及详解 2014年南京航空航天大学818材料科学基础(A卷)考研真题 2013年南京航空航天大学818材料科学基础(A卷)考研真题 2008年南京航空航天大学818材料科学基础考研真题及详解 10.其他名校材料科学基础历年考研真题及详解 2011年武汉理工大学833材料科学基础考研真题及详解

操作系统课后习题答案

3.1论述长期、中期、短期调度之间的区别。 答:短期调度:在内存作业中选择准备执行的作业,并未他们分配CPU。 中期调度:被用于分时系统,一个交换方案的实施,将部分运行程序移出内存,之后,从中断处继续执行。 长期调度:确定哪些作业调入内存以执行。 区别:它们区别在于执行频率。短期调度必须经常调用一个新进程,由于在系统中,长期调度处理移动的作业时,并不频繁被调用,可能在进程离开系统时才被唤起。 3.2描述内核在两个进程间进行上下文切换的过程。 答:进程关联是由进程的PCB来表示的,它包括CPU寄存器的值和内存管理信息等。当发生上下文切换时,内核会将旧进程的关联状态保存在其PCB中,然后装入经调度要执行的新进程的已保存的关联状态。上下文切换还必须执行一些确切体系结构的操作,包括刷新数据和指令缓存。 3.4使用图3.24所示的程序,说明LINE A可能输出什么。 答:输出:PARENT:value=5; 父进程中value初始值为5,,value+=15发生在子进程,输出发生在父进程中,故输出value 的值为5。 3.5下面设计的优点和缺点分别是什么?系统层次和用户层次都要考虑。 a.同步和异步通信 b.自动和显式缓冲 c.复制传送和引用传送 d.固定大小和可变大小信息 答:a.同步和异步通信:同步通信的影响是它允许发送者和接收者之间有一个集合点。缺点是阻塞发送时,不需要集合点,而消息不能异步传递。因此,消息传递系统,往往提供两种形式的同步。 b.自动和显式缓冲:自动缓冲提供了一个无限长度的队列,从而保证了发送者在复制消息时不会遇到阻塞,如何提供自动缓存的规范,一个方案也许能保存足够大的内存,但许多内存被浪费缓存明确指定缓冲区的大小。在这种状况下,发送者不能在等待可用空间队列中被阻塞。然而,缓冲明确的内存不太可能被浪费。 c.复制发送和引用发送:复制发送不允许接收者改变参数的状态,引用发送是允许的。引用发送允许的优点之一是它允许程序员写一个分布式版本的一个集中的应用程序。 d.固定大小和可变大小信息:一个拥有具体规模的缓冲可容纳及已知数量的信息缓冲能容纳的可变信息数量是未知的。信息从发送者的地址空间被复制至接受进程的地址空间。更大的信息可使用共享内存传递信息。 4.1举两个多线程程序设计的例子,其中多线程的性能比单线程的性能差。 答:a.任何形式的顺序程序对线程来说都不是一个好的形式。例如一个计算个人报酬的程序。 b.一个“空壳”程序,如C-shell和korn shell。这种程序必须密切检测其本身的工作空间。如打开的文件、环境变量和当前工作目录。

相关文档
最新文档