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

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

《软件开发技术基础》

实验报告

学院:电子信息工程学院__

班级:电子131502____

学号:

姓名:

实验五 Windows操作系统并发多线程的应用(2学时)

班级电子131502 学号 201315020232 姓名许鹏

第 15 周星期五第3 、4节成绩 ______

实验类型:验证性

实验要求:必修

实验学时: 2学时

一、实验目的:

加深对Windows线程概念及线程同步管理各部门内容的理解;熟悉Windows线程管理API的使用。

二、实验要求:

1、通过上网查阅资料,了解Windows线程同步函数,写出常用的API函

数的定义;

2、阅读案例程序,给出程序的详细注解;

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

4、改写程序实现要求见(四)。

三、实验内容:

以下程序实现多线程同步,其关系如下:父亲、儿子、女儿三人和一个盘子,当盘子空时,父亲往盘中随机放苹果或香蕉,儿子只从盘中拿

桔子,女儿只从盘中拿苹果。

四、要求:

1)改写程序,要求为:母亲往盘中随机放苹果或桔子,儿子只从盘中拿苹果,女儿只从盘中拿桔子

2)写出完整的程序并能调试通过即可

五、实验原理:

调用Win32 API中的CreateThread函数创建线程。CreateThread(NULL,0,&TEventWindow::ThreadFunc,this,0,&hThread Id);第一个参数设定线程的安全属性,因其仅用于Windows NT,故不设定。第二个参数为0指定线程使用缺省的堆栈大小。第三个参数指定线程函数,线程即从该函数的入口处开始运行,函数返回时就意味着线程终止运行。第四个参数为线程函数的参数,可以是指向任意数据类型的指针。第五个参数设定线程的生成标志。hThreadId存放线程的标识号。线程函数如下定义,上述的this参数是指向线程所属窗口的句柄指针,通过thrdWin参数传送过来,利用这个指针再调用相应的LoopFunc函数,线程的具体事务都在这个函数中执行。WaitForSingleObject(hThread, 2000) windows里面的线程同步的api 就是

让你这个线程或者说程序停在那里,等别的程序通知你或者说发一个信号量等,然后这个程序在继续运行下去。CloseHandle函数为关闭一个内核对象。其中包括文件、文件映射、进程、线程、安全和同步对象等。在CreateThread成功之后会返回一个hThread的handle,且内核对象的计数加1,CloseHandle之后,引用计数减1,当变为0时,系统删除内核对象。ReleaseSemaphore函数用于对指定的信号量增加指定的值;sleep函数可计算执行挂起的时间;rand函数在产生随机数srand(time(NULL)),可以为rand函数提供不同的种子值,进而产生不同的随机数序列。

六、程序代码:

(1)苹果香蕉问题:

#include

using namespace std;

#include

#include

int k;

HANDLE Apple_;CRITICAL_SECTION mmutex;

HANDLE Banana_;

DWORD WINAPI Son(LPVOID n)

{//HANDLE Apple_;CRITICAL_SECTION mmutex;

int i=1;

//::OpenSemaphore(MUTEX_ALL_ACCESS,false,"Apple_");

while(1)

{::WaitForSingleObject(Apple_,INFINITE);//等苹果

cout<<"Son eats"<

LeaveCriticalSection(&mmutex);

i++;

}

::CloseHandle(Apple_);

return 0;

}

DWORD WINAPI Daughter(LPVOID n)

{

int i=1;//HANDLE Banana_;CRITICAL_SECTION mmutex;

//OpenSemaphore(MUTEX_ALL_ACCESS,false,"Banana_");

while(1)

{

::WaitForSingleObject(Banana_,INFINITE);//等香蕉

cout<<"Daughter eats"<

LeaveCriticalSection(&mmutex);

i++;

}

::CloseHandle(Banana_);

return 0;

}

DWORD WINAPI Father(LPVOID n)

{UINT fruit;//CRITICAL_SECTION mmutex; EnterCriticalSection(&mmutex);

srand(GetTickCount());

fruit=rand()%2;

if(fruit==0)

{//盘中放入苹果

cout<

k=k+1;

::ReleaseSemaphore(Apple_,1,NULL);

}

else

{//盘中放香蕉

cout<

k=k+1;

::ReleaseSemaphore(Banana_,1,NULL);

}

return 0;

}

int main()

