东北大学计算机软件基础上机实验

东北大学计算机软件基础上机实验
东北大学计算机软件基础上机实验

实验一

// ---

#include"stdafx.h"

#include"iostream"

#include

// 程¨?序¨?实o|ì现?有?D各??种?方¤?法¤?§,ê?这a里¤?给?出?一??个?实o|ì例¤y。?ê

// 定?§义??一??个?线?性?表à¨a

constint nMaxSize = 15; // 最á?大?¨?值|ì

int nLen = 0; // 表à¨a中D元a素?个?数oy

int nLinearList[nMaxSize];

// 定?§义??操¨′作á??

void LSort();

void LOut();

void LInsert(int n);

void LDelete(int n);

int main()

{

// 输o?入¨?数oy据Y并?é放¤?入¨?线?性?表à¨a中D

printf("Please input data\n"); // std::cout << "Please input data\n";

int nIn = 0;

for (int i = 1; i <= 10; i++)

{

scanf("%d",&nIn); // std::cin >> nIn;

nLinearList[i] = nIn;

nLen++;

}

LSort(); // 排?序¨?线?性?表à¨a

LOut(); // 输o?出?结¨¢果?

printf("Please input a data to insert \n");

scanf("%d",&nIn);

LInsert(nIn); // 输o?入¨?一??个?数oy字á?,ê?并?é插?入¨?到ì?线?性?表à¨a中D

LOut();

printf("Please input a data to delete \n");

scanf("%d",&nIn);

LDelete(nIn); // 输o?入¨?一??个?数oy字á?,ê?并?é从?¨?线?性?表à¨a中D删|?除y LOut();

char chTmp;

printf("Please input a char to finish this program.");

chTmp = getch();

return 0;

}

void LSort() // 冒??泡Y排?序¨?,由?¨|大?¨?到ì?小? {

int k,temp,m;m=nLen;

while(m>0)

{

for(k=1;k

{

if(nLinearList[k]>nLinearList[k+1])

{

temp=nLinearList[k+1];

nLinearList[k+1]=nLinearList[k];

nLinearList[k]=temp;

}

}

m--;

}

}

void LOut()

{

printf( "\n");

for (int i = 1; i <= nLen; i++)

{

printf( "%d, ", nLinearList[i] );

}

printf( "\n");

}

void LInsert(int n)

