北邮小学期c++文档

北邮小学期c++文档
北邮小学期c++文档

C++程序设计实验报告

姓名:

班级:

学号:

1.

要求:

猜价格游戏

编写C++程序完成以下功能:

(1)假定有一件商品,程序用随机数指定该商品的价格(1-1000的整数);

(2)提示用户猜价格,并输入:若用户猜的价格比商品价格高或低,对用户作出相应的提示;

(3)直到猜对为止,并给出提示。

算法:

int main()

{

int price,input;

srand(time( NULL ));

price=rand()%1000;

cout<<"请输入数字,1到1000之间\n";

cin>>input;

while(input!=price)

{

if(input>price)

cout<<"错误,大了,请重新输入\n";

else

cout<<"错误,小了,请重新输入\n";

cin>>input;

}

cout<<"答对了\n";

system("pause");

}

思路:

使用srand()函数产生随机数,调用time.h的time()函数读取系统时间作为产生随机数的种子。采用循环结构,使函数运行至猜对价格,用cout输出,用cin输入。

2.

要求:

矩形

编写C++程序完成以下功能:

(1)定义一个Point类,其属性包括点的坐标,提供计算两点之间距离的方法;

(2)定义一个矩形类,其属性包括左上角和右下角两个点,提供计算面积的方法;

(3)创建一个矩形对象,提示用户输入矩形左上角和右下角的坐标;

(4)观察矩形对象以及Point类成员的构造函数与析构函数的调用;

(5)计算其面积,并输出。

算法:

class point

{

private:

float x1,y1,x2,y2;

public:

point()

{

x1=0;

y1=0;

x2=0;

y2-0;

}

float dis()

{

return sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));

}

float getx()

{

return x2-x1;

}

float gety()

{

return y1-y2;

}

void set(float a1,float b1,float a2,float b2)

{

x1=a1;

y1=b1;

x2=a2;

y2=b2;

}

};

class rectangle

{

private:

point a;

public:

rectangle()

{

float x1,y1,x2,y2;

cout<<"请输入左上角点的横坐标"<

cin>>x1;

cout<<"请输入左上角点的纵坐标"<

cin>>y1;

cout<<"请输入右上角点的横坐标"<

cin>>x2;

cout<<"请输入右上角点的纵坐标"<

cin>>y2;

a.set(x1,y1,x2,y2);

}

float getarea()

{

return abs(a.getx()*a.gety());

}

};

思路:

本题的关键在于创建point和rectangle两个类,在point中声明四个private成员分别是两个点的横坐标和纵坐标。声明返回private值的函数。Rectangle中将point类作为其private 成员,在public中声明构造函数,读入两个点的横坐标和纵坐标,传给point。并声明计算面积的函数,利用point中返回x,y的函数得到长方形的x,y值计算其面积。

3.

要求:

友元

编写C++程序完成以下功能:

(1)定义一个Boat和Car两个类,他们都具有私用属性——重量;

(2)编写一个函数,计算两者的重量和。

double TotalWeight(Boat& b, Car& c);

算法:

class boat;

class car

{

private:

double w;

public:

car()

{

cout<<"请输入车的重量:\n";

cin>>w;

}

friend double TotalWeight(boat& b,car& c);

};

class boat

{

private:

double w;

public:

boat()

{

cout<<"请输入船的重量:\n";

cin>>w;

}

friend double TotalWeight(boat& b,car& c);

};

double TotalWeight(boat& b,car& c)

{

return (c.w+b.w);

}

void main()

{

car c;

boat b;

cout<<"总重量是:\n"<

system("pause");

}

思路:

声明car,boat两个类,两者中都包含w这个private成员,用来记录重量,在car和boat 的public中都声明友元函数TotalWeight()。这样TotalWeight()就能同时访问到car和boat的private成员了。

4.

要求:

矩形

编写C++程序完成以下功能:

(6)定义一个Point类,其属性包括点的坐标,提供计算两点之间距离的方法;

(7)定义一个矩形类,其属性包括左上角和右下角两个点,提供计算面积的方法;

(8)创建一个矩形对象,提示用户输入矩形左上角和右下角的坐标;

(9)观察矩形对象以及Point类成员的构造函数与析构函数的调用;

(10)计算其面积,并输出。

算法:

void init(int a[][5])

{

for(int i=0;i<=3;i++)

{

cin>>a[i][0]>>a[i][1]>>a[i][2]>>a[i][3]>>a[i][4];

}

}

void print(int a[][5])

{

for(int i=0;i<=3;i++)

{

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

cout<

cout<

}

}

void add(int a1[][5],int a2[][5],int a3[][5])

{

for(int i=0;i<=3;i++)

{

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

a3[i][n]=a1[i][n]+a2[i][n];

}

}

void subtract(int a1[][5],int a2[][5],int a3[][5])

{

for(int i=0;i<=3;i++)

{

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

a3[i][n]=a1[i][n]-a2[i][n];

}

}

void main()

