文档库 最新最全的文档下载
当前位置:文档库 › 简单计算机程序设计基础复习资料

简单计算机程序设计基础复习资料

简单计算机程序设计基础复习资料
简单计算机程序设计基础复习资料

计算机程序设计基础复习大纲

(2016-9)

一、考试范围:大纲范围,教材+实验任务+课后作业

二、考试题型与分数布局:

1.单选题(30?1分,共30分)

2.判断题(15?1分,共15分)

3.填空题(3?6分,共18分)

4.阅读题(3?5分,共15分)

5.编程题(3题,共22分)

考试方式:闭卷,考试时间:十七周周三(12月21日)晚上7:00~9:00

三、各章节主要知识点

1、基础编程

求和运算:奇数、偶数求和;求阶乘的累加和;判定素数,求某一范围内的素数求和或素数的个数;利用辗转相除法(阿基里德算法)求最大公约数和最小公倍数;求回文;“数据---各位数字”的获取、逆序输出;十进制转换为二进制、十进制转换为八进制。

**************************************************************************************** 2、数组的应用

数组的基本操作:数组元素求和、求平均值;求最大(最小)元素的值及其在数组中的位置;删除数组元素;在有序数列中插入元素;起泡法、选择法的排序;折半查找;按规律自动产生一维或二维N*N 数据;Fibonacci 数列;杨辉三角。字符串类的应用:以string s1,s2;为例,掌握getline(cin,s1)、s1.size()、s[i]以及s1 与s2的比较操作。

**************************************************************************************** 3、指针的应用

利用指针在数组中完成:利用指针变量操作普通变量(数据的间接访问方式);利用指针变量操作一维数组,包括:数据的有序插入、计算并输出交集、折半查找、将数组中的最大最小值进行交换、将数组中的数据按相反顺序存放。

****************************************************************************************

4、函数的应用

(1)库函数:随机函数的使用,例如利用随机函数产生数组的所有元素并执行相应操作,比如左移或右移操作。

(2)用户自定义函数:注意主函数与子函数之间的数据交换,包括:值传递、指针传递、数组传递、引用传递。

(3)递归函数:阶乘运算n!、幂运算a b、斐波那契数列。

容易出错的地方

●少头文件

#include

#include

#include

#include

●判等==不等!= 大于等于>= 小于等于<=

●条件式中注意与&& 和或|| 的区别

字符是否为元音字符:

(ch=='a'|| ch =='A'|| ch =='e'|| ch =='E'|| ch =='i'|| ch =='I'|| ch =='o'|| ch =='O'|| ch =='u'|| ch =='U')

字符是否为英文字母:

( ch>=’a’&&ch<=’z’ || ch>=’A’&&ch<=’Z’)

字符是否为数字:

( ch>=’0’&&ch<=’9’)

●Break(退出最近的封闭的循环)和continue(退出本次循环)的区别

●a=b=1; 40

●注意if /else的配对关系

●注意两种排序算法中,循环条件及比较条件的区别

●数组元素下标一定从0开始

●函数定义头部和函数声明语句完全一样!!!函数定义时,参数表的括号后面

不能有分号!当数组作为函数参数时,数组名后面的方括号一定不能省掉!!!

●函数调用时,实参和形成在类型和个数上要完全一致!如果是指针变量做函

