文档视界 最新最全的文档下载
当前位置:文档视界 › 程序设计基础实验报告共8次

程序设计基础实验报告共8次

程序设计基础实验报告共8次
程序设计基础实验报告共8次

《程序设计基础》课程实验报告

实验一数据类型、运算符和表达式

一、实验目的

(1)掌握Visual C++集成环境下输入、编译、调试和运行C程序的基本过程和方法。

(2)熟悉基本数据类型、运算符和表达式的使用方法。

(3)通过编写简单程序,掌握数据类型、运算符和表达式。

二、实验环境

CPU :Intel(R) Core(TM) i5-4590

操作系统版本:Windows 7 专业版

编译软件版本:Microsoft Visual C++ 6.0

三、实验内容

1.奇偶数判断(C2_1.cpp)

【题目描述】

输入一个整数,判断该数的奇偶性,如果是奇数,输出“奇数”,否则输出“偶数”。打开C2_1.cpp文件,完成程序的编写。

【输入】

输入包含1个整数。

【输出】

输出中文字符串。

【输入输出样例2】

【数据限制】

输入的都是整数。

2.水仙花数的判断(C2_2.cpp)

【题目描述】

打开(C2_2.cpp),要求输入一个三位整数,判断它是不是水仙花数,所谓的水仙花数是指一个三位数,其各位数字立方和等于该数本身。如153=1的三次方+5的三次方+3的三次方。

【输入输出样例1】

100≤num≤999

3.分数加法运算(C2_3.cpp)

【题目描述】

输入两个分数相加的公式,计算其相加后的结果,并以分数的形式输出。打开C2_3.cpp 文件,完成程序的编写。

【输入】两个分数(分子分母间用’/’连接),中间用’+’连接

【输出】两个整数,中间用’/’连接

【输入输出样例1】

【输入输出样例2】

【数据限制】

分子、分母都是整数

4.最少钞票支付(C2_4.cpp)

【题目描述】

打开C2_4.cpp文件,完成程序的编写。要求用户输入一个金额,然后显示如何用最少50元、20元、10元、5元和1元来支付。提示:将付款金额除以50,确定50元的数量,然后从付款金额中减去50元的总金额。对其他面值的钞票重复这一操作。确保在程序中始终使用整数值,不要用浮点数。

【输入】

输入包含1个整数。

【输出】

已给定程序代码。

【输入输出样例1】

【输入输出样例2】

【数据限制】

0≤money≤500

四、实验步骤与调试过程

1.奇偶数判断

Scanf读取整数,能整除2是偶数,不能是奇数。

2.水仙花数的判断

水仙花数是指一个三位数,其各位数字立方和等于该数本身。如果是,输出yes,否则输出no。

3.分数加法运算

设为a/b+c/d,输出结果分母是b*d,分子是a*d+b*c。

4.最少钞票支付

50元的数量就是money%50,20元的数量就是减去50元的数量后对20取余,以此类推。

五、实验结果

1.奇偶数判断

2.水仙花数的判断

3.分数加法运算

4.最少钞票支付

六、小结

1.补做的,无小结。

附录:

1.奇偶数判断

#include

int main()

{

int n;

FILE *fp;

if ((fp=fopen("C1_1.in","r"))!=NULL){

freopen("C1_1.in", "r", stdin);

freopen("C1_1.out", "w", stdout);

}

scanf("%d",&n);

//************************************ if(n%2)

printf("奇数");

else

printf("偶数");

//====================================

return 0;

}

2.水仙花数的判断

#include

int main()

{

int n,a,b,c;

FILE *fp;

if ((fp=fopen("C1_2.in","r"))!=NULL){

freopen("C1_2.in", "r", stdin);

freopen("C1_2.out", "w", stdout);

}

scanf("%d",&n);

//************************************ a=n/100;

b=n/10-a*10;

c=n-a*100-b*10;

if(a*a*a+b*b*b+c*c*c==n)

printf("Yes");

else

printf("No");

//==================================== return 0;

}

3.分数加法运算

#include

int main()

{

int n,a,b,c,d;

FILE *fp;

if ((fp=fopen("C1_3.in","r"))!=NULL){

freopen("C1_3.in", "r", stdin);

freopen("C1_3.out", "w", stdout);

}

//************************************ scanf("%d/%d+%d/%d",&a,&b,&c,&d);

printf("%d/%d",a*d+b*c,b*d);

//==================================== return 0;

}

4.最少钞票支付

#include

int main()