{

int a1[4][5],a2[4][5],a3[4][5];

cout<<"请输入第一个矩阵:\n";

init(a1);

getchar();

cout<<"请输入第二个矩阵:\n";

init(a2);

cout<<"和为:\n";

add(a1,a2,a3);

print(a3);

cout<<"差为:\n";

subtract(a1,a2,a3);

print(a3);

system("pause");

思路:

声明三个4行5列的数组,读入矩阵的元素存入数组,用二重递归的方式遍历数组,执行加,减,输出操作。

5.

要求:

编写C++程序完成以下功能:

(1)假定矩阵大小为4×5(整型);

(2)矩阵空间采用new动态申请,保存在指针中;

(3)定义矩阵初始化函数,可以从cin中输入矩阵元素;

(4)定义矩阵输出函数,将矩阵格式化输出到cout;

(5)定义矩阵相加的函数,实现两个矩阵相加的功能,结果保存在另一个矩阵中;

(6)定义矩阵相减的函数,实现两个矩阵相减的功能,结果保存在另一个矩阵中;

(7)动态申请三个矩阵:A1、A2、A3;

(8)初始化A1、A2;

(9)计算并输出A3 = A1加A2,A3 = A1减A2;

(10)释放矩阵空间。

算法:

void main()

{

int **a1,**a2,**a3;

a1=new int*[4];

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

a1[i]=new int[5];

a2=new int*[4];

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

a2[i]=new int[5];

a3=new int*[4];

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

a3[i]=new int[5];

cout<<"请输入第一个矩阵:\n";

init(a1);

//getchar();

cout<<"请输入第二个矩阵:\n";

init(a2);

cout<<"和为:\n";

add(a1,a2,a3);

print(a3);

cout<<"差为:\n";

subtract(a1,a2,a3);

print(a3);

ifree(a1);

ifree(a2);

ifree(a3);

system("pause");

}

思路:

声明a为指向指针的指针,先申请一个四个元素的数组,类型为int**,用来储存每行第一个元素的指针。如此声明之后就可以用a[i][j]来访问某个元素了。

6.

要求:

编写C++程序完成以下功能:

(1)用类来实现矩阵,定义一个矩阵的类,属性包括:

●矩阵大小,用lines, rows(行、列来表示);

●存贮矩阵的数组指针,根据矩阵大小动态申请(new)。

(2)矩阵类的方法包括:

●构造函数,参数是矩阵大小,需要动态申请存贮矩阵的数组;

●析构函数,需要释放矩阵的数组指针;

●拷贝构造函数,需要申请和复制数组;

●输入,可以从cin中输入矩阵元素;

●输出,将矩阵格式化输出到cout;

●矩阵相加的函数,实现两个矩阵相加的功能,结果保存在另一个矩阵

类,但必须矩阵大小相同;

●矩阵相减的函数,实现两个矩阵相减的功能,结果保存在另一个矩阵

类,但必须矩阵大小相同。

(3)定义三个矩阵:A1、A2、A3;

(4)初始化A1、A2;

(5)计算并输出A3 = A1加A2,A3=A1减A2;

(6)用new动态创建三个矩阵类的对象:pA1、pA1、pA3;

(7)初始化pA1、pA2;

(8)计算并输出pA3=pA1加pA2,pA3=pA1减pA2;

(9)释放pA1、pA1、pA3。

算法:

class matric{

private:

int lines,rows;

int **a;

public:

void init()

{

cin>>lines>>rows;

a=new int*[lines];

for(int n=0;n<=lines-1;n++)

a[n]=new int[rows];

}

void input()

{

for(int i=0;i<=lines-1;i++)

for(int n=0;n<=rows-1;n++)

cin>>a[i][n];

}

void output()

{

for(int i=0;i<=lines-1;i++)

{

for(int n=0;n<=rows-1;n++)

cout<

cout<

}

}

int getrows()

{

return rows;

}

int getlines()

{

return lines;

}

void copy(int** &b)

{

b=new int*[lines];

for(int i=0;i<=lines-1;i++)

b[i]=new int[rows];

for(int i=0;i<=lines-1;i++)

for(int n=0;n<=rows-1;n++)

b[i][n]=a[i][n];

}

void add(matric A1,matric A2)

{

int**a1,**a2;

lines=A1.getlines();

rows=A1.getrows();

A1.copy(a1);

A2.copy(a2);

a=new int*[lines];

for(int i=0;i<=lines-1;i++)

a[i]=new int[rows];

for(int i=0;i<=lines-1;i++)

{

for(int n=0;n<=rows-1;n++)

a[i][n]=a1[i][n]+a2[i][n];

}

}

void Free()

{

int**temp=a;

for(int i=0;i<=lines-1;i++)

{

delete a[i];

}

}

void sub(matric A1,matric A2)

{

int**a1,**a2;

lines=A1.getlines();

rows=A1.getrows();

A1.copy(a1);

A2.copy(a2);

a=new int*[lines];

for(int i=0;i<=lines-1;i++)

a[i]=new int[rows];

for(int i=0;i<=lines-1;i++)

{

for(int n=0;n<=rows-1;n++)

a[i][n]=a1[i][n]-a2[i][n];

}

}

};

思路:

首先需要读入数组的行列,用上题动态申请数组的方法来动态申请。本题的关键在于编写copy函数,从private中传出数组的值,只是将上题4,5这两个常量改成了lines,rows这两个变量。使用copy函数的好处在与只允许单向传出数组的元素,而不允许指令来修改数组的元素从而保护了数据的安全。执行加减法时可以声明两个int**类型元素用来指向数组,用矩阵类中的copy函数,分别从A1,A2中拷贝出数组的元素,拷贝出值之后,加减操作与上题一样,用a[i][j]来访问数组元素即可。

7.

要求:

形状(一)

编写C++程序完成以下功能:

(1)声明一个基类Shape(形状),其中包含一个方法来计算面积;

(2)从Shape派生两个类矩形和圆形;

(3)从矩形派生正方形;

(4)分别实现派生类构造函数、析构函数和其他方法;

(5)创建派生类的对象,观察构造函数、析构函数调用次序;

(6)不同对象计算面积。

算法:

class shape

{

public:

shape()

{

cout<<"shape 的构造函数"<

}

~shape()

{

cout<<"shape 的析构函数"<

}

float area()

{

return 123;

}

};

class rectangle:public shape

{

private:

float x,y;

public:

rectangle(float a,float b)

{

x=a;

y=b;

cout<<"rectangle的构造函数"<

}

~rectangle()

{

cout<<"rectangle的析构函数"<

}

float area()

{

return x*y;

}

};

class circle:public shape

{

private:

float r;

public:

circle(float a)

{

r=a;

cout<<"circle的构造函数"<

}

~circle()

{

cout<<"circle的析构函数"<

}

float area()

{

return 3.1416*r*r;

}

};

class square:public rectangle

{

private:

float a;

public:

square(float x):rectangle(x,x)

{

a=x;

cout<<"square的构造函数"<

}

~square()

{

cout<<"square的析构造函数"<

}

};

思路:

长方形类和圆类继承shape类之后,只要重载area()函数即可正确地计算出面积,正方形类继承了长方形类,不需要重载长方形类的area()函数,只要给长方形类的x,y赋相同的值,然后就可以直接调用从长方形类中继承的area()函数,直接计算面积。

8.

要求:

形状(二)——虚函数

(1)将【形状(一)】中的基类计算面积的方法定义为虚函数,比较与【形状(一)】程序的差异;

(2)将【形状(一)】中的基类定义抽象类,比较与【形状(一)】程序的差异。

算法:

算法与上题大致相同,只需要在area()函数前加上virtual即可。

思路:

算法与上题大致相同,只需要在area()函数前加上virtual即可,即将area()函数声明为虚函数。

将shape()类声明抽象类,只要把shape()中的area()函数声明成如下形式:Virtual float area()=0;纯虚函数即可。这样shape类就是一个抽象类,抽象类可以作

为基类被继承,但是不实例化,例如,shape a;这样声明一个a就是错误的。

9.

要求:

对Point类重载++和――运算符

编写C++程序完成以下功能:

(1)Point类的属性包括点的坐标(x,y);

(2)实现Point类重载++和――运算符:

●++p,--p,p++,p--。

●++和――分别表示x,y增加或减少1。

算法:

class point

{

private:

int x,y;

public:

point operator++(int)

{

point a=*this;

x++;

y++;

return a;

}

point operator++()

{

x++;

y++;

return *this;

}

point operator--(int)

{

point a=*this;

x--;

y--;

return a;

}

point operator--()

{

x--;

y--;

return *this;

}

void ini()

{

cin>>x;

cin>>y;

}

point()

{

cout<<"请输入x:"<

cin>>x;

cout<<"请输入y:"<

cin>>y;

}

~point()

{

}

void print()

{

cout<<" "<

}

};

思路:

本题的关键在于表示出a++和++a的不同,a++是先引用a的值然后再执行++,++a是先执行++然后再引用a的值。在对++的重载时可以在()中加入int加以区分a++和++a,如下point operator++(int),point operator++()。要做出a++的效果就需要申请point temp,这个中间变量,temp=this,把当前对象赋给a,然后再对当前对象执行++操作,最后返回temp,因为temp储存的是未执行++之前的值,所以能够做出先引用a的值在执行++的效果。——的过程与++完全相同。

10

要求:

流式IO(一)

编写C++程序完成以下功能:

(1)使用ofstream 向一个文本文件中输出各种类型的数据,并打开文件观察结果:

●整数、无符号整型、长整型、浮点型、字符串、……

(2)用十进制、八进制、十六进制方式向文本文件中输出整数;

(3)使用控制符和成员函数来控制输出的格式:

●set() precision() ...

算法:

void main()

{

ofstream outfile("xx.txt");

int integer;

unsigned int uint;

long int lint;

float f;

string s;

cout<<"输入整数:\n";

cin>>integer;

cout<<"输入无符号整型:\n";

cin>>uint;

cout<<"输入长整型:\n";

cin>>lint;

cout<<"输入浮点型:\n";

cin>>f;

cout<<"输入字符串:\n";

cin>>s;

outfile<<"十进制:"<

outfile.unsetf(ios::dec);

outfile.setf(ios::hex);

outfile<<"十六进制:"<

outfile.unsetf(ios::hex);

outfile.setf(ios::oct);

outfile<<"八进制:"<

outfile.unsetf(ios::oct);

outfile<<"\n\n\n";

outfile<<"整数:"<

outfile<<"无符号整型:"<

outfile<<"长整型:"<

outfile<<"浮点型:"<

outfile<<"字符串型:"<

outfile.close();

system("pause");

}

思路:

.进行对文件的操作需要声明头文件#include,为了方便对字符串的操作再声明头文件#include,ofstream outfile("xx.txt");指令声明了一个文件输出类,打开了一个名叫xx.txt的文件,outfile.unsetf(ios::dec);outfile.setf(ios::dec );指令可以用来控制

文件输出的格式,做到格式化输出。outfile.set()是设置输出格式,outfile.unset()是取消设置。

11.

要求:

流式IO(三)

编写C++程序完成以下功能:

(1)输入一个文本文件名;

(2)打开文件名,在该文件的每一行前面加上一个行号,保存在另外一个文本文件中。

算法:

void main()

{

string a;

cout<<"请输入文件名:\n";

cin>>a;

ifstream in(a);

ofstream out("out.txt");

string s;

int i=1;

while(getline(in,s))

{

out<

i++;

}

in.close();

out.close();

}

思路:

本实验比较简单。只需要声明一个字符串a用来储存读入的文件名,再用ifstream类来声明一个对象,打开a这个文件。利用getline()函数,geiline函数能够自动从文件中读入一行数据,每读入一行数据就在其前面加上行号,行号可以用变量i来计数,每读一行就加1,并将这个就上行号的一行数据写入out.txt中,知道无法读入,就结束程序。

12.

要求:

电话本

编写C++程序完成以下功能:

(1)实现简单电话本功能,用姓名来搜索电话号码;

(2)用户输入姓名,程序查找并输出结果;

(3)用户可以通过输入,添加姓名和电话号码;

(4)用户可以删除姓名和电话号码;

(5)电话本可以保存在指定文件中;

(6)电话可被从指定文件中读入到内存。

算法:

#include

#include

#include

using namespace std;

class record

{

private:

string name[50],number[50];

public:

record()

{

int i=0;

string na,nu;

ifstream file("phonenumber.txt");

file>>na>>nu;

while(https://www.360docs.net/doc/d18689742.html,pare(".."))

{

name[i]=na;

number[i]=nu;

file>>na>>nu;

i++;

}

for( i;i<=49;i++)

{

name[i]="..";

number[i]="..";

}

}

void search()

{

int i=0;

string na;

cout<<"请输入名字:"<

cin>>na;

while(name[i].compare(".."))

{

if(!name[i].compare(na))

{

cout<<"结果是:"<

cout<<"name:"<

return;

}

i++;

}

cout<<"无该记录";

}

void add()

{

string na,nu;

cout<<"请输入名字:"<

cin>>na;

cout<<"请输入号码:"<

cin>>nu;

for(int i=0;i<=49;i++)

{

if(!name[i].compare(".."))

{

//cout<

name[i]=na;

number[i]=nu;

cout<<"成功插入"<

return;

}

}

cout<<"已满,无法插入"<

}

void set(int i,string na,string nu)

{

name[i]=na;

number[i]=nu;

}

void store()

{

ofstream file("phonenumber.txt");

for(int i=0;i<=49;i++)

{

if(!name[i].compare(".."))

break;

if(name[i].compare(",,"))

file<

}

file<<".."<<" "<<".."<

cout<<"存入成功。"<

}

void del()

{

int i=0;

string na;

cout<<"请输入要删除的名字:"<

cin>>na;

while(name[i].compare(".."))

{

if(!name[i].compare(na))

{

name[i]=",,";

number[i]=",,";

cout<<"删除成功。"<

return;

}

i++;

}

cout<<"不存在该记录。"<

}

void test()

{

for(int i=0;i<=49;i++)

{

cout<

}

}

void show()

{

for(int i=0;i<=49;i++)

{

if(name[i].compare("..")&&name[i].compare(",,"))

cout<

}

}

};

void main()

{

int choice;

int i=0;

record temp;

while(1)

北邮,单片机,实验报告,电子琴

北邮,单片机,实验报告,电子琴 北邮单片机实验报告简易电子琴 2014年小学期单片机设计实验报告题目:基于单片机的电子音乐发生器 班级:班内序号:实验组号:学生姓名:指导教师: 基于单片机的电子音乐发生器 实验摘要 此次本组制作的基于PIC单片机的电子音乐发生器是具有LCD显示屏提示的音乐简单演奏、播放、存储等功能的演示作品,拥有以下4种功能: 1.按键演奏:即“电子琴”功能,可以用键盘上的“1”到“A”键演奏从低音sol到高音do等11个音; 2.点歌功能:即按动“B”“C”键分别演奏两首乐曲(可以表现准确的音高和音长)。3.存储音乐功能:即按右下角“F存储”键,然后按键演奏并存储,随后按“E”键结束,之后按“D键”就可以播放存储的乐曲了; 4.液晶显示功能:即在开始时显示“hello!”,在点播时分别显示“song b”、“song c”,在存储时显示“saving”。 电子音乐发生器采用以Microchip公司的PIC16F877芯片为核心的简单控制系统,外部电路连接有喇叭、键盘、LCD液晶显示屏以及其他必要系统调节元件。软件设计中涉及PORTB\PORTC\PORTD\PORTE用作普通数字I/O脚功能。本实验用

单片机PORTB\D接收来自键盘输入的指令信息,由此确定LCD液晶屏幕显示以及喇叭播放内容,再通过PORTC\D\E输出声音或字幕信息。 关键字 单片机——microcontroller芯片——CMOS chip 音乐发生器——music generator 分频——fractional frequency 一、实验论证与比较 本设计的核心器件是单片机芯片和音频功放芯片。单片机采用以Microchip公司的PIC16F87X系列中的PIC16F877芯片为核心构建简单控制系统,它完全可以满足本设计功能的需要。此音乐发生器设计利用单片机的输入输出功能,当按下播放功能键时,单片机的输出功能使外部电路连接的喇叭和LCD液晶显示屏同时播放声音及显示文字,从而实现各种复杂音乐播放器的功能。 在嵌入式系统设计中,扬声器等是常用的输出设备,它具有使用方便、价格便宜、电路接口简单等优点,因此,在嵌入式系统中被广泛使用。同时随着单片机的发展,其功能越来越强大,技术也越来越成熟,由此生产的音乐播放器越来越受到人们的喜爱。因此,在技术性操作、社会因素和经济方面都具有良好的可行性。我在实验中负责了全部软件设计,代码的编写,电路图的设计,以及部分硬件焊接。其中,困难的部分在于,理论上认为电子音乐发生器模拟真正乐器的仿真实现方法,与现实电路实现起来有着一定的差别,在长音、乐谱存储播放上,以及存储功能的代码

北邮阶段作业

作业9 一、单项选择题(共5道小题,共5.0分) 1 不属于公钥密码的典型算法是() 1RSA 1DSA 13DES 1DH 知识点:八、信息安全与网络道德 学生答案:[C; ] 标准答 案: C 得分:[1]试题分 值: 1.0 提示: 2 知识产权包括() 1著作权和工业产权 1著作权和专利权 1专利权和商标权 1商标权和著作权 知识点:八、信息安全与网络道德 学生答案:[A; ] 标准答 案: A 得分:[1]试题分 值: 1.0 提示: 3 (错误) 计算机病毒是计算机系统中一类隐藏在()上蓄意破坏的捣乱程序。 1内存 1软盘 1存储介质 1网络 知识点:八、信息安全与网络道德 学生答案:[A; ] 标准答 案: C

得分:[0]试题分 值: 1.0 提示: 4 网络协议的关键成分是() 1硬件、软件与数据 1语法、语义和体系结构 1语法、定时、层次结构 1语法、语义和定时 知识点:八、信息安全与网络道德 学生答案:[D; ] 标准答 案: D 得分:[1]试题分 值: 1.0 提示: 5 技术安全需求集中在对计算机系统、网络系统、应用程序的控制之上,而技术安全控制的主要目的是保护组织信息资产的() 1完整性 1可用性 1机密性 1上面三项都是 知识点:八、信息安全与网络道德 学生答案:[D; ] 标准答 案: D 得分:[1]试题分 值: 1.0 提示: 作业10 一、单项选择题(共5道小题,共5.0分) 6 下面()属于三维动画制作软件工具。 13DS MAX 1Firworks 1Photoshop 1Authorware

学生答案:[A; ] 标准答 案: A 得分:[1]试题分 值: 1.0 提示: 7 下面()不是多媒体创作所必须的硬件设备。 1扫描仪 1数码相机 1彩色打印机 1图形输入板 知识点:九、计算机多媒体技术 学生答案:[C; ] 标准答 案: C 得分:[1]试题分 值: 1.0 提示: 8 下面硬件设备中,哪些不是多媒体硬件系统必须包括的设备。 1计算机最基本的硬件设备 1CD-ROM 1音频输入、输出和处理设备 1多媒体通信传输设备 知识点:九、计算机多媒体技术 学生答案:[D; ] 标准答 案: D 得分:[1]试题分 值: 1.0 提示: 9 下面()不是多媒体计算机中常用的图像输入设备: 1数码照相机 1彩色扫描仪 1条码读写器 1彩色摄象机

北邮2019年秋季多媒体计算机技术阶段作业一、二

阶段作业一 一、判断题(共5道小题,共25.0分) 1. 信息熵编码又称为统计编码,它是根据信源符号出现概率的分布特性而进行的压缩 编码。 A. 正确 B. 错误 2. 光盘存储数据采用EFM编码,即将1字节的8位编码为14位的光轨道位。 A. 正确 B. 错误 3. 凹凸贴图(Bump Mapping)是一种在3D场景中模拟粗糙表面的技术。 A. 正确 B. 错误 4. 视频采集卡一般都配有采集应用程序以控制和操作采集过程。 A. 正确 B. 错误

5. 一般来讲,信杂比大于75分贝的即为甲级摄像机,反之则为乙级摄像机。 A. 正确 B. 错误 二、多项选择题(共5道小题,共25.0分) 1. 前向预测被用于:()。 A. I图像 B. P图像 C. B图像 D. A图像 2. MPEG的系列标准中正式推广的有:()。 A. MPEG-1 B. MPEG-2 C. MPEG-3 D. MPEG-4

3. ()是可逆编码/无失真编码。 A. Huffman编码 B. 预测编码 C. 变换编码 D. 算术编码 4. 如今比较流行的3D音效API有:()。 A. Direct Sound 3D B. DirectX C. A3D D. EAX 5. SVCD/CVD(PAL制式)常用MPEG-2哪个等级的图像分辨率:()。 A. 1/2D1 (352×576) B. 2/3D1 (480×576) C. 3/4D1 (528×576) D. D1(720×576) 三、单项选择题(共10道小题,共50.0分) 1. 多媒体技术最早起源于20世纪()年代中期。

单片机实验报告

院系:计算机科学学院专业:智能科学与技术年级: 2012 学号:2012213865 姓名:冉靖 指导教师:王文涛 2014年 6月1日

一. 以下是端口的各个寄存器的使用方式: 1.方向寄存器:PxDIR:Bit=1,输出模式;Bit=0,输入模式。 2.输入寄存器:PxIN,Bit=1,输入高电平;Bit=0,输入低电平。 3.输出寄存器:PxOUT,Bit=1,输出高电平;Bit=0,输出低电平。 4.上下拉电阻使能寄存器:PxREN,Bit=1,使能;Bit=0,禁用。 5.功能选择寄存器:PxSEL,Bit=0,选择为I/O端口;Bit=1,选择为外设功能。6.驱动强度寄存器:PxDS,Bit=0,低驱动强度;Bit=1,高驱动强度。 7.中断使能寄存器:PxIE,Bit=1,允许中断;Bit=0,禁止中断。 8.中断触发沿寄存器:PxIES,Bit=1,下降沿置位,Bit=0:上升沿置位。 9.中断标志寄存器:PxIFG,Bit=0:没有中断请求;Bit=1:有中断请求。 二.实验相关电路图: 1 MSP430F6638 P4 口功能框图: 主板上右下角S1~S5按键与MSP430F6638 P4.0~P4.4口连接: 2按键模块原理图: 我们需要设置两个相关的寄存器:P4OUT和P4DIR。其中P4DIR为方向寄存器,P4OUT 为数据输出寄存器。 主板上右下角LED1~LED5指示灯与MSP430F6638 P4.5~P4.7、P5.7、P8.0连接:

3 LED指示灯模块原理图: P4IN和P4OUT分别是输入数据和输出数据寄存器,PDIR为方向寄存器,P4REN 为使能寄存器: #define P4IN (PBIN_H) /* Port 4 Input */ #define P4OUT (PBOUT_H) /* Port 4 Output */ #define P4DIR(PBDIR_H) /* Port 4 Direction */ #define P4REN (PBREN_H) /* Port 4 Resistor Enable */ 三实验分析 1 编程思路: 关闭看门狗定时器后,对P4.0 的输出方式、输出模式和使能方式初始化,然后进行查询判断,最后对P4.0 的电平高低分别作处理来控制LED 灯。 程序流程图: 2 关键代码分析: #include void main(void) { WDTCTL = WDTPW + WDTHOLD; // 关闭看门狗 P4DIR |= BIT5; // 设置4.5口为输出模式 P4OUT |= BIT0; // 选中P4.0为输出方式 P4REN |= BIT0; // P4.0使能 while (1) // Test P1.4 { if (P4IN & BIT0) //如果P4.0为1则执行,这是查询方式按下去后是低,否则为高

北邮小学期简易密码锁实验报告

简易智能密码锁实验报告 一、实验要求: 设计并实现一个数字密码锁,密码锁有四位数字密码和一个确认开锁按键,密码输入正确,密码锁打开,密码输入错误进行警示。 基本要求: 1、密码设置:通过键盘进行4 位数字密码设定输入,在数码管上 显示所输入数字。通过密码设置确定键(BTN 键)进行锁定。 2、开锁:在闭锁状态下,可以输入密码开锁,且每输入一位密 码,在数码管上显示“-”,提示已输入密码的位数。输入四位核对密码后,按“开锁”键,若密码正确则系统开锁,若密码错误系统仍然处于闭锁状态,并用蜂鸣器或led 闪烁报警。 3、在开锁状态下,可以通过密码复位键(BTN 键)来清除密码, 恢复初始密码“0000”。 闭锁状态下不能清除密码。 4、用点阵显示开锁和闭锁状态。 提高要求: 1、输入密码数字由右向左依次显示,即:每输入一数字显示在 最右边的数码管上,同时将先前输入的所有数字向左移动一位。

2、密码锁的密码位数(4~6 位)可调。 二、系统设计: 1、设计思路:在数字电路设计中,自顶向下设计方法的主要思想是 对数字系统进行划分,将复杂的设计原理简化为相对简单的模块设计,不同的模块用来完成数字系统中某一部分的具体功能。 总体思路:

2、总体框图: 三、仿真波形及波形分析 1、键盘输入模块 图3-1 键盘输入仿真

在上图中,clkjp时钟控制jpcat,jpcat控制kbout从0111到1110变换,然后手动控制kbin来模拟键盘的案件,从jpout就能看到的键入的数字。 2、防抖 图3-2 防抖仿真 上图中可以看见,btn1只在上升沿才有用,而clear会持续到一个周期的最后才会完毕。

北邮操作系统阶段作业1

一、单项选择题(共10道小题,共100.0分) 1. 下面的哪种事件,操作系统不能从进程得到对CPU的控制权 A. 故障中断 B. IO中断 C. 时钟中断 D. 阻塞进程等待的事件发生 2. 考虑到操作系统与用户进程的关系,Windows NT属于哪一类操作进程 A. 非进程的内核方式 B. 在用户进程内部执行 C. 操作系统的进程方式 D. 以上都不是 3. (错误)一个处于阻塞状态的进程,如果它等待的事件发生,则它的状态将变为: A. 运行状态 B. 阻塞状态 C. 就绪状态 D. 以上都不是

4. (错误)处于挂起等待状态的进程,如果得到解除挂起的命令,它的状态将变为: A. 运行状态 B. 等待状态 C. 就绪状态 D. 不变 5. (错误)关于重定位,下面的描述哪个是不对的 A. 重定位技术有静态重定位和动态重定位两种 B. 重定位是把程序中的绝对地址变换为相对地址 C. 在程序装入主存中时进行重定位是静态重定位 D. 对应用软件的重定位是由操作系统实现的 6. (错误)计算机系统用()电路来判断中断的优先级,以确定响应那个中断。 A. 中断扫描 B. 中断屏蔽 C. 中断逻辑 D. 中断寄存器

7. 计算机内存中是按什么进行的编址? A. 位 B. 字节 C. 字 D. 块 8. 下面的软件,不属于操作系统的是 A. Office B. Windows XP C. DOS D. Linux 9. 在操作系统的分类中,属于不同分类方法的有 A. 多道批处理操作系统 B. 实时操作系统 C. 分时操作系统 D. 网络操作系统 10.进程的共享性主要体现在()。

北京邮电大学电路实验报告-(小彩灯)

北京邮电大学电路实验报告-(小彩灯)

电子电路综合实验报告课题名称:基于运算放大器的彩灯显示电路的设计与实现 姓名:班级:学号: 一、摘要: 运用运算放大器设计一个彩灯显示电路,通过迟滞电压比较器和反向积分器构成方波—三角波发生器,三角波送入比较器与一系列直流电平比较,比较器输出端会分别输出高电平和低电平,从而顺序点亮或熄灭接在比较器输出端的发光管。 关键字: 模拟电路,高低电平,运算放大器,振荡,比较 二、设计任务要求: 利用运算放大器LM324设计一个彩灯显示电路,让排成一排的5个红色发光二极管(R1~R5)重复地依次点亮再依次熄灭(全灭→R1→R1R2→R1R2R3→R1R2R3R4→R1R2R3R4R5→R1R2R3R4→R1R2R3→R1R2→R1→全灭),同时让排成一排的6个绿色发光二极管(G1~G6)单光

三角波振荡电路可以采用如图2-28所示电路,这是一种常见的由集成运算放大器构成的方波和三角波发生器电路,图2-28中运放A1接成迟滞电压比较器,A2接成反相输入式积分器,积分器的输入电压取自迟滞电压比较器的输出,迟滞电压比较器的输入信号来自积分器的输出。假设迟滞电压比较器输出U o1初始值为高电平,该高电平经过积分器在U o2端得到线性下降的输出信号,此线性下降的信号又反馈至迟滞电压比较器的输入端,当其下降至比较器的下门限电压U th-时,比较器的输出发生跳变,由高电平跳变为低电平,该低电平经过积分器在U o2端得到线性上升的输出信号,此线性上升的信号又反馈至迟

滞电压比较器的输入端,当其上升至比较器的上门限电压U th+时,比较器的输出发生跳变,由低电平跳变为高电平,此后,不断重复上述过程,从而在迟滞电压比较器的输出端U o1得到方波信号,在反向积分器的输出端U o2得到三角波信号。假设稳压管反向击穿时的稳定电压为U Z,正向导通电压为U D,由理论分析可知,该电路方波和三角波的输出幅度分别为: 式(5)中R P2为电位器R P动头2端对地电阻,R P1为电位器1端对地的电阻。 由上述各式可知,该电路输出方波的幅度由稳压管的稳压值和正向导通电压决定,三角波的输 出幅度决定于稳压管的稳压值和正向导通电压以及反馈比R1/R f,而振荡频率与稳压管的稳压值和正向导通电压无关,因此,通过调换具有不同稳压值和正向 导通电压的稳压管可以成比例地改变方波和三角波的幅度而不改变振荡频率。 电位器的滑动比R P2/R P1和积分器的积分时间常数R2C的改变只影响振荡频率而 不影响振荡幅度,而反馈比R1/R f的改变会使振荡频率和振荡幅度同时发生变化。因此,一般用改变积分时间常数的方法进行频段的转换,用调节电位器滑动头 的位置来进行频段内的频率调节。

北邮《现代通信技术》实验报告一

现代通信技术实验报告 班级: 2012211110 学号: 2012210299 姓名:未可知

在学习现代通信技术实验课上,老师提到的一个词“通信人”警醒了我,尽管当初填报志愿时选择了通信工程最终也如愿以偿,进入大三,身边的同学忙着保研、考研、出国、找工作,似乎大家都为了分数在不懈奋斗。作为一个北邮通信工程的大三学生,我也不断地问自己想要学习的是什么,找寻真正感兴趣的是什么,通信这个行业如此之大,我到底适合什么。本学期,现代通信技术这本书让我了解到各种通信技术的发展和规划,也让我对“通信人”的工作有了更深刻的认识。 一、通信知识的储备 《现代通信技术》第一页指出,人与人之间通过听觉、视觉、嗅觉、触觉等感官,感知现实世界而获取信息,并通过通信来传递信息。所谓信息,是客观事物状态和运动特征的一种普遍形式,客观世界中大量地存在、产生和传递着以这些方式表示出来的各种各样的信息。信息的目的是用来“消除不可靠的因素”,它是物质运动规律总和。因此,我们通信人的任务就是利用有线、无线等形式来将信息从信源传递到信宿,在传输过程中保证通信的有效性和可靠性。 而具体来讲,要实现信息传递,通信网是必需的通信体系,其中通信网分层的结构形式需要不同的支撑技术,包括业务网技术,向用户提供电话、电报、数据、图像等各种电信业务的网络;介入与传送网技术,实现信息由一个点传递到另一个点或一些点的功能。对此,我们通信工程专业学习课程的安排让我们一步步打下基础,建立起知识储备。 知识树如下: 如知识树所述,通信工程课程体系可以大致分为一下6类基础:

数学基础:工科数学分析,线性代数,复变函数,概率论基础,随机过程; 电路基础:电路分析,模拟电子技术,数字逻辑电路,通信电子电路; 场与波基础:电磁场与电磁波,微波技术,射频与天线; 计算机应用能力:C 语言程序设计,微机原理与接口技术,计算机网络,数据结构,面向对象程序设计,实时嵌入式系统 信号处理类课程:信号与系统,信号处理,图像处理,DSP 原理及应用; 通信类课程:通信原理,现代通信技术,信息论基础,移动通信,光纤通信等。 从大一开始学习的工科数学分析,大学物理,大学计算机基础等课程为基础类课程,旨在培养我们的语言能力,数学基础,物理基础,计算机能力,然后逐步加大难度,细化课程,方向逐渐明朗详细。同时,课程中加入了各种实验,锻炼了我们的动手能力。 二、通信知识的小小应用 实验课上老师说过,以我们所学的知识已经可以制作简单通信的手机的草图了,我对此跃跃欲试。经过思考和调研,以下是我对于简单手机设计的原理框图和思考结果。 一部手机的结构包括接收机、发射机、中央控制模块、电源和人机界面部分,如下图 手机结构设计图 电路部分包括射频和逻辑音频电路部分,射频电路包括从天线到接收机的解调输出,与发射的I/O 调制到功率放大器输出的电路。其中,射频接收电路完成接收信号的滤波、信号放大、解调等功能;射频发射电路完成语音基带信号的调制、变频、功率放大等功能。要用到的超外差接收机、混频器、鉴相器等在《通信电子电路》书本中的知识。逻辑音频包括从接收解调到接收音频输出、送话器电路到发射I/O 调制器及逻辑电路部分的中央处理单元、数字语音处理及各种存储器电路。由核心控制模块CPU 、EEPROM 、 FLASH 、SRAM 等部分组成,一个基本 天线 接收机 发射机 频率合成 电源 逻 辑 音 频 人 机 交 互

北邮小学期电子秤实验报告

2015年小学期单片机设计实验报告 题目:计价电子秤 班级:20 班内序号: 实验组号: 学生姓名: 指导教师:

计价电子秤 ——2013211119班曾霜霜实验摘要 本次我们制作的是基于压力传感器的既可显示重物质量又可输入单价计算总价的计价电子秤。整个系统中,微控制器采用了Microchip公司的PIC16F877A,软件设计中涉及PORTA0作为模拟量输入端;用PORTB作为数字量输入端,连接键盘输入重物的单价;PORTA1-3作为数字输出端口连接液晶屏使能端,PORTC作为数字输出端口连接液晶屏,最终显示重物的种类,单价和总价。 概括的说,本实验是通过压力传感器形变后产生的模拟信号经过数模转换、量化、显示获得重物质量,然后输入单价后进行乘法运算的过程。 A b s t r a c t In this experiment, we made a denominated electronic scale based on the pressure sensor, which can automatically display the weight of the heavy, input the unit price and even calculate the total price of the heavy. Throughout the system, the production of the Microchip cord--PIC16F877A is used as the microcontroller. Software design involves PORTA0 as simulation input port, the analog signal to the microcontroller and digital to analog conversion, as a digital enable output port to control the screen with PORTA1-PORTA3, using PORTB as the digital input port, connect the 4*4 keyboard input weight unit, PORTC as the digital output port is connected with the LCD screen, display the weight categories, unit price and total value. In summary, this experiment was carried out by the analog signal generated by the pressure sensor deformation after digital to analog conversion, quantization to get the weight display quality, and then enter the unit price after the multiplication process.

多媒体计算机技术课后习题答案1

第一章:多媒体计算机技术概述 1、什么是多媒体? 答:多媒体是指信息表示媒体的多样化,常见的多媒体有文本、图形、图像、声音、音乐、视频、动画等多种形式。 2、多媒体的关键特性包刮哪些方面?答:多维化、集成性、交互性、实时性。第二章多媒体计算机系统的组成 1、触摸屏分为几类?简述常见的触摸屏的工作原理。 答:触摸屏根据所用的介质以及工作原理可分为4种:电阻式、电容式、红外线式、声表面波式。 触摸屏的工作原理是:当用户手指或其他设备触摸安装在计算机显示器前面的触摸屏时,所摸到的位置(以坐标形式)被触摸屏控制器检测到,并通过串行口或其它接口送到CPU,从而确定用户所输入的信息。 2、什么是视频捕捉卡?它的主要作用是什么? 答:视频捕捉卡是把输入的模拟视频信号,通过内置芯片提供的捕捉功能转换成数字信号的设备。 3、简述USB设备的的软件、硬件结构。答:硬件:USB结构简单,采用四条电缆,信号定义由2条电源线和2条信号线组成。 软件:USB软件由USB总线接口和USB系统组成。USB总线接口由主控制器事实现。 USB系统有3个组件:(1)住控制器驱动程序;(2)USB驱动程序;(3)USB客户软件。 4、简述CCD和CMOS影像感应器的主要特点。答:CCD(charge coupled device,电荷耦合元件)传感器包含像点,通常以横竖线短阵型式排列,各像点包含一个光电二极管和控制相邻电荷的单元。这种结构可产生低噪音、高性能的成像。 CMOS传感器是用标准硅处理方法加工而成的。与CCD相比有以下优点:地电源消耗、芯片上符合有额外的电路、地系统成本。第三章数字图像处理技术 1、简述数据压缩的必要性和可能性。答:必要性:对多媒体信息进行实时压缩和解压缩是十分必要的。如果没有数据压缩技术的进步,多媒体计算机就难以得到实际的应用; 可能性:能够对多媒体数 据进行压缩的前提是因为数据存在大量的 冗余,尤其是声音和图像。数据压缩的目的就是尽可能的消除这些冗余。 2、常用的数据压缩算法有哪些?

北邮小学期AVR单片机电子琴实验报告

小学期AVR单片机实验报告实验题目:基于ATmega16L单片机的电子琴设计 学生姓名:学渣 班级:2012XXXXXX 班内序号:XX 学号:2012XXXXXX 日期:2014年9月30日 同组同学:学渣

目录: 一、实验介绍 (3) 1.1实验课题名称 (3) 1.2实验平台 (3) 1.3实验课题关键字..............................3 1.4实验摘要 (3) 二、小组分工 (3) 三、基本题目训练——流水灯与数码管秒表计时器 (3) 3.1实现功能 (3) 3.2程序代码分析 (4) 3.3实验结果图片 (7) 四、有关发声的基础知识 (7) 五、电子琴的设计与测试 (9) 5.1设计过程 (9) 5.2实验所需元器件 (9) 5.3实验程序主要流程图 (10) 5.4实验原理及原理图 (10) 5.4.1实验原理 (10) 5.4.2原理图 (11) 5.5各个模块的设计与讲解 (11) 5.6程序源代码及程序分析 (14) 5.7实验结果..................................... ..24 六、排错过程............................ . (26) 七、心得体会 (29) 八、参考文献 (32) 九、意见与建议 (33)

一、实验介绍: 1.1实验课题名称:基于ATmega16L单片机的电子琴设计 1.2实验平台:本实验所用平台为AVR Studio 4 1.3实验课题关键字: ATmega16L型单片机电子琴键盘按键 LCD液晶显示屏 1.4实验摘要: 本实验设计的电子琴拥有可视化操作界面,能实现即时弹奏音乐、音乐播放、音乐变速、音乐变调,并可以进行任意长度录音(通过按键记录音阶)等功能 二、小组分工: ●XXX负责电路硬件的连接和报告的撰写 ●XXX负责程序代码的编写 ●XXX负责资料的收集整理和查阅 三、基本题目训练——流水灯与数码管秒表计时器 3.1功能:八盏LED二极管按顺序依次循环点亮,实现流水灯的效果,同时两只数码管分别代表秒和十分之一秒,进行秒表计时,配有

北邮大二下小学期机器狗实习报告

北京邮电大学实习报告

1.焊接工艺 1.1 焊接工艺的基本知识 焊接是使金属连接的一种方法,也称作熔接、镕接,是一种以加热、高温或者高压的方式接合金属或其他热塑性材料如塑料的制造工艺及技术。焊接通过下列三种途径达成接合的目的: 1,、加热欲接合之工件使之局部熔化形成熔池,熔池冷却凝固后便接合,必要时可加入熔填物辅助 2、单独加热熔点较低的焊料,无需熔化工件本身,借焊料的毛细作用连接工件(如软钎焊、硬焊) 3、在相当于或低于工件熔点的温度下辅以高压、叠合挤塑或振动等使两工件间相互渗透接合(如锻焊、固态焊接) 依具体的焊接工艺,焊接可细分为气焊、电阻焊、电弧焊、感应焊接及激光焊接等其他特殊焊接。 焊接的能量来源有很多种,包括气体焰、电弧、激光、电子束、摩擦和超声波等。除了在工厂中使用外,焊接还可以在多种环境下进行,如野外、水下和太空。无论在何处,焊接都可能给操作者带来危险,所以在进行焊接时必须采取适当的防护措施。焊接给人体可能造成的伤害包括烧伤、触电、视力损害、吸入有毒气体、紫外线照射过度等。 它利用加热手段,在两种金属的接触面,通过焊接材料的原子或分子的相互扩散作用,使两种金属间形成一种永久的牢固结合。利用焊接的方法进行连接而形成的接点叫焊点。我们实验中主要是PCB板的焊接。 PCB板焊接工艺从大类上可以分为机器焊接和手工焊接。机器焊接不是我们学习的重点,仅作了解,机器焊接可使用波峰焊机来进行。 1.2 焊接工具、焊料、焊剂的类别与作用 如左下图为手工焊接的基本工具示意图,主要工具和材料是电烙铁、镊子、螺丝刀、钳子等。本实验采用的烙铁为内热式。

如右上图为焊接材料分类示意图,焊接材料分为焊料和焊剂,焊料主要是焊锡(内含助焊剂),焊剂主要是助焊剂和阻焊剂。 下面以列表的形式给出各项材料的作用。 1.3焊接方法 手工焊接方法: 1、准备施焊,检查焊件、焊锡丝、烙铁,保持焊件和烙铁头的干净,并对烙铁进行预热; 2、加热焊件,用烙铁头加热焊件各部分,加热时不要施压; 3、熔化焊料,焊锡丝从烙铁对面接触焊件,将焊丝至于焊点,是焊料融化并润湿焊点; 4、移开焊锡,当融化的焊料在焊点上堆积一定量后,移开锡丝; 5、移开烙铁,当焊锡完全润湿后,迅速移开烙铁,在焊锡凝固前保持焊件为静止状态。 本次实习采用的焊接方法示意图如下:

北邮多媒体计算机技术阶段作业

阶段作业一: 、判断题(共5道小题,共25.0 分) 1.算术编码是不可逆编码。 A.正确 B.错误 2.图像是具有空间性的信息。 A.正确 B.错误 3.激光唱盘的每个扇区的音频数据分为 96帧。 A.正确 B.错误 4.凹凸贴图(Bump Mapping)是一种在3D场景中模拟粗糙表面的技术。 A.正确 B.错误

5.高性能的视频采集卡一般具有一个复合视频接口和一个S—Video接口,以便与模拟视

频设备相连。 A.正确 B.错误 、多项选择题(共5道小题,共25.0分) 1.对于B图像,其宏块有:()。 A. 帧内宏块,简称I块 B. 前向预测宏块,简称F块 C. 后向预测宏块,简称B块 D. 平均宏块,简称A块 2.显像管显示器的标称尺寸:()。 A. 实际上是显像管的尺寸; B. 显示器可视范围比标称尺寸大; C. 显示器可视范围与标称尺寸相等; D. 显示器可视范围比标称尺寸小; 3.SVCD/CVD(PAL制式)常用MPEG —2哪个等级的图像分辨率:()。 A.1/2D1 (352 X 576) B.2/3D1 (480 X 576) C.3/4D1 (528 X 576) D.D1(720 X 576)

1. 可逆编码的压缩比大约在()之间。 A. 1: 1 ?2 : I B. 2: 1 ?5: I C. 5: 1 ?10: I D. 10: 1 ?100 : I 2. ()指感觉媒体和用于通信的电信号相互转换用的物理手段或设备。 A. 表现媒体 B. 表示媒体 C. 传输媒体 5. B. C. 三、单项选择题(共10道小题,共50.0 分) 4.下面关于SVCD 和CVD 说法正确的是:(). 二者是VCD 与DVD 的折衷产品; 二者采用 DVD 的MPEG — 2编码; A.

北邮c++小学期实验报告

面向对象程序设计与实践 c++实验总结报告 实验一简单C++程序设计 1.猜价格游戏 编写C++程序完成以下功能: (1)假定有一件商品,程序用随机数指定该商品的价格(1-1000的整数); (2)提示用户猜价格,并输入:若用户猜的价格比商品价格高或低,对用户作出相应的提示; (3)直到猜对为止,并给出提示。 题目1-1总结: 1)本题需要随机生成整数,我开始只使用rand(),即price=rand();来生成随机整数 但这样只是一个伪随机函数,每一次重新打开程序生成的数都是一致的。 因此加入时间随机种子:srand((unsigned)time(NULL)) 2)个人改进1:定义最大值最小值,在每次猜测数字时显示应猜的数字范围,作为提示。 想到这个是因为有一次猜了很多遍都没猜到,一时突然忘记猜到什么范围,然后往前翻猜过的数字和大小感觉相当麻烦,所以就添上了应猜范围,方便再一次猜数。 3)个人改进2:本来有一个判断条件判断生成的随机数是不是1~1000范围内,而后更进为