数的形参,则在调用时实参一定传递的是地址(可以是普通变量的地址,如F(&x);可以是指向普通变量的指针,如int *p; p=&x; F(p); 或者是数组名int a[N]; sort(a,N);或者是指向数组的指针,如int *p, a[N]; p=a;

sort(p,N);

●用string类处理字符串

#include //不能少

string s;

●可以用cin输入(不接收空格);也可以用getline(cin,s),接收空格;

getline(cin,s,’#’),以特定字符作为输入结束的标志。

●l=s.length(); l=s.size(); for(i=0;i

四、部分算法实现参考代码

●判断一个数是否为素数

#include

#include

using namespace std;

void main ()

{

int n,i;

cout<<"Enter a positive integer :" ;

cin>> n ;

for ( i=2; i<=sqrt((double)n);i++)

{

if(n%i==0) break;

}

if(i<=sqrt((double)n))

cout<<“不是素数“<

else

cout<<“是素数“<

}

●求n之内所有质数之和

#include

#include

using namespace std;

void main ()

{

int n,i=3,j,sum=2;

cout<<"请输入质数求和的范围:"<

cin>>n;

cout<

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

{

for(j=2;j<=sqrt(double(i));j++)

{

if(i%j==0)

break;

}

if(j>sqrt(double(i)))

{

cout<<'+'<

sum=sum+i;

}

}

cout<<"="<

}

●求100以内所有奇数之和

#include

using namespace std;

void main()

{

int k,s=0;

for(k=1;k<=100;k++)

{

if(k%2==0)

continue;

s=s+k;

}

cout<<“s=”<

}

●求回文

#include

using namespace std;

void main( )

{ int n,m,num=0,r;

cout <<"Enter the number:";

cin >>n;

m=n;

while (n!=0)

{ r=n%10; //输出数字左移1位

num=num*10+r; // 求逆序数

n/=10; /*从原始数据中去掉已经反序输出的数位,为获

取下一个反序输出数字做准备*/ }

if(num==m)

cout <<"整数"<

else

cout <<"整数"<

}

●利用辗转相除法(阿基里德算法)求最大公约数和最小公倍数#include

using namespace std;

void main( )

{

int p, q, r,a,b; // 变量定义,p,q,r,a,b

// 提示用户由键盘输入两个正整数

cout<< "Please input two integer numbers:"<

cin>>p>>q;

a=p;

b=q; //保留原来p,q的值,分别放在a,b中

//保证p为大数,q为小数

if(p

{ r=p; p=q; q=r; }//交换p,q // 计算p 除q 的余数r

r=p%q;

// 只要r 不等于0, 重复进行下列计算

while(r!=0)

{ p=q;

q=r;

r=p%q;

} //辗转法

cout <<"两个正整数的最大公因数是"<

cout <<"两个正整数的最小公倍数是"<

}

“数据---各位数字”的获取、重组及转存

已知int a=1234,写出计算其个、十、百、千位的表达式。

解:a%10, a/10%10, a/100%10,a/1000%10或a/1000

●将键盘输入的整数反序输出

#include

using namespace std;

void main( )

{

int n,num;

cout <<"Enter the number:";

cin >>n;

cout <<"The number in reverse order is: ";

do

{

num = n % 10;

cout << num;

n /= 10;

} while (n!=0);

cout <

}

●求一个整数的反序数

#include

using namespace std;

void main( )

{ int n,num=0;

cout <<"Enter the number:";

cin >>n;

while (n!=0)

{

r=n%10; //输出数字左移1位

num=num*10+r; // 求逆序数

n/=10; /*从原始数据中去掉已经反序输出的数位,为获

取下一个反序输出数字做准备*/

}

cout <<"The number in reverse order is: "<

}

●十进制转换为八进制

#include

#include

using namespace std;

void main( ) {

int a,j; //a为十进制整数,j为a除以8的余数

double i=0.0; //用于记录得到的余数是第几位,最低位为第0位

double b=0.0; //b为转换后的八进制整数

cout<<"请输入一个十进制整数:";

cin>>a;

do

{

j=a%8; //转换成那种进制就除以对应进制的基数

b=b+j*pow(10.0,i); /*最先得到的余数是转换后的八进制数的最低位,乘以位权后存放到b中*/

a=a/8; // a除8的商,为下一次“除基数取余”做准备

i=i+1;

}while(a>0); // 循环,直到商为0为止

cout<

cout.precision(0);

cout<<"转换成八进制数是:"<

}

●八进制转换为十进制

#include

#include

using namespace std;

void main( ) {

int a,j; //a为八进制整数,j为a除以10的余数

double i=0.0; //用于记录得到的余数是第几位,最低位为第0位

double b=0.0; //b为转换后的十进制整数

cout<<"请输入一个八进制整数:";

cin>>a;

do

{

j=a%10; //取八进制数的各个位上的数字,然后用位权法进行转换

以位权后存放到b中*/

a=a/10; // 取八进制数下一位上的数字(从右往左取)

i=i+1;

}while(a>0); // 循环,直到商为0为止

cout<

cout.precision(0);

cout<<"转换成十进制数是:"<

**************************************************************************************** **************************************************************************************** ●一维数组求平均值

#include

using namespace std;

void main( )

{

const int N=10;

int scores[N];

int n,i,total=0; // n为数组实际长度

float avg=0.0;

cout<<“请输入数组长度:”;

cin>>n; // 输入数组实际长度

for(i=0;i

cin>>scores[i];

for(i=0;i

total=total+scores[i];

avg=float(total)/n; //计算平均成绩

cout<<“Average:”<

}

●求一维数组中的最大值及其位置

#include

using namespace std;

void main( )

{

const int N=10;

int a[N]; //声明数组

int n,i,j,high;

cout<<“请输入数组实际长度:”;

cin>>n;

for(i=0;i>a[i];

high=a[0]; //默认第一个元素为最大值

j=0; //记录最大元素的下标

for(i=1;i

{

if(a[i]>high)

{

high=a[i]; //记录最大值

j=i; //记录最大元素的下标

}

}

cout<<“最大元素为第”<

}

●数组的反序(逆序)输出

法一:普通数组

#include

#include

using namespace std;

void main()

{

const int N=10;

int a[N],i,j,n,temp;

cout<<"请输入数组的实际长度:"<

cin>>n;

cout<<"请输入数组元素:"<

for(i=0;i

cin>>a[i];

for(i=0,j=n-1;i

{

temp=a[i]; a[i]=a[j]; a[j]=temp; //实现反序存储

}

cout<<"反序之后的数组元素为:"<

for(i=0;i

cout<

}

●法二:指针方法

#include

#include

using namespace std;

void main()

{

const int N=10;

int a[N],i,j,n,temp, *p;

cout<<"请输入数组的实际长度:"<

cin>>n;

cout<<"请输入数组元素:"<

for(p=a;p>*p;

p=a;

for(i=0,j=n-1;i

{

temp=*(p+i); *(p+i)=*(p+j); *(p+j)=temp; //实现反序存储

}

cout<<"反序之后的数组元素为:"<

for(p=a;p

cout<

}

●方法三:子函数实现

#include

using namespace std;

void invert(int *p, int n)

{

int i,j,temp;

for(i=0,j=n-1;i

{

temp=*(p+i);

*(p+i)=*(p+j);

*(p+j)=temp;

}

}

void main()

{

int a[10],i,*p;

cout<<"Input ten interger:"<

for(i=0;i<10;i++) cin>>a[i];

p=&a[0]; // p=a; 指针指向数组

invert(p,10); //函数调用方式1,用指向数组的指针for(i=0;i<10;i++) cout<

}

void main( )

{

int a[10],i;

cout<<"Input ten interger:"<

for(i=0;i<10;i++) cin>>a[i];

invert(a,10); //函数调用方式2,用数组名

for(i=0;i<10;i++) cout<

}

插入算法

●法一:普通数组

#include

#include

using namespace std;

void main()

{

const int N=10;

int a[N+1],p,x,i;

cout<<“输入a 数组:”<>a[i]; cout<<"输入待插入的数x :"<>x; p=0;

while(x>a[p]&&p=p;i--)

a[i+1]=a[i]; //将a[p]~a[n-1]后移 a[p]=x; //x 插入正确位置 for(i=0;i<=n;i++)

cout<

● 法二:指针

#include #include using namespace std; void main(void) {

const int N=10; int a[N+1],p,x, *t ; cout<<“输入a 数组:”<>*t;

cout<<“输入待插入的数x :”<>x; t=a; p=0;

while (x>*(t+p)&&p=p; i--) *(t+i+1)=*(t+i); // ① t=a;

*(t+p)=x; // ①

for(t=a;t

cin>>*t; }

折半查找

● 方法一:数组方法 #include using namespace std; void main( ) {

int a[10],i, top=0,bot=9,mid, x;

cout<<"Please input ten numbers(from small to big):"<

for (t=a+N-1; t>=a+p; t--) *(t+1)=*t; // ② t=a+p; //将指针t 指向由p 记录的插入位置

*t=x; // ②

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

cin>>a[i];

cout<<"Please input the number to search:"<>x; //从键盘接收需要查找的数while(top<=bot)

{

mid=(bot+top)/2;

if(x==a[mid])

break; //结束最近的封闭循环体

else

if(x>a[mid])

top=mid+1;

else

bot=mid-1;

}

if(top<=bot)

cout<

else

cout<<"No this number.";

}

方法二:指针

#include

using namespace std;

void main(void)

{

const int N =10;

int a[N],x,top=0,bot=N-1,mid,*p;

//输入一个从小到大序列的8个数据

for(p=a;p>*p;

//输入要查找的数

cin>>x;

p=a;

while(top<=bot)

{

mid=(top+bot)/2;

if(*(p+mid)==x) break;

else if(x>*(p+mid)) top=mid+1;

else bot=mid-1;

}

if(top<=bot) cout<<"pos is:"<

else cout<<"This number is not in this array ";

}

选择排序

●方法一:数组方法

#include

using namespace std;

void main( )

{

const int N=20;

int a[N];

int i,j,t,n;

cout<<“Input n:”;

cin>>n;

cout<<“Input numbers:”<

for(i=0;i

cin>>a[i]; //输入数组元素

for(i=0;i

for(j=i+1; j

if(a[i]>a[j])

{ t=a[i]; a[i]=a[j]; a[j]=t; } //排序cout<<“The sorted numbers is:”<

for(i=0;i

{

cout.width(5);

cout<

} //输出

}

●方法二:指针

p=a;

for(i=0;i

for(j=i+1; j

if(*(p+i)>*(p+j)

{ t=*(p+i); *(p+i)= *(p+j); *(p+j)=t; } //排序

冒泡排序

●方法一:数组方法

#include

using namespace std;

void main( )

{

const int N=20;

int a[N];

int i,j,t,n;

cout<<“Input n:”;

cin>>n;

cout<<"Input numbers:"<

for(i=0; i

cin>>a[i]; //输入数组元素

for(i=0; i

for(j=0; j

if(a[j]>a[j+1])

{ t=a[j]; a[j]=a[j+1]; a[j+1]=t; }

cout<<"The sorted numbers is:"<

for(i=0; i

{

cout.width(5);

cout<

}

cout<

}

●方法二:指针

p=a;

for(i=0; i

for(j=0; j

if(*(p+j)> *(p+j+1))

{ t=*(p+j); *(p+j)= *(p+j+1); *(p+j+1)=t; }

●由随机数产生器产生一维数组的元素,求最大值及其所在数组中的位置,求

最小值及其所在数组中的位置,并把最大最小值进行交换。

#include

#include

#include

using namespace std;

void main()

{

const int N=20;

int a[N],n,i,j,k,t,max,min;

cout<<"请输入n值:"<

cin>>n;

srand(time(NULL));

for(i=0;i

{

a[i]=1+rand()%(200-1+1);

}

cout<<"产生的随机数为:"<

for(i=0;i

cout<<" "<

min=a[0];

for(i=1;i

{

if(a[i]

{

min=a[i];

j=i;

}

}

cout<

cout<<"最小数为:"<

for(i=1;i

{

if(a[i]>max)

{

max=a[i];

k=i;

}

}

cout<<"最大数为:"<

cout<<"最大、最小值交换后的结果为:"<

for(i=0;i

cout<<" "<

}

定义有10个整型元素的一维数组,数组元素由随机数产生器生成,并将数组中所有元素循环右移m位。

#include

#include

#include

#include

using namespace std;

void main()

{

const int N=10;

int i,m,k,t=0;

int a[N];

cout<<"随机产生数组的十个元素(1~100):"<

srand(time(NULL)); //初始化随机数产生器

for(i=0;i

{

a[i]=1+rand( )%(100-1+1); //产生指定范围的随机数

}

for(i=0;i

cout<

cout<

cin>>m;

k=m%N;

while(k--)

{

t=a[N-1];

for(i=N-1; i>0; i--)

a[0]=t;

}

cout<<"数组循环右移"<

for(i=0;i

cout<

}

求一维数组的平均值并且把小于平均值的那些元素删掉。#include

using namespace std;

void main()

{

const int N=20;

int a[N];

int i,j,n;

double ave=0,sum=0;

cout<<"input the n:";

cin>>n;

for(i=0;i

{

cin>>a[i];

if(a[i]==0) break;

}

for(i=0;i

{

cout<

}

cout<

for(i=0;i

{

sum=sum+a[i];

}

ave=sum/n;

cout<<"the ave is:"<

for(i=0;i

{

if(a[i]

{

for(j=i;j

{

a[j]=a[j+1];

} //删除小于平均值的数组元素

n--; //删除小于平均值的元素后,数组的实际长度

i--;

}

}

for(i=0;i

{

cout<

}

}

按规律自动产生一维或二维N*N 数据(如蛇形规律数据)

#include

#include

using namespace std;

void main()

{

const int t=6;

int i,j,k=1,count;

int a[t][t];

for(i=0;i

{

if(i%2==0)

{

count=i*t+1;

for(j=0;j

a[i][j]=count++;

}

else

{

count=(i+1)*t;

for(j=0;j

a[i][j]=count--;

}

}

for(i=0;i

{

for(j=0;j

cout<

cout<

}

for(i=0;i

{

for(k=0;k<3*(t-i);k++)

cout<<' ';

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

cout<

按照指定图形或格式输出指定区域数据。

观察输出结果,可用发现规律:

共输出10行数据,第10行的“1”前面有0个空格;第9行的“1”前面有3个空格;第8行的“1”前面有6个空格;第7行的“1”前面有9个空格…… 第1行的“1”前面有24个空格。即每行先输出3*(n-1-i)个空格后再输出杨辉三角数。(其中n 为输出的行数,本例n 取10,i 为行的循环控制变量,i 从0取到9)

#include #include using namespace std; void main() {

const int N=20; int a[N][N]; int n;

cout<<"请输入杨辉三角需要输出的层数:"<>n;

a[0][0]=1;a[1][0]=1;a[1][1]=1;

int i,j; for (i=2;i

{

a[i][0]=1; for (j=1;j

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

a[i][i]=1; }

for (i=0;i

{

for(i=0;i<=N-1;i++) {for(k=0;k<=18-(2*i);k++) cout<<" "; for(j=0;j<=i;j++) cout<

大一大学计算机基础期末考试试题

大一大学计算机基础期末考试试题大一大学计算机基础期末考试试题 一、单选题 1、完整的计算机系统由(C)组成。 A、运算器、控制器、存储器、输入设备和输出设备 B、主机和外部设备 C、硬件系统和软件系统 D、主机箱、显示器、键盘、鼠标、打印机 A、Windowsxp B、unix C、linux D、microsoftoffice 3、用一个字节最多能编出(D)不同的码。 A.8个 B.16个 C.128个 D.256个 4、任何程序都必须加载到(C)中才能被CPU执行。 A.磁盘 B.硬盘 C.内存 D.外存 5、下列设备中,属于输出设备的是(A)。 A、显示器 B、键盘 C、鼠标 D、手字板 6、计算机信息计量单位中的K代表(B)。

A.102 B.210 C.103 D.28 7、RAM代表的是(C)。 A.只读存储器 B.高速缓存器 C.随机存储器 D.软盘存储器 8、组成计算机的CPU的两大部件是(A)。 A、运算器和控制器B.控制器和寄存器 C、运算器和内存D.控制器和内存 9、在描述信息传输中bps表示的是(D)。 A、每秒传输的字节数 B、每秒传输的指令数 C、每秒传输的字数 D、每秒传输的位数 10、微型计算机的内存容量主要指(A)的容量。 A.RAM B.ROM C.CMOS D.Cache 11、十进制数27对应的二进制数为(D)。 A.1011 B.1100 C.10111 D.11011 12、Windows的目录结构采用的是(A)。 A、树形结构 B、线形结构 C、层次结构 D、网状结构 13、将回收站中的文件还原时,被还原的文件将回到(D)。 A、桌面上 B、“我的文档”中 C、内存中 D、被删除的位置

计算机仿真课程设计报告

、 北京理工大学珠海学院 课程设计任务书 2010 ~2011 学年第 2学期 学生姓名:林泽佳专业班级:08自动化1班指导教师:钟秋海工作部门:信息学院一、课程设计题目 : 《控制系统建模、分析、设计和仿真》 本课程设计共列出10个同等难度的设计题目,编号为:[0号题]、[1号题]、[2号题]、[3号题]、[4号题]、[5号题]、[6号题]、[7号题]、[8号题]、[9号题]。 学生必须选择与学号尾数相同的题目完成课程设计。例如,学号为8xxxxxxxxx2的学生必须选做[2号题]。 二、课程设计内容 (一)《控制系统建模、分析、设计和仿真》课题设计内容|

! " [2 有波纹控制器Dy(z)和一单位速度信号输入时的最少拍无波纹控制器Dw(z)。具体要求见(二)。 (二)《控制系统建模、分析、设计和仿真》课题设计要求及评分标准【共100分】 , 1、求被控对象传递函数G(s)的MATLAB描述。(2分) 2、求被控对象脉冲传递函数G(z)。(4分) 3、转换G(z)为零极点增益模型并按z-1形式排列。(2分) 4、确定误差脉冲传递函数Ge(z)形式,满足单位加速度信号输入时闭环稳态误差为零和实际 闭环系统稳定的要求。(6分) 5、确定闭环脉冲传递函数Gc(z)形式,满足控制器Dy(z)可实现、最少拍和实际闭环系统稳 定的要求。(8分)

6、根据4、5、列写方程组,求解Gc(z)和Ge(z)中的待定系数并最终求解Gc(z)和Ge(z) 。 (12分) 7、求针对单位加速度信号输入的最少拍有波纹控制器Dy(z)并说明Dy(z)的可实现性。 (3分) ! 8、用程序仿真方法分析加速度信号输入时闭环系统动态性能和稳态性能。(7分) 9、用图形仿真方法(Simulink)分析单位加速度信号输入时闭环系统动态性能和稳态性能。 (8分) 10、确定误差脉冲传递函数Ge(z)形式,满足单位速度信号输入时闭环稳态误差为零和实际 闭环系统稳定的要求。(6分) 11、确定闭环脉冲传递函数Gc(z)形式,满足控制器Dw(z)可实现、无波纹、最少拍和实际 闭环系统稳定的要求。(8分) 12、根据10、11、列写方程组,求解Gc(z)和Ge(z)中的待定系数并最终求解Gc(z)和Ge(z) 。 (12分) 13、求针对单位速度信号输入的最少拍无波纹控制器Dw(z)并说明Dw(z)的可实现性。(3分) 14、用程序仿真方法分析单位速度信号输入时闭环系统动态性能和稳态性能。(7分) 15、用图形仿真方法(Simulink)分析单位速度信号输入时闭环系统动态性能和稳态性能。 & (8分) 16、根据8、9、14、15、的分析,说明有波纹和无波纹的差别和物理意义。(4分) 三、进度安排 6月13至6月14:下达课程设计任务书;复习控制理论和计算机仿真知识,收集资料、熟悉仿真工具;确定设计方案和步骤。 6月14至6月16:编程练习,程序设计;仿真调试,图形仿真参数整定;总结整理设计、 仿真结果,撰写课程设计说明书。 6月16至6月17:完成程序仿真调试和图形仿真调试;完成课程设计说明书;课程设计答 辩总结。 [ 四、基本要求

程序设计基础(知识点)

第三部分程序设计基础 3.1 程序、程序设计、程序设计语言的定义 ⑴程序:计算机程序,是指为了得到某种结果而可以由计算机等具有信息处理能力的装置执行的代码化指令序列,或者可以被自动转换成代码化指令序列的符号化指令序列或者符号化语句序列。 ⑵程序设计:程序设计是给出解决特定问题程序的过程,是软件构造活动中的重要组成部分。程序设计往往以某种程序设计语言为工具,给出这种语言下的程序。程序设计过程应当包括分析、设计、编码、测试、排错等不同阶段。 ⑶程序设计语言:程序设计语言用于书写计算机程序的语言。语言的基础是一组记号和一组规则。根据规则由记号构成的记号串的总体就是语言。在程序设计语言中,这些记号串就是程序。程序设计语言有3个方面的因素,即语法、语义和语用。 3.2 高级语言和低级语言的概念及区别 ⑴高级语言:高级语言(High-level programming language)是高度封装了的编程语言,与低级语言相对。

它是以人类的日常语言为基础的一种编程语言,使用一般人易于接受的文字来表示(例如汉字、不规则英文或其他外语),从而使程序编写员编写更容易,亦有较高的可读性,以方便对电脑认知较浅的人亦可以大概明白其内容。 ⑵低级语言:低级语言分机器语言(二进制语言)和汇编语言(符号语言),这两种语言都是面向机器的语言,和具体机器的指令系统密切相关。机器语言用指令代码编写程序,而符号语言用指令助记符来编写程序。 ⑶区别: 高级语言:实现效率高,执行效率低,对硬件的可控性弱,目标代码大,可维护性好,可移植性好低级语言:实现效率低,执行效率高,对硬件的可控性强,目标代码小,可维护性差,可移植性差 了解知识:CPU运行的是二进制指令,所有的语言编写的程序最终都要翻译成二进制代码。越低级的语言,形式上越接近机器指令,汇编语言就是与机器指令一一对应的。而越高级的语言,一条语句对应的指令数越多,其中原因就是高级语言对底层操作进行了抽象和封装,

C语言程序设计课程设计题目

1 一元稀疏多项式的运算 问题描述:设有两个带头指针的单链表表示两个一元稀疏多项式A、B,实现两个一元稀疏多项式的处理。 实现要求: ⑴输入并建立多项式; ⑵输出多项式,输出形式为整数序列:n,c1,e1,c2,e2……c n,e n,其中n是多项式的项数,c i,e i分别为第i项的系数和指数。序列按指数降序排列; ⑶多项式A和B相加,建立多项式A+B,输出相加的多项式; ⑷多项式A和B相减,建立多项式A-B,输出相减的多项式; ⑸多项式A和B相乘,建立多项式A×B,输出相乘的多项式; ⑹设计一个菜单,至少具有上述操作要求的基本功能。 测试数据: (1) (2x+5x8-3.1x11)+(7-5x8+11x9) (2) (6x-3-x+4.4x2-1.2x9)-(-6x-3+5.4x2+7.8x15) (3)(x+x2+x3)+0 (4)(x+x3)-(-x-x-3) 2 成绩排序 假设某年级有4个班,每班有45名同学。本学期有5门课程考试,每门课程成绩是百分制。假定每个同学的成绩记录包含:学号、姓名各门课程的成绩共7项,其中学号是一个10位的字符串,每个学生都有唯一的学号,并且这4个班的成绩分别放在4个数组中,完成以下操作要求: ⑴编写一个成绩生成函数,使用随机数方法,利用随机函数生成学生的各门课程的成绩(每门课程的成绩都是0∽100之间的整数),通过调用该函数生成全部学生的成绩; ⑵编写一个平均成绩计算函数,计算每个同学的平均成绩并保存在成绩数组中; ⑶用冒泡排序法对4个班的成绩按每个同学的平均成绩的以非递增方式

进行班内排序; ⑷用选择排序法对4个班的成绩按每个同学的平均成绩的以非递增方式进行班内排序; ⑸对已按平均成绩排好序的4个班的同学的构造一个所有按平均成绩的以非递增方式排列的新的单链表; ⑹设计一个菜单,至少具有上述操作要求的基本功能。 3 迷宫问题 问题描述:以一个m×n的长方阵表示迷宫,0和1分别表示迷宫中的通路和障碍。设计一个程序,对任意设定的迷宫,求出一条从入口到出口的通路,或得出没有通路的结论。 实现要求: ⑴实现一个以链表作存储结构的栈类型,然后编写一个求解迷宫的非递归程序。求得的通路以三元组(i,j,d)的形式输出,其中:(i,j)指示迷宫中的一个坐标,d表示走到下一坐标的方向。 ⑵编写递归形式的算法,求得迷宫中所有可能的通路; ⑶以方阵形式输出迷宫及其通路。 [测试数据] 迷宫的测试数据如下:左上角(1,1)为入口,右下角(8,9)为出口。 1 2 3 4 5 6 7 8 实现提示:

《大学计算机基础》期末考试试题(A卷)

《大学计算机基础》期末考试试题(A卷) 学院:专业班级:姓名:学号: 一、选择题(每小题1分,共20分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。请将正确选项的编号写在答题卡的对应框中。 1、微型计算机的运算器、控制器和内存储器总称为( ) A)CPU B)MPU C)主机D)RAM 2、(188)10转化为十六进制数应该是( ) A)(DB)H B)(CB)H C)(BD)H D)(BC)H 3、完成计算机系统中软、硬件资源管理的系统软件是 ( ) A)操作系统B)CPU C)主机D)语言处理程序 4、下列属于易失性存储器的是( ) A)ROM B)RAM C)磁盘存储器D)闪存 5、下列字符中,其ASCII码值最小的一个是( ) A)8 B)Y C)a D)A 6、配置高速缓冲存储器(Cache)是为了解决( ) A)内存与辅助存储器之间速度不匹配问题B) CPU与辅助存储器之间速度不匹配问题 C) CPU与内存储器之间速度不匹配问题D)主机与外设之间速度不匹配问题 7、1MB等于( ) A)1000KB B)1024KB C)1024B D)1000B 8、计算机软件系统一般包括系统软件和( ) A)实用软件B)数据库软件C)应用软件D)编辑软件 9、GB18030-2000采用单/双/四字节混合编码,收录的汉字和藏、蒙、维吾尔等主要少数民族语言文字总数有( ) A)1.6万个B)2.7万个C)7445个D)3755个

10、能将高级语言源程序转换成目标程序的是( ) A)编译程序B)解释程序C)编辑程序D)应用程序 11、Flash的元件包括图形、影片剪辑和( ) A)图层B)时间轴C)按钮D)声音 12、下列不属于多媒体静态图像文件格式的是( ) A)GIF B)AVI C)BMP D)PCX 13、下列IP地址中属于B类地址的是( ) A) 98.62.53.6 B) 130.53.42.10 C) 200.245.20.11 D) 221.121.16.12 14、以下正确的E-mail地址是( ) A)用户名+@+域名B)用户名+域名C)主机名+@+域名D)主机名+域名 15、下列属于我国教育科研网的是( ) A)CERNET B)ChinaNet C)CASNet D)ChinaDDN 16、在缺省情况下,下列属于C类网络的掩码是( ) A)255.225.255.255 B)255.255.0.0 C)255.0.0.0 D)255.255.255.0 17、WWW是Internet提供的一项服务,通常采用的传输协议是( ) A)SMTP B)FTP C)SNMP D)HTTP 18、数据的存储结构是指( ) A)数据所占的存储空间量B)数据的逻辑结构在计算机中的表示 C)数据在计算机中的顺序存储方式D)存储在外存中的数据 19、栈和队列的共同特点是( ) A)都是先进先出B)都是先进后出 C)只允许在端点处插入和删除元素D)没有共同点 20、数据流图用于抽象描述一个软件的逻辑模型,由一些特定的图符构成。下列图符名不属于数据流图合法图符名的是( ) A) 文件B) 处理C) 数据存储D) 控制流