{

int j;

k=0;

HANDLE Father_[20];

Apple_=::CreateSemaphore(NULL,0,1,"apple");

Banana_=::CreateSemaphore(NULL,0,1,"banana");

InitializeCriticalSection(&mmutex);

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

{

Father_[j]=::CreateThread(NULL,0,Father,NULL,0,0);

}

::CreateThread(NULL,0,Son,NULL,0,0);

::CreateThread(NULL,0,Daughter,NULL,0,0);

Sleep(1000);

WaitForMultipleObjects(20,Father_,TRUE,INFINITE);

return 0;

}

(2)苹果桔子问题:

#include

using namespace std;

#include

#include

int k;

HANDLE Apple_;HANDLE Orange_;

CRITICAL_SECTION mmutex;

DWORD WINAPI Son(LPVOID n)

{//HANDLE Orange_;CRITICAL_SECTION mmutex;

int i = 1;

OpenSemaphore(MUTEX_ALL_ACCESS,false,"Orange_"); while (1)

{

::WaitForSingleObject(Orange_,INFINITE);//等桔子

cout<<"Son eats "<

i++;

}

::CloseHandle(Apple_);

return 0;

}

DWORD WINAPI Daughter(LPVOID n)

{

int i = 1;//HANDLE Apple_;CRITICAL_SECTION mmutex; OpenSemaphore(MUTEX_ALL_ACCESS,false,"Apple_"); while (1)

{

::WaitForSingleObject(Apple_,INFINITE);//等苹果

cout<<"Daughter eats "<

i++;

}

::CloseHandle(Apple_);

return 0;

}

DWORD WINAPI Mather(LPVOID n)

{

UINT fruit;//CRITICAL_SECTION mmutex; EnterCriticalSection(&mmutex);

srand(GetTickCount());

fruit = rand()%2;

if (fruit == 0)

{

//盘中放入苹果

cout<

k=k+1;

::ReleaseSemaphore(Apple_,1,NULL);

}

else {//盘中放入桔子

cout<

::ReleaseSemaphore(Orange_,1,NULL);

}

return 0;

}

int main()

{

int j;

k=0;

HANDLE Mather_[20];

Apple_ = ::CreateSemaphore(NULL,0,1,"apple"); Orange_ =::CreateSemaphore(NULL,0,1,"orange"); InitializeCriticalSection(&mmutex);

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

{

Mather_[j]=::CreateThread(NULL,0,Mather,NULL,0,0); }

::CreateThread(NULL,0,Son,NULL,0,0);

::CreateThread(NULL,0,Daughter,NULL,0,0);

Sleep(1000);

WaitForMultipleObjects(20,Mather_,TRUE,INFINITE); return 0;

}

七、实验结果

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

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

全国高等教育自学考试计算机软件基础试题历年试卷

全国高等教育自学考试计算机软件基础试题历 年试卷 文件管理序列号:[K8UY-K9IO69-O6M243-OL889-F88688]

全国2002年4月高等教育自学考试 计算机软件基础(一)试题 课程代码:02243 一、单项选择题(本大题共40小题,每小题1分,共40分)在每小题列出 的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。 1.面向算法的计算机语言是( ) A.可视化语言 B.高级语言 C.汇编语言 D.机器语言 2.以下运算符使用错误的是( ) A.--k B.(a+b)-- C.++j D.i++ 3.关于C 语言程序的正确叙述是( ) A.main()所在行的末尾必须要有分号(;) B.主函数的函数体不一定用花括号({})括起来 C.一个完整的C 程序可以没有任何函数 D.C 语言程序的简单语句必须用分号(;)作为语句的结束符 4.已知:int i=5,a;当a=i++;语句执行后,变量i 和a 的值分别是( ) A.5 5 B.5 6 C.6 5 D.6 6 5.用C 语言表示算式d c b a ??,错误的表达式是( ) A.a/(c*d)*b B.a*b/c/d C.a*b/c*d D.a*b/(c*d) 6.下列程序的运行结果是 #include

main() {int x=10,y=3; printf("%d\n",y=x/y); } A.0 B.1 C.3 D.3.3 7.下列程序的运行结果是( ) # include main() { int x=023; printf("%d\n",--x); } A.18 B.19 C.22 D.23 8.C语言中,关于scanf()函数正确的叙述是( ) A.利用scanf()函数可以给变量提供数据 B.scanf()函数具有计算功能 C.scanf()函数就是输入语句 D.scanf()函数只能用在主函数中 9.C语言中,已知a的ASCII码为97,A的ASCII码为65。又已知,int,c;char i;scanf("%c,%d",&c,&i);语句执行后,若要使c的值为101,i的值为D,正确的数据输入为(注:↙为回车符号) A.101,68↙ B.101,D↙ C.e,68↙ D.e,D↙ 10.已知:int x=100,y;

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