{

int h,l,m,k,j,temp;

k=++nLen;

nLinearList[k]=n;

l=1;

h=k-1;

for(j=1;j

{

m=(l+h)/2;

if(nLinearList[m]

l=m+1;

elseif(nLinearList[m]>nLinearList[k])

h=m-1;

}

for(j=k;j!=h+1;j--)

{

temp=nLinearList[j];

nLinearList[j]=nLinearList[j-1];

nLinearList[j-1]=temp;

}

}

void LDelete(int n)

{

int h,l,m,k,j;

k=nLen;

//nLinearList[k]=n;

l=1;

h=k-1;

for(j=1;j

{

m=(l+h)/2;

if(nLinearList[m]

elseif(nLinearList[m]>n)

h=m-1;

else

break;

}

if(nLinearList[m]==n)

{

for(j=m;j

{

nLinearList[j]=nLinearList[j+1];

}

nLinearList[k]=0;

nLen=k-1;

}

}

实验二

二.源程序

// Experiment2.cpp : 定义控制台应用程序的入口点。#include "stdio.h"

#include

#include

#include

// 程序实现有各种方法,这里给出一个实例。const int MAX_LEN = 10; // 字符串的长度

const int MAX_SIZE = 30; // 栈或队的最大元素个数// 定义一个队列的结构

struct QUEUE {

int nMaxSize; // 最大值

int nCount; // 个数

int nFront; // 头

int nRear; // 尾

char szQueue[MAX_SIZE][MAX_LEN]; };

//定义一个栈的结构

struct STACK {

int nMaxSize; // 最大值

int nTop; // 栈顶

char szStack[MAX_SIZE][MAX_LEN]; };

// 队列的操作

void InitQueue(QUEUE *q,int nMaxSize) {

q->nMaxSize=nMaxSize;

q->nCount=0;

q->nFront=0;

q->nRear=0;

q->szQueue[MAX_SIZE][MAX_LEN]=0;

}

void InQueue(QUEUE *q, char *pItem) {

if(q->nCount==q->nMaxSize)

{

printf("The Queue is full!\n");

return;

}

strcpy(q->szQueue[q->nRear],pItem);

if(q->nRear++==MAX_SIZE)

q->nRear=0;

q->nCount++;

}

void OutQueue(QUEUE *q, char *pItem) {

if(q->nCount==0)

{

printf("The Queue is empty!\n");

return;

}

strcpy(pItem,q->szQueue[q->nFront]);

if(q->nFront++==MAX_SIZE)

q->nFront=0;

q->nCount--;

}

//栈的操作

void InitStack(STACK *s,int nMaxSize)

{

s->nMaxSize=nMaxSize;

s->nTop=0;

s->szStack[MAX_SIZE][MAX_LEN]=0; }

void PushStack(STACK *s, char *pItem) {

char *p;

if (s->nTopnMaxSize)

{

p=s->szStack[s->nTop];

strcpy(p,pItem);

s->nTop++;

}

else

{

printf("The stack overflow!\n");

return;

}

}

void PopStack(STACK *s, char *pItem) {

char *p;

if (s->nTop==0)

{

printf("stack is empty!\n");

return;

}

else

{

p=s->szStack[--s->nTop];

strcpy(pItem,p);

}

}

void GetTopStack(STACK *s, char *pItem) {

char *p;

char a[10]={0};

if (s->nTop==0)

{

a[0]=';';

strcpy(pItem,a);

}

else

{

p=s->szStack[s->nTop-1];

strcpy(pItem,p);

}

}

//字符判断

int isdigit(char x)

{

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

return 1;

return 0;

}

int Priority(char *op); // 获得操作符的优先级

void Compute(char *num1, char *num2, char *op, char *chResult); // 计算表达式的值//主函数

void main()

{

char x[MAX_LEN]; // 扫描的表达式

char op[MAX_LEN]; // 栈顶运算符

char num1[MAX_LEN], num2[MAX_LEN]; // 两个操作数

char chResult[MAX_LEN]; // 运算结果

// ***声明一个队列

struct QUEUE q1;

struct QUEUE *q;

// ***声明OS栈和NS栈

struct STACK OS;

struct STACK NS;

struct STACK *o;

struct STACK *n;

int i=0;

int j=0;

int k=0;

//****初始化

q=&q1;

o=&OS;

n=&NS;

InitStack(o,20);

InitStack(n,20);

InitQueue(q,20);

printf("please input the expression end with \"; \n");

//录入表达式

do

{

printf("next\n");

scanf("%s",x);

InQueue(q,x);

}

while(x[0]!=';');

printf("expression \n");

while (true)

{

if (q->nCount!=0)

{

OutQueue(q, x);

printf("%s",x);

}

if (isdigit(x[0])) // 是数

PushStack(n,x);

else // 认为是运算符,没有考虑空格等

{

GetTopStack(o,op); // 获得OS栈顶运算符

if (x[0] == ';' && op[0] == ';') // 扫描结束

{ printf("\n result is ");

break;

}

if (Priority(x) > Priority(op)) // 运算符的优先级〉栈顶运算符

{

PushStack(o,x);

continue;

}

while ((Priority(x) <= Priority(op))&&Priority(op)) // 不大于栈顶运算符

{

PopStack(n,num1);

PopStack(n,num2);

PopStack(o,op);

Compute(num2,num1,op,chResult);

PushStack(n,chResult);

GetTopStack(o,op);

}

PushStack(o,x);

}

}

PopStack(n,chResult);

printf("%s\n",chResult);

}

int Priority(char *op )

{

int nPriority = 0;

switch (op[0])

{

case '^':

nPriority = 3;

break;

case '*':

case '/':

nPriority = 2;

break;

case '+':

case '-':

nPriority = 1;

break;

case ';':

nPriority = 0;

}

return nPriority;

}

void Compute(char *num1, char *num2, char *op, char *chResult) {

double fNum1,fNum2;

double fResult = 0;

fNum1 = atof(num1);

fNum2 = atof(num2);

switch (op[0])

{

case '^':

fResult = pow(fNum1,fNum2);

break;

case '*':

fResult = fNum1*fNum2;

break;

case '/':

fResult = fNum1/fNum2;

break;

case '+':

fResult = fNum1+fNum2;

break;

case '-':

fResult = fNum1-fNum2;

break;

}

sprintf(chResult,"%.4f",fResult); //把计算的结果转化为字符串return;

}

计算机软件技术实验三

关系数据语言的应用

学院:信息学院

班级:自动化

姓名:

学号:

实验三:关系数据语言的应用

一、实验目的:

掌握SQL基本语句,实现数据库、表的创建,以及增删改和查询操作。

二、实验内容:

1.创建数据库MyDB;

2.创建学生表Stu,内容包括:Sno、4个字符、主键,Sname、10个字符,Sex、2

个字符,Age、整数,Birthday、日期型,Class、10个字符;

3.创建课程表Course,内容包括:Cno、2个字符、主键,Cname、10个字符,Chour、

整型;

4.创建成绩表Score,内容包括: Sno、4个字符、主键, Cno、2个字符、主键,

Grade、整型;

5.向各个数据表中插入多条实验数据,并查看操作后的结果;

1)按学号顺序查询一个班级的所有学生(Class, Sname);

2)列出学生选择各门课程的成绩(Sname, Cname, Grade) ;

3)列出有过不及格成绩的学生名单(Sno, Sname, Class);

4)求学生的平均成绩和总成绩(Sname, PJCJ, ZCJ);

5)查询学生出生日期(Sno, Sname, BirthDay);

6)查找各科成绩都 >= 85 分的学生(Sname, Class);

7)将课程号为“01”的课程名称修改为“软件技术”;

8)修改一名学生的姓名、性别、年龄;

9)将成绩为55~59分的男生的成绩修改为60分;

10)删除90年以后、80年以前出生的学生的所有信息(包括选课和成绩);

11)删除一个班级的所有学生;

12)删除所有数据表和数据库

三、实验要求:

1.实现实验内容的SQL语句,以及输出结果

2.为检验实验内容的有效性而执行的SQL语句,例如向数据表中插入数据;

3.检验运行结果(例如插入、删除)的SQL语句,以及输出的结果。

四、实验代码清单:

1、创建三个表Stu、Course、Score

CREATETABLE Stu20134286(

Sno CHAR(4)PRIMARYKEY,

Sname CHAR(10),

Gender CHAR(2),

Age NUMERIC,

BirthDay DATETIME,

Class CHAR(10),

);

CREATETABLE Course20134286(

Cno CHAR(2)PRIMARYKEY,

Cname CHAR(10),

Chour NUMERIC,

);

CREATETABLE Score20134286(

Sno CHAR(4),

Cno CHAR(2),

PRIMARYKEY(Sno,Cno),

Grade NUMERIC,

);

2、向Stu表中插入数据

Insert into Stu20134286(Sno,Sname, Gender,Age,BirthDay,Class) values ('0101','ZhangQiang','m','20','1994-02-20','ZDH01'); Insert into Stu20134286(Sno,Sname, Gender,Age,BirthDay,Class) values ('0102','LiHong','wm','20','1994-08-10','ZDH01');

Insert into Stu20134286(Sno,Sname, Gender,Age,BirthDay,Class) values ('0103','WangTao','m','21','1993-05-18','ZDH01');

Insert into Stu20134286(Sno,Sname, Gender,Age,BirthDay,Class) values ('0104','LiuLi','wm','19','1995-03-05','ZDH01');

Insert into Stu20134286(Sno,Sname, Gender,Age,BirthDay,Class) values ('0105','SunDong','m','21','1993-12-17','ZDH01');