随机生成整数对1000取余得到0~999整数,再+1得到1~1000的整数。 实验二类与对象 1.矩形 编写C++程序完成以下功能: (1)定义一个Point类,其属性包括点的坐标,提供计算两点之间距离的方法;(2)定义一个矩形类,其属性包括左上角和右下角两个点,提供计算面积的方法;(3)创建一个矩形对象,提示用户输入矩形左上角和右下角的坐标; (4)观察矩形对象以及Point类成员的构造函数与析构函数的调用; (5)计算其面积,并输出。

题目2-1总结: 1)这一题是第一次用到class类的题目,开始并不明白为何要定义class,然后还需要区分 public和private。而后来去图书馆借了书看到c++最大特色就是可以封装,定义私有属性和公有函数,以确保有些函数和参数不会被轻易访问到,降低错误率。

2017北邮远程互联网基础与应用阶段作业一

2017北邮远程互联网基础与应用阶段作业一 一、单项选择题(共10道小题,共100.0分) 1. 在Internet业务提供商中,为用户提供Internet接入服务是()。 2. 1.ICP 2.ISP 3.IDC https://www.360docs.net/doc/d18689742.html,NIC 3. 远程登录程序Telnet的作用是()。 4. 1.让用户以模拟终端方式向Internet上发布信息 2.让用户以模拟终端方式在Internet上搜索信息 3.用户以模拟终端方式在Internet上下载信息 4.用户以模拟终端的方式登录到网络上或Internet上的一台主机,进而使用该主机的服务 5. 接入Internet并支持FTP协议的两台计算机,对于它们之间的文件传输,下列说法正确的是()。 6. 1.只能传输文本文件

