搜档网
当前位置:搜档网 › 计算机算法设计与分析实验指导书

计算机算法设计与分析实验指导书

计算机算法设计与分析实验指导书
计算机算法设计与分析实验指导书

计算机算法设计与分析实验指导书

本书是为配合《算法分析与设计实验教学大纲》而编写的上机指导,其目的是使学生消化理论知识,加深对讲授内容的理解,尤其是一些算法的实现及其应用,培养学生独立编程和调试程序的能力,使学生对算法的分析与设计有更深刻的认识。

上机实验一般应包括以下几个步骤:

(1)准备好上机所需的程序。手编程序应书写整齐,并经人工检查无误后才能上机。

(2)上机输入和调试自己所编的程序。一人一组,独立上机调试,上机时出现的问题,最好独立解决。

(3)上机结束后,整理出实验报告。实验报告应包括:题目、程序清单、运行结果、对运行情况所作的分析。

本书共分阶段6个实验,其具体要求和步骤如下:

实验一分治算法(2学时)

一、实验目的与要求

1、熟悉二分搜索算法;

2、初步掌握分治算法;

二、实验题

设a[0:n-1]是一个已排好序的数组。请改写二分搜索算法,使得当搜索元素x不在数组中时,返回小于x的最大元素的位置i和大于x的最小元素位置j。当搜索元素在数组中时,i和j相同,均为x在数组中的位置。

三、实验提示

用i,j做参数,且采用传递引用或指针的形式带回值。

bool BinarySearch(int a[],int n,int x,int& i,int& j)