{

int money,mon_50,mon_20,mon_10,mon_5,mon_1;

FILE *fp;

if ((fp=fopen("C1_4.in","r"))!=NULL){

freopen("C1_4.in", "r", stdin);

freopen("C1_4.out", "w", stdout);

}

scanf("%d",&money);

//************************************ mon_50=money/50;

money=money-mon_50*50;

mon_20=money/20;

money=money-mon_20*20;

mon_10=money/10;

money=money-mon_10*10;

mon_5=money/5;

money=money-mon_5*5;

mon_1=money;

//==================================== printf("¥50:%d\n",mon_50);

printf("¥20:%d\n",mon_20);

printf("¥10:%d\n",mon_10);

printf("¥5:%d\n",mon_5);

printf("¥1:%d\n",mon_1);

return 0;

}

实验二选择结构程序设计

一、实验目的

((1)了解C语言表示逻辑量的方法。

(2)正确使用逻辑运算符和逻辑表达式,掌握if语句和switch语句。

(3)结合程序掌握一些简单算法,并学习调试程序。

二、实验环境

CPU :Intel(R) Core(TM) i5-4590

操作系统版本:Windows 7 专业版

编译软件版本:Microsoft Visual C++ 6.0

三、实验内容

1.时间制式转换(C2_1.cpp)

【题目描述】

由键盘输入24小时制时间,编程实现输出12小时制时间。打开C2_1.cpp文件,完成程序的编写。

【输入】

输入包含2个整数,整数之间用冒号(: )隔开。

【输出】

输出12小时制时间。

【输入输出样例1】

2. 快递费计算(C2_2.cpp)

【题目描述】

某快递计费按收、送货地址的距离远近分为四个区,收费规则如下:(若首重或续重不足1公斤,都按12公斤。)

输入区和重量,计算快递费(用switch语句实现)。打开C2_2.cpp文件,完成程序的编写。

【输入】

输入包含1个整数和一个浮点数,数之间用空格隔开。

【输出】

输出1个整数。

【输入输出样例1】

【输入输出样例2】

3.确定整数的位数(C2_3.cpp)

【题目描述】

由键盘输入一个不超过4位的整数,确定它的位数。打开C2_3.cpp文件,完成程序的编写。

【输入】

输入包含1个整数。

【输出】

输出包括1个整数。

【输入输出样例2】

4.风的分类(C2_4.cpp)

【题目描述】

要求用户输入风速(海里/小时),然后显示相应的描述。打开C2_4.cpp文件,完成程

输入包含1个整数。

【输出】

输出包含1个字符串,即“无风”、“轻风”、“微风”、“大风”、“暴风”或“飓风”。

【输入输出样例1】

四、实验步骤与调试过程

5.时间制式转换

Scanf读取数据,用if判断当hour>12时,-12输出PM,否则直接输出hour和AM。

6.快递费计算

用switch语句根据不同地区判断首重和续重的价格,然后将heavy向下取整并-1,money=首重+续重*heavy,输出。

7.确定整数的位数

让输入的数据一直整除10,直到0为止,每整除一次,计数一次,来得到位数。

8.风的分类

用if和else if对多种情况进行区分,输出相应数据。

五、实验结果

5.时间制式转换

6.快递费计算

7.确定整数的位数

8.风的分类

六、小结

2.补做的,无小结。

附录:

3.时间制式转换

#include

int main()

{

int hour,min;

FILE *fp;

if ((fp=fopen("C2_1.in","r"))!=NULL){

freopen("C2_1.in", "r", stdin);

freopen("C2_1.out", "w", stdout);

}

//************************************ scanf("%d:%d",&hour,&min);

if(hour>12)

printf("%d:%dPM",hour-12,min);

else

printf("%d:%dAM",hour,min);

//====================================

return 0;

}

4.快递费计算

#include

int main()

{

int area,fir_heavy,for_heavy,money;

float heavy;

FILE *fp;

if ((fp=fopen("C2_2.in","r"))!=NULL){

freopen("C2_2.in", "r", stdin);

freopen("C2_2.out", "w", stdout);

}

//************************************ int i;

scanf("%d%f",&area,&heavy);

switch(area)

{

case 1: fir_heavy=7; for_heavy=2;break;

case 2: fir_heavy=12; for_heavy=10;break;

case 3: fir_heavy=15; for_heavy=12;break;

case 4: fir_heavy=22; for_heavy=18;break;

}

for(i=0;heavy>1.0;i++,heavy--);

money=fir_heavy+for_heavy*i;

//==================================== printf("%d",money);

return 0;

}

4.确定整数的位数

#include

int main()

{

int n;

FILE *fp;

if ((fp=fopen("C2_3.in","r"))!=NULL){

freopen("C2_3.in", "r", stdin);

freopen("C2_3.out", "w", stdout);

}

scanf("%d",&n);

//************************************ int i=0;

while(n!=0)

{

n=n/10;

i++;

}

printf("%d",i);

//==================================== return 0;

}

5.风的分类

#include

int main()

{

int n;

FILE *fp;

if ((fp=fopen("C2_4.in","r"))!=NULL){

freopen("C2_4.in", "r", stdin);

freopen("C2_4.out", "w", stdout);

}

scanf("%d",&n);

//************************************ if(n>63)

printf("飓风");

else if(n>=48&&n<=63)

printf("暴风");

else if(n>=28&&n<=47)

printf("大风");

else if(n>=4&&n<=27)

printf("微风");

else if(n>=1&&n<=3)

printf("轻风");

else

printf("无风");

//====================================

return 0;

}

实验三循环结构程序设计

一、实验目的

(1)熟悉掌握用while语句、do-while语句和for语句实现循环的方法。

二、实验环境

CPU :Intel(R) Core(TM) i5-4590

操作系统版本:Windows 7 专业版

编译软件版本:Microsoft Visual C++ 6.0

三、实验内容

1.输出倒金字塔(C4_1.cpp)

【题目描述】

输出如下所示的倒金字塔型图案,金字塔的高度由键盘输入。打开C4_1.cpp文件,完成程序的编写。

*********

*******

*****

***

*

【输入】

输入包括1个整数。

【输出】

输出包含一个图案,图案的行数由输入的整数决定。(第一行*前有1个空格。)

【输入输出样例1】

【输入输出样例2】

【数据限制】

输入整数范围在1到40之间。

2.累加计算(C4_2.cpp)

【题目描述】

求s=a+aa+aaa+aaaa+aa...a(n个a)的值,其中 a 是一个数字。例如2+22+222+2222+22222,此时a=2,n=5。a和n由键盘输入。打开C4_2.cpp文件,完成程序的编写。

【输入】

输入包含2个整数,分别表示整数a和n,整数之间用空格隔开。

【输出】

输出包括多个整数,每个整数之间用空格隔开。

【输入输出样例1】

【输入输出样例2】

【数据限制】

1≤a≤9,2≤n≤10。

3.阶乘相加(C4_3.cpp)

【题目描述】

已知表达式sum=1!+2!+3!+…+n!。输入正整数n,求解表达式sum的值并输出。打开C4_3.cpp文件,完成程序的编写。

【输入】

输入包含1个整数,即输入的正整数n。

【输出】

输出包括1个整数,即计算结果sum。

【输入输出样例2】

【数据限制】

1≤n≤20。

4 字母转换为电话号码(C4_4.cpp)

【题目描述】

手机键盘上的按键中,有字母和数字的对应,现已知字符串形式(大写)输入的电话号码

输入包括1行大写字母组成的字符串,回车结束。

【输出】

输出包含和字母等长的数字串。

【输入输出样例2】

【数据限制】

输入字符串长度在5到11个之间。

四、实验步骤与调试过程

9.输出倒金字塔

因为要输出不同的层数的金字塔,所以首先想到要用循环语句。其次每层金字塔都要输出不同的星号和空格,所以又想到使用循环语句。于是通过大循环(层数)和小循环(空格和星号)实现了输入倒金字塔。

10.累加计算

看到题目首先思考如何在输入比如a=1,n=3时,输出111。因此想到用循环语句来实现。然后在循环外面再套上另一个大循环和sum累加,就实现了输入如a=1,n=3时输出1+11+111。

11.阶乘相加

看到题目首先思考如何在输入比如n=3的时候,输出3的阶乘,于是使用循环语句,然后再循环外面套上一个i从1累加到n的大循环,就能实现输入如n=3,输

出1!+2!+3!。

12.字母转为电话号码

题目要求输入一串字母,于是想到输入字符数组。再分别单个提取来输出不同的电话号码,于是使用循环语句来逐一提取号码,直到\0结束。因为不同的字母对应不同的电话号码,所以用if条件从句来进行区分。

五、实验结果

9.输出倒金字塔

10.累加计算

11.阶乘相加

12.字母转为电话号码

六、小结

3.多重循环的思维方式一般都是从内到外,从简单到困难。比如输入1到n

的阶乘相加,自要能思考出n的阶乘,然后再外面再加上一个i自加至n的循环就

能做好。

4.第四题我确实不会不用数组的做法。

5.第三题其实有更简单的算法,只需要一个循环就能完成。不过我没有想出

来,别人告诉我了我才知道的。

#include

int main()

{

int i,n;

int sn=0,tn=1;

scanf("%d",&n);

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

{

tn=tn*i;

sn=sn+tn;

}

printf("%d",sn);

}

附录:

5.输出倒金字塔

#include

int main()

{

int n,i,j; //n为倒金字塔的高度,

scanf("%d",&n);

for(i=1;i<=n;i++) //i为当前高度,j为变量

{

for(j=1;j

printf(" ");

for(j=2*n-1;j>=2*i-1;j--)

printf("*");

printf("\n");

}

return 0;

}

2.确定整数的位数

#include

int main()

{

int sum,a1,a2,n,i,j,b; //分别设置两个a1,a2

scanf("%d %d",&a1,&n);

sum=0;

for(i=1;i<=n;i++) //i代表当前位置,a1,a2直到an

{

for(j=1,b=0,a2=a1;j<=i;j++) //b代表具体数值,a,aa等,j为变量

{ //a2进行更改,a1用来记录原先的a值

b+=a2;

a2=a2*10;

}

sum+=b;

}

printf("%d",sum);

return 0;

}

5.阶乘相加

#include

int main()

{

int sum,n,i,j,n1;

scanf("%d",&n); //n代表要接收的数

for(sum=0,i=1;i<=n;i++) //i代表当前的位置,a1,a2之类 {

for(j=i,n1=1;j>=1;j--) //j为控制变量,n1为当前数的阶乘,

{

n1*=j;

}

sum+=n1;

}

printf("%d",sum);

return 0;

}

6.字母转为电话号码

#include

int main()

{

int i;

char a[11];

gets(a);

for(i=0;a[i]!='\0';i++)

{

if(a[i]=='A'||a[i]=='B'||a[i]=='C')

printf("2");

else if(a[i]=='D'||a[i]=='E'||a[i]=='F')

printf("3");

else if(a[i]=='G'||a[i]=='H'||a[i]=='I')

printf("4");

else if(a[i]=='J'||a[i]=='K'||a[i]=='L')

printf("5");

else if(a[i]=='M'||a[i]=='N'||a[i]=='O')

printf("6");

else if(a[i]=='P'||a[i]=='Q'||a[i]=='R'||a[i]=='S')

printf("7");

else if(a[i]=='T'||a[i]=='U'||a[i]=='V')

printf("8");

else if(a[i]=='W'||a[i]=='X'||a[i]=='Y'||a[i]=='Z')

printf("9");

}

return 0;

}

实验四一维数组和二维数组

一、实验目的

(1)熟练掌握一维、二维数组定义和数组元素引用,并熟练运用数组解决实际问题。

(2)了解数组在内存中的存储方式。

二、实验环境

CPU :Intel(R) Core(TM) i5-4590 操作系统版本:Windows 7 专业版 编译软件版本:Microsoft Visual C++ 6.0

三、 实验内容

1.插入排序(C5_1.cpp )

已知有一个排好序的一维数组,现要求插入一个从键盘输入的数,使之仍然是一个有序的一维数组。

【输入】

输入2行数据,第一行有9个升序排序好的整数,整数之间用空格隔开。 第二行只有一个整数num ,为需要插入的数据。 【输出】

输出一行,包括10个整数,为将整数插入数组排序后的数组,整数之间用空格隔开。 【输入输出样例1】

【输入输出样例2】

2.木材干燥率的计算(C5_2.CPP ) 输入n 批木材的干燥率

i w ,试计算平均含水率w 和含水率的标准差s :

2

2221)(....)()(w w w w w w s n -++-+-=。

【输入】

输入2行数据,第1行有1个整数表示木材的批数n ;第2行有n 个整数表示数组w 中的各个含水率(%),整数之间用空格隔开。

【输出】

输出包含2个浮点数,即平均含水率(%)和标准差,要求小数点后保留2位精度。 【输入输出样例1】

【输入输出样例2】

C++程序设计基础课后答案 第八章

8.1 阅读下列程序,写出执行结果 1.#include class Bclass { public: Bclass( int i, int j ) { x = i; y = j; } virtual int fun() { return 0 ; } protected: int x, y ; }; class Iclass:public Bclass { public : Iclass(int i, int j, int k):Bclass(i, j) { z = k; } int fun() { return ( x + y + z ) / 3; } private : int z ; }; void main() { Iclass obj( 2, 4, 10 ); Bclass p1 = obj; cout << p1.fun() << endl; Bclass & p2 = obj ; cout << p2.fun() << endl; cout << p2.Bclass :: fun() << endl; Bclass *p3 = &obj;

cout << p3 -> fun() << endl; } 2.#include class Base { public: virtual void getxy( int i,int j = 0 ) { x = i; y = j; } virtual void fun() = 0 ; protected: int x , y; }; class A: public Base { public: void fun() { cout<<"x = "<