2.不能传输图形文件 3.所有文件均能传输 4.只能传输几种类型的文件 7. 与传统的邮政邮件相比,电子邮件的突出优点是()。 8. 1.实时、方便和快捷 2.方便、快捷和廉价 3.保密、实时和方便 4.保密、实时和廉价 9. 以下统一资源定位符(URL)三部分组成的顺序正确的是()。 10. 1.协议、主机名、路径及文件名 2.路径及文件名、协议、主机名 3.主机名、协议、路径及文件名 4.协议、路径及文件名、主机名 11.

万维网(World Wide Web)是Internet中应用最广泛的领域之一,它又称为()。 12. 1.全球信息网 2.Internet 3.城市网 4.远程网 13. 域名系统(DNS)把整个Internet划分成多个顶级域,其中com、edu、gov、mil分配给()。 14. 1.商业组织、教育机构、政府部门、邮政部门 2.商业组织、教育机构、政府部门、军事部门 3.通信部门、教育机构、政府部门、军事部门 4.商业组织、教育机构、政府部门、铁路部门 15. 关于网络协议下列选项正确的是()。 16. 1.是网民们签订的合同 2.协议,简单地说就是为了网络传递信息共同遵守的约定 3.TCP/IP协议只能用于Internet 4.拨号网络对应的协议是IPX/SPX