{

int left=0;

int right=n-1;

while(left

{

int mid=(left+right)/2;

if(x==a[mid])

{

i=j=mid;

return true;

}

if(x>a[mid])

left=mid+1;

else

right=mid-1;

}

i=right;

j=left;

return false;

}

实验二动态规划算法(2学时)

一、实验目的与要求

1、熟悉最长公共子序列问题的算法;

2、初步掌握动态规划算法;

二、实验题

若给定序列X={x1,x2,…,xm},则另一序列Z={z1,z2,…,zk},是X的子序列是指存在

一个严格递增下标序列{i1,i2,…,ik}使得对于所有j=1,2,…,k有:zj=xij。例如,序列Z={B,C,D,B}是序列X={A,B,C,B,D,A,B}的子序列,相应的递增下标序列为{2,3,5,7}。

给定2个序列X和Y,当另一序列Z既是X的子序列又是Y的子序列时,称Z是序列X 和Y的公共子序列。

给定2个序列X={x1,x2,…,xm}和Y={y1,y2,…,yn},找出X和Y的最长公共子序列。

三、实验提示

#include "stdlib.h"

#include "string.h"

void LCSLength(char *x ,char *y,int m,int n, int **c, int **b)

{

int i ,j;

for (i = 1; i <= m; i++) c[i][0] = 0;

for (i = 1; i <= n; i++) c[0][i] = 0;

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

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

{

if (x[i]==y[j])

{

c[i][j]=c[i-1][j-1]+1;

b[i][j]=1;

}

else if (c[i-1][j]>=c[i][j-1])

{

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

b[i][j]=2;

}

else

{ c[i][j]=c[i][j-1];

b[i][j]=3;

}

}

}

void LCS(int i ,int j, char *x ,int **b)

{

if (i ==0 || j==0) return;

if (b[i][j]== 1)

{

LCS(i-1,j-1,x,b);

printf("%c",x[i]);

}

else if (b[i][j]== 2)

LCS(i-1,j,x,b);

else LCS(i,j-1,x,b);

}

实验三贪心算法(2学时)

一、实验目的与要求

1、熟悉最优装载问题的算法;

2、初步掌握贪心算法;

二、实验题

给出n个物体, 第i个物体重量为w i。选择尽量多的物体, 使得总重量不超过C。。

三、实验提示

1、由于目标是物体的“数量”尽量多,所以装重的没有装轻的划算。只需把所有物体按重量从小到大排序;

2、依次选择每个物体,直到装不下为止。

3、实际上就是一种贪心法,因为每次都是选择能装下的最轻的物体,是一种“只顾眼前”的策略,这样的策略却能保证得到最优解。

完整的程序如下:

#include

#define N 100

int x[N],w[N],t[N];

void Sort(int w[],int t[],int n)

{

//将重量数组w从小到大排序,数组t[i]表示数组w第i小的元素在数组w中的下标int i,j,temp,k,w1[N];

for(i=1;i<=n;i++) //设辅助数组w1的作用是用于排序,原数组w元素不移动 w1[i]=w[i];

for(i=1;i<=n;i++) //初始化数组t,记下原重量数组w中每个元素的位置 t[i]=i;

for(i=1;i

k=i;

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

if(w1[k]>w1[j]) k=j;

if(k!=j)

{ //将数组w中的元素进行交换,同时数组t中元素也交换 //排序完成后,t[i]应为重量第i小的物体在原重量数组w所处的位置(下标) temp=t[i];

t[i]=t[k];

t[k]=temp;

temp=w1[i];

w1[i]=w[k];

w1[k]=temp;

}

}

}

void Loading(int x[],int w[], int c,int n)

{

int i;

Sort(w,t,n); //对数组w进行排序,数组t记下数组w中元素的大小关系

for(i=1;i<=n;i++) x[i]=0; //初始化数组x

for(i=1;i<=n && w[t[i]]<=c;i++)

{ //贪心选择

//数组x表示是否选择物体的状态,x[t[i]]=1表示选择重量第i小的物体x[t[i]]=1;

}

}

int main()

{

int i,n,c;

int max=0;

while(scanf("%d%d",&n,&c)!=EOF) //输入物体数n,总重量c

{

for(i=1;i<=n;i++) //输入重量数组w的元素

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

Loading(x,w,c,n);

printf("选择的物体为:\n");

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

{

//当x[i]=1选择数组w中第i个物体的w[i](重量);当x[i]=0不选择printf("%3d",x[i]);

max+=w[i]*x[i]; //计算最大总重量max

}

printf("\n");

printf("选择物体的最大总重量为:%d\n",max);

}

}

运行结果:

输入

20 200

125 89 142 65 298 100 150 86 88 42 55 16 129 238 45 110 217 168 180 80

输出结果

选择的物体为:

1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 0 1 1 1

选择物体的最大总重量为:1887

说明:上面输出的一串0和1数字是数组x中的值,为1表示选择重量数组w对应位置的物体,否则不选择。

实验四回溯算法(2学时)

一、实验目的与要求

1、掌握0—1背包问题的回溯算法;

2、进一步掌握回溯算法;

二、实验题:

给定n种物品和一背包。物品i的重量是wi,其价值为vi,背包的容量为C。问应如何选择装入背包的物品,使得装入背包中物品的总价值最大?

三、实验提示

template

Typep Knap::Bound(int i)

{// 计算上界

Typew cleft = c - cw; // 剩余容量

Typep b = cp;

// 以物品单位重量价值递减序装入物品

while (i <= n && w[i] <= cleft) {

b += p[i];

i++;

}

// 装满背包

if (i <= n) b += p[i]/w[i] * cleft;

return b;

}

实验五分支限界法(2学时)

一、实验目的与要求

1、掌握旅行商售货员问题的分支限界算法;

2、区分分支限界算法与回溯算法的区别,加深对分支限界法的理解。

二、实验题目

某售货员要到若干城市去推销商品,已知各城市之间的路程(或旅费)。他要选定一条从驻地出发,经过每个城市一次,最后回到驻地的路线,使总的路程(或总旅费)最小。

三、实验提示

旅行商问题的解空间是一个排列树。有两种实现的方法。第一种是只使用一个优先队列,队列中的每个元素中都包含到达根的路径。另一种是保留一个部分解空间树和一个优先队列,优先队列中的元素并不包含到达根的路径。以下为第一种方法。

由于我们要寻找的是最小耗费的旅行路径,因此可以使用最小耗费分枝定界法。在实现过程中,使用一个最小优先队列来记录活节点,队列中每个节点的类型为MinHeapNode。每个节点包括如下区域: x(从1到n的整数排列,其中x[0] = 1 ),s(一个整数,使得从排列树的根节点到当前节点的路径定义了旅行路径的前缀x[0:s], 而剩余待访问的节点是x [s + 1 : n - 1 ]),cc(旅行路径前缀,即解空间树中从根节点到当前节点的耗费),lcost (该节点子树中任意叶节点中的最小耗费), rcost(从顶点x[s : n - 1]出发的所有边的最小耗费之和)。当类型为MinHeapNode( T )的数据被转换成为类型T时,其结果即为lcost 的值。分枝定界算法的代码见程序

程序首先生成一个容量为100的最小堆,用来表示活节点的最小优先队列。活节点按lcost值从最小堆中取出。接下来,计算有向图中从每个顶点出发的边中耗费最小的边所具有的耗费MinOut。如果某些顶点没有出边,则有向图中没有旅行路径,搜索终止。如果所有的顶点都有出边,则可以启动最小耗费分枝定界搜索。根的孩子B作为第一个E-节点,在此节点上,所生成的旅行路径前缀只有一个顶点1,因此s=0, x[0]=1, x[1:n-1]是剩余的顶点(即顶点2 , 3 ,., n )。旅行路径前缀1的开销为0 ,即cc = 0 ,并且,rcost=n && i=1时MinOut 。

在程序中,bestc 给出了当前能找到的最少的耗费值。初始时,由于没有找到任何旅行路径,因此bestc的值被设为NoEdge。

旅行商问题的最小耗费分枝定界算法

template T AdjacencyWDigraph::BBTSP(int v[]) {

// 旅行商问题的最小耗费分枝定界算法

// 定义一个最多可容纳1000个活节点的最小堆

MinHeap > H(1000);

T *MinOut = new T [n+1];

// 计算MinOut = 离开顶点i的最小耗费边的耗费

T MinSum = 0; // 离开顶点i的最小耗费边的数目

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

T Min = NoEdge;

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

if (a[j] != NoEdge && (a[j] < Min || Min == NoEdge))

Min = a[j];

if (Min == NoEdge) return NoEdge; // 此路不通

MinOut = Min;

MinSum += Min;

}

// 把E-节点初始化为树根

MinHeapNode E;

E.x = new int [n];

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

E.x = i + 1;

E.s = 0; // 局部旅行路径为x [ 1 : 0 ]

https://www.sodocs.net/doc/7a8173324.html, = 0; // 其耗费为0

E.rcost = MinSum;

T bestc = NoEdge; // 目前没有找到旅行路径

// 搜索排列树

while (E.s < n - 1) {// 不是叶子

if (E.s == n - 2) {// 叶子的父节点

// 通过添加两条边来完成旅行

// 检查新的旅行路径是不是更好

if (a[E.x[n-2]][E.x[n-1]] != NoEdge && a[E.x[n-1]][1] != NoEdge && (https://www.sodocs.net/doc/7a8173324.html, + a[E.x[n-2]][E.x[n-1]] + a[E.x[n-1]][1] < bestc || bestc == NoEdge)) {

// 找到更优的旅行路径

bestc = https://www.sodocs.net/doc/7a8173324.html, + a[E.x[n-2]][E.x[n-1]] + a[E.x[n-1]][1];

https://www.sodocs.net/doc/7a8173324.html, = bestc;

E.lcost = bestc;

E . s + + ;

H . I n s e r t ( E ) ; }

else delete [] E.x;}

else {// 产生孩子

for (int i = E.s + 1; i < n; i++)

if (a[E.x[E.s]][E.x] != NoEdge)

{

// 可行的孩子, 限定了路径的耗费

T cc = https://www.sodocs.net/doc/7a8173324.html, + a[E.x[E.s]][E.x];

T rcost = E.rcost - MinOut[E.x[E.s]];

T b = cc + rcost; //下限

if (b < bestc || bestc == NoEdge) {

// 子树可能有更好的叶子

// 把根保存到最大堆中

MinHeapNode N;

N.x = new int [n];

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

N.x[j] = E.x[j];

N.x[E.s+1] = E.x;

N.x = E.x[E.s+1];

https://www.sodocs.net/doc/7a8173324.html, = cc;

N.s = E.s + 1;

N.lcost = b;

N.rcost = rcost;

H . I n s e r t ( N ) ; }

} // 结束可行的孩子

delete [] E.x;} // 对本节点的处理结束

try {H.DeleteMin(E);} // 取下一个E-节点

catch (OutOfBounds) {break;} // 没有未处理的节点

}

if (bestc == NoEdge) return NoEdge; // 没有旅行路径

// 将最优路径复制到v[1:n] 中

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

v[i+1] = E.x;

while (true) {//释放最小堆中的所有节点

delete [] E.x;

try {H.DeleteMin(E);}

catch (OutOfBounds) {break;}

}

return bestc;

}

实验六概率算法(2学时)

一、实验目的与要求

1、掌握线性同余法产生随机数的方法;

2、了解计算机中的随机数是如何产生的,以及为什么将随机数称为伪随机数。

3、调整关键参数,使得随机数序列的“随机”性能较好;

4、对于随机数发生器中关键参数的调整,写出调整过程和测试报告。

二、实验题目

设计一个随机数发生器,可以产生分布在任意整数区间[a,b]的随机数序列。

三、实验提示

下面建立一个随机数类RandomNumber,该类包含一个由用户初始化的种子randSeed。给定种子之后,既可产生与之相应的随机数序列。randSeed是一个无符号长整型数,既可由用户指定也可由系统时间自动产生。

随机数算法如下:

//随机数类

const unsigned long maxshort=65536L;

const unsigned long multipiler=1194211693L;

const unsigned long adder=12345L;

class RandomNumber

{

private:

//当前种子

unsigned long randSeed;

public:

//构造函数,默认值0表示由系统自动产生种子

RandomNumber(unsigned long s=0);

//产生0:n-1之间的随机整数

unsigned short Random(unsigned long n);

//产生[0,1)之间的随机实数

double fRandom(void);

};

//产生种子

RandomNumber::RandomNumber(unsigned long s)

{

if(s==0) randSeed=time(0); //用系统时间产生种子 else randSeed=s; //由用户提供种子

}

//产生0:n-1之间的随机整数

unsigned short RandomNumber::Random(unsigned long n) {

randSeed=multiplier*randSeed+adder;

return(unsigned short)((randSeed>>16)%n);

}

//产生[0,1)之间的随机实数

double RandomNumber::fRandom(void)

{

return Random(maxshort)/double (maxshort);

}

模拟抛硬币得到的正面事件的程序如下。

int TossCoins(int numberCoins) //随机抛硬币

{

static RandomNumber coinToss;

int i,tosses=0;

for(i=0;i

tosses+=coinToss.Random(2); //Random(2)=1表示正面 return tosses;

}

//测试程序

void main(void)

{ //模拟抛硬币事件

const int NCOINS=10;

const long NTOSSES=50000L;

//head[i]是得到i次正面的次数

long i,heads[NCOINS+1];

int j,position;

for(j=0;j

heads[j]=0;

for(i=0;i

heads[TossCoins(NCOINS)]++;

for(i=0;i<=NCOINS;i++) //输出频率图

{

position=int(float(heads[i])/NTOSSES*72);

cout<

for(j=0;j

cout<<"";

cout<<"*"<

}

}

《控制系统计算机仿真》实验指导书

实验一 Matlab使用方法和程序设计 一、实验目的 1、掌握Matlab软件使用的基本方法; 2、熟悉Matlab的数据表示、基本运算和程序控制语句 3、熟悉Matlab绘图命令及基本绘图控制 4、熟悉Matlab程序设计的基本方法 二、实验内容 1、帮助命令 使用help命令,查找sqrt(开方)函数的使用方法; 2、矩阵运算 (1)矩阵的乘法 已知A=[1 2;3 4]; B=[5 5;7 8]; 求A^2*B (2)矩阵除法 已知A=[1 2 3;4 5 6;7 8 9]; B=[1 0 0;0 2 0;0 0 3]; A\B,A/B (3)矩阵的转置及共轭转置 已知A=[5+i,2-i,1;6*i,4,9-i]; 求A.', A' (4)使用冒号选出指定元素 已知:A=[1 2 3;4 5 6;7 8 9]; 求A中第3列前2个元素;A中所有列第2,3行的元素; (5)方括号[] 用magic函数生成一个4阶魔术矩阵,删除该矩阵的第四列 3、多项式 (1)求多项式p(x) = x3 - 2x - 4的根 (2)已知A=[1.2 3 5 0.9;5 1.7 5 6;3 9 0 1;1 2 3 4] , 求矩阵A的特征多项式; 求特征多项式中未知数为20时的值; 4、基本绘图命令 (1)绘制余弦曲线y=cos(t),t∈[0,2π] (2)在同一坐标系中绘制余弦曲线y=cos(t-0.25)和正弦曲线y=sin(t-0.5),t∈[0,2π] 5、基本绘图控制 绘制[0,4π]区间上的x1=10sint曲线,并要求: (1)线形为点划线、颜色为红色、数据点标记为加号; (2)坐标轴控制:显示范围、刻度线、比例、网络线 (3)标注控制:坐标轴名称、标题、相应文本; 6、基本程序设计 (1)编写命令文件:计算1+2+?+n<2000时的最大n值; (2)编写函数文件:分别用for和while循环结构编写程序,求2的0到n次幂的和。 三、预习要求 利用所学知识,编写实验内容中2到6的相应程序,并写在预习报告上。

《计算机基础实践》实验指导书-2

《计算机科学导论》实验指导书 欧阳一鸣王浩编 合肥工业大学计算机与信息学院

《计算机科学导论》实验 《计算机科学导论》实验课侧重培养学生的基本应用能力,要求学生通过上机实验,能够熟练掌握计算机的基本操作技能。该实验指导书共安排五个实验,内容包括:Windows的基本操作、使用Word进行文字处理、利用Excel进行表格编排等等。要求学生做完实验后,写出实验报告,实验报告上需要写明的项目包括:实验名称、实验目的、实验设备、实验题目、实验步骤、实验结果。 实验一 Windows 基本操作 1.实验目的和要求 (1)掌握Windows 的启动和安全退出的方法。 (2)掌握Windows 的窗口、菜单栏、工具栏及任务栏的基本操作。 (3)掌握Windows 常用快捷键的使用方法。 (4)掌握应用程序的多种启动方法以及切换和退出应用程序的方法。 (5)掌握Windows 环境下的汉字输入方法。 (6)掌握Windows 帮助的使用。 (7)实验内容 (8)启动Windows ,打开“我的电脑”窗口,熟悉Windows 窗口组成,然后对窗口 作下列操作: 1)移动窗口。 2)改变窗口的大小、使滚动条出现,然后滚动窗口的内容。 3)最大化、最小化、复原和关闭窗口。 (9)打开“控制面板”窗口,再打开“控制面板”中的“字体”窗口,然后进行下列 操作: 1)通过任务栏和快捷键切换当前的窗口。 2)以不同方式排列已打开的窗口(层叠、横向平铺、纵向平铺)。 3)在“我的电脑”窗口中,单击“查看”菜单下的“大图标”、“小图标”、“列表” “详细资料”命令项,观察窗口中的各项的变化。用工具栏上的“查看”命令 按钮重复做一遍。 (10)通过二种方法查看当前的日期和时间,如果日期和时间不正确,请进行修改。 (11)分别通过以下方法启动“画图”程序(windows-xp下程序文件路径为"

算法设计与分析实验三

实验三分治算法(2) 一、实验目的与要求 1、熟悉合并排序算法(掌握分治算法) 二、实验题 1、问题陈述: 对所给元素存储于数组中和存储于链表中两中情况,写出自然合并排序算法. 2、解题思路: 将待排序元素分成大小大相同的两个集合,分别对两个集合进行排序,最终将排好序的子集合合并成为所要求的排好序的集合.自然排序是通过一次扫描待排元素中自然排好序的子数组,再进行子数组的合并排序. 三、实验步骤 程序代码: #include const int N=100;//定义不可变常量N //各个函数的声明 void ScanTarget(int target[], int n, int head[], int tail[]); int CountHead(int head[]); void MergeSort(int a[], int head[], int tail[], int m); void MergePass(int x[], int y[], int s, int a[], int b[], int m); void Merge(int c[], int d[], int l, int m, int r); //主函数的定义 void main() { char a; do {

int target[N],head[N],tail[N]; int i=0,n,m; for(; i>n; cout<<"请输入需要排序的数列:" <>target[i]; ScanTarget(target,n,head,tail); m=CountHead(head);//调用求长度的函数 MergeSort(target,head,tail,m);//调用归并排序函数 cout<<"排序后:"<>a; } while(a!='n' && a!='N'); } void ScanTarget(int target[], int n, int head[], int tail[])//定义扫描待排数组的函数;{ int i,j=0,k=0; head[k]=0;

算法设计与分析实验报告

本科实验报告 课程名称:算法设计与分析 实验项目:递归与分治算法 实验地点:计算机系实验楼110 专业班级:物联网1601 学号: 05 学生姓名:俞梦真 指导教师:郝晓丽 2018年 05月 04 日 实验一递归与分治算法 实验目的与要求

1.进一步熟悉C/C++语言的集成开发环境; 2.通过本实验加深对递归与分治策略的理解和运用。 实验课时 2学时 实验原理 分治(Divide-and-Conquer)的思想:一个规模为n的复杂问题的求解,可以划分成若干个规模小于n的子问题,再将子问题的解合并成原问题的解。 需要注意的是,分治法使用递归的思想。划分后的每一个子问题与原问题的性质相同,可用相同的求解方法。最后,当子问题规模足够小时,可以直接求解,然后逆求原问题的解。 实验题目 1.上机题目:格雷码构造问题 Gray码是一个长度为2n的序列。序列无相同元素,每个元素都是长度为n的串,相邻元素恰好只有一位不同。试设计一个算法对任意n构造相应的Gray码(分治、减治、变治皆可)。 对于给定的正整数n,格雷码为满足如下条件的一个编码序列。 (1)序列由2n个编码组成,每个编码都是长度为n的二进制位串。 (2)序列中无相同的编码。 (3)序列中位置相邻的两个编码恰有一位不同。 2.设计思想: 根据格雷码的性质,找到他的规律,可发现,1位是0 1。两位是00 01 11 10。三位是000 001 011 010 110 111 101 100。n位是前n-1位的2倍个。N-1个位前面加0,N-2为倒转再前面再加1。 3.代码设计: 归式,就是如何将原问题划分成子问题。 2.递归出口,递归终止的条件,即最小子问题的求解,可以允许多个出口。 3.界函数,问题规模变化的函数,它保证递归的规模向出口条件靠拢(2)递归与非递归之间如何实现程序的转换? (3)分析二分查找和快速排序中使用的分治思想。 答: 1.一般根据是否需要回朔可以把递归分成简单递归和复杂递归,简单递归一般就是根据递归式来找出递推公式(这也就引申出分治思想和动态规划)。 2.复杂递归一般就是模拟系统处理递归的机制,使用栈或队列等数据结构保存回朔点来求解。 (4)分析二次取中法和锦标赛算法中的分治思想。 二次取中法:使用快速排序法中所采用的分划方法,以主元为基准,将一个表划分为左右两个子表,左子表中的元素均小于主元,右子表中的元素均大于主元。主元的选择是将表划分为r

《计算机操作系统》实验指导书

《计算机操作系统》 实验指导书 (适合于计算机科学与技术专业) 湖南工业大学计算机与通信学院 二O一四年十月

前言 计算机操作系统是计算机科学与技术专业的主要专业基础课程,其实践性、应用性很强。实践教学环节是必不可少的一个重要环节。计算机操作系统的实验目的是加深对理论教学内容的理解和掌握,使学生较系统地掌握操作系统的基本原理,加深对操作系统基本方法的理解,加深对课堂知识的理解,为学生综合运用所学知识,在Linux环境下调用一些常用的函数编写功能较简单的程序来实现操作系统的基本方法、并在实践应用方面打下一定基础。要求学生在实验指导教师的帮助下自行完成各个操作环节,并能实现且达到举一反三的目的,完成一个实验解决一类问题。要求学生能够全面、深入理解和熟练掌握所学内容,并能够用其分析、设计和解答类似问题;对此能够较好地理解和掌握,并且能够进行简单分析和判断;能够熟练使用Linux用户界面;掌握操作系统中进程的概念和控制方法;了解进程的并发,进程之间的通信方式,了解虚拟存储管理的基本思想。同时培养学生进行分析问题、解决问题的能力;培养学生完成实验分析、实验方法、实验操作与测试、实验过程的观察、理解和归纳能力。 为了收到良好的实验效果,编写了这本实验指导书。在指导书中,每一个实验均按照该课程实验大纲的要求编写,力求紧扣理论知识点、突出设计方法、明确设计思路,通过多种形式完成实验任务,最终引导学生有目的、有方向地完成实验任务,得出实验结果。任课教师在实验前对实验任务进行一定的分析和讲解,要求学生按照每一个实验的具体要求提前完成准备工作,如:查找资料、设计程序、完成程序、写出预习报告等,做到有准备地上机。进行实验时,指导教师应检查学生的预习情况,并对调试过程给予积极指导。实验完毕后,学生应根据实验数据及结果,完成实验报告,由学习委员统一收齐后交指导教师审阅评定。 实验成绩考核: 实验成绩占计算机操作系统课程总评成绩的20%。指导教师每次实验对学生进行出勤考核,对实验效果作记录,并及时批改实验报告,综合评定每一次的实验成绩,在学期终了以平均成绩作为该生的实验成绩。有以下情形之一者,实验成绩为不及格: 1.迟到、早退、无故缺勤总共3次及以上者; 2.未按时完成实验达3次及以上者; 3.缺交实验报告2次及以上者。

计算机基础实训指导书

<<计算机基础应用>> 实训指导 任 务 书 实习班级:09风能2班 指导老师:高鹏 实习地点:计算机中心机房 教研组审核: 审核时间 实习时间:2009年12 月14日至2009年12 月18 日

实训目的:《计算机应用基础与实训》是非计算机专业的一门公共基础课,旨在培养学生的计算机文化素质和应用计算机的基本能力。通过综合练习教学,使学生加深对所学知识的理解,掌握计算机的基本应用与基本操作技巧。它的目的和任务是:向学生介绍计算机的初步知识、操作系统的功能,字处理、表处理和幻灯片处理软件的基本使用方法和网络知识,使学生掌握使用计算机的基本技能。 实训内容:Windows XP操作系统的使用及基于此平台的应用软件Word 2003 、Excel 2003 、PowerPoint 2003 、IE 6.0等软件的使用;计算机基础知识和网络基本知识的掌握。 实训地点:计算机中心机房 实训时间:2009年12月14日至2009年12月18日 实训班级:09风电(2)班 实验教材和参考书:《计算机应用》、《计算机应用基础与实训教程》 注意事项: 1、每个学生要有安全用电的意识,做到安全用电,不准在机房充电。如发生问题,后果自负。 2、每个学生要爱护公物,如发现公物损坏或丢失,照价赔偿。 3、上机人员必须配合机房内的卫生保洁工作,不准随地吐痰,不乱写乱画,不乱仍纸屑,果皮等杂务,严禁携带零食,饮料,等入内,严禁吸烟。 4、每天按时完成老师布置的作业,每个学生交每天的实验报告,每个学生每人一份。 5、在走廊内不得大声喧哗,与他人打闹。 6、保持机房肃静,不准大声喧哗,不准打闹,不影响他人。 7、严格遵守设备操作规程,不得随便拆卸计算机配件,不得擅自更改设置和私设密码。严禁私自安装、卸载更改计算机程序。 8、上机结束,按要求关闭机器电源并做适当整理,方可离室。 考核办法: 要求学生每天按时完成任务,并及时对当天的实习内容按忧、良、及格、不及格四个等级进行评分,并要求在晚自习写出当天的实验报告,于次日上课前交回。 实训具体任务: 第一天实训任务: windows 基本操作 1.1文件及文件夹操作训练。 1.2 计算器的使用。 1.3数学公式的输入。

《计算机应用基础》课程实训指导书(第三版)

广东轻工职业技术学院 《计算机应用基础》课程实训指导书 (第三版) 计算机基础教研室 2009年3月

《计算机应用基础》课程实训指导书 一、目的 通过为一周的实训,巩固本学期所学习的知识,强化的各种基于工作的过程的各种操作技能,进一步培养学生熟练处理Word文档的综合应用、Excel高级数据管理、PowerPoint演示文稿高级制作技巧及Internet网络综合应用能力,并为学生参加计算机水平考试及办公自动化考试作好准备。 二、实训内容提要 1.Word中文处理的综合应用 2.Excel电子表格的综合应用 3.PowerPoint演示文稿的综合应用 4.申请邮箱、收发邮件、Outlook Express的使用 5.信息检索与信息的综合应用 6.利用Serv-U 软件创建与配置FTP站点,实现文件的上传与下载。 7.Web 站点的创建与配置,网页的浏览(选) 三、考核 1.考核方式 操作部分由各部分指导老师现场打分,最后由负责指导老师汇总。 2.成绩评定标准 考核内容包括:成绩评定为100分制。Word 高级应用25%,电子表格综合应用25%,PPT综合应用 10%,Internet操作10%,实操报告(心得体会,遇到的问题,解决办法,收获等)20%(包括考勤),模拟题试题10%. 四、提交实训成果 1.实训成果(作业、作品等) 2.实训报告:按照实训报告模板的格式去写,包括实训中遇到的问题,解决办法,包含一些截图,一周实训的体会、收获及今后努力方向等,文字要在2500字以上。篇幅在4页左右(含截图)。

说明: 1.由于各个班级教学学时及专业的差异性相差很大,而实训内容丰富且有一定难度,而实训的时间较短且集中,因此实训指导老师根据班级实际情况与水平,在指训指导书中挑选实用性强且与计算机水平考试有一定关联的题目进行实训。 2.选择实训的原则: ●在1~10中选择8题 ●11~17中选择5至6题 ●18~21必选,22根据机房情况选择 ●模拟题选择一套 3.带实训的老师一定要认真负责,结束后及时登记实训成绩,收齐学生的实训成果,并写出该班的实训总结,记录成光盘交到计算机基础教研室。 第1部分实训内容 实训1 制作用户调查表 [操作要求] 按照下面的步骤编排出如图1样文所示,并以“实训一.doc”为文件名保存。 1.输入文字 ●在文档中,输入表格的标题及最后一行的文字。 2.插入表格 ●插入“样文”的表格及输入其中的字符; ●表格的前三行高固定值1厘米,各列宽3.5厘米,表格中的字符设为宋体、四号, 水平左对齐,垂直居中; 3.设置文本 ●表格标题设为黑体、二号字,居中对齐; ●表格末行设为幼圆、小四号字,其中,“回函请寄:”几字设为加粗; ●表格外边框的线宽为1.5磅。 4.编排格式 ●在文档头部插入一行由“剪刀”和“-”号组成的字符串; ●按“样文1”所示位置,插入艺术字库中第1行第2列式样的艺术字; ●艺术字设为隶书、36磅、红色,无环绕。

《算法设计与分析》实验一

学号1607070212 《算法设计与分析》 实验报告一 学生姓名张曾然 专业、班级16软件二班 指导教师唐国峰 成绩 计算机与信息工程学院软件工程系 2018 年9 月19 日

实验一:递归策略运用练习 一、实验目的 本次实验是针对递归算法的算法设计及应用练习,旨在加深学生对该算法原理的理解,提高学生运用该算法解决问题的能力。 二、实验步骤与要求 1.实验前复习课程所学知识以及阅读和理解指定的课外阅读材料; 2.学生独自完成实验指定内容; 3.实验结束后,用统一的实验报告模板编写实验报告。 4.提交说明: (1)电子版提交说明: a 需要提交Winrar压缩包,文件名为“《算法设计与分析》实验一_学号_姓名”, 如“《算法设计与分析》实验一_09290101_张三”。 b 压缩包内为一个“《算法设计与分析》实验一_学号_姓名”命名的顶层文件夹, 其下为两个文件夹,一个文件夹命名为“源程序”,另一个文件夹命名为“实验 报告电子版”。其下分别放置对应实验成果物。 (2)打印版提交说明: a 不可随意更改模板样式。 b 字体:中文为宋体,大小为10号字,英文为Time New Roman,大小为10号 字。 c 行间距:单倍行距。 (3)提交截止时间:2018年10月10日16:00。 三、实验项目 1.运用递归策略设计算法实现下述题目的求解过程。 题目列表如下: 【必做题】 (1)运动会开了N天,一共发出金牌M枚。第一天发金牌1枚加剩下的七分之一枚,第二天发金牌2枚加剩下的七分之一枚,第3天发金牌3枚加剩下的七分之一枚,以后每天都照此办理。到了第N天刚好还有金牌N枚,到此金牌全部发完。编程求N和M。 (2)国王分财产。某国王临终前给儿子们分财产。他把财产分为若干份,然后给第一个儿子一份,再加上剩余财产的1/10;给第二个儿子两份,再加上剩余财产的1/10;……;给第i 个儿子i份,再加上剩余财产的1/10。每个儿子都窃窃自喜。以为得到了父王的偏爱,孰不知国王是“一碗水端平”的。请用程序回答,老国王共有几个儿子?财产共分成了多少份?

《算法设计与分析》递归算法典型例题

算法递归典型例题 实验一:递归策略运用练习 三、实验项目 1.运用递归策略设计算法实现下述题目的求解过程。 题目列表如下: (1)运动会开了N天,一共发出金牌M枚。第一天发金牌1枚加剩下的七分之一枚,第二天发金牌2枚加剩下的七分之一枚,第3天发金牌3枚加剩下的七分之一枚,以后每天都照此办理。到了第N天刚好还有金牌N枚,到此金牌全部发完。编程求N和M。 (2)国王分财产。某国王临终前给儿子们分财产。他把财产分为若干份,然后给第一个儿子一份,再加上剩余财产的1/10;给第二个儿子两份,再加上剩余财产的1/10;……;给第i 个儿子i份,再加上剩余财产的1/10。每个儿子都窃窃自喜。以为得到了父王的偏爱,孰不知国王是“一碗水端平”的。请用程序回答,老国王共有几个儿子?财产共分成了多少份? 源程序: (3)出售金鱼问题:第一次卖出全部金鱼的一半加二分之一条金鱼;第二次卖出乘余金鱼的三分之一加三分之一条金鱼;第三次卖出剩余金鱼的四分之一加四分之一条金鱼;第四次卖出剩余金鱼的五分之一加五分之一条金鱼;现在还剩下11条金鱼,在出售金鱼时不能把金鱼切开或者有任何破损的。问这鱼缸里原有多少条金鱼? (4)某路公共汽车,总共有八站,从一号站发轩时车上已有n位乘客,到了第二站先下一半乘客,再上来了六位乘客;到了第三站也先下一半乘客,再上来了五位乘客,以后每到一站都先下车上已有的一半乘客,再上来了乘客比前一站少一个……,到了终点站车上还有乘客六人,问发车时车上的乘客有多少? (5)猴子吃桃。有一群猴子摘来了一批桃子,猴王规定每天只准吃一半加一只(即第二天吃剩下的一半加一只,以此类推),第九天正好吃完,问猴子们摘来了多少桃子? (6)小华读书。第一天读了全书的一半加二页,第二天读了剩下的一半加二页,以后天天如此……,第六天读完了最后的三页,问全书有多少页? (7)日本著名数学游戏专家中村义作教授提出这样一个问题:父亲将2520个桔子分给六个儿子。分完后父亲说:“老大将分给你的桔子的1/8给老二;老二拿到后连同原先的桔子分1/7给老三;老三拿到后连同原先的桔子分1/6给老四;老四拿到后连同原先的桔子分1/5给老五;老五拿到后连同原先的桔子分1/4给老六;老六拿到后连同原先的桔子分1/3给老大”。结果大家手中的桔子正好一样多。问六兄弟原来手中各有多少桔子? 四、实验过程 (一)题目一:…… 1.题目分析 由已知可得,运动会最后一天剩余的金牌数gold等于运动会举行的天数由此可倒推每一 天的金牌剩余数,且每天的金牌数应为6的倍数。 2.算法构造 设运动会举行了N天, If(i==N)Gold[i]=N; Else gold[i]=gold[i+1]*7/6+i;

计算机组装与维护实训指导书

《计算机组装与维护》课程实训指导书 一、主要目的 《计算机组装与维护》是高职高专计算机类专业开设的一门实训性较强的课程,其目标定位为培养计算机维护与组装方面的技能型,应用型人才,如果光靠单纯的理论教学和少量的实验,是不能系统、全面地掌握计算机软件和硬件的安装和维护。为了便于学生熟练、全面地掌握计算机软件和硬件的选购、安装、设置和维护,特为教材配套编写了这本《计算机组装与维护》实训指导书。实训是计算机组装与维护课程重要的实训环节,实训的目的是锻炼和培养学生实际操作技能和解决问题的综合能力。可在学生基本掌握计算机硬件理论知识的基础上安排10个实训,提高学生软硬件安装的水平和排除故障的能力。本指导手册根据《计算机组装与维护教学大纲》的实训要求进行编写,在内容编排上紧扣教学内容,除了完成《计算机组装与维护教学大纲》中规定的10个实训操作项目之外,力求做到目的明确,条理清楚,对学生具有指导性。学生通过本实训的实训,具有计算机组装,维修和维护的基本技能,能跟进计算机技术的最新发展,适应行业相应岗位的需求.实训表明,本课程实现了很好的教学效果。 二、基本要求 本课程是理论联系实际的课程,学习理论后必需实训操作,才能培养学生的动手能力,为以后从事本专业的应用打下基础,因此各部分的实训安排均配合本课程的教学大纲进行。具体要求如下: (一) 知识教学要求 1. 掌握计算机各部件的选购、安装方法;

2. 理解计算机系统的设置、调试、优化及升级方法; 3. 能分析和处理计算机系统常见故障形成的原因及处理方法。 (二) 能力培养要求 1. 能根据用户需求合理选择计算机系统配件; 2. 能熟练组装一台计算机并进行必要的测试; 3. 能熟练安装计算机操作系统和常用应用软件; 4. 能初步诊断计算机系统常见故障,并进行简单的板级维修; 5. 能对常用外设进行安装、使用及日常维护。 (三) 思想教育要求 1. 具有吃苦耐劳的工作精神和严谨的工作态度; 2. 具备良好的服务意识和市场观念; 3. 具备精益求精的工作态度和敬业精神 4、独立完成实训报告。 三、实训内容

《算法设计与分析》实验报告

算法设计与分析课程实验项目目录 学生:学号: *实验项目类型:演示性、验证性、综合性、设计性实验。 *此表由学生按顺序填写。

本科实验报告专用纸 课程名称算法设计与分析成绩评定 实验项目名称蛮力法指导教师 实验项目编号实验项目类型设计实验地点机房 学生学号 学院信息科学技术学院数学系信息与计算科学专业级 实验时间2012年3月1 日~6月30日温度24℃ 1.实验目的和要求: 熟悉蛮力法的设计思想。 2.实验原理和主要容: 实验原理:蛮力法常直接基于问题的描述和所涉及的概念解决问题。 实验容:以下题目任选其一 1).为蛮力字符串匹配写一段可视化程序。 2).写一个程序,实现凸包问题的蛮力算法。 3).最著名的算式谜题是由大名鼎鼎的英国谜人 H.E.Dudeney(1857-1930)给出的: S END +MORE MONEY . 这里有两个前提假设: 第一,字母和十进制数字之间一一对应,也就是每个字母只代表一个数字,而且不同的字母代表不同的数字;第二,数字0不出现在任何数的最左边。求解一个字母算术意味着找到每个字母代表的是哪个数字。请注意,解可能并不是唯一的,不同人的解可能并不相同。3.实验结果及分析: (将程序和实验结果粘贴,程序能够注释清楚更好。)