printf("输入的二进制数不正确!!"); break; } } } if(a[15]=='1') s++; for(i=1;i<16;i++) { if(a[15-i]=='1') s+=(1<

说明:如果不是16位二进制则会提示错误。 2.将编写好的程序2输入、编译、连接并运行。 程序2清单 #include #include void main() { int t0,t1,t2,t3,i,j; int a[16]; printf("请输入一个十进制数:"); scanf("%d",&t0); t1=t0; for(i=0;i<16;i++) { t2=t1/2; if(t2>1) a[i]=t1%2; else if(t1==1) { a[0]=1; for(i=1;i<16;i++) a[i]=0; } else if(t1==2) { a[i]=0; a[i+1]=1; for(j=i+2;j<16;j++)

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

《计算机程序设计基础》课后练习题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 。

程序设计基础课程设计

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个单链表; ⑸以商品为单位,统计每种商品的销售总额。 ⑹设计一个菜单,具有插入数据记录、按收款机统计销售总额、按商品统计销售总额、退出系统等最基本的功能。

实验三8选1数据选择器实验报告

实验三、八选一数据选择器 一、实验目的: 1.熟悉Quartus II6.0软件的使用和FPGA设计流程 2.用VHDL语言进行八选一数据选择器的设计 二、实验步骤: 一.建立文件夹:在D盘“xingming”的文件夹下建立一个名为“choice8” 的文件夹。 二.建立新工程 1.双击桌面上Quartus II6.0 的图标,启动该软件。 2.通过File => New Project Wizard… 菜单命令启动新项目向导。在随后弹 出的对话框上点击Next按钮,在 What is the working directory for this project 栏目中设定新项目所使用的路径:D:\xingming\choice8;在What is the name of this project 栏目中输入新项目的名字:choice8,点击 Next 按钮。在下一个出现的对话框中继续点击Next,跳过这步。 3.为本项目指定目标器件:选择器件系列为ACEX1K ,选择具体器件为 EP1K30TC144-3 1728 24576 ,再点击Next。在弹出的下一对话框中继续点击Next ,最后确认相关设置,点击Finish按钮,完成新项目创建。 三.设计输入 1.建立一个VHDL文件。通过 File => New 菜单命令,在随后弹出的对话框中 选择 VHDL File选项,点击 OK 按钮。通过 File => Save As 命令,将其保存,并加入到项目中。 2.在VHDL界面输入8选1数据选择器程序,然后通过File => Save As 命 令保存。

四.综合适配 1.选择Processing =>Start Compilation命令,检查发现无程序语法错误。 2.执行Tools =>Netlist Viewer =>RTL Viewe, 生成RTL图。 五.模拟仿真 1.在 File 菜单下,点击 New 命令。在随后弹出的对话框中,切换到 Other Files 页。选中 Vector Waveform File 选项,点击 OK 按钮。 2.选择命令 Edit=>End Time ,时间设置为30000ns , 进入到波形编辑界 面。在 Edit 菜单下,点击Insert Node or Bus… 命令,或在结点名字区连续双击鼠标左键两次,在新出现的框图中点击Node Finder出现结点查找器窗口搜索结点名, 在上一个框图中点击 Node Finder… 按钮后,打开Node Finder 对话框。点击 List 按钮,列出电路所有的端子。点击 >> 按钮,全部加入。点击 OK 按钮,确认。 3.回到 Insert Node or Bus 对话框,点击 OK 按钮,确认。 4.编辑输入激励信号波形.选中 a 信号,在 Edit 菜单下,选择 Value => Clock… 命令。在随后弹出的对话框的 Period 栏目中设定参数为10ns,点击 OK 按钮,重复前面的操作,设置输入信号b的参数为20ns ,c信号的参数为30ns,d信号的参数为40ns,e信号的参数为50ns,f信号的参数为60ns,g信号的参数为70ns,h信号的参数为80ns,输入激励信号波形编辑完毕。同样的,s[0]、s[1]、s[2]的参数分别设置为10ns、20ns、30ns。 5.功能仿真:(1)Processing=>Generate Functional Simulation Netlist

C语言程序设计基础实验报告6【VIP专享】

实验6 数组 一、实验目的 1、掌握一维数组和二维数组的定义、赋值和输入输出的方法; 2、掌握字符数组和字符串函数的使用; 3、掌握与数组有关的算法(特别是排序算法)。 二、实验内容和步骤 编程序并上机调试运行。 1、以下给定程序MODI1.C的功能是: 求一维数组a中所有元素的平均值, 结果保留两位小数。例如,当一维数组a中的元素为:10, 4, 2, 7, 3, 12, 5, 34, 5, 9时,程序的输出应为:The aver is: 9.10 程序中有两处错误,错误都在提示行:/***********found***********/的下面一行。请改正程序中的错误, 使它能得出正确的结果。 注意:程序中的其它地方请不要随意改动,不得增行或删行,也不得更改程序的结构! #include #include void main() { int a[10]={10,4,2,7,3,12,5,34,5,9}, i; /************found************/ /************found************/ s = a[0]; for ( i=1; i<10; i++) s += a[i]; aver = s / i; printf("The aver is: %.2f\n", aver); } 2、以下给定程序MODI1.C的功能是:求二维数组a中的最小值。 例如,当二维数组a中的元素为: 4 2 34 7 3 12 5 6 5 程序的输出应为:The min is: 2 。 程序中有两处错误,错误都在提示行:/***********found***********/的下面一行。请改正程序中的错误, 使它能得出正确的结果。 注意:程序中的其它地方请不要随意改动,不得增行或删行,也不得更改程序的结构! #include #include void main() { int a[3][3]={4,2,34,7,3,12,5,6,5}, i, j, min; clrscr();

程序设计基础练习题(全答案版)

《程序设计基础——C#.NET》练习 参考答案: 一、选择题 https://www.docsj.com/doc/6016271225.html,的目的就是将____A____作为新一代操作系统的基础,对互联网的设计思想进行扩展。A.互联网 B. Windows C. C# D. 网络操作系统 2.假设变量x的值为10,要输出x值,下列正确的语句是__C__。 A.System.Console.writeline(“x”) B. System.Cosole.WriteLine(“x”) C. System.Console.WriteLine(“x={0}”,x) D. System.Console.WriteLine(“x={x}”) 3.要退出应用程序的执行,应执行下列的_A___语句。 A. Application.Exit(); B. Application.Exit; C. Application.Close(); D. Application.Close; 4.关于C#程序的书写,下列不正确的说法是__D________。 A.区分大小写 B.一行可以写多条语句 C.一条语句可以写成多行 D.一个类中只能有一个Main()方法,因此多个类中可以有多个Main()方法 5. 在C#语言中,下列能够作为变量名的是__C__。 A.if B. 3ab C. b_3a D. a-bc 7. 能正确表示逻辑关系“a≥5或a≤0”的C#语言表达方式是__D__。 A.a>=5 or a<=0 B. a>=5|a<=0 C. a>=5&&a<=0 D. a>=5||a<=0 8. 以下程序的输出结果是___C_____。 A. 5 B. 4 C. 6 D. 不确定 9. If语句后面的表达式应该是__A___。 A.逻辑表达式 B. 条件表达式 C. 算术表达式 D. 任意表达式10.有如下程序:

《测量程序设计课程设计》指导书-2015

测量数据处理程序设计指导书 设计名称:测量数据处理程序设计 计划周数:2周 适用对象:测绘工程专业本科 先修课程:测量学,测量平差基础,大地控制测量,测量程序设计 一、设计目的 测量数据处理程序设计是学生在系统学习完大地控制测量学、测量平差基础、测量程序设计等相关课程之后,为了系统理解控制网平差的整体过程及综合运用科学工具而安排的。通过课程设计主要达到以下几个目的:掌握控制网平差课程设计具体内容、方法和步骤;通过理论联系实际,进一步巩固已学到的专业理论知识,并加深对理论的认识;培养学生对编写代码,上机调试和编写说明书等基本技能;锻炼学生阅读各类编程参考书籍及加以编程运用的能力。 二、设计内容及日程 在VB、 VC软件或matlab科学计算软件的平台上,选择的具体课程设计题目,进行程序设计与实现,共计10个工作日,工作程序如下: 三、设计的组织: 1.设计领导 (1)指导教师:由教研室指派教师、实验员兼任。

职责:全面组织设计大纲的实施,完成分管工作及相关技术指导。 (2)设计队长:学生班长兼任。 职责:协助教师做好本班学生的人员组织工作。 (3)设计组长:每组一人。 职责:组织执行下达的设计任务,安排组内各成员的工作分工。 2.设计分组 学生实习作业组由3~4人组成(含组长一人)。 四、设计内容 在VB、VC或MATLAB 软件平台上,按选择的设计题目进行相关程序开发 1、闭合导线简易平差、附合导线简易平差支导线计算 2、闭合水准网计算、附合水准网简易平差 3、地形图编号(新、旧两种方法) 4、误差椭圆的参数的计算与绘制误差椭圆 5、水准网严密平差 6、高斯正反算计算 7、高斯投影换带计算 8、七参数大地坐标转换(WGS84-bj54坐标转换、WGS84-CGCS2000坐标转换) 9、四参数坐标转换(西安80-bj54坐标转换、CGCS2000-bj54坐标转换、CGCS2000-西安80坐 标转换(平面) 10、大地高转换为正常高的计算 11、工程投影变形超限的处理 12、遥感图像数据处理 13、曲线(曲面)拟合 14、摄影测量空间后方交会 15、****管理信息系统设计与开发 五、上交成果 1) 小组利用vb、vc或matlab编写的软件包一个及测试数据一份 2)小组关于所开发程序设计说明书一份 3) 个人课程设计的心得一份 4)小组答辩PPT一份