北邮多媒体计算机技术第二阶段作业1

一、判断题(共5道小题,共25.0分) 1.在20世纪70年代左右,工作站是最重要的一类计算机。 A.正确 B.错误 2.超文本是由信息结点和表示信息结点间相关性的链构成的一个具有一定逻辑结构和 语义的网络。 A.正确 B.错误 3.超文本和超媒体技术是一种新的多媒体数据管理技术。 A.正确 B.错误 4.XML文件中一个简单的实体名称可以用来代表一大段文本内容。 A.正确 B.错误

5.XML文件的结构包括逻辑结构和物理结构。 A.正确 B.错误 1.上个世纪八十年代推出多媒体计算机系统主要有:()。 A.Amiga MPC B.Macintosh计算机 C.CD-I(compact disc interactive) D.DVI(digital video interactive) 2.常见的三维动画软件中,低端软件有:()。 A.lightwave B.3dsmax C.maya D.softimage(Sumatra) 3.图形根据其用途的不同分为很多种类,常见的有::()。 A.文本 B.图片

C.艺术字 D.表格 4.常见的多媒体合成与制作软件中基于流程图理念的软件是:()。 A.Authorware B.IconAuthor C.Director D.Action 5.基于B/S架构的软件通常利用哪种语言开发? A.JSP B.ASP C.C++ D.PHP 1.对于喜欢自己动手DIY歌曲和专辑的普通音乐爱好者,最适合的多轨录音软件是: ()。 A.Sonar1.3 B.Vegas Video 3.0 C.Sam2496 6.0和Nuendo 1.53 D.Cool Edit