该算法程序代码如下: #include "stdafx.h" #include "time.h" int main(int argc, char* argv[]) { int x[100],y[100]; int a,b,c,i,j,k,l,m,n=0,p,t1[100],num; int xsat[100],ysat[100]; printf("请输入点的个数:\n"); scanf("%d",&num); getchar(); clock_t start,end; start=clock(); printf("请输入各点坐标:\n"); for(l=0;l

计算机应用基础实验指导书

实验一Windows的基本操作 一、实验目的及要求 1.通过本次实验对Windows操作系统有初步的认识,熟练使用鼠标,对系统进行合理、个 人化的设置,加深一些基本名词的理解。 2.掌握对任务栏的操作,了解窗口各部位的名称,能够熟练改变窗口的大小和位置。 3.掌握各种创建快捷方式的方法,能够根据不同的使用场合采用不同的方法创建快捷方 式。 4.熟练使用开始菜单提供的各种方法运行程序、对文档进行各种操作。 5.能够使用控制面板对系统进行一些基本的设置。 6.学会如何创建文件夹,从而能够合理有效的管理个人计算机。 二、实验内容 1.(1)设置屏幕保护程序为 (2)将系统的时间样式设置为“tt hh:mm:ss”,上午符号为“上午”,下午符号为“下午”。(3)在桌面上建立记事本程序“NOTEPAD.EXE”的快捷方式,快捷方式名为“notepad”。的位数“2”,其余缺省值。 2.(1)在桌面上建立进入"MS-DOS方式"的快捷方式,快捷方式名为"MS-DOS"。 (2)改变屏幕保护为"三维飞行物",屏幕墙纸为居中的"Clouds",外观方案为"枫树"。(3)将计算器程序"Calc.exe"的快捷方式添加到"开始"菜单"程序"项中,快捷方式名为"计算器"。 (4)设置系统数字样式:小数位数为"3",数字分组符号为",",组中数字的个数为"3"。3.(1)设置屏幕的背景图案为“Bricks”,墙纸为的“Forest”、居中。 (2)设置Windows的货币符号为“$”,货币符号位置为“1.1¤”,负数格式为“-1.1¤”。(3)在桌面上建立画图程序“PBRUSH.EXE”的快捷方式,快捷方式名为“paint”。(4)设置Windows的数字格式为:小数点后面的位数“3”,数字分组符号“;”,组中的位数“2”,其余缺省值。 4.(1)在桌面上建立写字板程序"Write.exe"的快捷方式,快捷方式名为"写字板",并将此快捷方式添加到"开始"菜单"程序"项中,。 (2)设置屏幕保护程序为"飞行Windows",飞行中的Windows数目为"20",密码为"123123"。 (3)设置任务栏"不显示时间",并使任务栏"自动隐藏"。 (4)设置系统时间样式为"H:mm:ss",短日期样式为"yy-MM-dd"。 5. 在桌面上新建一个以自己姓名为名称的文件夹。启动"计算器"程序,在其帮助系统的索引中查找关键字"扩展精度",然后以所获得的帮助信息为内容,在以自己姓名为名称的文件夹中建立一个名为precision.txt的文本文件。

