计算机软件基础(太原科技大学)实验二

计算机软件基础(太原科技大学)实验二
计算机软件基础(太原科技大学)实验二

一、实验目的:

通过该实验,掌握栈的基本操作,熟练掌握链栈的具体实现方法及基本操作实现算法。特别注意栈满和栈空的条件以及它们的描述方法。

二、实验要求:

1、阅读程序,给出详细的注解;

2、运行程序,分析程序结果;

3、改写程序并且实现。

三、实验内容:

定义顺序栈的基本数据结构,完成相应的栈操作,包括初始化,判别栈空与栈满,入栈,出栈,取栈顶元素等操作。

四、实验原理:

status initstack(sqstack &s)为构造一个空栈;status gettop(sqstack s,selemtype &e)若栈不空,则用e返回s的栈顶元素,并返回OK,否则返回ERROR;status push(sqstack &s,selemtype e)是插入元素e为新的栈顶元素;status pop(sqstack &s,selemtype &e)是删除S的栈顶元素,用e返回其值,并返回OK,否则返回ERROR; int stackempty(sqstack s)是判栈空,若栈空则返回1,否则返回0。在主函数中,首先构造一个空栈,然后通过scanf输入元素,通过for循环用push插入到栈中,每次插入的元素作为栈顶元素,最后通过while循环和stackempty判栈空删除栈的栈顶元素,并通过printf输出,最后输出的元素顺序与输入顺序相反。

五、程序代码:

#include

#include

#include

#include

#include"malloc.h"

#include"process.h"

#define list_init_size 100

#define listincrement 10

#define ERROR -1

#define OK 1

#define OVERFLOW -2

#define NULL 0

typedefint elemtype;

typedefint selemtype;

typedefint status;