数据结构习题答案 第一节概论 一、选择题 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();

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

《计算机软件技术基础》试题 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 ); //对哈夫曼树

计算机软件基础考试题B卷

系 班 级 姓 名 学 号 密 封 线 计算机软件基础期末考试题 《计算机软件基础》试题B 卷 一、选择题(每空2分,共30分) 1、s=0; for(i=10 ; i>0 ; i-- ) s+=i ; 则s 的值为( ) A 、15 B 、45 C 、55 D 、65 2、s=1;for(n=1;n<6;n++) s=s*n ;循环结束后s 的值为( ) A 、 120 B 、 720 C 、 24 D 、12 3、int a[4]={55,44,33,22};则a[3]的值为( ) A 、44 B 、55 C 、33 D 、22 4、已知:int a=3,b=4,c=5;下列表达式结果是假的是( ) A 、a && b || 0 B 、!c || b C 、 b && a D 、!a && b 5、已知:int a=12, b=35 , min; min=a7) a=b ;b=c ;c=a ; printf("a=%d b=%d c=%d\n ",a, b, c); } A 、a=7 b=8 c=7 B 、a=7 b=9 c=7 C 、a=8 b=9 c=7 D 、a=8 b=9 c=8 12、在表文件的第3条记录前面插入一条新的记录,不正确的是( ) A 、 go 3 B 、 go 2 insert before insert C 、3 D 、3 insert before insert 13、在FOXPRO 中,不能对库文件进行查询的命令为() A 、loca B 、 find C 、 seek D 、 count 14、foxpro 中,计算所有学生的平均分正确的( ) A 、 replace 平均分 with (语文+数学)/2 B 、 replace all 平均分 with (语文+数学)/2 C 、 replace 平均分 with 语文/2,数学/2 D 、 replace 平均分 to 语文+数学 all 15、下列( )不能对表记录进行修改的命令 A 、browse B 、edit C 、replace D 、sort 一、 填空题:(每题1分,共15分) 1、在C 语言中, 0&&2的值为( ),3 | | 0的值为( ), !0的值为( ) 2、len (“FoxPro ”)的值为( ) 3、C 语言的程序结构可分为( )、( )和( )。 4、int i=5 , k ; k=i++ ; k 的值为( ) 5、在C 语言中,整型的关键字( ),双精度型的关键字为( ),长整型的关键字为( )。 6、C 程序是由( )组成的,语句要以( )结束。

计算机软件技术基础作业

第二章数据结构概述 一、选择题 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)掌握分支程序的测试与调试方法。 二、实际设备及器材

计算机应用基础-作业5

单选题 1(6分)、 怎样才能弹出“动画效果工具栏”() A、视图——工具栏——动画效果 B、工具——自定义 C、幻灯片放映——自定义动画 D、视图——工具栏——控制工具箱 参考答案:A 2(6分)、 如果要给一张幻灯片加上某种动画效果,则应该在哪里操作() A、幻灯片预览中的“幻灯片切换效果”列表 B、幻灯片预览中的“预设动画”列表 C、幻灯片预览中的“动画预览” D、幻灯片预览中的“常规任务” 参考答案:A 3(6分)、 PowerPoint中,插入图片操作中,插入的图片必须满足一定的格式,下列选项中,不属于图片格式的后缀是() A、bmp B、wmf C、jpg D、mps 参考答案:D 4(6分)、 “在每张幻灯片都包含的对象”,用内容提示向导来创建PowerPoint演示文稿时, 关于页脚对话框中内容的说法,正确的是() A、必须要填写页脚 B、一定不能填写页脚 C、可以填也可以不填 D、根本没有这个窗口 参考答案:C 5(6分)、 PowerPoint中,插入图片操作过程中,如果指定的插入图片的路径不对,会出现什么后果() A、PowerPoint 程序将被关闭 B、windows出现蓝屏现象并死机 C、无法插入指定文件 D、以上说法都不正确 参考答案:C