算法设计与分析实验报告 统计数字问题

算法设计与分析实验报告 实验名称统计数字问题评分 实验日期年月日指导教师 姓名专业班级学号 一.实验要求 1、掌握算法的计算复杂性概念。 2、掌握算法渐近复杂性的数学表述。 3、掌握用C++语言描述算法的方法。 4.实现具体的编程与上机实验,验证算法的时间复杂性函数。 二.实验内容 统计数字问题 1、问题描述 一本书的页码从自然数1 开始顺序编码直到自然数n。书的页码按照通常的习惯编排,每个页码都不含多余的前导数字0。例如,第6 页用数字6 表示,而不是06 或006 等。数字计数问题要求对给定书的总页码n,计算出书的全部页码中分别用到多少次数字0,1,2, (9) 2、编程任务 给定表示书的总页码的10 进制整数n (1≤n≤109) 。编程计算书的全部页码中分别用到多少次数字0,1,2, (9) 三.程序算法 将页码数除以10,得到一个整数商和余数,商就代表页码数减余数外有多少个1—9作为个位数,余数代表有1—余数本身这么多个数作为剩余的个位数,此外,商还代表1—商本身这些数出现了10次,余数还代表剩余的没有计算的商的大小的数的个数。把这些结果统计起来即可。 四.程序代码 #include int s[10]; //记录0~9出现的次数 int a[10]; //a[i]记录n位数的规律 void sum(int n,int l,int m) { if(m==1) {