微生物学实验报告--第八周

年级:2009 专业:医学检验班级:一班姓名:赵富海学号:2009221792 实验八、细菌的药物敏感试验 【K-B法】 菌种(均为幼龄菌):金黄色葡萄球菌1.5×108/ml、大肠埃希菌1.5×108/ml 药物纸片:青霉素、庆大霉素、新诺明、环丙沙星 方法: 1.涂菌(棋盘划线法),室温放10min; 2.贴药敏纸片,注意间距(大于24mm)和边距(大于15mm); 3.置35℃24h判读结果。 结果如图所示: 金黄色葡萄球菌 金黄色葡萄球菌抗菌药物敏感性试验评价结果 实验结论:金黄色葡萄球菌对青霉素耐药,对庆大霉素、新诺明、环丙沙星敏感。 【试管稀释法】 菌种:金黄色葡萄球菌1.5×108/ml、大肠b1.5×108/ml 抗生素:庆大霉素32u/ml 方法: 1.对倍稀释抗生素

2.加菌液0.1ml/管,摇均35℃16—18h 3.判读MIC 试验操作如下图所示: 注意:设立对照管(肉汤对照管,待测菌生长对照管和质控菌生长对照管) 结果判断: 不出现肉眼可见生长的最低药物浓度为该药对该细菌的MIC. 如图: 实验结论:MIC=原药物浓度(32u/ml) ×稀释倍数(1:24)=2u/ml 【联合药敏试验】(示教) 金黄色葡萄球菌大肠b 结果判断: 金黄色葡萄球菌联合药敏试验结果判读:

①青+链=青单+链单→相加作用 ②青+红=青单+红单→相加作用 ③青+万=青单+万单→相加作用 ④青+林>青单+林单→协同作用 大肠b联合药敏试验结果判读: ①青+红=青单+红单→相加作用 ②青+链=青单+链单→相加作用 ③青+林=青单或林单→无关作用 ④青+南>青单+南单→协同作用 【实验讨论】 1.K-B法原理 将含有定量抗菌药物的纸片贴在已接种测试菌的琼脂平板上。纸片中所含有的药物吸取琼脂中的水分溶解后便不断地向纸片周围区域扩散形成递减的梯度浓度。在纸片周围抑菌浓度范围内测试菌的生长被抑制,从而形成透明的抑菌圈。抑菌圈的大小反映测试菌对测定药物的敏感程度。并与该药对测试菌的最低抑菌浓度(MIC)呈负相关关系,即抑菌圈愈大,MIC 愈小。 2. K-B法影响因素 ①培养基的质量,如PH、深度、硬度和表面湿度等; ②药敏纸片的质量,含药量和保存方式; ③接种菌量正确与否是影响结果的重要因素之一,取决于比浊标准的配制,正确使用和保存; ④试验操作质量:接种细菌后贴片时5~15分钟; ⑤孵育条件,温度和时间:培养时间16~18h,不要超过24h。 3.稀释法原理: 以水解酪蛋白(MH)液体培养基将抗生素作不同浓度的稀释,然后种入待测细菌,定量测定抗菌药物对被测菌的最低抑菌浓度(MIC)或最低杀菌浓度(MBC)。 4. 稀释法影响因素:培养基、接种菌量、蛋白质结合率、抗菌药物的配制、结果观察的时间等因素均能影响本试验的结果。 5.抗生素药物敏感性试验(AST)的意义 ①可预测抗生素治疗的效果,既AST试验结果为“敏感”时,治疗可能有效;试验结果为“耐药”时,使用该药物治疗肯定失败; ②指导临床医生选择使用抗生素,AST的结果往往在给予病人经验性治疗24~48h之后,若AST结果为“敏感”,该治疗为有效,若结果为“耐药”,即应更换药物; ③提供所选择药物的依据; ④监测耐药性,分析耐药菌的变迁,掌握耐药菌感染病的流行病学,控制和预防耐药菌感染的发生和流行。 6.通过此次实验掌握纸片扩散法(K-B法)、试管稀释法的原理、操作方法、结果的判读及其临床意义,并掌握联合药敏试验结果的观察、判断。

