文档库 最新最全的文档下载
当前位置:文档库 › 软件技术基础一些实例

软件技术基础一些实例

软件技术基础一些实例
软件技术基础一些实例

软件技术基础上机实验习题一、顺序表

基础编程:

(1)编程实现线性表插入、删除

#include

template

class sq_LList

{ private:

int mm;

int nn;

T *v;

public:

sq_LList(){ mm=0;nn=0;return;}

sq_LList(int m)

{mm=m;

v=new T[mm];

nn=0;

return;

}

void prt_sq_LList()

{int i;

cout<<"nn="<

for(i=0;i

cout<

return;

}

int flag_sq_LList()

{ if(nn==mm)return(-1);

if(nn==0) return (0);

return(1);

}

void ins_sq_LList(int i,T b)

{int k;

if(nn==mm)

cout<<"overflow"<

if(i>nn)

i=nn+1;

if(i<1)

i=1;

for(k==nn;k>=i;k--)

v[k]=v[k-1];

v[i-1]=b;

nn=nn+1;

return;

}

void del_sq_LList(int i)

{int k;

if(nn==0)

{cout<<"underflow"<

return;

}

if((i<1)||(i>nn))

{cout<<"Not this element in the list!"<

return;

}

for(k=i;k

v[k-1]=v[k];

nn=nn-1;

return;

}

};

int main()

{sq_LList s1(100);

cout<<"第一个输出的顺序表对象s1:"<

s1.ins_sq_LList(0,1.5);

s1.ins_sq_LList(1,2.5);

s1.ins_sq_LList(4,3.5);

cout<<"第二个输出的顺序表对象s1:"<

s1.del_sq_LList(0);

s1.del_sq_LList(2);

cout<<"第三个输出的顺序表对象s1:"<

return 0;

}

应用:

(1)采用顺序表存储。

#include

typedef int maxix[100];

main()

{maxix a;

int count,d,i,m,n;

do

{ printf("输入n和m:");

scanf("%d,%d",&n,&m);

} while(n<=m);

for(i=0;i

a[i]=i+1;

count=0;d=0;

while(d

for(i=0;i

if(a[i]!=0)

{ count++;

if(count==m)

{ printf("%d",a[i]);

a[i]=0;

count=0;

d++;

}

}

}

(2)约瑟夫问题用单链表实现:

#include

struct monkey

{

int number;

monkey *prev;

monkey *next;

};

void main()

{

int n,m;

cout<<"请输入猴子的数量"<

cin>>n;

cout<<"请输入非标记数"<

cin>>m;

int i;

monkey monkeys[1000];

monkey *p;

for (i=0;i

{

monkeys[i].number = i+1;

monkeys[i].prev = (i == 0) ? &(monkeys[n-1]) : &(monkeys[i-1]);

monkeys[i].next = (i == n-1) ? monkeys : &(monkeys[i+1]) ;

}

p = monkeys;

do

{

for (i = 2; i <= m; i++)

{

p = p->next;

}

cout<<"monkey No."<number<<"is normal"<

p->prev->next = p->next;

p->next->prev = p->prev;

p = p->next;

} while (p->next!=p);

cout<<"第"<number<<"只是猴王"<

}

2、狐狸逮兔子

#include

void main()

{

int a[10],i,j;

for(i=0;i<10;i++)

a[i]=0;

i=0;

for(j=1;j<=1000;j++)

{

a[i]=1;

i=(i+j+1)%10;

}

for(i=0;i<10;i++)

if(a[i]==0)

cout<<"兔子可能藏在第"<

}

二、队列

基础编程:

(1)编程实现基于顺序存储结构的队列建立初始化、入队、出队。

(2)编程实现基于顺序存储结构的环形队列的建立初始化、入队、出队。(3)编程实现基于链表的队列建立初始化、入队、出队。

#include

using namespace std;

template

struct node

{

T d;

node*next;

};

template

class linked_Queue

{

node*front;

node*rear;

public:

linked_Queue();

void prt_linked_Queue();

int flag_linked_Queue();

void ins_linked_Queue(T);

T del_linked_Queue();

};

template

linked_Queue::linked_Queue()

{

front=NULL;

rear=NULL;

return;

}

template

void linked_Queue::prt_linked_Queue() {

node*p;

p=front;

if(p==NULL)

{

cout<<"空队列!"<

return;

}

do{cout<d<

p=p->next;

}while(p!=NULL);

return;

}

template

int linked_Queue::flag_linked_Queue() {

if(front==NULL) return(0);

return(1);

}

template

void linked_Queue::ins_linked_Queue(T x)

{

node*p;

p=new node;

p->d=x;

p->next=NULL;

if(rear==NULL)

front=p;

else

rear->next=p;

rear=p;

return;

}

template

T linked_Queue::del_linked_Queue()

{

T y;

node*q;

if(front==NULL)

{

cout<<"空队!"<

return(0);

}

y=front->d;

q=front;

front=q->next;

delete q;

if(front==NULL) rear=NULL;

return(y);

}

int main()

{

linked_Queueq;

q.ins_linked_Queue(50);

q.ins_linked_Queue(60);

q.ins_linked_Queue(70);

q.ins_linked_Queue(80);

q.ins_linked_Queue(90);

q.ins_linked_Queue(100);

cout<<"输出带链队列中的元素:"<

q.prt_linked_Queue();

if(q.flag_linked_Queue())

cout<<"输出退队元素:"<

if(q.flag_linked_Queue())

cout<<"输出退队元素:"<

if(q.flag_linked_Queue())

cout<<"输出退队元素:"<

cout<<"再次输出带链队列中的元素"<

q.prt_linked_Queue();

return 0;

}

应用:

1、迷宫

#include

const int m=3,n=3;

int a[(m+2)][(n+2)];

int mark[m+2][n+2];

struct point

{

int a,b;

char *dir;

};

point move[8]=

{

{-1,0,"N"},

{-1,1,"NE"},

{0,1,"E"},

{-1,-1,"SE"},

{1,0,"S"},

{1,-1,"SW"},

{0,-1,"W"},

{-1,-1,"NW"}

};

int SeekPath(int x,int y)

{

int i,p,q;

char *d;

if(x==m&&y==n)

return 1;

for(i=0;i<8;i++)

{

p=x+move[i].a;

q=y+move[i].b;

d=move[i].dir;

if(a[p][q]==0&&mark[p][q]==0)

{

mark[p][q]=1;

if(SeekPath(p,q))

{

cout<<"上一个点"<<"("<

<<"Direction"<

return 1;

}

}

}

if(x==1&&y==1) cout<<"no path"<

return 0;

};

void main()

{

int i=0,j=0;

for(i=0;i<5;i++)

a[i][0]=1;

for(j=0;j<5;j++)

a[0][j]=1;

for(j=0;j<5;j++)

a[4][j]=1;

for(i=0;i<5;i++)

a[i][4]=1;

cout<<"输入一个3*3迷宫,0表示可通过,1表示有障碍"<

for(i=1;i<4;i++)

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

cin>>a[i][j];

cout<<"迷宫如下:"<

for(i=0;i<5;i++)

{

for(j=0;j<5;j++)

cout<

cout<

}

cout<<"开始寻路......"<

for(i=0;i<5;i++)

for(j=0;j<5;j++)

mark[i][j]=0;

mark[1][1]=1;

SeekPath(1,1);

}

三、栈

基础编程:

(1)编程实现基于顺序存储结构的栈建立初始化、入栈、出栈、判空。#include

template

class sxz

{

private:

int mm;

int top;

T* s;

public:

sxz(int);

void prt();

int flag();

void in(T);

T del();

T read();

};

template

sxz::sxz(int m)

{

mm=m;

s=new T[m];

top=0;

return;

}

template

void sxz::prt()

{

int i;

cout<<"top="<

for(i=top;i>0;i--)

cout<

return;

}

template

int sxz::flag()

{

if(top==mm)

return(-1);

if(tip==0)

return(0);

return(1);

}

template

void sxz::in(T x)

{

if(top==mm)

{

cout<<"The stack is overflow!"<

return;

}

top=top+1;

s[top-1]=x;

return;

}

template

T sxz::del()

{

T y;

if(top==0)

{

cout<<"The stack is underflow!"<

return(0);

}

y=s[top-1];

top=top-1;

return(y);

}

template

T sxz::read()

{

if(top==0)

{

cout<<"The stack ic empty!"<

return(0);

}

return(s[top-1]);

}

int main()

{

sxz s(10);

s.in(50);

s.in(60);

s.in(70);

s.in(80);

s.in(90);

s.in(100);

cout<<"输出栈顶指针与栈中元素"<

s.prt();

cout<<"栈顶元素"<

cout<

cout<<"输出推栈元素"<

cout<

cout<

cout<

cout<<"输出栈顶指针与栈中元素"<

s.prt();

return(0);

}

编程实现基于链表结构的栈建立初始化、入栈、出栈、判空。#include

template

struct node

{

T d;

node* next;

};

template

class lbz

{

private:

node* top;

public:

lbz();

void prt();

int flag();

void in(T);

T del();

T read();

};

template

lbz::lbz()

{

top=NULL;

return;

}

template

void lbz::prt()

{

node* p;

p=top;

if(p==NULL)

{

cout<<"The stack is empty!"<

return;

}

while(p!=NULL)

{

cout<d<

p=p->next;

}

return;

}

template

int lbz::flag()

{

if(top==0)

return(0);

return(1);

}

template

void lbz::in(T x)

{

node* p;

p=new node;

p->d=x;

p->next=top;

top=p;

return;

}

template

T lbz::del()

{

T y;

node* q;

if(top==NULL)

{

cout<<"The stack is empty!"<

return(0);

}

q=top;

y=q->d;

top=q->next;

delete q;

return(y);

}

template

T lbz::read()

{

if(top==NULL)

{

cout<<"The stack ic empty!"<

return(0);

}

return(top->d);

}

int main()

{

lbz s;

s.in(50);

s.in(60);

s.in(70);

s.in(80);

s.in(90);

s.in(100);

cout<<"输出栈中元素"<

s.prt();

if(s.flag())

cout<<"栈顶元素="<

if(s.flag())

cout<<"退栈元素="<

if(s.flag())

cout<<"退栈元素="<

if(s.flag())

cout<<"退栈元素="<

cout<<"输出栈顶指针与栈中元素"<

s.prt();

return(0);

}

栈应用:

1、求一个表达式的值:

#include

#include

#define max 100

void main()

{

char str[max];

char exp[max];

char stack[max];

char st[max];

char ch,c;

int i,j,t,top=0;

float d;

i=0;

do

{

i++;

scanf("%c",&str[i]);

}while(str[i]!='#'&&i

t=0;

i=0;

ch=str[i];

i++;

while(ch!='#')

{

if(ch>='0'&&ch<='9')

{

exp[t]=ch;

t++;

}

else if(ch=='(')

{

top++;

stack[top]=ch;

}

else if(ch==')')

{

while(stack[top]!='(')

{

exp[t]=stack[top];

top--;

t++;

}

top--;

}

else if(ch=='+'||ch=='-')

{

while(top!=0&&stack[top]!='(')

{

exp[t]=stack[top];

top--;

t++;

}

top++;

stack[top]=ch;

}

else if(ch=='*'||ch=='/')

{

while(stack[top]=='*'||stack[top]=='/')

{

exp[t]=stack[top];

top--;

t++;

}

top++;

stack[top]=ch;

}

ch=str[i];

i++;

}

while(top!=0)

{

exp[t]=stack[top];

t++;

top--;

}

exp[t]='#';

c=exp[t];

t++;

while(c!='#')

{

d=c-'0';

if(c>='0'&&c<='9')

{

top++;

st[top]=d;

}

else

{

switch(c)

{

case'+':

st[top-1]=st[top-1]+st[top];

break;

case'-':

st[top-1]=st[top-1]-st[top];

break;

case'*':

st[top-1]=st[top-1]*st[top];

break;

case'/':

if(st[top]!=0)

st[top-1]=st[top-1]/st[top];

else

printf("there is an error!\n");

break;

}

top--;

}

c=exp[t];

t++;

}

printf("the result is:%g",st[top]);

}

四、数组存取

基础编程:

1、从键盘输入一个上三角矩阵,要求输出一个压缩存储的数组。

#include

void main()

{

int a[4][4];

int b[10],k,i,j;

cout<<"请输入一个上三角矩阵"<

for( i=0;i<4;i++)

for( j=0;j<4;j++)

{

cin>>a[i][j];

if(j>=i)

{

k=(j+1)*j/2+i+1;

b[k-1]=a[i][j];

}

}

for(k=0;k<10;k++)

cout<

}

2、从键盘输入一个三对角矩阵,要求输出一个压缩存储的数组。

#include

void main()

{

int a[5][5],i,j,k,m,b[13],c[13];

cout<<"请输入一个五阶三对角矩阵"<

for(i=0;i<5;i++)

for(j=0;j<5;j++)

{

cin>>a[i][j];

if((i-1<=j)&&(j<=i+1))

{

k=2*i+j+1;m=2*j+i+1;

b[k-1]=a[i][j];

c[m-1]=a[i][j];

}

}

cout<<"三对角矩阵的以行为主的压缩存储为"<

for(k=0;k<13;k++)

cout<

cout<<"三对角矩阵的以列为主的压缩存储为"<

for(m=0;m<13;m++)

cout<

}

3、从键盘输入一个m*n稀疏矩阵,要求输出一个压缩存储的数组。#include

template

xs::xs(int introw,int intcol, int intterm,Triple datatemp[])

{

if(intterm>max)

{

cout<<"构造函数的初始化参数不正确!";

exit(1);

}

row=introw;

col=intcol;

term=intterm;

for(int i=0;i

{

data[i]=datatemp[i];

}

}

template

void xs::ShowTriple()

{

for(int i=0;i

{

cout<

}

}

int main()

{

Triple Tripletemp,Tripletemp3,Tripletemp2;

Tripletemp.col=0;Tripletemp.row=0;Tripletemp.value=15;

Tripletemp2.col=1;Tripletemp2.row=2;Tripletemp2.value=16;

Tripletemp3.col=1;Tripletemp3.row=0;Tripletemp3.value=17;

Triple A[3];

A[0]=Tripletemp;

A[1]=Tripletemp2;

A[3]=Tripletemp3;

xs xsA(3,3,3,A);

xsA.ShowTriple();

return 0;

}

五、树与二叉树

基础编程

#include

template

struct htnode//哈夫曼树的结点

{

T data;

double weight;

int parent;

int lchild,rchild;

};

struct hcode//存放每个结点哈夫曼编码

{

char cd[100];

int start;

};

template

class hufftree//哈夫曼树

{

private:

htnode HT[101];

public:

hufftree(htnode ht[],int n);//构造哈夫曼树

void createhcode(hcode hcd[],int n);//求哈夫曼编码

void dishcode(hcode hcd[],int n);//输出哈夫曼编码

void preorder(htnode ht[],int n);//前序遍历

void inorder(htnode ht[],int n);//中续遍历

void postorder(htnode ht[],int n);//后序遍历

};

template

hufftree::hufftree(htnode ht[],int n)//构造哈夫曼树{

int i,k,lnode,rnode;

int min1,min2;

for(i=0;i<2*n-1;i++)

ht[i].parent=ht[i].lchild=ht[i].rchild=-1;

for(i=n;i<2*n-1;i++)

{

min1=min2=32767;

lnode=rnode=-1;

for(k=0;k

if(ht[k].parent==-1)

{

if(ht[k].weight

{

min2=min1;

rnode=lnode;

min1=ht[k].weight;

lnode=k;

}

else if(ht[k].weight

{

min2=ht[k].weight;

rnode=k;

}

}

ht[lnode].parent=i;

ht[rnode].parent=i;

ht[i].weight=ht[lnode].weight+ht[rnode].weight;

ht[i].lchild=lnode;

ht[i].rchild=rnode;

}

for(i=0;i<2*n-1;i++)

{

HT[i].data=ht[i].data;

HT[i].weight=ht[i].weight;

HT[i].parent=ht[i].parent;

HT[i].lchild=ht[i].lchild;

HT[i].rchild=ht[i].rchild;

}

}

//template //前序遍历

//void hufftree::preorder(htnode ht[],int n)

//{

//}

//template //中序遍历

//void hufftree::ineorder(htnode ht[],int n)

//{

//}

//template //后序遍历

//void hufftree::postorder(htnode ht[],int n)

//{

//}

template //构造哈夫曼编码

void hufftree:: createhcode(hcode hcd[],int n)

{

int i,f,c;

hcode hc;

for(i=0;i

{

hc.start=n;

c=i;

f=HT[i].parent;

while(f!=-1)

{

if(HT[f].lchild==c)

hc.cd[hc.start--]='0';

else

hc.cd[hc.start--]='1';

c=f;

f=HT[f].parent;

}

最新计算机软件技术基础(第三版)习题答案

第一章 1.1什么是信息?信息与数据的区别和联系在何处? 信息定义之一:信息是现实世界中存在的客观实体、现象、关系进行描述的数据。 信息定义之二:信息是经过加工后并对实体的行为产生影响的数据。 与数据的区别和联系: 数据定义:数据是现实世界客观存在的实体或事物的属性值,即指人们听到的事实和看到的景象。 我们把这些数据收集起来,经过处理后,即得到人们需要的信息。 信息和数据的关系可以归结为: 1.信息是有一定含义的数据。 2.信息是经过加工(处理)后的数据。 3.信息是对决策有价值的数据。 1.2信息有哪些基本属性? z信息的基本属性有: 1.事实性。 2.等级性。 3.可压缩性。 4.可扩散性。 5.可传输性。 6.共享性。 7.增值性和再生性。 8.转换性。 1.3计算机的主要特点是什么? 计算机最主要的特点是: 1.高速自动的操作功能。 2.具有记忆的能力。 3.可以进行各种逻辑判断。 4.精确高速的计算能力。 1.5完整的计算机系统应该包括哪几部分? 目前最完整的计算机系统学说认为由五部分组成: 1.人员 2.数据 3.设备 4.程序 5.规程 1.6什么是计算机硬件?什么是计算机软件? 硬件:泛指实际存在的物理设备,包括计算机本身及其外围设备。 微型计算机的硬件系统:主机、外存储器、输入设备、输出设备、微机的系统总线。 软件:是指计算机程序、方法、规则的文档以及在计算机上运行它时所必须的数据。 计算机软件一般分为系统软件和应用软件。 1.8 软件技术发展的几个阶段各有什么特点?它与硬件的关系如何? 第一阶段:高级语言阶段 特点:这一时期,编译技术代表了整个软件技术,软件工作者追求的主要目的是设计和实现在控制结构和数据结构方面表现能力强的高级语言。但在这一时期内,编译系统主要是靠手工编制,自动化程度很低。 硬件关系:此时期计算机的硬件要求仅能用机器指令来编制可运行的程序。

软件技术基础试题及答案

软件技术基础试题及答案

软件技术基础 系班级姓名成绩 得分评卷 人一、填空题(每空1分,共25分) 1.数据结构作为一门学科,主要研究数据 的、存储结构以及 三方面内容。 2.当对一个线性表经常进行插入或删除操作时,则 宜采用存储结构;而经常进行的是访问操作,而很少进行插入或删除操作时,则宜采用存储结构。 3.在线性结构中,首结点有个前驱结点, 其余每个结点有且只有个前驱结点。4.限定在表的一端进行插入,在表的另一端进行删 除的线性表称为;限定在表的一端进行插入和删除运算的线性表称为。 5.一个8阶的下三角矩阵B按行优先顺序压缩存储 第2页,共19页

6. 第3页,共19页

7. 8.操作系统通过记载、跟 踪、控制进程的执行,它是进程存在的唯一标志。 作业调度程序是从处于状态的作业中选取一个作业并把它装入主存。 12A.软件生命周期瀑布模型一般可分为问题分析、、、 和软件维护五个阶段。 , 得分评卷 人二、选择题(每小题1分,共10分)下列语句正确的是()。 A. int *p=&x; B. int *p=x; C. int p=&x; D. int *p=*x; 2. int a[ ]={1,2,3,4,5},b[5],*p; 则下列语句中不 正确的语句是()。 A. p=b+1; B.p=&a[3]; C. p=a; D.b=a; 3. 设有以下说明语句 struct node{ int a;float b;};struct node node1,node2,*pnode; 则下列语句中正确是()。 A. node1=node2; B. 第4页,共19页

学习计算机应用基础心得体会.docx

学习计算机应用基础心得体会 小编语: 学习计算机基础知识,掌握计算机基本的操 作方法,是每个现代人必须学习的内容,目的就是在将来 的工作、学习和生活中,能够更好地使用电脑,用好这个 工具。通以下是学习计算机应用基础心得体会范文,仅供参考。 学习计算机应用基础心得体会(一)当今社会,到处充 满机遇与挑战。知识是我们面对 这一切的筹码,而计算机知识则更为重要。如何在本科函授这样一种形式下,学好计算机课程,这是摆在我们面前的一个问题。我谈一下学习感受,供大家参考。只想以此抛砖引玉,让大家对学习方法多发表自己的意见,以利于学习。 1、基础很重要 实践证明,对文字、表格等的处理都是计算机课程 的基础,需要一定的操作桌面的知识和能力,需要一定的工具操作能力,学好这些是学习计算机的入门,所以尤为重要! 、循序渐进 整个学习过程应采用循序渐进的方式,先了解计算 机的基本知识,如计算机的起源、发展、windowsXX、xp 的

桌面操作、电子表格等,使自己能由浅入深,由简到繁 地掌握他们的使用技术。 、学以致用 在学习时始终要与实际应用相结合,不要把主要精 力花费在各个命令孤立地学习上;要把学以致用的原则贯穿 整个学习过程,以让自己对命令能有深刻和形象的理解。

、熟能生巧 word作为文字操作专家,它能使我们更加深入地理解、熟练文字操作的命令。要强迫自己做几个综合实例,分别详细地进行文字编辑,使自己可以从全局的角度掌握 个编辑过程,力争使自己学习完word之后就可以投身到实际的工作中去。 1、常见问题要弄懂 对于经常出现的问题,要及时解决。如果推脱,那么问题就越堆越多,不利于今后的学习。 、有比较,才有鉴别 容易混淆的命令,要注意使自己弄清它们之间的区 别。 、养成良好习惯 规范操作。我的体会是:养成良好的习惯,受益匪 浅。! 学无止境,只要大家在学习中善于总结和归纳, 定能找到 最佳学习方法。感谢陈老师的悉心教导。通过这次短暂的 学习,我的收获很大。我会在今后的学习和工作中更加努 力。 路漫漫其修远兮,吾将上下求索........ 学习计算机应 用基础心得体会(二) 1世纪是一个信息经济时代,为适应时代的发展。作为一 名当代大学生,所受的社会压力将比任何时候的大学生都要来得 沉重,因此在校期间,我们必须尽可能的利用好学习时间,尽可

计算机软件技术基础课后题答案

数据结构习题答案 第一节概论 一、选择题 1.要求同一逻辑结构的所有数据元素具有相同的特性,这意味着( )。 A.数据元素具有同一的特点 *B.不仅数据元素包含的数据项的个数要相同,而且对应数据项的类型要一致 C.每个数据元素都一样 D.数据元素所包含的数据项的个数要相等 2.数据结构是一门研究非数值计算的程序设计问题中计算机的( (1) )以及它们之间的( (2) )和运算的学科。 (1) A.操作对象 B.计算方法 *C.物理存储D.数据映像 (2) A.结构 *B.关系 C.运算 D.算法3.数据结构被形式地定义为(D,R),其中D是( (1) )的有限集合,R是D上( (2) )的有限集合。 (1) A.算法 *B.数据元素 C.数据操作D.逻辑结构 (2)A.操作 B.映像 C.存储 *D.关系4.在数据结构中,从逻辑上可以把数据结构分为( )。A.动态结构和静态结构 B.紧凑结构和非紧凑结构*C.线性结构和非线性结构 D.部结构和外部结构5.线性表的顺序存储结构是一种( )的存储结构。

*A.随机存取 B.顺序存取 C.索引存取 D.Hash 存取 6.算法分析的目的是( )。 A.找出数据结构的合理性 B.研究算法中的输入和输出的关系 *C.分析算法的效率以求改进 D.分析算法的易懂性和文档性 7.计算机算法指的是( (1) ),它必须具备输入、输出和( (2) )等五个特征。 (1) A.计算方法 B.排序方法 *C.解决某一问题的有限运算序列 D.调度方法 (2) A.可行性、可移植性和可扩充性 *B.可行性、确定性和有穷性 C.确定性,有穷性和稳定性 D.易读性、稳定性和安全性 8.线性表若采用链表存储结构,要求存中可用存储单元的地址( )。 A.必须是连续的 B.部分必须是连续的 C.一定是不连续的 *D.连续不连续都可以 9.在以下的叙述中,正确的是( )。 A.线性表的线性存储结构优于链式存储结构*B.二维数组是它的每个数据元素为一个线性表的线性表 C.栈的操作方式是先进先出 D.队列的操作方式是先进后出 10.根据数据元素之间关系的不同特性,以下四类基本的逻辑结构反映了四类基本的数据组织形式,其中解释错误的是( )。

软件技术基础模拟试题及参考答案

软件技术基础模拟试题(第二十次省统考) 一、是非判断题(正确选填A,错误选填B)(每小题1分,共10分) 1、数据元素是数据的基本单位,数据项是数据的最小单位。() 2、栈是特殊的线性表,须用一组地址连续的存储单元来存储其元素。() 3、引入虚拟存储技术后,逻辑内存总容量是由地址总线的位置确定的。() 4、编译程序是一种常用应用软件。() 5、顺序文件和链接文件的长度都可以动态变化。() 6、在文件系统中采用目录管理文件。() 7、允许多用户在其终端上同时交互地使用计算机的操作系统称为实时系统。() 8、程序、数据、和进程控制块是构成一个进程的三要素。() 9、黑盒测试时,既要考虑程序的内部逻辑结构又要考虑其外部特性。() 10、软件的总体设计和详细设计都要用PAD图形工具。() (参考答案:1~10:ABABB ABABB) 二、单项选择题:(每小题1分,共5分) 1、允许用户把若干作业提交计算机系统集中处理的操作系统称为()。 A分时操作系统B实时操作系统C网络操作系统D批处理操作系统2、分配到必要资源并获得了处理机时的进程的状态称为()。 A就绪状态B执行状态C等待状态D阻塞状态 3、利用通道技术可以在()之间直接交换数据。 A内存与CPU B CPU与外设C内存与外设D内存、CPU和外设三者4、以下的准则中哪个不是软件设计的准则()。 A编程语言选择准则B信息屏蔽准则 C结构化和模块化准则D抽象准则 5、有一数列:97657613294958经过一趟排序后得到: 65971376294958请问使用的是何种排序方法?() A简单插入排序B冒泡排序C2路归并排序D快速排序 (参考答案:DBCAC) 软件技术基础模拟试题(第十九次省统考) 一、是非判断题(正确选填A,错误选填B)(每小题1分,共10分) 1、在目前,用于保证软件质量的主要手段是进行软件测试。() 2、使用DMA方式传送数据期间不需要CPU干预。() 3、线性顺序队列会产生“假溢出”,而线性循环队列则不会。() 4、对同一种算法,用高级语言编写的程序比用低级语言编写的程序运行速度快。() 5、在线性表中,数据的存储方式有顺序和链接两种。() 6、进程由程序块、文件控件块和数据块三部分组成。() 7、在面向对象的程序设计中,派生类只能从一个基类产生。() 8、操作系统是用户和硬件的接口。() 9、个人计算机中可配置的最大内存容量受地址总线位数的限制。() 10、软件维护中最困难的问题是软件配置不全。() (参考答案:1~10:A、A、A、B、A、B、A、A、A、B) 二、单项选择题:(每小题1分,共5分)

软件开发工具-知识点整理

1、软件开发工具:在高级程序设计语言(第三代语言)的基础上,为提高软件开发的质量和效率,从规划、分析、设计、测试、文档和管理等各方面,对软件开发都提供各种不同程序的帮助的一类新型的软件。 2、软件发展的几个主要阶段:(1)仅限于把用户已经明确表达出来的算法,用机器语言写成一系列机器指令,供硬件运行使用。(2)编程工作改为用汇编语言进行,编好的汇编指令由汇编程序转化为机器指令。(3)把汇编语言变成了高级程序设计语言(第三代语言)。高级程序设计语言不再是与机器指令一一对应,而是更加接近人类习惯的自然语言。 3、21世纪的软件开发工具与以往的有什么区别?(1)自动化程序的提高。(2)这一阶段的工作明确地把需求分析和架构设计包括在软件工作的范围之内,从而使软件开发过程进一步向用户方面延伸,离用户更近了。(3)把软件开发工作延伸到项目及版本管理,从而超出了一次编程的局限,而扩展到了作为一个不断发展的客体生长守的全过程。(4)在这一阶段的研究中,吸收了许多管理可学的内容与方法。 4、软件开发工具的功能要求:(1)认识与描述客观系统。(2)存储及管理开发过程中的信息。(3)代码的编写或生成。(4)文档的编制或生成。(5)软件项目的管理。 5、软件开发工具的性能:(1)表达能力或描述能力。(2)保持信息一致性的能力。(3)使用的方面程度。(4)工具的可靠程序。(5)对硬件和软件环境的要求。 6、软件开发工具按工作阶段划分为三类:计划工具、分析工具、设计工具。计划工具则从更宏观的角度去看待软件开发。它不仅从项目管理的角度,帮助人们组织与实施项目,并且把有关进度、资源、质量验收情况等信息有条不紊地管理起来,而且考虑到了项目的反复循环、版本更新,实现了“跨生命周期”的信息管理与共享,为信息以致软件的重用创造了条件。设计工具直接为软件开发过程中的编程、调试、文档编写工作提供帮助。多数的分析工具都是作为较大型计算机的专用系统出现的。 7、学习软件开发工具的目的在于,了解软件开发工具的概念、理论基础、基本功能、发展现状与前景,以便能够在实际工作中正确地选择与使用软件开发工具,在必要时能够参加或组织软件开发工具的自行研制,从而达到提高软件工作水平与效率的目标。 8、软件开发的基本问题:(1)用户对软件功能的理解与程序员对软件功能的理解之间的转换。(2)人和机器之间的交流与协调问题。 9、大型软件开发中的困难:(1)一致性的保持成为十分困难的问题。(2)测试的困难大大地增加。(3)工作进度难以控制。(4)文档与代码的协调十分困难。(5)版本更新带来的困难。 10、结构化程序设计的基本思想:把程序的结构分成三种基本模块:处理单元、循环机制、二分决策机制。按照这种方法来构造程序,就可以把程序内容的各种相互影响有效地控制在模块内容,从而避免“水波效应”。 11、面向对象的程序设计的基本思想:(1)客观世界的任事物都是对象,它们都有一些静态属性,也都有一些相关的操作。即所谓“封装性”。(2)对象之间有抽象与具体,群体与个体,整体与部分等几种关系。(3)抽象的、较大的对象所具有的性质,包括静态属性和动态操作,自然地成为它的子类的性质,不必加以说明或规定。即所谓的“遗传性”。(4)对象之间可以互通信息。 12、即插即用的程序设计的基本思想:一部分人专门生产软件组件,而另一部分人构造整个软件的结构,并把软件组件插入这个结构,以便迅速地完成大型软件的研制工作。 13、什么样的软件才能算得上是一个好软件?(1)正确地实现所要求的功能,准确地给出预定的输出结果。(2)用户界面友好,符合实际用户的使用习惯与知识能力。(3)具有足够的速度(而不是越快越好),能在符合用户要求的时间限度内,给出所要求的处理结果。(4)具有足够的可靠性,能够在各种干扰下保持正常的工作。(5)程序易读,结构良好,文档齐

基础软硬件系统管理培训学习心得

基础软硬件系统管理培训学习心得 为期三天的基础软硬件培训学习已经结束,非常感谢XX 给了我这次学习的机会,让我的计算机知识和见识都有了很大的提高。回顾这三天的学习,虽然时间很短,但很充实。这次培训使我的眼界开阔了,思考问题的角度改变了,许多技术疑问得到了解决或者启发。这次培训班设置了两门课程,网络通信原理(TCP/IP协议)和Linux操作系统(中标麒麟版本)。在网络知识培训部分,华为公司的XX老师深入浅出的讲解了TCP/IP协议栈、网络交换技术、网络路由技术、以及网络新技术(VXLAN)。让我们深入的了解了一个数据包从封装,到传输,再到解封装的全过程。学习了VLAN技术原理,STP&RSTP技术原理,ARP协议,链路聚合原理,堆叠技术等二层网络技术,以及路由协议,OSPF协议等三层网络知识。在LINUX操作系统学习部分,中标软件的XX老师,生动的讲述了LINUX操作系统的发展历程,实际应用以及操作系统国产化的重大意义。中标软件的XX老师以LINUX中标麒麟版本为蓝本讲解了LINUX的体系架构,LINUX操作系统的用户及权限管理,磁盘管理,进程管理,系统服务等知识,还介绍了中标麒麟操作系统的安装部署及日常运维监控管理。下面我分别就这两部分的学习心得及学习笔记分享给

大家,供大家参考。 网络部分: 一、为什么需要TCP/IP协议 计算机单兵作战不会发挥太大的作用,只有把计算机连接起来才能实现资源共享,这样就形成了一个计算机网络。但是各种计算机型号不同,操作系统不同,要实现不同计算机的通信就需要一个通信协议,平时我们用的最多的就是TCP/IP协议。 二、数据封装和IP编址 在学习TCP/IP协议前,我们先了解下数据封装和IP编址。当应用程序用TCP传数据时,数据被送入协议栈中,由上到下对每一层的数据进行加工(主要是增加一些首部信息和尾部信息)。TCP串给IP的数据单元被称为TCP报文段。IP传为网络接口层的数据单元被称为IP数据报。通过以太网传输的比特流称作帧。IP地址为分为网络号和主机号,IPV4地址为32比特的二进制数,通常用点分十进制表示。IP地址用来标识网络中的设备,具有IP地址的设备可以在同一个或跨网段通信。IP地址包括两部分,第一部分是网络号,标识IP地址所属的网段,第二部分是主机号,用来唯一标识本网络上的某台设备。 三、TCP/IP协议 TCP/IP协议族按照层次由上到下分为四层,层层包装。

软件技术基础模拟试题

软件技术基础模拟试题(第二十四次省统考) 一、是非判断题(正确选填A,错误选填B)(每小题1分,共10分) 1. 顺序表和线性链表的物理存贮形式都是顺序存贮。( 1 ) 2. 数据类型是某种程序设计语言中已实现的数据结构。( 2 ) 3. 如果通过软件测试没有发现错误,则说明软件是完全正确的。( 3 ) 4. 快速原型模型可以有效地适应用户需求的动态变化。( 4 ) 5. 不同进程之间的动作在时间上不能重叠。( 5 ) 6. 分区式存储管理能够进行存储空间共享。( 6 ) 7. 链接文件和索引文件都可以非连续存放。( 7 ) 8. 中断处理一般分为中断响应和中断处理两个步骤。前者由软件实施,后者主要由硬件实施。( 8 ) 9. 在C++语言中,“重载”表达了最简单的多态性。( 9 ) 10.进程调度根据一定的调度算法,从等待队列中挑选出合适的进程。( 10 ) (参考答案:1~10:ABBAB BABAB ) 二、单项选择题:(每小题1分,共5分) 1. 在数据结构中,一个存储结点存放一个(11 )。 11 (A) 数据项(B) 数据元素(C) 数据结构(D) 数据类型 2. 把逻辑地址转变为存储的物理地址的过程称作(12 )。 12 (A) 编译(B) 连接(C) 运行(D) 重定位 3. SPOOLing技术可以实现设备的(13 )分配。 13 (A) 虚拟(B) 共享(C) 独占(D) 物理 4. 允许用户把若干作业提交计算机系统集中处理的操作系统称为(14 )。 14 (A) 分时操作系统(B) 实时操作系统 (C) 网络操作系统(D) 批处理操作系统 5. 进程从运行状态进入就绪状态的原因可能是(15 )。 15 (A) 被选中占有处理机(B) 时间片用完 (C) 等待的事件已发生(D) 等待某一事件 (参考答案:BBADB) 软件技术基础模拟试题(第二十三次省统考) 一、是非判断题(正确选填A,错误选填B)(每小题1分,共10分) 1. 数据在计算机内在中的表示是指数据的存储结构。( 1 ) 2. 能影响中断响应次序的技术是中断优先级和中断屏蔽。( 2 ) 3. 链表可以随机访问任意一个结点,而顺序表则不能。( 3 ) 4. 作业与进程的主要区别是前者是由用户提交,后者是由系统自动生成。( 4 ) 5. Windows、OS/2、Linux微机操作系统都是多用户多任务操作系统。( 5 ) 6. 数据的逻辑结构是从逻辑关系上描述数据,它与数据的存储结构无关,是独立于计算机的。 ( 6 ) 7. 流式文件和记录式文件都以字符为基本单位进行存取。( 7 ) 8. 不定长文件是指字段的长度不固定。( 8 ) 9. 软件工程的三要素包括方法、工具和环境。( 9 ) 10.软件结构是以指令为基础而组成的一种控制层次结构。( 10 ) (参考答案:1~10:AABAB ABBBB) 二、单项选择题:(每小题1分,共5分) 1. 若进栈序列为1,2,3,4,且进栈过程中可以出栈,则不可能出栈的序列是 ( 11 ). 11 (A) 1,4,3,2 (B) 2,3,4,1 (C) 3,1,4,2 (D) 3,4,2,1

计算机基础知识点汇总

计算机基础知识点汇总 一、计算机的诞生及发展 (一)计算机的诞生 1.时间:1946年 2.地点:美国宾夕法尼亚大学 3.名称:ENIAC (二)计算机的发展 > 二、计算机系统的组成 现代的计算机系统由计算机硬件系统及软件系统两大部分构成。 三、计算机的工作原理 冯·诺依曼提出了“存储程序、程序控制”的设计思想,同时指出计算机的构成包括以下几个方面: (1)由运算器、存储器、控制器、输入设备、输出设备五大部件组成计算机系统。 (2)计算机内部采用二进制表示的数据和指令。 | (3)采用“存储程序和程序控制”技术(将程序事先存在主存储器中,计算机在工作时能在不需要人员干预的情况下,自动逐条取出指令并加以执行)。 四、计算机的分类

五、计算机硬件 (一)中央处理器 1.简介 中央处理器又称为微处理器,是一块超大规模的集成电路,是一台计算机的运算核心和控制核心。 ( 2.组成 (1)控制器 实现计算机各部分的联系并自动执行程序的部件。功能是从内存中一次取出指令,产生控制信号,向其他部件发出命令指挥整个计算过程。 (2)运算器 对二进制数码进行算术运算和逻辑运算。 (二)存储器 1.内存储器 … (1)作用 内存储器又称主存储器,简称内存。内存位于系统主板上,可以直接与CPU进行信息交换,内存储器主要用于存放计算机系统中正在运行的程序及所需要的数据和中间计算结果以及与外部存储器交换信息时作为缓冲。 (2)特点 速度较快,容量相对较小。 (3)分类 只读存储器ROM:永久保存数据,存储微型机的重要信息。 随机存储器RAM:断电丢失数据,存储当前运行的程序信息(SRAM、DRAM)。 \ 2.外存储器 (1)作用

计算机基础学习心得体会范文

计算机基础学习心得体会范文 一、感受与体会 1、基础很重要 实践证明,对文字、表格等的处理都是计算机课程的基础,需要一定的操作桌面的知识和能力,需要一定的工具操作能力,学好这些是学习计算机的入门,所以尤为重要! 2、循序渐进 整个学习过程应采用循序渐进的方式,先了解计算机的基本知识,如计算机的起源、发展、windowsXX、xp的桌面操作、电子表格等,使自己能由浅入深,由简到繁地掌握他们的使用技术。 3、学以致用 在学习时始终要与实际应用相结合,不要把主要精力花费在各个命令孤立地学习上;要把学以致用的原则贯穿整个学习过程,以让自己对命令能有深刻和形象的理解。 4、熟能生巧 word作为文字操作专家,它能使我们更加深入地理解、熟练文字操作的命令。要强迫自己做几个综合实例,分别详细地进行文字编辑,使自己可以从全局的角度掌握整个编辑过程,力争使自己学习完word之后就可以投身到实际的工作中去。 二、学习建议 1、常见问题要弄懂 对于经常出现的问题,要及时解决。如果推脱,那么问

题就越堆越多,不利于今后的学习。 2、有比较,才有鉴别 容易混淆的命令,要注意使自己弄清它们之间的区别。 3、养成良好习惯 规范操作。我的体会是:养成良好的习惯,受益匪浅。! 学无止境,只要大家在学习中善于总结和归纳,一定能找到最佳学习方法。感谢陈老师的悉心教导。通过这次短暂的学习,我的收获很大。我会在今后的学习和工作中更加努力。 路漫漫其修远兮,吾将上下求索...... 计算机基础学习心得体会范文篇【3】 为了提高自身的计算机管理业务素质,促进信息技术教学工作的顺利开展,我于20xx年3月份在中小学继续教育网上选学了《计算机应用基础》的课程学习。这次培训非常适合我们农村中小学教师专业发展的需要、它给了我们一个掌握现代教育媒体技术的好机会。当前,计算机行业是个飞速发展的行业,日新月异,因此,不断加强理论学习,拓展知识领域,进行知识更新,是我们当前最为迫切的任务。由于我们农村教师长年工作在教学一线,工作任务繁重,没有时间外出参加培训活动,需要一种能够适合个人工作形式的培训方式,中欧项目为广大农村教师提供了这样一个场所,在这个场所里,教师可以借助配置的学习资源和自身的经验,开展有组织、以自学为主的培训,提高自己的教育教学能力。正是在这样的背景下上级部门组织了这一次学习。

《计算机软件技术基础》试题答案

《计算机软件技术基础》试题 1.线性表的链式存储结构与顺序存储结构相比优点是 CD 。 A. 所有的操作算法实现简单 B. 便于随机存取 C. 便于插入和删除 D. 便于利用零散的存储器空间 2.线性表是具有n 个 C 的有限序列。 A. 表元素 B. 字符 C. 数据元素 D. 数据项 E. 信息项 3.若长度为n 的线性表采用顺序存储结构,在其第I 个位置插入一个新元素的算法的时间复杂度为 C 。(1≤I ≤n+1) A. O(0) B. O(1) C. O(n) D. O(n 2 ) 4.设A 是一个线性表(a 1,a 2,…,a n ),采用顺序存储结构,则在等概率的前提下,平均每插入一个元素需要移动的元素个数为 B ,平均每删除一个元素需要移动的元素个数为 A ;若元素插在a i 与a i+1之间(0≤I ≤n-1)的概率为 ) 1() (2+-n n i n ,则平均每插入一个 元素所要移动的元素个数为 C ; A. 21 -n B. 2n C. 3 12+n D. 4 13+n 5.下列函数中,按它们在∞→n 时的无穷大阶数,最大的是 D 。 A. log n B. nlog n C. 2n/2 D. n!

6.将下图所示的s所指结点加到p所指的结点之后,其语句应为: D 。 A. s->next=p+1; p->next=s; B. (*p).next=s; (*s).next=(*p).next; C. s->next=p->next; p->next=s->next; D. s->next=p->next; p->next=s; 7.将两个各有n个元素的有序表归并为一个有序表时,其最少的比较次数是 A 。 A. n B. 2n-1 C. n-1 D. 2n 8.下面的程序段是合并两个无头结点链表(ha和 hb)为一个无头结点链表ha的过程,作为参数的两个链表都是按结点的data域由大到小链接的。合并后新链表的结点仍按此方式链接。请填写下述空框,使程序能正确运行。 1. #define NULL 0 typedef struct node{ int data; struct node *next; }node, linklisttype; void combine(linklisttype *ha, linklisttype *hb){ linklisttype *h, *p; h = (linklisttype *)malloc(sizeof(linklisttype)); h->next = NULL; p = h;

(完整版)操作系统基础知识点详细概括

第一章: 1. 什么是操作系统?OS的基本特性是?主要功能是什么 OS是控制和管理计算机硬件和软件资源,合理组织计算机工作原理以及方程用户的功能的集合。特性是:具有并发,共享,虚拟,异步的功能,其中最基本的是并发和共享。主要功能:处理机管理,存储器管理,设备管理,文件管理,提供用户接口。 2. 操作系统的目标是什么?作用是什么? 目标是:有效性、方便性、可扩充性、开放性 作用是:提供用户和计算机硬件之间的接口,提供对计算机系统资源的管理,提供扩充机器 3. 什么是单道批处理系统?什么是多道批处理系统? 系统对作业的处理是成批的进行的,且在内存中始终保持一道作业称此系统为单道批处理系统。 用户所提交的作业都先存放在外存上并排成一个队列,然后,由作业调度程序按一定的算法从后备队列中选择若干个调入作业内存,使他们共享CPU和系统中的各种资源。 4 ?多道批处理系统的优缺点各是什么? 优点:资源利用率高,系统吞吐量大。缺点:平均周转时间长,无交互能力。 引入多道程序技术的前提条件之一是系统具有终端功能,只有有中断功能才能并发。 5. 什么是分时系统?特征是什么? 分时系统是指,在一台主机上连接了多个带有显示器和键盘的终端,同时允许多个用户通过自己的终端,以交互的方式使用计算机,共享主机中的资源。 特征:多路性、独立性、及时性、交互性 *有交互性的一般是分时操作系用,成批处理无交互性是批处理操作系统,用于实时控制或实时信息服务的是实时操作系统,对于分布式操作系统与网络操作系统,如计算机之间无主次之分就是分布式操作系统,因为网络一般有客户-服务器之分。 6. 什么是实时操作系统? 实时系统:系统能及时响应外部事件的请求,在规定的时间内处理完。按照截止时间可以分为1硬实时任务(必须在截止时间内完成)2软实时任务(不太严格要求截止时间) 7用户与操作系统的接口有哪三种? 分为两大类:分别是用户接口、程序接口。 用户接口又分为:联机用户接口、脱机用户接口、图形用户接口。 8. 理解并发和并行?并行(同一时刻)并发(同一时间间隔) 9. 操作系统的结构设计 1 ?无结构操作系统,又称为整体系统结构,结构混乱难以一节,调试困难,难以维护 2?模块化os结构,将os按功能划分为一定独立性和大小的模块。是os容易设计,维护, 增强os的可适应性,加速开发工程 3?分层式os结构,分层次实现,每层都仅使用它的底层所提供的功能 4. 微内核os结构,所有非基本部分从内核中移走,将它们当做系统程序或用户程序来实现,剩下的部分是实现os核心功能的小内核,便于扩张操作系统,拥有很好的可移植性。 第二章: 1 ?什么叫程序?程序顺序执行时的特点是什么? 程序:为实现特殊目标或解决问题而用计算机语言编写的命令序列的集合特点:顺序性、封闭性、可再现性 2. 什么是前趋图?(要求会画前趋图)P35图2-2 前趋图是一个有向无循环图,记为DAG ,用于描述进程之间执行的前后关系。 3?程序并发执行时的特征是什么? 特征:间断性、失去封闭性、不可再现性

计算机基础学习心得-心得体会模板

计算机基础学习心得 当今社会,到处充满机会与挑战。知识是我们面对这一切的筹码,而计算机知识则更为重要。如何在本科函授这样一种形式下,学好计算机课程,这是摆在我们面前的一个问题。我谈一下学习感受,供大家参考。只想以此抛砖引玉,让大家对学习方法多发表自己的意见,以利于学习。 一、感受与体会 1、基础很重要 实践证明,对文字、表格等的处理都是计算机课程的基础,需要一定的操作桌面的知识和能力,需要一定的工具操作能力,学好这些是学习计算机的入门,所以尤为重要! 2、循序渐进 整个学习过程应采用循序渐进的方式,先了解计算机的基本知识,如计算机的起源、发展、windowsXX、xp的桌面操作、电子表格等,使自己能由浅入深,由简到繁地掌握他们的使用技术。 3、学以致用 在学习时始终要与实际应用相结合,不要把主要精力花费在各个命令孤立地学习上;要把学以致用的原则贯穿整个学习过程,以让自己对命令能有深刻和形象的理解。 4、熟能生巧

word作为文字操作专家,它能使我们更加深入地理解、熟练文字操作的命令。要强迫自己做几个综合实例,分别详细地进行文字编辑,使自己可以从全局的角度掌握整个编辑过程,力争使自己学习完word之后就可以投身到实际的工作中去。 二、学习建议 1、常见问题要弄懂 对于经常出现的问题,要及时解决。如果推脱,那么问题就越堆越多,不利于今后的学习。 2、有比较,才有鉴别 容易混淆的命令,要注意使自己弄清它们之间的区别。 3、养成良好习惯 规范操作。我的体会是:养成良好的习惯,受益匪浅。! 学无止境,只要大家在学习中善于总结和归纳,一定能找到最佳学习方法。感谢陈老师的悉心教导。通过这次短暂的学习,我的收获很大。我会在今后的学习和工作中更加努力。 路漫漫其修远兮,吾将上下求索......

计算机软件技术基础作业

第二章数据结构概述 一、选择题 1.在数据结构中,从逻辑上可以把数据结构分为( C )。 A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构D.内部结构和外部结构 2.线性表的顺序存储结构是一种( A )的存储结构。 A.随机存取B.顺序存取C.索引存取D.Hash存取 3.计算机算法指的是( C ),它必须具备输入、输出和( B )等五个特征。 (1) A.计算方法B.排序方法C.解决某一问题的有限运算序列D.调度方法 (2) A.可行性、可移植性和可扩充性B.可行性、确定性和有穷性C.确定性,有穷性和稳定性D.易读性、稳定性和安全性 4.线性表若采用链表存储结构,要求内存中可用存储单元的地址( D )。 A.必须是连续的B.部分必须是连续的C.一定是不连续的D.连续不连续都可以 5.根据数据元素之间关系的不同特性,以下四类基本的逻辑结构反映了四类基本的数据组织形式,其中解释错误的是( A )。 A.集合中任何两个结点之间都有逻辑关系但组织形式松散B.线性结构中结点按逻辑关系依次排列形成一条“锁链”C.树形结构具有分支、层次特性,其形态有点像自然界中的树D.图状结构中的各个结点按逻辑关系互相缠绕,任何两个结点都可以邻接 二、判断题 ×1.数据元素是数据的最小单位。 √2.数据结构是带有结构的数据元素的集合。 √3.数据结构、数据元素、数据项在计算机中的映像分别称为存储结构、结点、数据域。 ×4.数据项是数据的基本单位。 √5.数据的逻辑结构是指各数据元素之间的逻辑关系,是用户按使用需要建立的。 √6.数据的物理结构是数据在计算机中实际的存储形式。 ×7.算法和程序没有区别,所以在数据结构中二者是通用的。 三、填空题 1.所谓数据的逻辑结构指的是数据元素之间的____逻辑关系_____。 2,数据结构是相互之间存在一种或多种特定关系的数据元素的集合,它包括三方面的内容______数据的逻辑结构、数据的存储结构、对数据施加的操作_。3.数据的逻辑结构包括__集合结构___、_____线性结构___、____树型结构_____和__图状结构_____四种类型。 4.在线性结构中,开始结点_____没有______前驱结点,其余每个结点有且只有_____一个______个前驱结点。 5.算法的五个重要特性是__可行性___、___确定性___、___有穷性___、___输入__、___输出__。 6.下列程序段的时间复杂度是_____O(n)____。 for (i=1;i<=n;i++) A[i,i]=0; 7.存储结构是逻辑结构的_____物理______实现。

软件技术基础试题(含答案)

《操作系统》 选择题: (bs30)1. 分页式存储管理的主要特点是(B)。 (A) 要求作业全部同时装入内存(B) 不要求作业装入到内存的连续区域 (C) 要求扩充外存容量(D) 不要求处理缺页中断 (bs30)2. 进程从运行状态进入就绪状态的原因可能是(D)。 (A) 被选中占有处理机(B) 等待某一事件(C) 等待的事件已发生(D) 时间片用完 (bs30)3. 多道程序设计是指(D)。 (A) 在实时系统中并发运行多个程序(B) 在分布系统工程中同一时刻运行多个程序 (C) 在一台处理机上同一时刻运行多个程序(D) 在一台处理机上并发运行多个程序 (bs29)2. 进程从运行状态进入就绪状态的原因可能是( A )。 (A) 时间片用完(B) 等待某一事件(C) 等待的事件已发生(D) 被选中占有处理机(bs29)4. 以下(D)不是实时操作系统的特点。 (A) 高可靠性(B) 及时响应(C) 高效性(D) 通用性 (bs28)3. 任何两个并发进程之间( A )。 (A) 可能存在同步或互斥关系(B) 一定存在同步关系 (C) 一定彼此独立无关(D) 一定存在互斥关系 (bs28)4. 以下的哪个特征不是分时操作系统的主要特征(B)。 (A) 分时性(B) 独占性(C) 交互性(D) 多路性 (bs27)2. 以下(D)不是实时操作系统的特点。 (A) 高可靠性(B) 及时响应(C) 中断管理(D) 独立性 (bs27)3. 若当前进程因时间片用完而让出处理机时,该进程应转变为(B)状态。 (A) 运行(B) 就绪(C) 等待(D) 完成 (bs26)3. 在多道程序设计系统中,处于后备状态的作业要经过(D)调度后才能真正执行。 (A) 作业调度(B) 作业调度和设备调度(C) 进程调度(D) 作业调度和进程调度 (bs25)1. 把高级语言的源程序翻译成二进制代码的过程称为:(A)。 (A) 编译(B) 连接(C) 运行(D) 重定位 (bs25)2. 把逻辑地址转变为内存的物理地址的过程称作(D)。 (A) 地址分配(B) 地址连接(C) 地址调用(D) 地址变换 (bs25)4. 在操作系统中,进程最基本的特征是(A)。 (A) 动态性和并发性(B) 顺序性和可再现性 (C) 与程序的对应性(D) 执行过程的封闭性 (bs24)2. 把逻辑地址转变为存储的物理地址的过程称作(D)。 (A) 编译(B) 连接(C) 运行(D) 重定位 (bs24)3. SPOOLing技术可以实现设备的(B)分配。 (A) 虚拟(B) 共享(C) 独占(D) 物理 (bs24)4. 允许用户把若干作业提交计算机系统集中处理的操作系统称为(D)。 (A) 分时操作系统(B) 实时操作系统 (C) 网络操作系统(D) 批处理操作系统 (bs24)5. 进程从运行状态进入就绪状态的原因可能是(B)。 (A) 被选中占有处理机(B) 时间片用完 (C) 等待的事件已发生(D) 等待某一事件 (bs23)2. 任何两个并发进程之间( D) (A) 一定存在互斥关系(B) 一定存在同步关系 (C) 一定彼此独立无关(D) 可能存在同步或互斥关系

软件工程知识点汇总

软件工程知识点汇总 1 软件工程、软件工程方法学:三要素 1.1 软件工程:○1应用系统化的、规范化的、可度量的方法来开发、运行和维护软件,即将工 程应用到软件;○2对○1的各种方法的研究 1.2 软件工程是一门研究用工程化方法构建和维护有效的实用的和高质量的软件的学科 1.3 软件工程三要素是:方法、工具、过程 软件工程的方法:是指完成软件开发各项任务的技术方法 软件工具:是指为软件工程方法的运用提供自动半自动的软件支撑环境 软件工程过程:是指将软件工程方法和工具综合起来以达到合理、及时地进行计算机软件开发这一目的 2 软件工程的原则包括:模块化原则、信息隐蔽原则、抽象化原则、模块独立原则(内聚、耦合)、 依赖倒转原则、开闭原则等 2.1 模块化原则:指解决一个复杂问题时自顶向下逐层把软件系统划分为若干模块的过程。模 块是程序中相对独立的成分,一个独立的编程单位,应有良好的编程接口,模块的大小要 适中,模块过大会使模块内部的复杂性增加不利于模块的理解和修改,模块过小会导致整 个系统表示过于复杂,不利于控制系统的复杂性。 2.2 信息隐蔽原则:采用封装技术,将程序模块的实现细节隐藏起来,使模块接口尽量简单。 2.3 抽象化原则:抽取事物最基本的特性和行为,忽略非本质细节,采用分层次抽象,自顶向 下,逐层细化的办法控制软件开发过程的复杂性。 2.4 模块独立原则:是指每个模块只完成系统要求的独立子功能,并且与其他模块的联系最少 且接口简单。要求在一个物理模块内集中逻辑上相互关联的计算机资源,保证模块间由松 散的偶合关系,模块内部有较强的内聚性,这有助于控制系统的复杂性。(即:高内聚低 耦合) 2.5 依赖倒转原则:抽象不应该依赖于细节,细节应该依赖于抽象。 2.6 开闭原则:软件实体应该是可扩展的,但是不可以修改。即对于扩展是开放的,对于更改 是封闭的。 3 软件开发模型:瀑布模型;快速原型;喷泉模型;各种模型的工作原理、阶段、每阶段任务、 特点、示意图; 软件开发模型(也称为软件过程模型):是从软件项目需求定义开始直至软件经使用后废弃为止,跨 越整个生命周期的系统开发、运行和维护所实施的全部过程、活动和任务的结构框架 3.1 瀑布模型(又称线性模型): 3.1.1工作原理:规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。 前一阶段的工作成果是后一阶段工作开始的基础.所以,每个阶段都必须交出合格的文档,必须对前阶段的工作进行评审,前一阶段的工作完成后才可以开始后一阶段的工作 3.1.2 阶段: 计划时期:问题定义、可行性研究 开发时期:需求分析、设计、编码、测试 运行时期:运行和维护 3.1.3 各阶段任务: 1.需求分析和定义 在软件项目进行过程中,需求分析是从软件定义到软件开发的关键步骤,是今后软件,开发的基本依据,同时也是用户对软件产品进行验收的基本依据。需求分析和定义是以用

学习计算机应用基础的心得

学习计算机应用基础的心得 为了提高自身的计算机管理业务素质,促进信息技术教学工作的顺利开展,我于2008年3月份在中小学继续教育网上选学了《计算机应用基础》的课程学习。这次培训非常适合我们农村中小学教师专业发展的需要、它给了我们一个掌握现代教育媒体技术的好机会。当前,计算机行业是个飞速发展的行业,日新月异,因此,不断加强理论学习,拓展知识领域,进行知识更新,是我们当前最为迫切的任务。由于我们农村教师长年工作在教学一线,工作任务繁重,没有时间外出参加培训活动,需要一种能够适合个人工作形式的培训方式,中欧项目为广大农村教师提供了这样一个场所,在这个场所里,教师可以借助配置的学习资源和自身的经验,开展有组织、以自学为主的培训,提高自己的教育教学能力。正是在这样的背景下上级部门组织了这一次学习。 培训中我们学习了以下这样一些知识内容:1、计算机的基础; 2、计算机的硬件安装与维护; 3、系统软件的安装与维护; 4、办公软件OFFICE、WORD、EXCEL、POWERPOINT等常用的几种软件和应用技巧; 5、网络的维护;6、卫星接收;7、光盘刻录。 虽然这次培训的时间很短,但对我来说受益匪浅,以这次培训为契机,积极接收新的教育教学理念,更新了观念,开阔了教学研究的视野,充分认识到了现代教育教学媒体的特点和重要性。主要有以下这几个方面的体会:

1、培训学习让我了解了计算机的硬件与系统软件的安装、维护知识。在学习这一部分内容时授课老师深入浅出,让我们自己积极动手操作,结合实践来提高自己的操作能力,使每个学员得到了一次锻炼的机会。 2、学习了常用的办公软件,主要有OFFICE、WORD、EXCEL、POWERPOINT等,以及常用的几种软件的应用技巧,同时也学习了一些解决实际应用过程中经常出现的问题的方法,相信这次学习,会让我在今后的工作中运用电脑时能够得心应手。 3、在我们农村小学,大家对网络方面的知识较为贫乏,大多数人还从未接触过网络知识,还不能超前地认识到网络带来的好处。因此为了提高大家的认识,老师不仅采用实物演示的办法,而且还为我们提供实践操作的机会来为大家讲解有关组建局域网以及网络维护方面的知识,介绍了一些平时我们很少用到的网络检测命令,对我今后维护学校自己的局域网络有很大的帮助。在整个学习过程中我始终认真学习,把知识及时作以整理和复习,以便提高自身的知识水平和教学能力,以适应信息时代对我们教育工作者的要求。 计算机知识更新是很快的,随着教育体制的改革和教育理念的更新,以及信息技术的飞速发展,如何接受新的教育理念,转变我们传统的教育观念,来充实我们的专业技能,已经成为我们每一个教育工作者必须要解决的第一个问题。只有不断地学习,才能掌握最新的知识,把工作做得更好。我们也渴望能够参加更多的这类培训活动,以

相关文档
相关文档 最新文档