Simulink系统仿真课程设计

《信息系统仿真课程设计》 课程设计报告 题目信息系统课程设计仿真 院(系): 信息科学与技术工程学院 专业班级:通信工程1003 学生姓名: 学号: 指导教师:吴莉朱忠敏 2012年1 月14 日至2012年1 月25 日 华朴中科技大学武昌分校制 信息系统仿真课程设计任务书

20 年月日 目录 摘要 (5)

一、Simulink 仿真设计 (6) 1.1 低通抽样定理 (6) 1.2 抽样量化编码 (9) 二、MATLA仿真设计 (12) 2.1 、自编程序实现动态卷积 (12) 2.1.1 编程分析 (12) 2.1.2 自编matlab 程序: (13) 2.1.3 仿真图形 (13) 2.1.4 仿真结果分析 (15) 2.2 用双线性变换法设计IIR 数字滤波器 (15) 2.2.1 双线性变换法的基本知识 (15) 2.2.2 采用双线性变换法设计一个巴特沃斯数字低通滤波器 (16) 2.2.3 自编matlab 程序 (16) 2.2.4 仿真波形 (17) 2.2.5 仿真结果分析 (17) 三、总结 (19) 四、参考文献 (19) 五、课程设计成绩 (20) 摘要 Matlab 是一种广泛应用于工程设计及数值分析领域的高级仿真平台。它功能