Visual Basic 程序设计基础教程-课后习题答案-范荣强

第一章程序与编程环境 一、填空题 1. 工程,Form_Load 2. 事件(触发) 3. 窗体,Name 4. CurrentX, CurrentY 5. maxButton, BorderStyle = 1 or 3 or 4 or 5 6. Alignment, 空缺,AutoSize 7. Style, LoadPicture 8. Line, Shape 9. 重画10. FillStyle ll. MultiLine, maxLength, Locked 12. Font 13. sub, 对象名,事件名14. 方法,Object.Method, text1.setfocus() 15. Name, minButtom, CurrentX(Y), Caption 16. Interval, Enable 17. timer, Interval, ms(毫秒) 18. Mouse Down, Click, LoastFocus 19. .Frm, .Frx, .bas. cls. Vbp 20. 注释, “Rem 语句”或者“’语句” 第二章数据的类型、表示以及运算 一、请指出下列哪些是VB的合法常量,并说明原因 (1)√(2)X 常量不能加类型说明符号改成123.4 (3)X与上题类似,如果是常量,则类型说明符放在后面(4)√等价于2E3 (5) √(6)√等于十进制的4113 (7)X 如果是16进制要写&符号(8)X 指数不能为小数(9)X 月份超过12,日超过31 (10)√(11)√(12)√等价于上一题(13)X 8进制数每一位不能超过8 (14)√(15)X 变量,常量要为基本数据类型的值(16)√ 二、找出合法变量 (1)√(2)√如果与控件Label1同在一个应用程序里面,该变量会屏蔽掉控件Label1 (3) X 保留字(4)√(5)X 变量不能以数字开头(6)变量不能有小数点 (7)√(8)√数组变量(9)X保留字(10)√可以,但rnd()不可以,rnd()是函数 (11) √(12)√(13)√(14)X ’符号表示注释(15)X 这是表达式,不是变量(16)X 同上,是表达式 三、指出下列数据x,y,z的声明是否正确,如果正确请指明其类型 (1)√ x--long, y—variant, z—integer (2) √ x—long, y—long, z—integer (3) √ x—double, y—double, z—integer (4) X 变量x &中间不能有空格 (5)√自动转换成字符串 (6)X 变量声明不能直接赋值 (7)√ (8)√自动转换成字符串 (9)X 常量不能把函数写上去 (10)√ 四、写出下列表达式的结果 (1)1 (2) 1 (3)false (4) ab12 (5)123 (6)出错,加法表达式中如果有一个是数值类型,则“+”表示加号,而不是字符的链接符号(7)False (8)true (9) true (10) false 默认转换成相同类型(数值),建议这里把2改成D试试 (P.S. 布尔类型TRUE = -1, FALSE = 0; 优先顺序:^(乘方)→-(求负)→*、/→\(整除)→MOD→+、-) 五、写出下列函数的结果