typedefstruct basect{

selemtype *base;

selemtype *top;

int stacksize;

status initstack(sqstack &s)

{//构造个空栈

s.base=(selemtype *)malloc(list_init_size *sizeof(elemtype));

if(!s.base)

exit(OVERFLOW);

s.top=s.base;

s.stacksize=list_init_size;

return OK;

}

status gettop(sqstack s,selemtype &e)

{//若栈不空,则用e返回S的栈顶元素e,并返回OK;否则返回ERROR

if(s.top==s.base)

return ERROR;

e=*(s.top-1);

return OK;

}

status push(sqstack &s,selemtype e)

{//插入元素为新的栈顶元素

if(s.top-s.base>=s.stacksize)

{

s.base=(elemtype*)realloc(s.base,(s.stacksize+listincrement)*sizeof(elemtype)); if(!s.base)

exit(OVERFLOW);

s.top=s.base+s.stacksize;

}

*s.top++=e;

return OK;

}

status pop(sqstack &s,selemtype &e)

{//若栈不空,则删除s的栈顶元素,用e返回其值,并返回OK;否则返回ERROR if(s.top==s.base)

return ERROR;

e=*--s.top;

return OK;

}

int stackempty(sqstack s)

{//判栈空

if(s.base==s.top)

return 1;

elsereturn 0;

}

void main()

{sqstack s;

initstack(s);

printf("\n 请输入元素个数:"); scanf("%d",&n);

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

{

scanf("%d",&e);

push(s,e);

}

printf("\n");

while(!stackempty(s))

{

pop(s,e);

printf("%d",e);

}

}

六、实验结果

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

第一章 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所示。

数字电子技术考试题及答案

太原科技大学 数字电子技术 课程试卷 B 卷 一、单选题(20分,每小题1分)请将本题答案全部写在下表中 1、8421BCD 码10000001转化为十六进制数是( )。 A 、15 B 、51 C 、81 D 、18 2、n 位二进制数的反码或其原码,表示的十进制数是( )。 A 、21n - B 、2n C 、1 2n - D 、2n 3、TTL 与非门多余输入端的处理是( )。 A 、接低电平 B 、任意 C 、 通过 100W 电阻接地 D 、通过 100k W 电阻接地 4、OD 非门在输入为低电平(输出端悬空)情况下,输出为( )状态。 A 、高电平 B 、低电平 C 、开路 D 、不确定 5、与()Y A B A =e e 相等的逻辑函数为( )。 A 、Y B = B 、Y A = C 、Y A B =? D 、Y A B =e 6、下列(,,)F A B C 函数的真值表中1Y =最少的为( )。 A 、Y C = B 、Y AB C = C 、Y AB C =+ D 、Y BC C =+ 7、( )是组合逻辑电路的特点。 A 、输出仅取决于该时刻的输入 B 、后级门的输出连接前级门的输入 C 、具有存储功能 D 、由触发器构成 8、半加器的两个加数为A 和B ,( )是进位输出的表达式。 A 、AB B 、A B + C 、AB D 、AB 9、欲使JK 触发器1 n Q Q +=,J 和K 取值正确的是( )。 A 、,J Q K Q == B 、J K Q == C 、0J K == D 、,1J Q K == 10、字数为128的ROM 存储器存储容量为1204位,字长为( )位,地址线为( )根。 A 、8,8 B 、8,7 C 、4,7 D 、4,8 11、一个四位二进制减法计数器初始状态为0110,经过101个脉冲有效沿触发后,它的输出是 ( )。 A 、0000 B 、0001 C 、0011 D 、0010 12、要用1K×8的RAM 扩展成8K×16的RAM ,需选用( )译码器。 A 、 3线-8线 B 、2线-4线 C 、1线-2线 D 、4线-16线

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

数据结构习题答案 第一节概论 一、选择题 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.根据数据元素之间关系的不同特性,以下四类基本的逻辑结构反映了四类基本的数据组织形式,其中解释错误的是( )。

(0812)计算机科学与技术

(0812) 计算机科学与技术(共 55个一级学科招生单位) 清华大学、浙江大学、华中科技大学、北京大学、北京航空航天大学、上海交通大学、西安交通大学、西安电子科技大学、东南大学、南京大学、北京邮电大学、哈尔滨工业大学、复旦大学、武汉大学、东北大学、吉林大学、电子科技大学、西北工业大学、中国科学技术大学、北京理工大学、大连理工大学、山东大学、中南大学、哈尔滨工程大学、中山大学、华南理工大学、安徽大学、重庆大学、同济大学、四川大学、湖南大学、天津大学、上海大学、北京科技大学、北京工业大学、华东师范大学、华中师范大学、北京交通大学、新疆大学、西南交通大学、沈阳航空工业学院、浙江工商大学、南京航空航天大学、南京理工大学、大连海事大学、上海海事大学、黑龙江大学、云南大学、桂林电子科技大学、燕山大学、合肥工业大学、中国人民大学、山东科技大学、江南大学、广东工业大学 {计算机科学与技术20强:清华大学、浙江大学、华中科技大学、北京大学、北京航空航天大学、上海交通大学、西安交通大学、西安电子科技大学、东南大学、南京大学、北京邮电大学、哈尔滨工业大学、复旦大学、武汉大学、东北大学、吉林大学、电子科技大学、西北工业大学、中国科学技术大学、北京理工大学} (081201) 计算机系统结构(共 89个二级学科招生单位) 北京大学、北京交通大学、北京理工大学、长安大学、长春理工大学、长江大学、大连理工大学、电子科技大学、东北大学、东华大学、东南大学、福州大学、复旦大学、广东工业大学、广西大学、哈尔滨工程大学、哈尔滨理工大学、杭州电子科技大学、合肥工业大学、河北大学、河南理工大学、黑龙江大学、华北电力大学、华北电力大学(保定、华东师范大学、华南理工大学、华中科技大学、华中师范大学、吉林大学、济南大学、暨南大学、江南大学、江苏大学、解放军理工大学、军械工程学院、昆明理工大学、兰州大学、兰州交通大学·兰州理工大学、辽宁师范大学、南昌大学、南京理工大学、南京邮电大学、南开大学、青岛大学、山东大学、山东科技大学、陕西师范大学、上海大学、上海交通大学、沈阳理工大学、太原理工大学、同济大学、武汉大学、武汉科技大学、安徽大学、西安电子科技大学、西安工业大学、西安建筑科技大学、西安交通大学、西安理工大学、西安邮电学院、西北大学、西北工业大学、西北农林科技大学、西南大学、西南交通大学、厦门大学、湘潭大学、燕山大学、浙江大学、浙江工业大学、郑州大学、中北大学、中国海洋大学、中国矿业大学(北京)、中国矿业大学(江苏)、中国石油大学(北京)、中南大学、中山大学、重庆大学、重庆邮电大学、华北计算技术研究所、华东计算技术研究所、武汉数字工程研究所、中国航空研究院631所、中国航天科工集团第二研究院、中国科学院北京计算技术研究所、中科院沈阳计算技术研究所 {计算机系统结构17强:清华大学、浙江大学、华中科技大学、北京大学、上海交通大学、东北大学、复旦大学、中国科学技术大学、哈尔滨工业大学、吉林大学、电子科技大学、北京邮电大学、西安电子科技大学、西安交通大学、西北工业大学、武汉大学、东南大学} (081202) 计算机软件与理论(共 165个二级学科招生单位) 中国人民大学、中国石油大学(北京)、北京大学、北京工业大学、北京交通大学、北京理工大学、北京林业大学、北京师范大学、北方工业大学、渤海大学、长安大学、长春工业大学、长春理工大学、长沙理工大学、成都理工大学、大连理工大学、大庆石油学院、电子科技大学、东北大学、东华大学、东华理工学院、东南大学、福建师范大学、福州大学、复旦大学、广东工业大学、广西大学、广西师范大学、贵州大学、桂林电子科技大学、哈尔滨工程大学、哈尔滨理工大学、杭州电子科技大学、合肥工业大学、河北大学、河海大学、河南工业大学、河南科技大学、河南师范大学、黑龙江大学、湖南工业大学(原株洲工

计算机软件基础实验报告

《计算机软件基础》 实验报告 姓名:沈俊卫 学号: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();

2014-2015数值分析考试试题卷

太原科技大学硕士研究生 2014/2015学年第1学期《数值分析》课程试卷 一、填空题(每空4分,共32分) 1、设?????≤≤-++<≤+=2 1,1321 0,)(2 323x x bx x x x x x s 是以0,1,2为节点三次样条函数,则b=__-2___ 2、解线性方程组12312312388 92688 x x x x x x x x x -++=-?? -+=??-+-=? 的Jacobi 迭代格式(分量形式)为 ?? ???+--=++-=++=+++)(2)(1)1(3) (3)(1)1(2) (3)(2)1(1882/)96(88k k k k k k k k k x x x x x x x x x ,其相应的迭代矩阵为??????????-0812/102/9810。 3、方程03 =-a x 的牛顿法的迭代格式为__3 12 3k k k k x a x x x +-=-__________,其收敛的阶为 2 。 4、已知数x 的近似值0.937具有三位有效数字,则x 的相对误差限是310534.0-? 解:x 1≈0.937, 31102 1 )(-?≤ x ε 3 31111 10(x )2 (x )0.53410x 0.937 r εε--?=≤=? 5、用列主元高斯消去法解线性方程组 ??? ??=--=++=++2333220221 321321x x x x x x x x 作第1次消元后的第2,3个方程分别为? ? ?=+--=-5.35.125 .15.03232x x x x 6、设???? ??-=3211A ,则=∞)(A Cond __4____.

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

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

2009级计算机网络试题

太原科技大学 《计算机网络》课程试卷 一、选择题(单项选择题,请将答案填写在括弧中.每空1分,共40分) 1.最早的计算机网络产生的时间和名称是() A1959年SAGE B1969SAGE C1959年ARPANET D1969年ARPANET 2.IEEE802协议标准中不提供的服务原语有() A Request B Indication C Response D Confirmation 3.在OSI参考模型中,第N层与第N+1层之间的关系是() A第N层是第N+1层的服务提供者B第N+1层从第N层接收报文并添加报头C第N层使用第N+1层提供的服务D第N层与第N+1层没有直接关系 4.下列选项中,不属于计算机网络物理层的特性是() A机械特性B电气特性 C功能特性D规程特性 5.在OSI参考模型中,物理层的功能是() A建立和释放连接B透明地传输原始比特流 C在物理实体间传送数据帧D发送和接受用户数据 6.计算机网络传输的信息单位是数据单元,对等实体间传送的数据单元是() A SDU B PDU C IDU D SDH 7.在OSI参考模型中,提供流量控制功能的是[1]( ).提供建立、维护和拆除端到端连接功能的是[2]( ).为数据分组提供路由功能的是[3]( )。 [1] A 1、2层 B 2、4层C3、5层 D 5.6层 [2] A物理层B数据链路层 C 会话层D传输层

[3] A物理层B数据链路层 C 网络层D传输层 8.第二代计算机网络由通信子网和资源子网组成,通信子网包括() A 物理层、数据链路层、传输层B物理层、数据链路层、网络层 C物理层、网络层、应用层D物理层、数据链路层、会话层9.不属于数字数据的模拟信号调制技术是() A ASK B PCM C FSK D PSK 10.计算机网络数据交换技术中,不属于分组交换技术的有()A线路交换B数据报C信元交换D虚电路 11.不属于高级数据链路控制HDLC的数据传输模式为()A正常响应模式NRM B异步平衡模式ABM C非平衡响应模式NNM D异步响应模式ARM 12.UTP双绞线,指的是() A 屏蔽5类双绞线 B 非屏蔽5类双绞线 C 屏蔽3类双绞线D非屏蔽3类双绞线 13.数据链路层进行的流量控制指的是() A 源端到目标端B源端到中间节点 C 目标节点到目的端D相邻节点之间 14.不属于自动请求重复发差错控制的策略是() A 停等ARQ协议B后退N机制 C 选择重发机制D滑动窗口机制 15.透明传输是数据链路层的基本功能,所谓透明性是指() A 传输的数据内容、格式及编码有限B传输数据的方式透明 C 传输的数据内容、格式及编码无限D传输数据的方向透明 16.在二进制同步通信协议中,ACK表示() A 拆除建立链路B正确接收发送方报文的确认 C 请求远程站的相应D未正确接收发送方报文的响应

计算机软件技术基础实验报告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 ); //对哈夫曼树

生物信息学期末考试重点

第一讲 生物信息学(Bioinformatics)是20世纪80年代末随着人类基因组计划的启动而兴起的一门新型交叉学科,它体现了生物学、计算机科学、数学、物理学等学科间的渗透与融合。 生物信息学通过对生物学实验数据的获取、加工、存储、检索与分析,达到揭示数据所蕴含的生物学意义从而解读生命活动规律的目的。 生物信息学不仅是一门学科,更是一种重要的研究开发平台与工具,是今后进行几乎所有生命科学研究的推手。 生物技术与生物信息学的区别及联系 生物信息学的发展历史 ?人类基因组计划(HGP) ?人类基因组计划由美国科学家于1985年提出,1990年启动。根据该计划,在2015年要把人体约4万个基因的密码全部揭开,同时绘制出人类基因的谱图,也就是说,要揭开组成人体4万个基因的30亿个碱基对的秘密。HGP与曼哈顿原子弹计划和阿波罗计划并称为三大科学计划,被誉为生命科学的登月计划。(百度百科) 随着基因组计划的不断发展,海量的生物学数据必须通过生物信息学的手段进行收集、分析和整理后,才能成为有用的信息和知识。换句话说,人类基因组计划为生物信息学提供了兴盛的契机。上文所说的基因、碱基对、遗传密码子等术语都是生物信息学需要着重研究的地方。

第二讲回顾细胞结构 细胞是所有生命形式结构和功能的基本单位 细胞组成 细胞膜主要由脂类和蛋白质组成的环绕在细胞表面的双层膜结构 细胞质细胞膜与细胞核之间的区域:包含液体流质,夹杂物存储的营养、分泌物、天然色素和细胞器 细胞器细胞内完成特定功能的结构:线粒体、核糖体、高尔基体、溶酶体等 细胞核最大的细胞器 DNA的结构 碱基(腺嘌呤A、鸟嘌呤G、胞嘧啶C、胸腺嘧啶G) 核苷酸 核苷酸是构成DNA分子的重要模块。每个核苷酸分子由一分子称作脱氧核糖的戊 糖(五碳糖)、一分子磷酸和一分子碱基构成。每种核苷酸都有一个碱基对,也就 是A、T、C、G 基因是什么 基因是遗传物质的基本单位 基因就是核苷酸序列。 大部分的基因大约是1000-4000个核苷酸那么长。 基因通过控制蛋白质的合成,从微观和宏观上影响细胞、组织和器官的产生。 基因在染色体上。

计算机软件技术基础作业

第二章数据结构概述 一、选择题 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("请输入一个字符:");

计算机软件基础实验报告

课程名称:计算机软件基础实验项目: 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)掌握分支程序的测试与调试方法。 二、实际设备及器材

《计算机软件技术基础(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%的比例缩小。将图片移动到合适的位置,设置环绕方式为四周型。 实训总结 计算机基础知识功底深厚外,还需有一定的实践动手能力,操作能力,应付突发故障的能力,还要对常用软件都 能熟练操作。

计算机软件技术基础复习资料

1. 算法的基本特征 (1)0个或以上的输入 (2)1个或以上的输出 (3)确定性 (4)有限性 (5)有效性 3. 算法设计基本方法 (1)列举法 (2)归纳法 (3)递推法 (4)递归法 (5)减半递推技术 (6)回溯法 数据结构是讨论计算机系统中数据的组织形式及其相互关系 它把客观事物采用计算机进行识别、存储和加工所进行的描述,统称数据 树结构,它的逻辑特征是:有且仅有一个称为根的元素无直接前驱,其他元素有且仅有一个直接前驱,所有数据元素(除根元素)都存在一条从根元素到该元素的路径。\ ①“下溢”现象。当队列为空时,做出队列运算产生的溢出现象。“下溢”属于正常现象,常用作程序控制转移的条件。 ②“真上溢”现象。当队列满时,做进队列运算产生空间溢出的现象。“真上溢”是一种出错状态,应设法避免。 ③“假上溢”现象。由于入队和出队操作中,头尾指针只增加不减小,致使被删元素的空间永远无法重新利用。当队列中实际的元素个数远远小于向量空间的规模时,也可能由于尾指针已超越向量空间的上界而不能做入队操作,该现象称为“假上溢”现象。为了避免假上溢浪费存储空间,我们需要使用循环队列。 设每个数组元素占S 个存储单元,则在行优先存储中,二维数组Amn 的每个元素的存储地址可用下列计算公式算出: Loc(aij)=Loc(a11)+((i-1)*n +(j-1))*S 顺序存储分为:紧缩格式存储和非紧缩格式存储两 二叉树的性质 性质1 在二叉树的第k 层上,最多有2k –1个结点(k ≥1)。 性质2 深度为k 的二叉树最多有2k –1个结点(k ≥1)。 性质3 对于任意一棵二叉树T ,如果其度为0(即叶子结点或称终端结点)的结点数为n0,度为2的结点数为n2,则有:n0 = n2+1即在二叉树中,度为0的结点总是比度为2的结点多一个。 有关图结构的重要术语 (1)完全图:不考虑顶点到其自身的边或弧,若图中每对顶点之间都恰连有一条边,我们把它称作完全图。对于一个具有n 个顶点的无向完全图来说,其边的数目为n (n-1)/ 2;而对于一个具有n 个顶点的有向完全图来说,其弧的数目为n (n-1)。 (2)邻接点:对于无向图,如果边(vi ,vj )∈E ,则称顶点vi 和vj 互为邻接点,即vi 是vj 的邻接点, vj 也是vi 的邻接点,边(vi ,vj )依附于顶点vi 和vj ;对于有向图,如果弧< vi ,vj >∈E ,则称vi 邻接到vj ,vj 邻接自vi ,vj 是vi 的邻接点。 3)顶点的度:常用D(v)表示,在无向图中,顶点的度就是以该顶点为一个端点的边的条数。 在有向图中:以某顶点为弧头的弧的数目,称为此顶点的入度,常用ID(V)表示:以某顶点为弧尾的弧的数目.称为此顶点的出度,常用OD(V)表示。有向图顶点的度是此顶点的人度与出度之和,即D(v) = ID(V) + OD(V) 。 ∑==n i i V D e 1 ) (21 传统方法 面向对象方法 数据结构+算法+程序设计 以对象为中心组织数据与操作 数 据 对象的属性 操 作 对象的服务 类型与变量 类与对象实例 函数(过程)调用 消息传送 类型与子类型 基类与派生类、继承 构造类型 整体-部分结构 指 针 关 联

计算机软件基础实验报告(C语言)

计算机软件基础实验报告 一.实验目的 1.熟悉C语言的使用,编辑算法实现特定要求。 2.熟悉Huffman树的编码程序和数组元素的比较程序等。 二.实验内容和要求 1.实验内容 1)试设计一算法,从包括n个元素的数组中,求最大和最小元素,并使得当n 个元素为有序排列时,元素之间的比较次数仅为n-1次。 2)在给出的Huffman编码源程序基础上,要求画出Huffman树,求出与等长编码相比时的压缩比。 2.实验要求 1)根据实验内容编写算法,并用 C 语言进行程序设计。 2)将所编程序在计算机上调试通过,并全面测试。 3)整理完成实验报告,包括:姓名、学号、实验日期等。 三.程序清单 1. #include int main() { int n,max,min; cout<<"请输入数组大小"<>n; int *a=new int [n]; //输入数组 for(int i=0;i>a[i]; }

//比较排序 for(int k=0;ka[j]) { int temp=0; temp=a[k]; a[k]=a[j]; a[j]=temp; } } //为最大值和最小值赋值 max=a[n-1]; min=a[0]; //输出结果 cout<<"排序后的序列"<

相关主题
相关文档
最新文档