强大、简单易学、编程效率高,目前已发展成为由MATLAB 语言、MATLAB 工作环境、MATLAB 图形处理系统、MATLAB 数学函数库和MATLAB 应用程序接口五大部分组成的集数值计算、图形处理、程序开发为一体的功能强大的系统。本次课程设计主要包括MATLAB 和SIMULINKL 两个部分。首先利用SIMULINKL 实现了连续信号的采样及重构,通过改变抽样频率来实现过采样、等采样、欠采样三种情况来验证低通抽样定理,绘出原始信号、采样信号、重构信号的时域波形图。然后利用SIMULINKL 实现抽样量化编码,首先用一连续信号通过一个抽样量化编码器按照A 律13折线进量化行,观察其产生的量化误差,其次利用折线近似的PCM 编码器对一连续信号进行编码。最后利用MATLAB 进行仿真设计,通过编程,在编程环境中对程序进行调试,实现动态卷积以及双线性变换法设计IIR 数字滤波器。 本次课程设计加深理解和巩固通信原理、数字信号处理课上所学的有关基本概念、基本理论和基本方法,并锻炼分析问题和解决问题的能力。

程序设计基础C复习资料(1)

一、填空题。 1、微型计算机的运算器、控制器及内存储器组合在一起,称之为(D) A、ALU B、CPU C、MPU D、主机 2、信息的最小单位是(A ) A、bit B、byte C、KB D、word 3、Windows操作系统是(C ) A、单用户、单任务 B、多用户、单任务 C、单用户、多任务 D、多用户、多任务 4、下列数据中最大数是(D) A、(1010010)2 B、(123.4)8 C、(84.5)10 D、(55)16 5、设有int a=3,b=-4,c=5;表达式(a

程序设计基础课程设计

设计题目:学生成绩管理系统班级:计0902 姓名:付乐颖 学号:20091221067 完成日期:2010.10.15

1. 课程设计目的和要求 随着科学的发展和社会的进步,许多过去有人工处理的繁杂事务开始交付计算机来完成。学生成绩管理系统可以说是一个得力助手,它利用计算机对学生成绩进行统一管理,实现学生成绩信息管理工作流程的系统化、规范化和自动化,提高了广大教师的工作效率。 本程序旨在训练学生的基本编程能力,了解管理信息系统的开发流程,熟悉C语言的文件等的各种基本操作,使学生能对C语言的文件操作有一个更深的理解。为进一步开发出高质量的信息管理系统打下坚实的基础。 2. 课程设计任务内容 学生包含以下信息项:学号、姓名、学院、班级、高数成绩、英语成绩、C语言成绩、总分、平均分。系统的主要功能包括: 1. 创建学生成绩信息文件,根据提示输入学生的各项信息,计算出总分和平均分,然后按学号对学生信息进行排序,并将排序后的学生成绩信息存储到一个二进制文件中。 2. 增加学生信息,在原有学生信息文件的基础上增加新的学生成绩信息,要求:增加后的学生信息仍按学号排序,并继续保存至原文件。 3. 删除学生信息,提示用户输入要进行删除操作的学号,如果在文件中有该信息存在,则将该学号所对应的学生信息删除,否则输出提示信息,并提示用户选择是否继续进行删除操作。 4. 修改学生信息,提示用户输入要进行修改操作的学号,如果在文件中有该息存在,则将提示用户输入该学号对应的要修改的选项,结果保存至原文件,并提示用户选择是否继续进行修改操作。 5. 按不同条件对学生信息进行查询操作,输出满足条件的学生信息。 (1) 按学号查询,输入一个学号,输出对应的学生信息。

大一大学计算机基础教程期末考试题

1、在Windows启动后,要执行某个应用程序,下列方法中,___ D __是错误的。 A.在资源管理器中,用鼠标双击应用程序名 B.利用“开始”菜单的“运行”命令 C. 在资源管理器中,选择应用程序,击Enter键 D.把应用程序快捷方式添加到“开始”菜单的“程序”--“启动”组中 2、在Word中,系统默认的中文字体是(B)。 (A)黑体 (B)宋体 (C)仿宋体 (D)楷体 3、在Excel中,使用“保存”命令得到的文件格式为___ D ____。 A、.doc B、.exe C、.txt D、.xls 4、在PowerPoint中,可对母版进行编辑和修改的状态是(C)。 (A)幻灯片视图状态 (B)备注页视图状态 (C)母版状态 (D)大纲视图状态 5、IP地址是由一组长度为(C)的二进制数字组成。 A.8位 B.16位 C.32位 D.20位 6、下列IP地址中,不正确的是(C)。 (A)192.42.34.212 (B)202.116.37.228 (C)202.116.38.256 (D)222.200.132.253 7、下面不属于局域网络硬件组成部分的是(D)。 A.网络服务器 B.个人计算机工作站 C.网络接口卡 D.调制解调器 8、网络传输的速率为8Mbit/s,其含义为(B)。 A.每秒传输8兆个字节 B.每秒传输8兆个二进制位 C.每秒传输8000千个二进制位 D.每秒传输800000个二进制位

9、在一座办公楼内各室计算机连成网络属于(B)。 A.WAN B.LAN C.MAN D.GAN 10、PC机的(C)一般由静态RAM组成。 (A)外存 (B)CMOS系统参数存储器 (C)Cache (D)主存 11、计算机的工作过程本质上就是(A)的过程。 A.读指令、解释、执行指令 B.进行科学计算 C.进行信息交换 D.主机控制外设 12、微型计算机常用的针式打印机属于(A)。 (A)击打式点阵打印机 (B)击打式字模打印机 (C)非击打式点阵打印机 (D)激光打印机 13、操作系统是(A)。 (A)计算机与用户之间的接口 (B)主机与外设之间的接口 (C)软件与硬件之间的接口 (D)高级语言与汇编语言之间的接口 14、“32位微机”中的32指的是(B)。 (A)微机型号 (B)机器字长 (C)内存容量 (D)存储单位 15、要表示从0到99999的所有的数,至少需要用(D)位二进制数。 (A)14 (B)15 (C)16 (D)17 1、在Windows中的“任务栏”上显示的是(A)。 (A)系统正在运行的所有程序 (B)系统后台运行的程序 (C)系统禁止运行的程序 (D)系统前台运行的程序 2、在Word中,要将页面大小规格由默认的A4改为B5,则应该选择“页面设置”命令中的(D)选项卡。 (A)页边距 (B)纸张来源

matlab课程设计报告书

《计算机仿真及应用》课程设计报告书 学号:08057102,08057127 班级:自动化081 姓名陈婷,万嘉

目录 一、设计思想 二、设计步骤 三、调试过程 四、结果分析 五、心得体会 六、参考文献

选题一、 考虑如下图所示的电机拖动控制系统模型,该系统有双输入,给定输入)(t R 和负载输入)(t M 。 1、 编制MATLAB 程序推导出该系统的传递函数矩阵。 2、 若常系数增益为:C 1=Ka =Km =1,Kr =3,C2=0.8,Kb =1.5,时间常数T 1=5, T 2=0.5,绘制该系统的根轨迹、求出闭环零极点,分析系统的稳定性。若)(t R 和)(t M 分别为单位阶跃输入,绘制出该系统的阶跃响应图。(要求C 1,Ka ,Km ,Kr ,C2,Kb , T 1,T 2所有参数都是可调的) 一.设计思想 题目分析: 系统为双输入单输出系统,采用分开计算,再叠加。 要求参数均为可调,而matlb 中不能计算未赋值的函数,那么我们可以把参数设置为可输入变量,运行期间根据要求赋值。 设计思路: 使用append 命令连接系统框图。 选择‘参数=input('inputanumber:')’实现参数可调。 采用的方案: 将结构框图每条支路稍作简化,建立各条支路连接关系构造函数,运行得出相应的传递函数。 在得出传递函数的基础上,使用相应的指令求出系统闭环零极点、画出其根轨迹。 通过判断极点是否在左半平面来编程判断其系统是否稳定。 二.设计步骤 (1)将各模块的通路排序编号

(2)使用append命令实现各模块未连接的系统矩阵 (3)指定连接关系 (4)使用connect命令构造整个系统的模型 三.调试过程 出现问题分析及解决办法: 在调试过程出现很多平时不注意且不易寻找的问题,例如输入的逗号和分号在系统运行时不支持中文格式,这时需要将其全部换成英文格式,此类的程序错误需要细心。 在实现参数可调时初始是将其设为常量,再将其赋值进行系统运行,这样参数可调性差,后用‘参数=input('inputanumber:')’实现。 最后是在建立通路连接关系时需要细心。 四.结果分析 源代码: Syms C1 C2 Ka Kr Km Kb T1 T2 C1=input('inputanumber:') C2=input('inputanumber:') Ka=input('inputanumber:') Kr=input('inputanumber:') Km=input('inputanumber:') Kb=input('inputanumber:') T1=input('inputanumber:') T2=input('inputanumber:') G1=tf(C1,[0 1]); G2=tf(Ka*Kr,[0 1]); G3=tf(Km,[T1 1]); G4=tf(1,[T2 1]); G5=tf(1,[1 0]); G6=tf(-C2,1); G7=tf(-Kb,1); G8=tf(-1,1); Sys=append(G1,G2,G3,G4,G5,G6,G7,G8) Q=[1 0 0;2 1 6;3 2 7;4 3 8;5 4 0;6 5 0;7 4 0;8 0 0;]; INPUTS1=1; OUTPUTS=5; Ga=connect(Sys,Q,INPUTS1,OUTPUTS) INPUTS2=8; OUTPUTS=5; Gb=connect(Sys,Q,INPUTS2,OUTPUTS) rlocus(Ga)

《计算机程序设计基础》课后练习题参考标准答案

《计算机程序设计基础》课后练习题1 一.判断题 (1)(错)事件过程由某个用户事件或系统事件触发执行,但不能被其他过程调用。 (2)(错)若X=2, Y=5,则表达式 Y-2>X AND X+2>Y 的结果为:True。 (3)(错)常量是指在程序运行过程中其值可以改变的那些量。 (4)(错,timer没有)VB工具箱中的所有控件都具有宽度(Width)和高度(Height)属 性。 (5)(错)定义变量:Dim max,min as Single , 则max 和 min 的数据类型均为Single。 (6)(对)如果创建的菜单项的标题是一个减号“-”,则该菜单项显示为一条分隔线。 (7)(错)标准模块文件的扩展名是“*.VBP”。 (8)(错,都不能)定时器控件可以响应Click事件,但不能响应DbClick事件。 (9)(错)在默认情况下,数组下标下界的缺省值为1。 (10)(对)在使用字体对话框时,需要对其Flags属性先进行相应设置。 二.单选题 (11)在Visual Basic中,表示鼠标单击事件的是 C 。 A)Activate B)DoubleClick C)Click D)MouseDown (12)用于设置计时器时间间隔的属性是 A 。 A)Interval B)Name C)Left D)Top (13)函数Int(10*Rnd)是在 D 范围内的整数。 A)[1,10] B)[1,10] C) [0,9) D)[0,9] (14)Select case语句结构的结尾应使用 D 。 A)End B) End Case C) End Sub D) End Select (15)改变了容器的坐标系后,该容器的 A 属性值不会改变。 A)left B)scaleleft C)scaletop D)scalewidth (16)执行下列语句后,列表框中各表项顺序为 D List1.Clear For i=1 to 4 : List1.AddItem i-1,0 :Next i A)B)C)D) (17)输入对话框InputBox的返回值的类型是 A 。