Insert into Stu20134286(Sno,Sname, Gender,Age,BirthDay,Class) values ('0106','WangPing','m','22','1992-11-30','ZDH01');

Insert into Stu20134286(Sno,Sname, Gender,Age,BirthDay,Class) values ('0201','OyangYan','wm','20','1994-04-11','DZ01');

Insert into Stu20134286(Sno,Sname, Gender,Age,BirthDay,Class) values ('0202','YangRui','m','20','1994-05-13','DZ01');

Insert into Stu20134286(Sno,Sname, Gender,Age,BirthDay,Class) values ('0203','LiuYan','wm','18','1996-01-21','DZ01');

Insert into Stu20134286(Sno,Sname, Gender,Age,BirthDay,Class) values ('0204','ZhouYu','m','20','1994-07-10','DZ01');

3、向Course表中插入数据

Insertinto Course20134286(Cno,Cname,Chour)

values ('01','jsjrjjc','48');

Insertinto Course20134286(Cno,Cname,Chour)

values ('02','Java','32');

4、向Score表中插入成绩

Insertinto Score20134286(Sno,Cno,Grade) values ('0101','01','87');

Insertinto Score20134286(Sno,Cno,Grade) values ('0102','01','90');

Insertinto Score20134286(Sno,Cno,Grade) values ('0103','01','79');

Insertinto Score20134286(Sno,Cno,Grade) values ('0104','01','89');

Insertinto Score20134286(Sno,Cno,Grade) values ('0105','01','58');

Insertinto Score20134286(Sno,Cno,Grade) values ('0106','01','77');

Insertinto Score20134286(Sno,Cno,Grade) values ('0201','01','95');

Insertinto Score20134286(Sno,Cno,Grade) values ('0202','01','80');

Insertinto Score20134286(Sno,Cno,Grade) values ('0203','01','76');

Insertinto Score20134286(Sno,Cno,Grade) values ('0204','01','70');

Insertinto Score20134286(Sno,Cno,Grade) values ('0101','02','91');

Insertinto Score20134286(Sno,Cno,Grade) values ('0102','02','88');

Insertinto Score20134286(Sno,Cno,Grade) values ('0103','02','75');

Insertinto Score20134286(Sno,Cno,Grade) values ('0104','02','91');

Insertinto Score20134286(Sno,Cno,Grade) values ('0105','02','76');

Insertinto Score20134286(Sno,Cno,Grade) values ('0106','02','76');

Insertinto Score20134286(Sno,Cno,Grade) values ('0201','02','90');

Insertinto Score20134286(Sno,Cno,Grade) values ('0202','02','84');

Insertinto Score20134286(Sno,Cno,Grade) values ('0203','02','83');

Insertinto Score20134286(Sno,Cno,Grade) values ('0204','02','57');

5、查询学生出生日期(Sno, Sname, BirthDay);Select Sno,Sname,BirthDay from Stu20134286;

6、按学号顺序查询一个班级的所有学生(Class, Sname);Select Class,Sname from Stu20134286 order by Sno;

7、列出学生选择各门课程的成绩(Sname, Cname, Grade) ;

Select Sname,Cname,Grade from Stu20134286,Course20134286,Score20134286 where Stu20134286.Sno=Score20134286.Sno and https://www.360docs.net/doc/b915467746.html,o=Score201342 https://www.360docs.net/doc/b915467746.html,o;

8、列出有过不及格成绩的学生名单(Sno, Sname, Class);

Select distinct Stu20134286.Sno,Sname,Class from

Stu20134286,Score20134286

where Stu20134286.Sno=Score20134286.Sno and Grade<60;

9、求学生的平均成绩和总成绩(Sname, PJCJ, ZCJ);

Select Sname,avg(Grade) PJCJ,sum(Grade) ZCJ from Stu20134286,Score20134286 where Score20134286.Sno=Stu20134286.Sno group by Stu20134286.Sname;

10、查找各科成绩都>= 85 分的学生(Sname, Class);