C++面向对象程序设计课程设计报告

. 课程设计 课程名称C++面向对象程序设计题目名称公司人员管理系统 专业班级13级计算机科学与技术一班学生林涛、甑德胜、梁增辉 吴志伟、齐、江靖 学号51302011015、51302011016、51302011001 51302011037、51302011006、51302011009指导教师郭有强 二○一四年六月二十日

目录 一、引言 (2) 二、课程设计报告 (4) 1、问题描述 (4) 2、系统总体方案 (4) 3、设计思路和主要步骤 (5) 4、各功能模块和流程图 (5) (1)各功能模块 (5) (2)流程图 (6) 三、系统测试 (9) 四、心得体会 (15) 五、参考文献 (17) 附:程序设计代码 (18)

一、引言 1985年,管理信息系统的创始人,高登?戴维斯给出的管理信息系统的定义是:“它是一个利用计算机硬件和软件,手工作业,分析、计划、控制和决策模型,以及数据库的用户一机器系统。它能提供信息,支持企业或组织的运行、管理和决策。”这个定义说明了管理信息系统的组成要素:计算机硬件、软件、数据库、模型库和用户。 随着我国社会的不断进步,人们对管理信息系统越来越重视,再加之管理信息系统在管理方面所产生的巨大影响,也使得人们越来越关注管理信息系统的发展趋势。由于管理信息系统的发展受到以上各种变革因素的制约,传统的管理信息系统必然向现代管理信息系统发展,在这个发展过程中,管理信息系统的发展将会呈现出以下趋势: 管理信息系统将会越来越注重以人为本。管理科学的发展有科学管理理论、行为管理理论和现代管理理论三个发展阶段,正在向着越来越人性化的方向发展,即以人为本。基于管理学的这一研究视角,管理信息系统也将向着更加人性化的方向发展。在今后的管理信息系统中将会越来越注重人的因素,以人为出发点和中心,围绕着激发和调动人的主动性、积极性、创造性展开的,以实现人与社会共同发展的一系列管理活动。而且这种人性化还会贯穿于管理信息系统的开发设计与研究中,具体表现为今后的管理信息系统将具有更加友好的人机界面,易于人们操作,也会考虑到不同用户的不同需求,更加个性化。 管理信息系统向智能化方向发展。随着人工智能技术的发展,数据仓库、数据挖掘技术在管理信息系统中的应用,管理信息系统必将向着智能化方向发展,如产生了很多的决策支持系统、专家系统等等。智能化的管理信息系统具有思维模拟活动,它具有很高的自学习、自组织和进化性,并具有知识创新功能,可以解决非结构化事务,在决策中处于主导地位,是人的向导,在体系上将是大规模分布式计算模式,以基于网络神经元构件的智能网为主。 管理信息系统向集成化方向发展。随着当前系统集成技术的提高,集成技术和方法也逐步地运用到管理信息系统中。由于管理信息系统将包含多个子系统,因此将这些功能集合在一起以便更好地发挥它的作用,这就是集成化的管理信息系统。集成化的管理信息系统将管理信息系统的各个子系统有机地结合起来,达到互通信息、共享数据资源的目的,其支撑技术是数据库和计算机网络。集成管

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