程序设计基础课程设计报告 内容样例

第一章目的与要求 书上有。 第二章需求分析 软件设计的一个重要的环节就是需求分析。本章在对ATM取款机管理系统的应用情况作了全面调查的基础上,确定系统目标,并对系统所需要的基础功能进行分析,从而确定用户的需求。以下是ATM取款机管理系统所需要的需求分析。 ATM管理系统包括六个模块:登录,挂失功能,修改密码,取款功能,转账功能,查询功能。 ①登录: 输入银行卡的账号,密码,验证银行卡的卡号,密码是否正确,之后进入主界面 ②挂失功能: 确认是否对银行卡进行挂失,挂失后账户无法操作 ③修改密码: 用户可自由对其银行卡密码进行修改,修改之后的新密码将会覆盖其原密码 ④取款功能: 用户可自由取得所持银行卡内的存款,所取款数必须在其原有账户余额之内 ⑤转账功能: 用户可将本账户中的存款转入其他账户,转账过程中,需要转入账户的账

号 ⑥查询功能: 用户可查询用户信息,其中包括用户姓名、用户身份证号码、银行卡号以及存款余额 模拟ATM取款机的操作: 首先录入账户信息,格式如下 ㈠、登录功能:输入帐号和密码进行登录,如密码错误提示重新输入密码,如帐号错误提示无此帐户。 ㈡、查询功能:查询账户余额。 ㈢、取款功能:取款,更新余额。 ㈣、挂失功能:挂失后,该账户不能进行任何操作。 ㈤、修改密码:输入原密码和新设置密码。 ㈥、转账功能:输入转账的转出账户以及转账金额,进行转账。