单片机实验报告书

并行I/O接口实验 一、实验目的 熟悉掌握单片机并行I/O接口输入和输出的应用方法。 二、实验设备及器件 个人计算机1台,装载了Keil C51集成开发环境软件。https://www.360docs.net/doc/d18689742.html,单片机仿真器、编程器、实验仪三合一综合开发平台1台。 三、实验内容 (1)P1口做输出口,接八只发光二极管,编写程序,使发光二极管延时(0.5-1秒)循环点亮。实验原理图如图3.2-1所示。 图3.2-1单片机并行输出原理图 实验程序及仿真 ORG 0000H LJMP START ORG 0100H START:MOV R2,#8 MOV A,#0FEH LOOP:MOV P1,A

LCALL DELAY RL A DJNZ R2,LOOP LJMP START DELAY:MOV R5,#20 D1:MOV R6,#20 D2:MOV R7,#248 D3:DJNZ R7,D3 DJNZ R6,D2 DJNZ R5,D1 RET END 中断实验一、实验目的

熟悉并掌握单片机中断系统的使用方法,包括初始化方法和中断服务程序的编写方法。 二、实验设备及器件 个人计算机1台,装载了Keil C51集成开发环境软件。 https://www.360docs.net/doc/d18689742.html,单片机仿真器、编程器、实验仪三合一综合开发平台1台。 三、实验内容 (2)用P1口输出控制8个发光二极管LED1~LED8,实现未中断前8个LED闪烁,响应中断时循环点亮。 实验程序及仿真 ORG 0000H LJMP MAIN ORG 0003H LJMP INT00 ORG 0010H MAIN: A1:MOV A,#00H MOV P1,A MOV A,#0FFH MOV P1,A SETB EX0 JB P3.2,B1 SETB IT0 SJMP C1 B1:CLR IT0 C1:SETB EA NOP SJMP A1 INT00:PUSH Acc PUSH PSW MOV R2,#8