Select Sname,Class from Stu20134286 where exists (Select * from Score20134286 where Stu20134286.Sno=Score20134286.Sno and https://www.360docs.net/doc/b915467746.html,o='01' and Score20134286.Grade>=85)

and exists(Select * from Score20134286 where Stu20134286.Sno=Score20134286.Sno and https://www.360docs.net/doc/b915467746.html,o='02' and Score20134286.Grade>=85 );

11、将课程号为“01”的课程名称修改为“rjjs”

Update Course20134286set Cname='rjjs'where Cno='01';

12、修改一名学生的姓名、性别、年龄;

Update Stu20134286set Sname='zhangxu',Gender='m',age='20'where Sno='0101';

13、将成绩为55~59分的男生的成绩修改为60分

Update Score20134286set Grade=60 where Sno in(Select Sno from Stu20134286where Gender='m')and Grade between 55 and 59;

14、删除90年以后、80年以前出生的学生的所有信息(包括选课和成绩)

Delete Stu20134286 where Sno in(select Sno from Stu20134286 where BirthDay < '1980-01-01' or BirthDay>'1990-12-31') ;

15、删除一个班级的所有学生

Delete from Stu20134286 where Class='ZDH01';

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

第一章 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 软件技术发展的几个阶段各有什么特点?它与硬件的关系如何? 第一阶段:高级语言阶段 特点:这一时期,编译技术代表了整个软件技术,软件工作者追求的主要目的是设计和实现在控制结构和数据结构方面表现能力强的高级语言。但在这一时期内,编译系统主要是靠手工编制,自动化程度很低。 硬件关系:此时期计算机的硬件要求仅能用机器指令来编制可运行的程序。

计算机软件基础实验报告

计算机软件基础(二) 实验报告 实验一 DOS和WINDOWS95系统的基本操作 一、实验要求和目的 1.熟悉MS-DOS环境。 2.掌握常用DOS命令的基本操作。 二、软硬件环境 1.硬件环境:微机CPU 486以上,500MB以上硬盘,32M以上内存; 2.软件环境:装有MASM 5.0、DEBUG、LINK和EDIT等应用程序。 三、实验涉及的主要知识单元 ●DOS的功能和组成: DOS的主要功能是管理磁盘文件,管理显示器、键盘、磁盘驱动器、打印机等各种设备,负责监视计算机及执行的处理过程,以便有效地利用系统资源,方便用户使用。从内部来看,DOS是完成各种功能的一组程序。版本不同,程序的数日也不同,但组成DOS的最主要的程序有四个,即命令处理模块(COMMAND.COM)、磁盘操作管理模块(MS-DOS.SYS)、输入输出接口模块(10.SYS)和一个引导程序。存放DOS程序模块的磁盘称为DOS系统盘。 DOS提供了多条操作命令,对一般用户最常用的是有关文件操作、文件目录操作、磁盘操作和若干系统命令。 DOS的人机界面采用的是命令行方式。 ●DOS的启动:DOS的启动就是从系统盘上把DOS装入内存并执行的过程。 启动MS-DOS应用程序,有三种方法: 第一种方法:从“开始”菜单启动MS-DOS操作系统。步骤为: 1.在Windows XP界面状态,单击“开始”|“运行”命令,如图2-1-1所示。 图1-1 “运行”命令条 2.在“运行”对话框中键入“cmd”,如图2-1-2所示,单击“确定”按钮。 图1-2 “运行”对话框 3.操作系统界面随即进入MS-DOS模式。如图2-1-3所示。

东北大学DIP实验一

实验一 一、插值和采样 1 (a)读入图像head.jpg并显示。 >> A=imread('C:\Documents and Settings\Administrator\桌面\head.jpg'); imshow(A) (b)计算图像维度。 >> size(A) ans = 256 256 (c)此图像大小为40cm*40cm,计算图像的采样距离。 x=40cm/256=0.15625cm=1.5625mm 同理,y=1.5625mm (d)逻辑坐标(图像坐标)为(22, 54)、(126, 241)的点,其空间坐标是多少? 逻辑坐标(图像坐标)为(22, 54)的点,空间坐标为

(22*1.5625mm,54*1.5625mm)=(34.375mm,84.375mm); 同理,逻辑坐标(图像坐标)为(126, 241)的点,空间坐标为(196.875mm,376.05625mm)。 (e)求空间坐标为(14.2188, 5.3125)、(21.4063,34.5313)处的像素值。>>b=40/256; b = 0.1563 >> x3=(14.2188/b)-1 x3 = 90.0003 >> y3=(5.3125/b)-1 y3 = 33 >> x4=floor(x3) x4 = 90 >> x5=ceil(x3) x5 = 91 >> C1=A([x4],[y3]) C1 = 115 >> C2=A([x5],[y3]) C2 = 108 >> C3=0.9997*C1+0.0003*C2 C3 = 115 >> x6=(21.4063/b)-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.根据数据元素之间关系的不同特性,以下四类基本的逻辑结构反映了四类基本的数据组织形式,其中解释错误的是( )。

东北大学C++实验报告6

东北大学C++实验报告6 -标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

实验六 1.实验要求 (1)定义Point类,有坐标_x,_y两个成员变量;对Point类重载“++”(自增)、“――”(自减)运算符,实现对坐标值的改变。 (2)定义一个车(vehiele)基类,有Run、Stop等成员函数,由此派生出自行车(bicycle)类、汽车(motorcar)类,从bicycle和motorcar派生出摩托车(motorcycle)类,它们都有Run、Stop等成员函数。观察虚函数的作用。 2. 实验内容及实验步骤 (1) 编写程序定义Point类,在类中定义整型的私有成员变量_x_y,定义成员函数Point& operator++();Point operator++(int);以实现对Point类重载“++”(自增)运算符,定义成员函数Point&operator--();Point operator--(int);以实现对Point类重载“--”(自减)运算符,实现对坐标值的改变。程序名:1ab8_1.cpp。 (2) 编写程序定义一个车(vehicle)基类,有Run、Stop等成员函数,由此派生出自行车(bicycle)类、汽车(motorcar)类,从bicycle和motorcar派生出摩托车(motorcycle)类,它们都有Run、Stop等成员函数。在main()函数中定义vehicle、bicycle、motorcar、motorcycle的对象,调用其Run()、Stop()函数,观察其执行情况。再分别用vehicle类型的指针来调用这几个对象的成员函数,看看能否成功;把Run、Stop定义为虚函数,再试试看。程序名:lab8_2.cpp。 3. 源程序 Lab8_1 #include using namespace std; class Point{ public: Point(int X,int Y): _x(X),_y(Y){} Point operator++(); Point operator++(int); Point operator--(); Point operator--(int); void Putout() const; private:

计算机软件基础知识

计算机基础知识——软件

什么是软件? 电脑的外观、主机内的元件都是看得见的东西,一般称它们为电脑的「硬件」,那么电脑的「软件」是什么呢?即使打开主机,也看不到软件在哪里。既看不见也摸不到,听起来好像很抽象,但是,如果没有软件,就像植物人一样,空有躯体却无法行动。当你启动电脑时,电脑会执行开机程序,并且启动系统」,然后你会启动「Word」程序,并且打开「文件」来编辑文件,或是使用「Excel」来制作报表,和使用「IE」来上网等等,以上所提到的操作系统、打开的程序和文件,都属于电脑的「软件」。 什么是应用程序? 如果把操作系统比喻成电脑的「管家」,那么应用程序应该就是电脑的「长工」了。虽然操作系统打理电脑中大大小小的杂事,帮助我们管理电脑,但是如果没有应用程序,就不能打报告、制作报表了。操作系统管理电脑的各种功能,应用程序软件则用来执行各项特定的功能,例如我们用Word来打报告、用Excel来制作报表、用IE或Netscape来上网等等。这些Word、Excel、IE或是Netscape就是所谓的应用程序。 什么是随插即用? 即插即用就是「Plug and Play」,电脑安装了硬件之后,还必须安装硬件本身的驱动程序,才能够使用。不过,对许多人来说,安装驱动程序并不是件容易的事,所以在Windows 95操作系统中,就使用「即插即用」的功能解决这个问题。即插即用的作法是在Windows 95操作系统中,内置常用硬件的驱动程序。当你安装了硬件之后,如果Windows 95中有这项硬件的驱动程序,就会自动帮你安装,如果没有的话,你就必须自己另外安装驱动程序了。Windows 98提供的硬件驱动程序比Windows 95多,目前大部分的硬件都可以「即插即用」,但是随着新产品的出现,还是可能碰到无法「即插即用」的情况。 驱动程序怎样驱动? 安装了功能卡或外设之后,还必须在电脑中安装它们的驱动程序,这些设备才可以使用。举例来说,安装打印机之后,如果没有安装驱动程序,电脑就不知道有打印机的存在,当然就无法使用打印机。因此驱动程序是功能卡或外设与电脑之间沟通的介面,若没有安装驱动程序或是安装了不正确的驱动程序,电脑就无法正常地使用这些装置。当你购买了新的功能卡(如显示卡、声卡等)或外设(如打印机、调制解调器或扫描仪等),除了参考使用手册正确地安装驱动程序之外,包装中的驱动程序软盘或光盘都要好好保存,如果不幸操作系统需要重新安装时,这些驱动程序也要重新安装一次喔!

计算机软件基础实验报告

《计算机软件基础》 实验报告 姓名:沈俊卫 学号:1145533129 班级:11电气1班 专业:电气工程及其自动化 学院:电气与信息工程学院 2013年12月

实验一线性表的插入和删除 一、实验目的 1.熟悉C++上机环境; 2.掌握线性表的基本操作:查找、插入、删除等运算在链接存储结构上的运算。 二、实验内容 【任务一】阅读理解 阅读后面的程序,并将其输入到计算机中,调试成功,运算出结果。这个程序中我们创建了一个整数类型的升序单,演示了单链表的创建、输出和删除操作。 【任务二】完善功能 构造函数node *insert (node *head,int num),实现把一个节点插入链表,仍保持链表上各节点的升序关系,并在主函数中完成对你所添加函数的测试。 三、算法描述 建立含有若干个元素的升序单链表,对其进行插入、删除等操作,并将结果在屏幕上输出。// 实验一线性表 #include "stdafx.h" const int SIZE0=2; const int STEP=1; struct List{ int *A,len,size; List(){ A=(int *)malloc(SIZE0*sizeof(int)); if(!A)exit(1); len=0; size=SIZE0; } ~List(){ delete[size]A; } int GetLen(); void Output(); int Insert(int loc,int x); int Delete(int loc,int &y); int Geti(int loc,int &y); List(int *p,int n); void StraightInsertSort(); void BinaryInsertSort(); void BubbleSort(); int Patation(int low,int up); void QuickSort(int low,int high); void SelectSort(); void Shift_down(int heapsize,int index); void DeleteNodeofHeap(int heapsize,int index); void createHeap();

东北大学操作系统第一次实验报告

实验1:熟悉Linux系统 一、题目:熟悉Linux系统 二、目的: 熟悉和掌握Linux系统基本命令,熟悉Linux编程环境,为以后的实验打下基础。 1、启动、退出、ls(显示目录内容)、cp(文件或目录的复制)、mv(文件、目录更名或移动)、rm(删除文件或目录)、mkdir(创建目录)、rmdir(删除空目录)、cd(改变工作目录)… 2、C语言编辑、编译 三、内容及要求: 1、熟练掌握Linux基本文件命令; 2、掌握Linux编辑程序、对源代码进行编译、连接、运行及调试的过程; 3、认真做好预习,书写预习报告; 4、实验完成后要认真总结、完成实验报告。 四、内容及要求: 在Linux环境下编制、调试源程序的实际过程(每一步的具体说明)。 实验2:进程状态 一、题目:进程状态

二、目的: 自行编制模拟程序,通过形象化的状态显示,使学生理解进程的概念、进程之间的状态转换及其所带来的PCB内容、组织的变化,理解进程与其PCB间的一一对应关系。 三、内容及要求 1、设计并实现一个模拟进程状态转换及其相应PCB组织结构变化的程序; 2、独立设计、编写、调试程序; 3、程序界面应能反映出在模拟条件下,进程之间状态转换及其对应的PCB 组织的变化。 4、进程的状态模型(三状态、五状态、七状态或其它)可自行选择, 5、代码书写要规范,要适当地加入注释; 6、鼓励在实验中加入新的观点或想法,并加以实现; 7、认真进行预习,完成预习报告; 8、实验完成后,要认真总结,完成实验报告。 四、程序流程图

图4.1 进程转换流程五、使用的数据结构及其说明 struct PCB //进程控制块PCB { char name; //名字标识 string state; //状态 int time; //执行时间 }; typedefstruct PCB ElemType; structQNode { ElemType data; structQNode *next; }; //链式队列结点 typedefstructQNodeQNode; //结点 typedefstructQNode *PNode; typedefstruct { PNodefrnt; PNode rear;

计算机软件基础知识点

计算机软件基础知识点 【篇一:计算机软件基础知识点】 电脑软件基础知识一: 软件分为几类,我们一起了解下:硬件驱动程序 光有硬件,电脑是并不能工作的。必须要有能驱使硬件工作的软件 才能让硬件工作,这种软件就是我们平常说的驱动程序。 任何都必须要有对应的驱动程序才能正常工作。驱动程序是电脑软 件之中最基本的软件,也是保障电脑顺利工作的基础。 从winows98以后的中,都了很多常见设备的驱动程序。比如usb,显卡等。不过有些设备必须单独装对应的驱动。各个驱动程序之间 极有可能产生不兼容的情况。驱动版本也不是越新越好,稳定最重要。操作系统 操作系统是大家听的最多的一种软件,它为电脑中其他应用程序提 供的操作平台,就像我们吃饭的桌子一样,为我们提供一种可以操 作的平台。 目前最常见的系统为windows xp ,win7 ,linux,其中win7将逐 渐变成主流。应用软件 应用软件就是我们日常用到的软件程序,这些程序可以帮助我们完 成生活中的很多工作,也就是真正体现电脑用途的东西。如office. 电脑发展到现在,应用软件业涉及到社会的各个行业领域,几乎在 能用到电脑工作的地方,都能对应一种以上的应用软件。 电脑软件基础知识二: 电脑软件,是人们为了告诉电脑要做什么事而编写的,电脑能够理 解的一串指令,有时也叫代码、程序。 根据功能的不同,电脑软件可以粗略地分成四个层次。最贴近电脑 硬件的是一些小巧的软件。它们实现一些最基本的功能,通常固化 在只读存储器芯片中,因此称为固件。 系统软件包括操作系统和编译器软件等。系统软件和硬件一起提供 一个平台。它们管理和优化电脑硬件资源的使用。常见的中间件 包括数据库和万维网服务器等,它们在应用软件和平台之间建立一 种桥梁。 应用软件种类最多,包括办公软件、电子商务软件、通信软件、行 业软件,软件等等。

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

《计算机软件技术基础》试题 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;

计算机软件技术基础实验报告Word版

计算机软件基础实验报告 姓名学号实验目的 1. 掌握C语言程序设计方法,并学会上机调试。 2. 熟悉Huffman编码源程序,并构造Huffman树。 实验内容 1.试设计一算法,从包括n个元素的数组中,求最大和最小元素,并使得当n 个元素为有序排列时,元素之间的比较次数仅为n-1次。 2.在给出的Huffman编码源程序基础上,要求画出Huffman树,求出与等长编 码相比时的压缩比。 实验要求 1.根据实验内容编写算法,并用 C 语言进行程序设计。 2. 将所编程序在计算机上调试通过,并全面测试。 实验结果 1.以一个含有8个元素的一维数组{1,2,3,5,7,8,9,12}为例,设计程序如下: #include int maxArray(int x ,int y); int minArray(int x ,int y); int main(void) { int i = 0 ; int array[8]={ 1,2,3,5,7,8,9,12} ; printf; do { scanf("%d",&array[i]); i++; } while(i < 8); int maxTemp = array[0]; int minTemp = array[0]; int maxIndex = 0; int minIndex = 0; for(i=1;i<8;i++)

maxTemp = maxArray(array[i] , maxTemp); minTemp = minArray(array[i] , minTemp); } for(i=0;i<8;i++) { if (maxTemp == array[i]) { maxIndex = i; } if (minTemp == array[i]) { minIndex = i; } } printf; return 0; } 运行结果如下: 2.Huffman编码源程序 #include #include #include #include #include typedef struct {unsigned int weight; //结点权值 unsigned int parent,lchild,rchild; //结点的父指针,左右孩子指针 }HTNode,*HuffmanTree; //动态分配数组存储哈夫曼树 typedef char **HuffmanCode; //动态分配数组存储哈夫曼编码表 void CreateHuffmanTree(HuffmanTree &,unsigned int*,int ); //生成哈夫曼树 void HuffmanCoding(HuffmanTree,HuffmanCode &,int ); //对哈夫曼树