第三章设计分析 3.1、ATM系统管理 3.1.1系统基本功能 首先,确定系统中存在两种用户,一种是ATM,可以进行信息录入和后台管理。另外一种是取款人,取款人主要是进行信息的查询,不能进行信息录入。所以在创建类的时候,先创建一个ATM类,然后创建取款人类,并与ATM 类形成有元,进而继承ATM的所有功能,并添加录入信息的功能。 基本功能: 登录功能---------输入帐号和密码进行登录,如密码错误提示重新输入密码,如帐号错误提示无此帐户。 查询功能---------查询账户余额。 取款功能---------取款,更新余额。 挂失功能---------挂失后,该账户不能进行任何操作。 修改密码---------输入原密码和新设置密码。 转账功能---------输入转账的转出账户以及转账金额,进行转账。、

大学计算机基础期末考题(全部)

大学计算机基础期末考题(全部)

大学计算机基础期末考题 一、单选题练习 1.完整的计算机系统由( C )组成。 A.运算器、控制器、存储器、输入设备和输出设备 B.主机和外部设备 C.硬件系统和软件系统 D.主机箱、显示器、键盘、鼠标、打印机 2.以下软件中,( D )不是操作系统软件。 A.Windows xp B.unix C.linux D.microsoft office 3.用一个字节最多能编出( D )不同的码。 A. 8个 B. 16个 C. 128个 D. 256个 4.任何程序都必须加载到( C )中才能被CPU执行。 A. 磁盘 B. 硬盘 C. 内存 D. 外存 5.下列设备中,属于输出设备的是( A )。 A.显示器B.键盘C.鼠标D.手字板 6.计算机信息计量单位中的K代表( B )。 A. 102 B. 210 C. 103 D. 28 7.RAM代表的是( C )。 A. 只读存储器 B. 高速缓存器 C. 随机存储器 D. 软盘存储器 8.组成计算机的CPU的两大部件是( A )。 A.运算器和控制器 B. 控制器和寄存器C.运算器和内存 D. 控制器和内存