单片机实验报告 (3)

单片机原理及接口技术 学院:光电信息科学与技术学院班级:——实验报告册 083-1 实验一系统认识实验 1.1 实验目的 1. 学习keil c51集成开发环境的操作。 2. 熟悉td-51系统板的结构和使用。 1.2实验仪器 pc 机一台,td-nmc+教学实验系统。 1.3实验内容 1. 编写实验程序,将00h—0fh共16个数写入单片机内部 ram 的30h—3fh空间。 2.编写实验程序,将00h到0fh共16个数写入单片机外部ram的1000h到100fh空间。 1.4 源程序 https://www.360docs.net/doc/d18689742.html, 0000h mov r1,#30h mov r2, #10h mov a, #00h mov @r1, a inc r1 inc a djnz r2,loop sjmp $ end 2. org 0000h mov dptr, #1000h mov r2, #10h mov a, #00h movx @dptr, a inc dptr inc a djnz r2,loop sjmp $ end loop: loop: 1.5 实验步骤 1.创建 keil c51 应用程序 (1)运行 keil c51 软件,进入 keil c51 集成开发环境。 - 3 -(2)选择工具栏的 project 选项,弹出下拉菜单,选择 newproject 命令,建立一个新的μvision2 工程。选择工程目录并输入文件名 asm1 后,单击保存。 (3)工程建立完毕后,弹出器件选择窗口,选择 sst 公司的 sst89e554rc。(4)为工程添加程序文件。选择工具栏的 file 选项,在弹出的下拉菜单中选择 new 目录。 (5)输入程序,将 text1 保存成asm1.asm。 (6)将asm1.asm源程序添加到 asm1.uv2 工程中,构成一个完整的工程项目。 2.编译、链接程序文件(1)设置编译、链接环境 (2)点击编译、链接程序命令,此时会在 output window 信息输出窗口输出相关信息。 3.调试仿真程序 (1)将光标移到 sjmp $语句行,在此行设置断点。 (2)运行实验程序,当程序遇到断点后,停止运行,观察存储器中的内容,验证程序功能。 1.6 实验结果. 2. 4 实验二查表程序设计实验 2.1实验目的 学习查表程序的设计方法,熟悉 51 的指令系统。 2.2实验设备 pc 机一台,td-nmc+教学实验系统 2.3实验内容 1.通过查表的方法将 16 进制数转换为 ascii 码; 2.通过查表的方法实现y=x2,其中x为0—9的十进制数,以bcd码表示,结果仍以bcd 码形式输出。