东北大学c++实验报告

实验六 1?实验要求 (1)定义Point类,有坐标_x, _y两个成员变量;对Point类重载牛+ ”(自增)、“一-(自减)运算符,实现对坐标值的改变。 (2)定义一个车(vehiele)基类,有Run、Stop等成员函数,由此派生出自行车(bicycle)类、汽车(motorcar)类,从bicycle和motorcar派生出摩托车(motorcycle)类,它们都有Run、Stop等成员函数。观察虚函数的作用。 2.实验容及实验步骤 (1)编写程序定义Point类,在类中定义整型的私有成员变量_x_y,定义成员函数Point& operato叶+() ; Point operato叶+(int);以实现对Point 类重载++ ”(自增)运算符,定义成员函数Point& operator ------------------------------ ();Point operator -------- (int);以实现对Point类重载(自减)运算符,实现对坐标值的改变。程序名:1ab8_1. cpp。 ⑵编写程序定义一个车(vehicle)基类,有Run、Stop等成员函数,由此派 生出自行车(bicycle)类、汽车(motorcar)类,从bicycle和motorcar派生出摩托车(motorcycle)类,它们都有Run、Stop等成员函数。在main()函数中定义vehicle、bicycle、motorcar、motorcycle 的对象,调用其Run()、Stop()函数,观察其执行情况。再分别用vehicle类型的指针来调用这几个对象的成员函数,看看能否成功;把Run、Stop定义为虚函数,再试试看。程序名:lab8_2. cpp。 3.源程序 Lab8 1 #in clude using n amespace std;