int zero=1; for(int i=0;i<=l;i++) //去除前缀0 { s[0]-=zero; zero*=10; } } if(n<10) { for(int i=0;i<=n;i++) { s[i]+=1; } return; }//位数为1位时,出现次数加1 //位数大于1时的出现次数 for(int t=1;t<=l;t++)//计算规律f(n)=n*10^(n-1) { m=1;int i; for(i=1;i

南京邮电大学算法设计实验报告——动态规划法

实验报告 (2009/2010学年第一学期) 课程名称算法分析与设计A 实验名称动态规划法 实验时间2009 年11 月20 日指导单位计算机学院软件工程系 指导教师张怡婷 学生姓名丁力琪班级学号B07030907 学院(系) 计算机学院专业软件工程

实验报告 实验名称动态规划法指导教师张怡婷实验类型验证实验学时2×2实验时间2009-11-20一、实验目的和任务 目的:加深对动态规划法的算法原理及实现过程的理解,学习用动态规划法解决实际应用中的最长公共子序列问题。 任务:用动态规划法实现求两序列的最长公共子序列,其比较结果可用于基因比较、文章比较等多个领域。 要求:掌握动态规划法的思想,及动态规划法在实际中的应用;分析最长公共子序列的问题特征,选择算法策略并设计具体算法,编程实现两输入序列的比较,并输出它们的最长公共子序列。 二、实验环境(实验设备) 硬件:计算机 软件:Visual C++