北邮 多媒体技术 期末 知识点

北邮多媒体技术期末知识点 媒体分为哪几类?简述各类媒体与计算机系统的关系。媒体是信息表示和传输的载体。CCITT对媒体分类:感觉媒体,表示媒体,表现媒体,存储媒体,传输媒体。什么是多媒体技术?简述其主要特点。多媒体技术就是计算机交互式综合处理多种媒体信息──文本、图形、图象和声音,使多种信息建立逻辑连接,集成为一个系统并具有交互性。特点: 1.集成性:媒体信息即声音、文字、图象、视频等的集成。显示或表现媒体设备的集成,即多媒体系统一般不仅包括了计算机本身而且还包括了象电视、音响、录相机、激光唱机等设备。 2.实时性:多媒体系统中声音及活动的视频图象,动画等媒体是强实时的。多媒体系统提供了对这些时基媒体实时处理的能力。 3.交互性:多媒体计算机与其

它象电视机、激光唱机等家用声像电器有所差别的关键特征。普通家用声像电器无交互性,即用户只能被动收看,而不能介入到媒体的加工和处理之中。多媒体技术发展经历了哪几个阶段?其研究意义如何?三个阶段:启蒙发展阶段,标准化阶段(90-),应用普及(2000-) 研究意义:从人类历史发展的角度看,人人之间的交流手段是推动社会发展的一个重要因素。多媒体技术的引入提高了工作效率,多媒体技术不仅是时代的产物,也是人类历史发展的必然。从计算机发展的角度看,用户和计算机的交互技术一直是推动计算机技术发展的重要动因。多媒体技术将文字、声音、图形、图象集成为一体,获取、存储、加工、处理、传输一体化,使人机交互达到了最佳的效果。多媒体技术的研究内容主要有哪些方面?数据编码、压缩/解压算法与标准多媒体数据存储技术多媒体计算机系统硬件与软件平台多媒体系统软件开发环境

相关文档
最新文档