计算机软件技术基础作业

第二章数据结构概述 一、选择题 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.存储结构是逻辑结构的_____物理______实现。

计算机软件基础实验报告

实验一选择结构程序设计 一、实验目的 1、掌握关系运算符和逻辑运算符的使用方法及其表达式的应用。 2、掌握分支语句的使用。 3、结合程序掌握一些简单的算法。 二、实验内容 1、在VC6.0中,实现输入3个整数,按大小顺序输出。 2、在VC6.0中,编写程序,当输入字符A时,输出America;输入字符B时,输出Britain;输入字符C时,输出China;输入其它字符时,输出France(要求使用switch语句实现)。 3、给出一百分制成绩,要求输出成绩等级’A’,’B’,’C’,’D’,’E’.90分以上为’A’,80~89分为’B’, 70~79分为’C’,60~69分为’D’,60分以下为’E’。 三、实验环境 1、一台能正常启动的个人计算机 2、安装有VC6.0软件 四、实验步骤 1、启动VC6.0,创建一个新的C程序文件。 2、在创建的C程序文件中输入相应的代码。 3、保存程序 4、运行程序 输入3个整数,按大小顺序输出的问题,程序代码如下: #include main() { int a,b,c,t; printf("请输入三个整数:") ; scanf("%d%d%d",&a,&b,&c) ; if(a main() { char x; printf("请输入一个字符:");

东北大学 操作系统实验四报告

操作系统实验报告 班级物联网1302班 学号 姓名