三、实验原理及内容(包括操作过程、结果分析等) 1、最长公共子序列(LCS)问题是:给定两个字符序列X={x1,x2,……,x m}和Y={y1,y2,……,y n},要求找出X和Y的一个最长公共子序列。 例如:X={a,b,c,b,d,a,b},Y={b,d,c,a,b,a}。它们的最长公共子序列LSC={b,c,d,a}。 通过“穷举法”列出所有X的所有子序列,检查其是否为Y的子序列并记录最长公共子序列并记录最长公共子序列的长度这种方法,求解时间为指数级别的,因此不可取。 2、分析LCS问题特征可知,如果Z={z1,z2,……,z k}为它们的最长公共子序列,则它们一定具有以下性质: (1)若x m=y n,则z k=x m=y n,且Z k-1是X m-1和Y n-1的最长公共子序列; (2)若x m≠y n且x m≠z k,则Z是X m-1和Y的最长公共子序列; (3)若x m≠y n且z k≠y n,则Z是X和Y的最长公共子序列。 这样就将求X和Y的最长公共子序列问题,分解为求解较小规模的问题: 若x m=y m,则进一步分解为求解两个(前缀)子字符序列X m-1和Y n-1的最长公共子序列问题; 如果x m≠y n,则原问题转化为求解两个子问题,即找出X m-1和Y的最长公共子序列与找出X 和Y n-1的最长公共子序列,取两者中较长者作为X和Y的最长公共子序列。 由此可见,两个序列的最长公共子序列包含了这两个序列的前缀的最长公共子序列,具有最优子结构性质。 3、令c[i][j]保存字符序列X i={x1,x2,……,x i}和Y j={y1,y2,……,y j}的最长公共子序列的长度,由上述分析可得如下递推式: 0 i=0或j=0 c[i][j]= c[i-1][j-1]+1 i,j>0且x i=y j max{c[i][j-1],c[i-1][j]} i,j>0且x i≠y j 由此可见,最长公共子序列的求解具有重叠子问题性质,如果采用递归算法实现,会得到一个指数时间算法,因此需要采用动态规划法自底向上求解,并保存子问题的解,这样可以避免重复计算子问题,在多项式时间内完成计算。 4、为了能由最优解值进一步得到最优解(即最长公共子序列),还需要一个二维数组s[][],数组中的元素s[i][j]记录c[i][j]的值是由三个子问题c[i-1][j-1]+1,c[i][j-1]和c[i-1][j]中的哪一个计算得到,从而可以得到最优解的当前解分量(即最长公共子序列中的当前字符),最终构造出最长公共子序列自身。