9.在描述信息传输中bps表示的是( D )。 A.每秒传输的字节数B.每秒传输的指令数 C.每秒传输的字数D.每秒传输的位数 10.微型计算机的内存容量主要指( A )的容量。 A. RAM B. ROM C. CMOS D. Cache 11.十进制数27对应的二进制数为( D )。 A.1011 B. 1100 C. 10111 D. 11011 12.Windows的目录结构采用的是( A )。 A.树形结构B.线形结构C.层次结构D.网状结构 13.将回收站中的文件还原时,被还原的文件将回到( D )。 A.桌面上B.“我的文档”中C.内存中D.被删除的位置 14.在Windows 的窗口菜单中,若某命令项后面有向右的黑三角,则表示该命令项( A )。A.有下级子菜单B.单击鼠标可直接执行 C.双击鼠标可直接执行D.右击鼠标可直接执行 15.计算机的三类总线中,不包括( C )。 A.控制总线B.地址总线C.传输总线D.数据总线 16.操作系统按其功能关系分为系统层、管理层和( D )三个层次。 A.数据层B.逻辑层C.用户层D.应用层 17.汉字的拼音输入码属于汉字的( A )。 A.外码B.内码C.ASCII码D.标准码 18.Windows的剪贴板是用于临时存放信息的( C )。 A.一个窗口B.一个文件夹C.一块内存区间D.一块磁盘区间

程序设计基础课程设计

1 矩阵的操作(6人) 设有两个矩阵A=(a ij)m×n,B=(b ij)p×q 实现要求: ⑴编写矩阵输入函数INPUT_MAT,通过该函数完成矩阵的输入并返回保存矩阵的数组和对应矩阵的行数、列数。(不能使用全局变量) ⑵编写矩阵输出函数OUTPUT_MAT,通过该函数完成矩阵的输出。 ⑶求矩阵的转置,矩阵的转置A’=(a ji)n×m,转置前输出原矩阵,转置后输出转置矩阵。 ⑷求矩阵A、B的和。矩阵A和B能够相加的条件是:m=p,n=q;矩阵A和B如果不能相加,请给出提示信息;若能够相加,则求和矩阵C并输出C。 C=A+B=(c ij)m×n,其中c ij=a ij+b ij ⑸求矩阵A、B的积。矩阵A和B能够相乘的条件是:p=n;矩阵A和B 如果不能相乘,请给出提示信息;若能够相乘,则求积矩阵D并输出D。 D=A×B=(d ij)m×q,其中d ij=∑a ik×b kj,k=1,2,……,n ⑹设计一个菜单,具有求矩阵的转置、求矩阵的和、求矩阵的积、退出等基本的功能。在求矩阵的和或求矩阵的积时要求能够先提示输入两个矩阵的,然后再进行相应的操作。

2 数据汇总 (6人) 问题描述: 在数据处理中经常需要对大量数据进行汇总,将相同关键字记录的某些数据项的值叠加起来,生成一个分类汇总表。 假设某超级市场销售有m种商品(假设商品的编号为1,2,3,┅┅,m),有n台前台收款机(假设收款机的编号为1,2,3,┅┅,n)进行收款,以记录的形式提供给计算机,每个记录表示某台收款机的一种商品一次交易的数量和销售额。记录由4个域组成:收款机编号、商品编号、销售数量、销售金额。构造一个结构体类型,每次销售数据以一个结构体变量保存在一个数据文件中。实现要求: ⑴编写实现将数据记录插入到数据文件的最后的函数; ⑵编写以收款机为单位的数据分类处理函数。构造n个单链表,每个链表保存一台收款机的销售记录,这n个单链表的头指针存放在一个指针数组中,通过数组的下标就可以知道是哪台收款机。读取数据文件的记录,将所有的销售记录(数据文件中的全部记录)分解插入到n个单链表; ⑶统计每台收款机的销售总额; ⑷编写以商品为单位的数据分类处理函数。构造m个单链表,每个链表保存一种商品的销售记录,这m个单链表的头指针存放在一个指针数组中,通过数组的下标就可以知道是哪种商品。读取数据文件的记录,将所有的销售记录(数据文件中的全部记录)分解插入到m个单链表; ⑸以商品为单位,统计每种商品的销售总额。 ⑹设计一个菜单,具有插入数据记录、按收款机统计销售总额、按商品统计销售总额、退出系统等最基本的功能。

《大学计算机基础》期末考试试题(B卷)