实验4 进程的管道通信 1. 实验目的 1)加深对进程概念的理解,明确进程和程序的区别。 2)进一步认识并发执行的实质。 3)分析进程争用资源的现象,学习解决进程互斥的方法。 4)学习解决进程同步的方法。 5)了解Linux系统中进程通信的基本原理。 进程是操作系统中最重要的概念,贯穿始终,也是学习现代操作系统的关键。通过本次实验,要求理解进程的实质和进程管理的机制。在Linux系统下实现进程从创建到终止的全过程,从中体会进程的创建过程、父进程和子进程之间的关系、进程状态的变化、进程之间的互斥、同步机制、进程调度的原理和以管道为代表的进程间的通信方式的实现。 2. 内容及要求: 这是一个设计型实验,要求自行编制程序。 使用系统调用pipe()建立一条管道,两个子进程分别向管道写一句话: Child process1 is sending a message! Child process2 is sending a message! 父进程从管道读出来自两个子进程的信息,显示在屏幕上。 要求: 1)父进程先接收子进程1发来的消息,然后再接收子进程2发来的消息。 2)实现管道的互斥使用,当一个子进程正在对管道进行写操作时,另一子进程必须等待。使用系统调用lockf(fd[1],1,0)实现对管道的加锁操作,用lockf(fd[1],0,0)解除对管道的锁定。 3)实现父子进程的同步,当子进程把数据写入管道后,便去睡眠等待;当父进程试图从一空管道中读取数据时,也应等待,直到子进程将数据写入管道后,才将其唤醒。 3.相关的系统调用 1) fork() 用于创一个子进程。 格式:int fork(); 返回值:在子进程中返回0;在父进程中返回所创建的子进程的ID值;当返回-1时,创建失败。 2) wait() 常用来控制父进程与子进程的同步。 在父进程中调用wait(),则父进程被阻塞,进入等待队列,等待子进程结束。当子进程结束时,父进程从wait()返回继续执行原来的程序。 返回值:大于0时,为子进程的ID值;等于-1时,调用失败。 3) exit() 是进程结束时最常调用的。 格式:void exit( int status); 其中,status为进程结束状态。

计算机软件基础实验报告

课程名称:计算机软件基础实验项目: 1.最简单的C程序 2.C程序的选择结构 3.C程序的循环结构 4.C程序的函数 5.C程序的指针 6.数据结构初步 实验一、最简单的C程序 一、实验目的 (1)理解常用运算符的意义。 (2)掌握c 语言表达是的运算规则。 二、实际设备及器材 计算机 三、实验内容 (1)整数除的危险性 分析三个表达式的值,再设计程序测试,进行比较和分析。 int a=5,b=7,c=100,d,e,f; d=a/b*c; e=a*c/b; f=c/b*a; d=0,e=71,f=70. 程序测试: #include int main() { int a=5,b=7,c=100,d,e,f; d=a/b*c; e=a*c/b; f=c/b*a; printf("% d,% d,%d\n",d,e,f); } 结果:

(1)分析下面程序 是比较x++与++x之间的区别。 例如: #include int main() { int a=5,b=8; printf("a++=%d\n",a++); printf("a=%d\n",a); printf("++b=%d\n",++b); printf("b=%d\ny",b); } 运行结果: 由上述程序可以看出,x++是先使用x在使x+1,而++x是先使x+1在使用x。 (2)分析下列表达式的值 测试程序: #include int main() { int a,b,c,d,e,f; scanf("a=%d,b=%d\n",a,b); c=b+a+++a; d=b+(a++)+a; e=b+a+(++a); f=b+a+++a++; printf("c=%,d=%d,e=%d,f=%d\n",c,d,e,f); } 四、思考题 1.整数除的危险性 2.C语言的运算规则 实验二、C语言选择结构 一、实验目的 (1)掌握分支程序的基本结构。 (2)掌握分支程序的测试与调试方法。 二、实际设备及器材

东北大学图像处理实验报告

计算机图像处理实验报告 哈哈哈哈哈哈实验台31 1.应用MATLAB语言编写显示一幅灰度图像、二值图像、索引图像及 彩色图像的程序,并进行相互之间的转换 1)彩色图像转换为灰度图像、索引图像、二值图像 A=imread('F:\colorful.jpg'); subplot(221);imshow(A);title('彩色图像'); I1=rgb2gray(A); subplot(222);imshow(I1);title('灰度图像'); [X1,map]=rgb2ind(A,256); subplot(223);imshow(X1);title('索引图像'); BW=im2bw(A); subplot(224);imshow(BW);title('二值图像'); 彩色图像灰度图像 索引图像二值图像

2)灰度图像转换为索引图像、二值图像 clear A=imread('F:\colorful.jpg'); B=rgb2gray(A); subplot(131);imshow(B);title('灰度图像'); [X2,map]=gray2ind(B,128); subplot(132);imshow(X2);title('索引图像'); BW2=im2bw(B); subplot(133);imshow(BW2);title('二值图像'); 灰度图像索引图像二值图像 3)索引图像转为灰度图像、二值图像、彩色图像 clear A=imread('F:\colorful.jpg'); [X,map]=rgb2ind(A,256); subplot(221);imshow(X);title('索引图像'); I3=ind2gray(X,map); subplot(222);imshow(I3);title('灰度图像'); BW3=im2bw(X,map,0.5); subplot(223);imshow(BW3);title('二值图像'); RGB=ind2rgb(X,map); subplot(24);imshow(RGB);title('还原彩色图像'); 索引图像灰度图像 二值图像还原彩色图像

计算机软件基础试题