《大学计算机基础》实验指导书2010版

《大学计算机基础》 上机实验指导书暨实验报告 选课班级 ______________ 序号 ______________ 姓名 ______________ 任课教师 ______________ 电气与信息工程学院计算机工程系(2009年9月) 编

前言 《大学计算机基础》是新生入校后必修的一门公共基础课,其实践性要求很强。本书是为配合《大学计算机基础》教材一书编写的配套实验教材,主要目的是便于教师的教学和学生的学习。本书既可以作学生的实验指导书,也可以直接作学生的实验报告使用。 本书主要包括实验目的、实验内容及实验思考题,其中实验一是综合实验,要在专门的微机拆装实验室完成,其他实验的实验内容都在windows xp+office2003环境下调试通过。对比较难的实验操作,在实验内容中有操作提示。实验思考题是要结合课堂上的理论知识和本次上机实验的知识来思考回答,有利于更好的理解实验知识要点,达到实验的目的。 本书参考实验学时8学时,完了顺利并保质保量的完成实验任务,请同学们在实验的过程中,注意以下事项: 1. 提前预习实验好相关资料,充分做好实验准备工作。 2. 遵循实验室的相关规定,听从实验教师的教学安排。 3. 详细记录实验过程中的实验数据。 4. 实事求是地回答实验中的相关问题,严禁抄袭。 5. 认真独立地撰写实验报告。 欢迎老师和同学对本实验指导书的内容及在使用过程中遇到的问题提出宝贵的意见,以求使该指导书更适合教学。 电气与信息工程学院计算机工程系 2010年4月