《大学计算机基础》期末考试试题(B) 学院:__________专业班级:__________姓名:___________学号:_____________ 一、选择题(每小题1分,共20分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。请将正确选项的编号写在答题卡的对应框中。 1. 计算机的发展通常认为经历了四代,第四代计算机的主要逻辑元件是( ) A)电子管B)晶体管 C)中小规模集成电路D)大规模、超大规模集成电路 2. (189)10转化为十六进制数应该是( ) A)(CF)H B)(BC)H C)(DF)H D)(BD)H 3. HTTP是( ) A)文件传输协议B)一种邮件传输协议 C)超文本传输协议D)超文本标记语言 4. P4 1.4G/256MB DDR/40GB/DVD×16/声卡/1.44/15〞LCD,表示该计算机的CPU时钟频率是( ) A)256MB B)40GB C)1.4G D)16 5. 下列字符中,其ASCII码值最大的一个是( ) A)y B)Y C)a D)A 6. 在40×40点阵字库中,存储一个汉字的字模信息需要的字节数为( ) A)40Byte B)200Byte C)1600Byte D)2Byte 7. 111000∨000111的运算结果是( ) A)000000 B)111111 C)000111 D)111000 8. GB18030-2000采用单/双/四字节混合编码,共收录了的汉字数有( ) A)16384个B)2.7万个C)7445个D)3755个 9. 能将高级语言源程序转换成目标程序的是( ) A)编译程序B)解释程序C)编辑程序D)应用程序 10. 能从采样信号中重构原始信号,采样频率应高于输入信号中最高频率的几倍( ) A)二 B)三 C)四 D)一 11. 计算机病毒是指( ) A)设计不完善的计算机程序 B)已被破坏的计算机程序 C)编制有误的计算机程序D)以危害系统为目的的特殊计算机程序 12. 根据域名代码规定,域名为https://www.wendangku.net/doc/c95848490.html,表示的网站类别应是( ) A)国际组织B)政府部门C)商业组织D)教育机构 13. 对局域网来说,网络控制的核心是( ) A)工作站 B)网卡C)网络服务器 D)网络互连设备 14. 60台计算机组成的星型结构局域网中,连接服务器与工作站的最佳设备是( ) A)调制解调器 B)交换器 C)路由器 D)集线器 15. TCP/IP协议集中,网络层的核心协议是( ) A)ARP B)ICMP C)IGMP D)IP 16. 下列属于算法设计方法的是( ) A)数据流程图 B)列举法 C)判定树 D)数据字典 17. 测试的目的是( ) A)发现错误位置并改正 B)暴露错误,评价程序可靠性

计算机仿真课程设计

附件1: 北京理工大学珠海学院 《计算机仿真》课程设计说明书题目: 控制系统建模、分析、设计和仿真 学院:信息学院 专业班级: 学号: 学生姓名: 指导教师: 2012年6 月16 日 附件2: 北京理工大学珠海学院 课程设计任务书 2011 ~2012 学年第2学期 学生姓名:专业班级: 指导教师:工作部门:信息学院 一、课程设计题目 《控制系统建模、分析、设计和仿真》 本课程设计共列出10个同等难度的设计题目,编号为:[0号题]、[1号题]、[2号题]、[3号题]、[4号题]、[5号题]、[6号题]、[7号题]、[8号题]、[9号题]。 学生必须选择与学号尾数相同的题目完成课程设计。例如,学号为8xxxxxxxxx2的学生必须选做[2号题]。

[0号题] 控制系统建模、分析、设计和仿真 设连续被控对象的实测传递函数为: 用零阶保持器离散化,采样周期取秒,分别设计一单位加速度信号输入时的最少拍有波纹控制器Dy(z)和一单位速度信号输入时的最少拍无波纹控制器Dw(z)。具体要求见(二)。 [1号题] 控制系统建模、分析、设计和仿真 设连续被控对象的实测传递函数为: 用一阶保持器离散化,采样周期取秒,分别设计一单位加速度信号输入时的最少拍有波纹控制器Dy(z)和一单位速度信号输入时的最少拍无波纹控制器Dw(z)。具体要求见(二)。 [2号题] 控制系统建模、分析、设计和仿真 设连续被控对象的实测传递函数为: 用零阶保持器离散化,采样周期取秒,分别设计一单位加速度信号输入时的最少拍有波纹控制器Dy(z)和一单位速度信号输入时的最少拍无波纹控制器Dw(z)。具体要求见(二)。 [3号题] 控制系统建模、分析、设计和仿真 设连续被控对象的实测传递函数为: 用一阶保持器离散化,采样周期取秒,分别设计一单位加速度信号输入时的最少拍有波纹控制器Dy(z)和一单位速度信号输入时的最少拍无波纹控制器Dw(z)。具体要求见(二)。 [4号题] 控制系统建模、分析、设计和仿真 设连续被控对象的实测传递函数为: 用零阶保持器离散化,采样周期取秒,分别设计一单位加速度信号输入时的最少拍有波纹控制器Dy(z)和一单位速度信号输入时的最少拍无波纹控制器Dw(z)。具体要求见(二)。 [5号题] 控制系统建模、分析、设计和仿真 设连续被控对象的实测传递函数为: 用一阶保持器离散化,采样周期取秒,分别设计一单位加速度信号输入时的最少拍有波纹 控制器Dy(z)和一单位速度信号输入时的最少拍无波纹控制器Dw(z)。具体要求见(二)。 [6号题] 控制系统建模、分析、设计和仿真 设连续被控对象的实测传递函数为: 用零阶保持器离散化,采样周期取秒,分别设计一单位加速度信号输入时的最少拍有波纹 控制器Dy(z)和一单位速度信号输入时的最少拍无波纹控制器Dw(z)。具体要求见(二)。 [7号题] 控制系统建模、分析、设计和仿真

程序设计基础复习要点

程序设计基础复习要点 第一节程序设计基本概念: 1、程序和软件: 程序是用计算机语言表示的一系列有序指令的集合,用来完成指定的任务。 软件是计算机程序、方法和规则、相关的文档资料以及在计算机上运行它所必需的数据的总称。 注意:程序和软件是两个不同的概念。 2、程序设计的含义: 程序设计实际上是安排计算机按人们的意志去工作,程序设计往往是一个过程,这个过程主要包括:描述问题、设计算法、编写程序、调试程序。 3、程序设计语言: 程序设计语言是人与计算机交流和沟通的工具,是用来编写计算机程序的工具。又称计算机语言。 程序设计语言的发展过程: 程序设计语言的演变经历了由低级向高级发展的过程。对程序设计语言的分类可以从不同的角度进行。其中,最常见的分类方法是根据程序设计语言与计算机硬件的联系程度将其分为三类:机器语言、汇编语言和高级语言。 ●机器语言:是由机器指令的集合构成;机器指令是计算机所能理解和执行的以“0” 和“1”组成的二进制编码表示的命令。优点是计算机能够直接识别、执行效率高,其缺点是难记忆、难书写、编程困难、可读性差且容易出现编写错误。 ●汇编语言:是采用了助记符与符号地址来表示计算机指令的语言。计算机不能直接 执行汇编语言程序,必须经过翻译程序将汇编语言编写的程序翻译成机器指令后才 能在计算机上执行。 ●高级语言:就是更接近自然语言、数学语言的程序设计语言,与计算机硬件关系较 小的语言。优点是符合人类叙述问题的习惯,而且简单易学。缺点是不能被计算机 直接识别。 4、语言处理程序: 在计算机语言中,用除机器语言之外的其他语言书写的程序都必须经过翻译或解释,变成机器指令,才能在计算机上执行。因此,计算机上能提供的各种语言,必须配备相应语言的“编译程序”,或“解释程序”。将所有这些“编译程序”,或“解释程序”统称为语言处理程序。 通过“编译程序”或“解释程序”使人们编写的程序能够最终得到执行的工作方式分别称为程序的编译方式和解释方式。 ●汇编程序指将汇编语言编写好的源程序,全部翻译成机器指令集合的程序。 ●解释程序指将高级语言编写好的源程序逐条解释,翻译成机器指令并执行的程序。 ●编译程序指将高级语言编写好的源程序,全部翻译成机器指令集合的程序。

相关文档
相关文档 最新文档