6(6分)、 如果要建立一个指向某一个程序的动作按钮,应该使用“动作设置”对话框中的哪一个命令() A、无动作 B、运行对象 C、运行程序 D、超级链接到 参考答案:C 7(6分)、 PowerPoint中,创建表格时,要从菜单栏中的哪一个菜单进入() A、视图 B、插入 C、格式 D、工具 参考答案:B 8(6分)、 下面关于在指定的幻灯片上自定义动画的操作正确的是() A、打开该幻灯片,在“幻灯片放映”菜单中点击“自定义动画”,并在随即出现的对话框中设定参数,最后按“确定” B、在“幻灯片放映”菜单中点击“自定义动画”,并在随即出现的对话框中设定参数,最后按“确定” C、打开该幻灯片,在“幻灯片放映”菜单中点击“自定义动画”,然后按“确定” D、以上说法均不对 参考答案:A 9(6分)、 下列关于PowerPoint窗口中布局情况,符合一般情况的是() A、菜单栏在工具栏的下方 B、状态栏在最上方 C、幻灯片区在大纲区的左边 D、标题栏在窗口的最上方 参考答案:D 10(6分)、 PowerPoint中,选择幻灯片中的文本时,文本区控制点是指() A、文本框的控制点 B、文本的起始位置 C、文本的结束位置 D、文本的起始位置和结束位置 参考答案:A

《计算机软件技术基础(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、计算机软件的定义:计算机程序、实现此程序功能所采用的方法、规则以及与其相关联的文档和在机器上运行它所需要的数据。 2、计算机系统是由硬件和软件组成的统一整体。 3、计算机硬件:CPU、存储器、输入和输出设备 4、如果一台计算机没有装入任何软件,我们称之为裸机,其只认识0和1 5、为了研究生产软件的方法和工具,用一定规范的书面文件作为共同遵循的依据,称为文档。软件的含义是文档加程序。 6、用汇编语句组成的汇编语句序列就是汇编语言源程序,亦称为汇编语言源程序。 7、汇编的过程:汇编语言程序(源程序)→汇编程序(翻译)→机器语言程序(目标程序) 8、高级语言是按照一定的语法规则,由表达各种意义的词和数学公式组成。 9、汇编语言依赖于机器,被称为面向机器的语言。 10、用高级语言编制出来的程序也称为源程序,而计算机所理解并能执行的只能是用于二进制数据组成的机器语言。 11、把高级语言源程序翻译成机器语言目标程序的程序称为语言处理程序。语言处理程序分为解释程序和编译程序 12、操作系统是基本的系统软件。 13、多道程序系统和分时系统的出现标志操作系统的完善和成熟。 14、计算机的操作经过了:手工操作阶段(用于科学计算)、成批处理系统阶段、执行系统阶段、多道程序系统和分时系统阶段。后两项是操作系统成熟的标志。 15、早期的计算机存储容量小、运算速度慢,主要用于科学计算。 16、通道是独立于CPU的专用处理机。用来管理输入输出工作。 17、中断:当接到外围设备或通道发出的中断要求时,主机暂时停止当前的工作,而转去处理外设提出的要求。 18、操作系统是控制和管理计算机硬件软件资源、合理地组织计算机工作流程以及方便用户的程序的集合。 19、计算机软件可分为系统软件和应用软件两大类。 20、属于软件的由操作系统和编译程序,最主要的是操作系统 21、应用软件三大领域:1、事务处理软件(计费软件)2、工程和科学计算软件(cad)3、实时应用软件(用于监督与控制)。 22、人工智能软件:是利用非数值计算的方法,通过“推理”为复杂的问题寻求答案,而不是用数值计算的方法来直接分析求解。(专家系统、模式识别、神经网络) 第二章 1、数据:是描述客观事物的数、字符以及所有能输入到计算机中并被计算机程序处理的符号集合。 2、数据的基本单位是数据元素。数据元素也称为结点或记录。 3、在数据结构中,把构成数据元素的这些项目称为数据项,有时也称为域。 4、数据结构是相互之间存在一种或多种特定关系的数据元素的集合。描述数据元素之间存在的相互关系的方法称为结构。从逻辑上抽象反映数据元素间结构关系称为数据的逻辑结构。 5、数据的逻辑结构在计算机存储设备中具体实现(映像)被称为数据的存储结构。最主要的存储方式是顺序存储结构和链式存储结构。 6、顺序存储结构是把逻辑上相邻的数据元素存储在物理上相邻的存储单元中。 7、线性表的逻辑结构是数据数据元素的有限序列。线性表的元素的总个数定义为表的长度。N为0定义为空表。元素ai-1是ai的直接前趋,ai+1是ai的直接后继。

相关文档
最新文档