湖北汽车工业学院实验报告 班号序号姓名 课程名称大学计算机基础第1 号实验完成日期年月日午 实验一微机拆装实验 一、实验目的 1. 能够正确的识别微型计算机的主要部件,掌握微型计算机主要部件技术参数的含义, 进一步掌握其在计算机中的作用。 2. 能够根据不同的使用要求确定硬件的配置方案,并能够根据实验部件,制定详细的拆 装方案,分析方案的合理性。 3. 掌握计算机拆装的注意事项,掌握计算机拆装的步骤和拆装方法,能够根据给定的部 件快速地、正确地组装好计算机。 4. 能够对在拆装过程中可能出现的问题提出合理的解决办法。 二、实验内容 2.1 实验要求 1. 检查组装所需的工具是否齐全;检查及准备好组装电脑的全部组件及连接各部件的各 类电缆。 2. 准备好拆装计算机的工作空间;详细熟悉组装计算机的流程;实验前释放身体上的 静电。实验过程中严禁带电拆装部件。 3. 装机过程中,遵循硬件产品的安装规范,轻拿轻放所有部件,尽量只接触板卡边缘, 部件对号入座,细心操作,安插到位,对需要螺钉紧固的部件,一次不可全拧紧,待所有螺钉上好后方可拧紧,切忌把螺丝拧的过紧,以免螺钉滑扣。 4. 插拔各种板卡时切忌盲目用力,以免损坏板卡。 5. 必须在全部部件组装完成,由实验教师检查完毕后方可通电试机。 6. 实验完成后,登记实验教学日志,由实验教师检查实验材料及工具是否完好以后,方 可离开实验室。

算法设计与分析实验报告

算法设计与分析实验报告 教师: 学号: 姓名:

实验一:串匹配问题 实验目的:(1) 深刻理解并掌握蛮力法的设计思想; (2) 提高应用蛮力法设计算法的技能; (3) 理解这样一个观点: 用蛮力法设计的算法, 一般来说, 经过适度的努力后, 都可以对算法的第一个版本进行一定程度的改良, 改进其时间性能。 三、实验要求:( 1) 实现BF 算法; (2 ) 实现BF 算法的改进算法: KMP 算法和BM 算法; (3 ) 对上述 3 个算法进行时间复杂性分析, 并设计实验程序验证 分析结果。 #include "stdio.h" #include "conio.h" #include //BF算法 int BF(char s[],char t[]) { int i; int a; int b; int m,n; m=strlen(s); //主串长度 n=strlen(t); //子串长度 printf("\n*****BF*****算法\n"); for(i=0;i

《大学计算机基础2》课外实验指导书

《大学计算机基础2》实验指导书 2008版 计算机基础教研室

目录 实验一Windows操作系统操作实验 (3) 实验二Word文字处理软件实验(一) (6) 实验三Word文字处理软件实验(二) (8) 实验四Excel电子表格软件实验(一) (11) 实验五Excel电子表格软件实验(二) (14) 实验六PowerPoint演示文稿软件实验 (17) 实验七微机拆装实验 (20) 实验八计算机网络实验 (23)

实验一Windows操作系统操作实验 一、实验目的 1.掌握Windows的基本知识和基本操作。 2.掌握Windows的程序管理。 3.掌握“Windows资源管理器”和“我的电脑”的使用。 4.掌握控制面板的使用。 5.掌握文件和文件夹的常用操作。 6.掌握磁盘碎片整理程序等实用程序的使用。 二、实验内容 要求:请在桌面上建立名为“实验一”的文件夹,把本次实验中可以保存的信息保存在该文件夹下。 1.任务栏和桌面的设置 (1) 设置任务栏为自动隐藏。 (2) 设置“智能ABC”为默认输入法。 (3) 在“开始”菜单“附件”程序组中启动“记事本”、“画图”、“计算器”等程序,通过任务栏中的按钮在相应的程序中进行切换,然后对这些窗口进行层叠、横向平铺和纵向平铺操作。 2.特殊字符输入练习。 启动“记事本”程序,利用输入法的软键盘输入下列特殊字符,并以文件名为“特殊字符.txt”保存在“实验一”文件夹中。 (1)标点符号:。,、;…~ (2)数学符号:≈≠≤≮∷± (3)特殊符号:§№☆★○● 3. 屏幕和窗口复制功能的使用。 (1)打开“附件”组中的“计算器”。 (2)按下Alt + Print Screen ,“计算器”窗口被复制到剪贴板中。 (3)启动“画图”程序,用“编辑”|“粘贴”命令将剪贴板上的内容复制到画板, 将文件保存起来,文件名为 Calc.jpg,保存在“实验一”文件夹中。 (4)在第(2)步中换成按下Print Screen,然后在“画图”程序中进行粘贴,保存文 件为Desktop.jpg,保存在“实验一”文件夹中。 4.在“实验一”文件夹中建立快捷方式和其他对象。 (1)为“控制面板”中的“系统”建立快捷方式。 (2)为“Windows 资源管理器”建立一个名为“资源管理器”的快捷方式。 (3)为Windows XP主目录(一般为C盘的windows文件夹)创建快捷方式。 (4)建立名称为Myfile.txt的文本文件和名称为“我的数据”的文件夹。 5.“我的电脑”和“资源管理器”的使用。 (1)分别选用缩略图、列表、详细信息等方式浏览Windows主目录,观察各种显示方 式之间的区别。

相关主题