《软件技术基础》试题库 课程名称:软件技术基础 适用专业:软件技术、计算机应用、网络、信息等计算机相关专业第一章概述 第二章数据结构 一、单项选择题 1.若长度为n的线性表采用顺序存储结构,删除它的第i数据元素之前,需要先依次向前移动_______个数据元素。( ) A. n-i B. n+i C. n-i-1 D. n-i+1 答案:A 2.在单链表中,已知q指的结点是p指的结点的直接前驱结点,若在q和p指的结点之间插入一个由s指的结点,则需执行________。( ) A. link(s)←link(p),link(p)←s B. link(q)←s,link(s)←p C. link(p)←link(s),link(s)←p D. link(p)←s,link(s)←q 答案:B 3.高度为h(h>0) 的二叉树最少有________个结点。() A. h B. h-1 C. h+1 D. 2h 答案:A 4.n个顶点的带权无向连通图的最小生成树包含________ 个顶点。() A.n-1 B.n C.n/2 D.n+1 答案:B

5.采用拉链法解决冲突的散列表中,查找的平均查找长度( )。 A. 直接与关键字个数有关 B. 直接与装填因子a 有关 C. 直接与表的容量有关 D. 直接与散列函数有关 答案:D 6.树型结构最适合用来描述( ) A.有序的数据元素 B.无序的数据元素 C.数据元素之间的具有层次关系的数据 D.数据元素之间没有关系的数据 答案:C 7.若二叉树中度为2的结点有15个,度为1的结点有10个_______个叶结点。( ) A.25 B.10 C.16 D.41 答案:C 8.若深度为6的完全二叉树的第6层有3个叶结点,则该二叉树一共有______个结点。( ) A.32 B.33 C.34 D.25 答案:C 9.若某完全二叉树的深度为h,则该完全二叉树中至少有______个结点。( ) A.2h B.2h-1 C.2h-2 D.2h-1+1 答案:C 10.在非空二叉树的中序遍历序列中,二叉树的根结点的左边应该( ) A.只有左子树上的所有结点 B.只有左子树上的部分结点 C.只有右子树上的所有结点 D.只有右子树上的部分结点 答案:A 11.下面关于哈夫曼树的说法,不正确的是( ) A.对应于一组权值构造出的哈夫曼树一般不是唯一的 B.哈夫曼树具有最小带权路径长度

《计算机软件技术基础(1)》在线作业一

《计算机软件技术基础(1)》在线作业一 天津大学 一、单选题(共 20 道试题,共 100 分。) V 1. 以下叙述中正确的是()。 A. 一个记录中所包含的各个元素的数据类型必须相同 B. 随机文件中每个记录的长度是固定的 C. Open命令的作用是打开一个已经存在的文件 D. 使用Input #语句可以从随机文件中读取数据 满分:5 分 2. 下列哪一个是日期型常量()。 A. ”2/1/99” B. 2/1/99 C. #2/1/99# D. {2/1/99} 满分:5 分 3. 如果在模块的声明段中有Option Base 0语句,则在该模块中使用Dim a(7,3 To 5)声明的数 组有()个元素。 A. 21 B. 28 C. 24 D. 32 满分:5 分 4. 下面几对数据类型中,哪一对所占的内存大小一致:()。 A. Integer、Single B. Integer、Boolean C. Date、Single

D. Long、Variant 满分:5 分 5. 假定bln1是逻辑型变量,下面赋值语句中正确的是()。 A. bln1=’True’ B. bln1=.True. C. bln1=#True D. bln1=True 满分:5 分 6. 以下叙述中错误的是()。 A. 在同一窗体的菜单项中,不允许出现标题相同的菜单项 B. 在菜单的标题栏中,“&”所引导的字母指明了访问该菜单项的访问键 C. 程序运行过程中,可以重新设置菜单的Visible属性 D. 弹出式菜单也在菜单编辑器中定义 满分:5 分 7. 下面的动作中,不能引发一个按钮Click事件的是:()。 A. 在按钮上单击 B. 在按钮上右击 C. 把焦点移至按钮上,然后按回车键 D. 如果按钮上有快捷字母,按“Alt+该字母” 满分:5 分 8. 刚建立一个新的标准EXE工程后,不在工具箱中出现的控件是()。 A. 单选按钮 B. 图片框 C. 通用对话框 D. 文本框 满分:5 分 9. 在设计阶段,当双击窗体上的某个控件时,所打开的窗口是()。

计算机应用基础实训报告

实训报告 项目名称打字练习 实训科目计算机应用基础实训日期2010-5-12 课时安排2课时主要工具金山打字通 实训步骤 1、用金山打字通练习英文打字15分钟后进行速度测试。 2、用金山打字通练习中文打字15分钟后进行速度测试。 3、五笔输入练习:字根练习、拆字练习、词组练习、文章练习 实训总结 过本次实训我收获颇丰,学到了许多知识,特别是对打字的正确指法有了很深的了解。

项目名称文摘周报排版 实训科目计算机应用基础实训日期2010-10-14 课时安排2课时主要工具WORD 实训步骤 (一)周报中图片可以自选。 (二)插入页眉,艺术字,线条。 (三)加入边框,特殊符号,文本框。 (四)加入底纹,进行分栏。 (五)整个版面美观舒适。 实训总结 使我看到了自己的不足,也使我看到了自己的长处,并锻炼了我各方面的能力。这对我今后的学习和工作将产生 积极的影响

项目名称徐悲鸿与马 实训科目计算机应用基础实训日期2011-3-30 课时安排2课时主要工具WORD 实训步骤 A: 将文档页面的执行设置为“16开(1.84*26厘米),左右边界为 3.2厘米,上边界为2.6厘米,下边界为5厘米。 B: 在页面低端以居中对齐方式插入页码,并将初始页码设为 2 C: 插入页眉,页眉内容为“画苑撷英”,对齐方式为右对齐。 D: 将正文第3,4段分为等宽三栏,栏宽为 3.45,栏间距加分隔线。 E : 将标题文摘风驰电掣顾盼有神设置为艺术字,艺术字样式为第1行第5列字体,楷体,形状为右牛角形,阴影为阴影样式4,适当调整艺术字的大小位置。 F 插入图片文件(自选)将进行适当裁剪,并按50%的比例缩小。将图片移动到合适的位置,设置环绕方式为四周型。 实训总结 计算机基础知识功底深厚外,还需有一定的实践动手能力,操作能力,应付突发故障的能力,还要对常用软件都 能熟练操作。

相关文档
最新文档