第一次上机实验参考答案

第一次上机实验参考答案
第一次上机实验参考答案

第一次上机实验参考答案

一、编程范例:创建Windows 窗体个人简历应用程序。

编写一个简单的个人简历程序,要求可以通过文本框输入学号和姓名,通过文件对话框选择照片并显示。系统运行界面如图1-1 所示。

图 1-1 个人简历项目界面

[界面设计]略。

[参考代码]

namespace FL1_1

{

public partial class Resume : Form

{

public Resume()

{

InitializeComponent();

}

private void btBrowse_Click(object sender, EventArgs e)

{

OpenFileDialog imageDialog = new OpenFileDialog();

imageDialog.Filter =

"BMP(*.BMP)|*.BMP|JPEG(*.JPEG)|*.JPEG|JPG(*.JPG)|*.JPG|GIF(*.GIF)|*.GIF|PNG(*.png)|* .png";

imageDialog.Title = "选择照片";

if (imageDialog.ShowDialog() == DialogResult.OK)

{

pbPhoto.ImageLocation = imageDialog.FileName;

}

}

private void btOK_Click(object sender, EventArgs e)

{

if (tbID.Text.Equals("") || tbName.Text.Equals(""))

MessageBox.Show("学号或者姓名不能为空");

else if (pbPhoto.ImageLocation == null)

MessageBox.Show("请使用浏览按钮上传照片");

else

{

MessageBox.Show("您的简历已保存至数据库!");

Application.Exit();

}

}

}

}

二.程序设计题

1.使用Visual C# 2008 设计一个Windows 应用程序,要求在窗体中显示“信息登录”

和“请输入您的姓名:”,输入文本框中最多只能输入4 个字符,显示文本框不能输入,当

点击显示按钮时显示文本框中显示您输入的姓名,项目名称为SY1-1,程序运行界面如图1-2 所示。

图1-2 SY1-1 的程序界面

[界面设计]略。

[参考代码]

namespace SY1_1

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

private void button1_Click(object sender, EventArgs e)

{

textBox2.Text = textBox1.Text;

}

}

}

2.利用标签、文本框、按钮控件以及相应的属性,编一字号、内容和格式的复制练习,效果见图1-3,项目文件名为SY1-2。

在 textBox1 输入一字符串,建立三个命令按钮:

(1)Button1:Text 内容为“隶书 25 磅”,事件过程代码为:

textBox1.Font = new Font("隶书", 25);

(2)Button2:Text 内容为“幼圆 15 磅”,代码类似。

(3)Button3:Text 内容为“复制 =>”,要求复制在textBox1 选中的内容以及其字体格式。选中的内容通过textBox1 的SelectedText 属性;字体通过Font 直接赋值。

图1-3 SY1-2 运行界面

[界面设计]略。

[参考代码]

namespace SY1_2

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

private void button1_Click(object sender, EventArgs e)

{

textBox1.Font = new Font("隶书", 25);

}

private void button2_Click(object sender, EventArgs e)

{

textBox1.Font = new Font("幼圆", 25);

}

private void button3_Click(object sender, EventArgs e)

{ textBox2.Text = textBox1.SelectedText;

textBox2.Font = textBox1.Font;

}

}

}

3.编写一个控制台应用程序,任意输入一个字符串,从最后一个字符开始倒序输出。例如,输入“abcdef”,输出为“fedcba”,不包括引号。

解题分析:在循环中使用字符串类的Sunstring方法来一个一个地取出输入字符并输出。

问题实现:项目名称为SY1-3。

[参考代码]

namespace SY1_3

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("请输入任意字符串:");

string s = Console.ReadLine();

Console.WriteLine("你输入的是:" + s);

Console.Write("逆序之后是:");

for (int i = s.Length - 1; i >= 0; i--)

Console.Write("{0}", s.Substring(i, 1));

Console.ReadKey();

}

}

}

4.创建一个Windows 应用程序,用于实现与上题相同的功能。项目名称为SY1-4,运行界面如图1-4所示。

图1-4 SY1-4 运行界面

[界面设计]略。

[参考代码]

namespace SY1_4

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

private void button1_Click(object sender, EventArgs e)

{

string s="", t="";

s = textBox1.Text;

for (int i = s.Length - 1; i >= 0; i--)

t=t+s.Substring(i,1);

textBox2.Text = t;

}

}

}

5.一个数如果恰好等于它的因子之和,这个数就称为完整数。例如6的因子为1、2、3,而6=1+2+3,因此6是完数,编程找出1000之内的所有完数。项目名称为SY1-5。

[界面设计]略。

[参考代码]

namespace SY1_5

{

class Program

{

static void Main(string[] args)

{

for (int W = 1; W < 1000; W++)

{

int sum = 0;

for (int num = 1; num < W; num++)

{

if (W % num == 0)

sum += num;

}

if (sum == W)

Console.WriteLine("" + W); }

}

}

}

C++上机实验报告实验三

实验三类与对象 1.实验目的 1.掌握类的定义和使用 2.掌握类的定义和对象的声明 3.复习具有不同访问属性的成员的访问方式 4.观察构造函数和析构函数的执行过程 5.学习类的组合使用方法 6.使用VC++的debug调试功能观察程序流程,跟踪观察类的构造函数、析构函数、成员函数的执行顺序。 2.实验要求 1.定义一个CPU类,包含等级(rank)、频率(frequency)、电压(voltage)等属性,有两个公有成员函数run、stop。其中,rank为枚举类型CPU_Rank,定义为enum CPU_Rank{P1=1,P2,P3,P4,P5,P6,P7},frequency为单位是MHz的整型数,voltage为浮点型的电压值。观察构造函数和析构函数的调用顺序。 2.定义一个简单的Computer类,有数据成员芯片(cpu)、内存(ram)、光驱(cdrom)等等,有两个公有成员函数run、stop。cpu为CPU类的一个对象,ram为RAM类的一个对象,cdrom 为CDROM类的一个对象,定义并实现这个类。 3. (选做)设计一个用于人事管理的People(人员)类。考虑到通用性这里只抽象出所有类型人员都具有的属性:number(编号)、sex(性别)、birthday(出生日期)、id(身份证号)等等。其中“出生日期”定义为一个“日期”类内嵌子对象。用成员函数实现对人员信息的录入和显示。要求包括:构造函数和析构函数、拷贝构造函数、内联成员函数、组合。 3.实验内容 1.首先定义枚举类型CPU_Rank,例如enum CPU_Rank{P1=1, P2, P3, P4, P5, P6, P7},再定义CPU类,包含等级(rank)、频率(frequency)、电压(voltage)等私有数据成员,定义成员函数run、stop,用来输出提示信息,在构造函数和析构函数中也可以输出提示信息。在主程序中定义一个CPU的对象,调用其成员函数,观察类对象的构造与析构顺序,以及成员函数的调用。程序名: 2.使用debug调试功能观察程序的运行流程,跟踪观察类的构造函数、析构函数、成员函数的执行顺序。 3.调试操作步骤如下: 1)单击Build | Start Debug | Step Into命令,或按下快捷键F11,系统进入单步执行状态,程序开始运行,一个DOS窗口出现,此时Visual Studio 中光标停在main()函数的入口处; 2)从Debug菜单或Debug工具栏中单击Step Over,此时,光标下移,程序准备执行CPU 对象的初始化; 3)单击Step Into,程序准备执行CPU类的构造函数; 4)连续单击Step Over,观察构造函数; 5)此时程序准备执行CPU对象的run()函数,单击Step Into,程序进入run()成员函数,连续单击Step Over,直到回到main()函数。 6)继续执行程序,参照上述的方法,观察程序的执行顺序,加深对类的构造函数、析构函数、成员函数的执行顺序的认识。 7)再试试Debug菜单栏中别的菜单项,熟悉Debug的各种方法。 4.首先定义CPU类(可使用第二题中的CPU类)、RAM类、CDROM类。再定义Computer类;

单片机第一次实验报告

单片机第一次实验报告 姓名: 学号: 班级:

实验报告 课程名称:微机原理与接口技术指导老师:学生姓名:学号:专业:自动化日期:20140327 地点: 实验一实验名称 1. 实验目的和要求 1.掌握keil软件和STC-ISP 软件的使用方法 2.点亮第一个发光管. 3.点亮1,3,5,7发光管 4.尝试让第一个发光管闪烁. 2. 主要仪器设备 1.一台pc机 2.一个单片机开发板 点亮第一个发光管. #include void main () { P1 &=0xFE; while(1) } 点亮1,3,5,7发光管 void main () { P1 &=0xAA;

while(1) } 尝试让第一个发光管闪烁. #include #define uint unsigned int #define uchar unsigned char void delay_ms(uint timer) { uchar j = 0; while(timer--) { for(j = 124;j>0;j--) { ; } } } void main (void) { while(1) { P1 &=0xFE; delay_ms(100); P1 |=0x01; delay_ms(100); } }

实验心得:这第一次试验,没准备,所以这次实验一上机啥都不会,也不知道该做啥,在同学的帮助下安装了程序和驱动,代码也是问同学才明白的。第一个代码,通过很顺利,但是测试第二个代码的时候电脑无法连接板子,后来重新安装了驱动才就能连接了。虽然感觉还是好多不懂的,不过还是学到了一些东西,有一点成就感。

上机实验 11 参考答案

上机实验11 指针与数组 一.实验目的 1. 掌握用下标、数组名或指针等不同方式引用数组元素; 2. 掌握数组名作函数参数的方法; 3.掌握常用的字符串处理函数和字符处理函数; 4.掌握用指针处理字符串的方法; 二.实验内容 【实验题1】程序填空:自定义函数del(s), 功能是删除字符串s中的数字字符, 要求使用字符处理函数isdigit()和字符串处理函数strcpy()。在主函数中输入1个字符串,然后调用函数del(), 用于删除其中的数字字符,并输出处理后的字符串。 提示:从字符串s的首字符开始, 到结束符’\0’之前为止,逐个检查第i个字符是否是数字字符,是则删除该字符——使用字符判别函数isdigit(s[i]), 如果s[i]是数字字符,该函数返回1,否则返回0. 难点:如何删除s的第i个字符?——使用字符串复制函数strcpy(), 将子串s+i+1(从字符s[i+1]开始的子串)复制到给s+i (从字符s[i]开始的子串),即strcpy(s+i, s+i+1)。 #include #include < ctype.h > #include void del( char *s); //line 4 函数声明 void main() { char str[80]; gets( str); //输入字符串str del(str ); //调用函数del(),删除str中的数字 puts(str); //输出字符串str } void del(char *s) //line 12 函数定义 { int i=0; while(s[i]!='\0') if(isdigit(s[i]) ) strcpy( s+i, s+i+1); // 如果字符s[i]是数字,用函数strcpy删除它 else i++; // 否则,继续查看下一个字符 } 运行程序,输入字符串"a1b2 #include

第5章上机实验报告

第5章上机实验报告 一、实验目的 (1)观察程序运行中变量的作用域74。 (2)学习类的静态成员的使用。 (3)学习多文件结构的C++程序中的使用。 二、实验任务 (1)运行下面的程序,观察变量x,y的值。 【代码lab5-1】 #include"iostream" usingnamespace std; void fun(); int x=1,y=2; int main() { cout<<"Begin..."<

计算机组成原理上机实验报告

《计算机组成原理实验》课程 实验报告 实验题目组成原理上机实验 班级1237-小______________ 姓名______________________________ 学号______________________________ 时间2014年5月________ 成绩______________________________

实验一基本运算器实验 1.实验目的 (1 )了解运算器的组成原理 (2 )掌握运算器的工作原理 2?实验内容 进行逻辑、移位、算术运算将运算结果填入表。 输入数据,根据运算器逻辑功能表 表运算结果表

3.实验原理 本实验的原理如图1-1所示。 运算器内部含有三个独立运算部件,分别为算术、逻辑和移位运算部件,要处理的数据存于暂存器A和暂存器B,三个部件同时接受来自A和B的数据(有些处理器体系结构把移位运算器放于算术和逻辑运算部件之前,如ARM),各部件对操作数进行何种运算由控制信号S3-S0和CN来 决定,任何时候,多路选择开关只选择三部件中一个部件的结果作为ALU的输出。如果是影响进位 的运算,还将置进位标志FC,在运算结果输出前,置ALU零标志。ALU中所有模块集成在一片CPLD 中。 图1-1运算器原理图 逻辑运算部件由逻辑门构成,较为简单,而后面又有专门的算术运算部件设计实验,在此对这两个部件不再赘述。移位运算采用的是桶形移位器,一般采用交叉开关矩阵来实现,交叉开关的原理如图1-2所示。 图1-2中显示的是一个4X4的矩阵(系统中是一个8X8的矩阵)。每一个输入都通过开关与一个输出相连,把沿对角线的开关导通,就可实现移位功能,即: (1)对于逻辑左移或逻辑右移功能,将一条对角线的开关导通,这将所有的输入位与所使用的输 出分别相连,而没有同任何输入相连的则输出连接0。 (2)对于循环右移功能,右移对角线同互补的左移对角线一起激活。例如,在4位矩阵中使用 '右1'和‘左3'对角线来实现右循环1位。 (3)对于未连接的输出位,移位时使用符号扩展或是0填充,具体由相应的指令控制。使用另 外的逻辑进行移位总量译码和符号判别。 运算器部件由一片CPLD实现。ALU的输入和输出通过三态门74LS245连到CPU内总线上,另外还有指示灯标明进位标志FC和零标志FZ。请注意:实验箱上凡丝印标注有马蹄形标记 ‘’,表示这两根排针之间是连通的。图中除T4和CLR,其余信号均来自于ALU单元的排线 座,实验箱中所有单元的T1、T2、T3、T4都连接至控制总线单元的T1、T2、T3、T4, CLR都连接至CON单元的CLR按钮。T4由时序单元的TS4提供(时序单元的介绍见附录二),其余控制信号均由CON单元的二进制数据开关模拟给出。控制信号中除T4为脉冲信号外,其余均为电平信号, 其中ALU_B为低有效,其余为高有效。 暂存器A和暂存器B的数据能在LED灯上实时显示,原理如图1-3所示(以A0为例,其

《MATLAB与数值分析》第一次上机实验报告

电子科技大学电子工程学院标准实验报告(实验)课程名称MATLAB与数值分析 学生姓名:李培睿 学号:2013020904026 指导教师:程建

一、实验名称 《MATLAB与数值分析》第一次上机实验 二、实验目的 1. 熟练掌握矩阵的生成、加、减、乘、除、转置、行列式、逆、范数等运算 操作。(用.m文件和Matlab函数编写一个对给定矩阵进行运算操作的程序) 2. 熟练掌握算术符号操作和基本运算操作,包括矩阵合并、向量合并、符号 转换、展开符号表达式、符号因式分解、符号表达式的化简、代数方程的符号解析解、特征多项式、函数的反函数、函数计算器、微积分、常微分方程的符号解、符号函数的画图等。(用.m文件编写进行符号因式分解和函数求反的程序) 3. 掌握Matlab函数的编写规范。 4、掌握Matlab常用的绘图处理操作,包括:基本平面图、图形注释命令、 三维曲线和面的填充、三维等高线等。(用.m文件编写在一个图形窗口上绘制正弦和余弦函数的图形,并给出充分的图形注释) 5. 熟练操作MATLAB软件平台,能利用M文件完成MATLAB的程序设计。 三、实验内容 1. 编程实现以下数列的图像,用户能输入不同的初始值以及系数。并以x, y为坐标显示图像 x(n+1) = a*x(n)-b*(y(n)-x(n)^2); y(n+1) = b*x(n)+a*(y(n)-x(n)^2) 2. 编程实现奥运5环图,允许用户输入环的直径。 3. 实现对输入任意长度向量元素的冒泡排序的升序排列。不允许使用sort 函数。 四、实验数据及结果分析 题目一: ①在Editor窗口编写函数代码如下:

MATLAB上机实验(答案)

MATLAB工具软件实验(1) (1)生成一个4×4的随机矩阵,求该矩阵的特征值和特征向量。程序: A=rand(4) [L,D]=eig(A) 结果: A = 0.9501 0.8913 0.8214 0.9218 0.2311 0.7621 0.4447 0.7382 0.6068 0.4565 0.6154 0.1763 0.4860 0.0185 0.7919 0.4057 L = -0.7412 -0.2729 - 0.1338i -0.2729 + 0.1338i -0.5413 -0.3955 -0.2609 - 0.4421i -0.2609 + 0.4421i 0.5416 -0.4062 -0.0833 + 0.4672i -0.0833 - 0.4672i 0.4276 -0.3595 0.6472 0.6472 -0.4804 D = 2.3230 0 0 0 0 0.0914 + 0.4586i 0 0 0 0 0.0914 - 0.4586i 0 0 0 0 0.2275 (2)给出一系列的a值,采用函数 22 22 1 25 x y a a += - 画一组椭圆。 程序: a=0.5:0.5:4.5; % a的绝对值不能大于5 t=[0:pi/50:2*pi]'; % 用参数t表示椭圆方程 X=cos(t)*a; Y=sin(t)*sqrt(25-a.^2); plot(X,Y) 结果: (3)X=[9,2,-3,-6,7,-2,1,7,4,-6,8,4,0,-2], (a)写出计算其负元素个数的程序。程序: X=[9,2,-3,-6,7,-2,1,7,4,-6,8,4,0,-2]; L=X<0; A=sum(L) 结果: A =

计算机上机实验内容及实验报告要求(完整版)

报告编号:YT-FS-1915-76 计算机上机实验内容及实验报告要求(完整版) After Completing The T ask According To The Original Plan, A Report Will Be Formed T o Reflect The Basic Situation Encountered, Reveal The Existing Problems And Put Forward Future Ideas. 互惠互利共同繁荣 Mutual Benefit And Common Prosperity

计算机上机实验内容及实验报告要 求(完整版) 备注:该报告书文本主要按照原定计划完成任务后形成报告,并反映遇到的基本情况、实际取得的成功和过程中取得的经验教训、揭露存在的问题以及提出今后设想。文档可根据实际情况进行修改和使用。 一、《软件技术基础》上机实验内容 1.顺序表的建立、插入、删除。 2.带头结点的单链表的建立(用尾插法)、插入、删除。 二、提交到个人10m硬盘空间的内容及截止时间 1.分别建立二个文件夹,取名为顺序表和单链表。 2.在这二个文件夹中,分别存放上述二个实验的相关文件。每个文件夹中应有三个文件(.c文件、.obj 文件和.exe文件)。 3.截止时间:12月28日(18周周日)晚上关机时为止,届时服务器将关闭。 三、实验报告要求及上交时间(用a4纸打印)

1.格式: 《计算机软件技术基础》上机实验报告 用户名se××××学号姓名学院 ①实验名称: ②实验目的: ③算法描述(可用文字描述,也可用流程图): ④源代码:(.c的文件) ⑤用户屏幕(即程序运行时出现在机器上的画面): 2.对c文件的要求: 程序应具有以下特点:a 可读性:有注释。 b 交互性:有输入提示。 c 结构化程序设计风格:分层缩进、隔行书写。 3.上交时间:12月26日下午1点-6点,工程设计中心三楼教学组。请注意:过时不候哟! 四、实验报告内容 0.顺序表的插入。 1.顺序表的删除。

模式识别第二次上机实验报告

北京科技大学计算机与通信工程学院 模式分类第二次上机实验报告 姓名:XXXXXX 学号:00000000 班级:电信11 时间:2014-04-16

一、实验目的 1.掌握支持向量机(SVM)的原理、核函数类型选择以及核参数选择原则等; 二、实验内容 2.准备好数据,首先要把数据转换成Libsvm软件包要求的数据格式为: label index1:value1 index2:value2 ... 其中对于分类来说label为类标识,指定数据的种类;对于回归来说label为目标值。(我主要要用到回归) Index是从1开始的自然数,value是每一维的特征值。 该过程可以自己使用excel或者编写程序来完成,也可以使用网络上的FormatDataLibsvm.xls来完成。FormatDataLibsvm.xls使用说明: 先将数据按照下列格式存放(注意label放最后面): value1 value2 label value1 value2 label 然后将以上数据粘贴到FormatDataLibsvm.xls中的最左上角单元格,接着工具->宏执行行FormatDataToLibsvm宏。就可以得到libsvm要求的数据格式。将该数据存放到文本文件中进行下一步的处理。 3.对数据进行归一化。 该过程要用到libsvm软件包中的svm-scale.exe Svm-scale用法: 用法:svmscale [-l lower] [-u upper] [-y y_lower y_upper] [-s save_filename] [-r restore_filename] filename (缺省值:lower = -1,upper = 1,没有对y进行缩放)其中,-l:数据下限标记;lower:缩放后数据下限;-u:数据上限标记;upper:缩放后数据上限;-y:是否对目标值同时进行缩放;y_lower为下限值,y_upper为上限值;(回归需要对目标进行缩放,因此该参数可以设定为–y -1 1 )-s save_filename:表示将缩放的规则保存为文件save_filename;-r restore_filename:表示将缩放规则文件restore_filename载入后按此缩放;filename:待缩放的数据文件(要求满足前面所述的格式)。缩放规则文件可以用文本浏览器打开,看到其格式为: y lower upper min max x lower upper index1 min1 max1 index2 min2 max2 其中的lower 与upper 与使用时所设置的lower 与upper 含义相同;index 表示特征序号;min 转换前该特征的最小值;max 转换前该特征的最大值。数据集的缩放结果在此情况下通过DOS窗口输出,当然也可以通过DOS的文件重定向符号“>”将结果另存为指定的文件。该文件中的参数可用于最后面对目标值的反归一化。反归一化的公式为: (Value-lower)*(max-min)/(upper - lower)+lower 其中value为归一化后的值,其他参数与前面介绍的相同。 建议将训练数据集与测试数据集放在同一个文本文件中一起归一化,然后再将归一化结果分成训练集和测试集。 4.训练数据,生成模型。 用法:svmtrain [options] training_set_file [model_file] 其中,options(操作参数):可用的选项即表示的涵义如下所示-s svm类型:设置SVM 类型,默

matlab第一次实验报告

Matlab第一次实验报告 2012029010010 尹康 1. 编程实现以下数列的图像,用户能输入不同的初始值以及系数。并以x,y为坐标显示图像 x(n+1) = a*x(n)-b*(y(n)-x(n)^2); y(n+1) = b*x(n)+a*(y(n)-x(n)^2) 程序代码: n=input('input the number of pionts:'); a=input('input a:'); b=input('input b:'); x=[]; y=[]; x(1)=input('input x1:'); y(1)=input('input y1:'); %输入点数、初始值以及系数for i=2:n x(i)=a*x(i-1)-b*(y(i-1)-x(i-1)^2); y(i)=a*x(i-1)+b*(y(i-1)-x(i-1)^2); %根据已输入的数据进行迭代end figure;plot(x,y,'linewidth',2) axis equal %横纵坐标等比例 text(x(1),y(1),'1st point') %标记初始点 运行结果:

心得体会及改进:在输入某些数据时,所绘曲线可能是一条折线(如:n=5,a=b=x1=1,y1=2)甚至只有一个点(如:n=5,a=b=x1=y1=1),此时可能出现曲线与坐标轴重合或无法看到点的情况,为了更清晰地展现曲线,可以使线宽适当加宽并标记初始点。 2.编程实现奥运5环图,允许用户输入环的直径。 程序代码: 函数circle: %在指定的圆心坐标处,用指定颜色、宽度的线条绘出指定半径、圆心角的弧 function f=circle(r,x,y,color,linw,alp1,alp2) alp=linspace(alp1,alp2); X=r*cos(alp)+x; Y=r*sin(alp)+y; plot(X,Y,color,'linewidth',linw) end 主程序代码: r=input('input r:');

C语言上机实验-答案

实验一上机操作初步(2学时) 一、实验方式:一人一机 二、实验目的: 1、熟悉VC++语言的上机环境及上机操作过程。 2、了解如何编辑、编译、连接和运行一个C程序。 3、初步了解C程序的特点。 三、实验内容: 说明:前三题为必做题目,后两题为选做题目。 1、输出入下信息:(实验指导书P79) ************************* Very Good ************************* 2、计算两个整数的和与积。(实验指导书P81) 3、从键盘输入一个角度的弧度值x,计算该角度的余弦值,将计算结果输出到屏幕。(书 P3) 4、在屏幕上显示一个文字菜单模样的图案: ================================= 1 输入数据 2 修改数据 3 查询数据 4 打印数据 ================================= 5、从键盘上输入两个整数,交换这两个整数。 四、实验步骤与过程: 五、实验调试记录: 六、参考答案: 1、#include void main( ) { printf(“********************\n”); printf(“ Very Good\n”); printf(“********************\n”); } 2、#include void main( ) { int a,b,c,d; printf(“Please enter a,b:”);

scanf(“%d,%d”,&a,&b); c=a+b; d=a*b; printf(“%d+%d=%d\n”,a,b,c); printf(“%d*%d=%d\n”,a,b,d); } 3、#include #include void main( ) { double x,s; printf(“Please input value of x:”); scanf(“%lf”,&x); s=cos(x); printf(“cos(%lf)=%lf\n”,x,s); } 4、#include void main( ) { printf(“==================================\n”); printf(“ 1 输入数据 2 修改数据\n”); printf(“ 3 查询数据 4 打印数据\n”); printf(“===================================\n”); } 5、#include void main( ) { int x,y,t; printf(“Please enter x and y:”); scanf(“%d%d”,&x,&y); t=x; x=y; y=t; printf(“After s\n”,x,y); } 实验二简单的C程序设计(4学时) 一、实验方式:一人一机 二、实验目的: 1、掌握C语言的数据类型。 2、学会使用C语言的运算符及表达式。 3、掌握不同数据类型的输入输出方法。 三、实验内容: 说明:前四题为必做题目,后两题为选做题目。

《大学计算机基础》上机实验报告

《大学计算机基础》 上机实验报告 班级: 姓名: 学号: 授课教师: 日期:年月日

目录 一、Windows操作系统基本操作......................................................... - 1 - 二、Word文字处理基本操作 .............................................................. - 4 - 三、Excel电子表格基本操作 ............................................................ - 6 - 四、PowerPoint幻灯片基本操作....................................................... - 8 - 五、网页设计基本操作 ...................................................................... - 9 - 六、Access数据库基本操作 ............................................................ - 10 - 上机实验作业要求: ○1在实验报告纸上手写并粘贴实验结果; ○2每人将所有作业装订在一起(要包封面); ○3全部上机实验结束后全班统一上交; ○4作业内容不得重复、输入的数据需要有差别。

实验名称一、Windows操作系统基本操作 实验目的1、掌握Windows的基本操作方法。 2、学会使用“画图”和PrntScr快捷键。 3、学会使用“计算器”和Word基本操作。 实验内容1、日历标注 利用“画图”和Word软件,截取计算机上日历的图片并用文字、颜色、图框等标注出近期的节假日及其名称,并将结果显示保存在下面(参考下面样图)。 运行结果是: 主要操作步骤是: 2、科学计算 利用“计算器”和Word软件,计算下列题目,并将结果截图保存在下面(参考样图)。 ○1使用科学型计算器,求8!、sin(8)、90、74、20、67、39、400、50.23、ln(785)的平均值、和值,并用科学计数法显示。 运行结果是: ②将以下十、八、十六进制数转换为二进制数:(894.8125)10、(37.5)8、(2C.4B)16 运行结果是:(需要下载使用“唯美计算器”) ○3计算下列二进制数的加法与乘法:101.1+11.11;1101*1011 运行结果是:(参考样图) 写出主要操作步骤: 3、实验心得体会

c语言上机实验完整标准答案

c语言上机实验完整答案

————————————————————————————————作者:————————————————————————————————日期:

实验一自测练习1 程序代码 #include"stdio.h" void main() {int x; scanf("%d",&x); if (x%2 !=0) printf("%d is an odd\n",x); else printf("%d is an even\n",x); } 运行结果 自测练习2 程序代码 #include"stdio.h" void main() {int i,sum; i=1;sum=0; while (i<=100) {sum=sum+i; i++; }

printf("sum=%d\n",sum); } 运行结果 自测练习3 程序代码 #include"stdio.h" void main() {int i,n; long p; p=1; printf("Enter n:"); scanf("%d",&n); for (i=1;i<=n;i++) p=p*i; printf("p=%ld\n",p); } 运行结果

自测练习4 程序代码 #include"stdio.h" int max(int x,int y) {int z; if (x>y) z=x;else z=y; return(z); } void main() {int a,b,c; scanf("%d,%d",&a,&b); c=max(a,b); printf("max=%d\n",c); } 运行结果

C++上机实验报告实验五

实验五继承与派生 1.实验目的 1.学习定义和使用类的继承关系,定义派生类 2.熟悉不同继承方式下对基类成员的访问控制 3.学习利用虚基类解决二义性问题 2.实验要求 1.定义一个基类Animal,有私有整型成员变量age,构造其派生类dog,在其成员函数SetAge (int n)中直接给age赋值,看看会有什么问题,把age改为公有成员变量,还会有问题吗?编程尝试。 2.定义一个基类BaseClass,有整型变量Number,构造其派生类DerivedClass,观察构造函数和析构函数的执行情况。 3.定义一个车(vehicle)基类,具有Maxspeed、Weight等成员,Run、Stop等成员函数,由此派生出自行车(bicycle)类、汽车(motorcar)类。自行车(bicycle)类有高度(Height)等属性,汽车(motorcar)类有座位数(SeatNun)等属性。从bicycle和motorcar派生出摩托车(motorbicycle)类,在继承过程中,注意把vehicle设置为虚基类。如果不把vehicle 设置为虚基类,会有什么问题?编程尝试。 3.实验容及实验步骤 1.编写程序定义基类Animal,成员变量age定义为私有的。构造派生类dog,在其成员函数SetAge(int n)中直接对age赋值时,会出现类似以下的错误提示: error C2248 : ‘age’ : cannot access private member declared in class ‘Animal’error C2248 : ‘age’ : cannot access private member declared in class ‘Animal’把age改为公有成员变量后重新编译就可以了。程序名:lab7_1.cpp。 2.编写程序定义一个基类BaseClass,构造其派生类DerivedClass,在构造函数和析构函数中用cout输出提示信息,观察构造函数和析构函数的执行情况。程序名:lab7_2.cpp。 3.用debug功能跟踪程序lab7_2的执行过程,观察基类和派生类的构造函数和析构函数的执行情况。 4.编写程序定义一个车(vehicle)基类,由此派生出自行车(bicycle)类、汽车(motorcar)类,注意把vehicle派生为虚基类。再从bicycle和motorcar派生出摩托车(motorcycle)类,在main()函数中测试这个类。程序名:lab7_3.cpp。 编译成功后,把vehicle设置为非虚基类,再编译一次,此时系统报错,无法编译成功。这是因为若不把vehicle设置为虚基类,会出现二义性错误,程序不能成功编译。 4.思考题 1.如何在已有的类的基础上设计新的类? 采用类的派生的方法,利用基类派生出子类,子类继承基类的属性,从而在已有基类的基础上设计新的派生类,模式如下: class 派生类名:继承方式基类名1,继承方式基类名2,…,继承方式基类名n { 派生类成员声明; }; 2.基类和派生类对象的构造顺序是怎样的? 先调用基类的构造函数,然后再调用嵌对象(派生类中的对象)的构造函数。基类构造函数的调用顺序是按照派生类定义时的顺序,而嵌对象的构造函数调用顺序是按照成员在类中声

计算机组成原理上机实验报告

《计算机组成原理实验》课程实验报告 实验题目组成原理上机实验 班级 1237-小 姓名 学号 时间 2014年5月 成绩

实验一基本运算器实验 1.实验目的 (1)了解运算器的组成原理 (2)掌握运算器的工作原理 2.实验内容 输入数据,根据运算器逻辑功能表1-1进行逻辑、移位、算术运算,将运算结果填入表1-2。 表 1-1运算器逻辑功能表 表1-2运算结果表

3.实验原理 本实验的原理如图1-1所示。 运算器内部含有三个独立运算部件,分别为算术、逻辑和移位运算部件,要处理的数据存于暂存器 A 和暂存器 B,三个部件同时接受来自 A 和 B 的数据(有些处理器体系结构把移位运算器放于算术和逻辑运算部件之前,如 ARM),各部件对操作数进行何种运算由控制信号S3…S0和 CN 来决定,任何时候,多路选择开关只选择三部件中一个部件的结果作为 ALU 的输出。如果是影响进位的运算,还将置进位标志 FC,在运算结果输出前,置 ALU 零标志。ALU 中所有模块集成在一片 CPLD 中。 图 1-1 运算器原理图 逻辑运算部件由逻辑门构成,较为简单,而后面又有专门的算术运算部件设计实验,在此对这两个部件不再赘述。移位运算采用的是桶形移位器,一般采用交叉开关矩阵来实现,交叉开关的原理如图1-2所示。 图1-2中显示的是一个 4X4 的矩阵(系统中是一个 8X8 的矩阵)。每一个输入都通过开关与一个输出相连,把沿对角线的开关导通,就可实现移位功能,即: (1)对于逻辑左移或逻辑右移功能,将一条对角线的开关导通,这将所有的输入位与所使用的输出分别相连,而没有同任何输入相连的则输出连接 0。 (2)对于循环右移功能,右移对角线同互补的左移对角线一起激活。例如,在 4 位矩阵中使用‘右1’和‘左3’对角线来实现右循环 1 位。 (3)对于未连接的输出位,移位时使用符号扩展或是 0 填充,具体由相应的指令控制。使用另外的逻辑进行移位总量译码和符号判别。 运算器部件由一片 CPLD 实现。ALU 的输入和输出通过三态门 74LS245 连到 CPU 内总线上,另外还有指示灯标明进位标志 FC 和零标志 FZ。请注意:实验箱上凡丝印标注有马蹄形标记‘’,表示这两根排针之间是连通的。图中除 T4 和 CLR,其余信号均来自于 ALU 单元的排线座,实验箱中所有单元的 T1、T2、T3、T4 都连接至控制总线单元的 T1、T2、T3、T4,CLR 都连接至 CON 单元的 CLR 按钮。T4 由时序单元的 TS4 提供(时序单元的介绍见附录二),其余控制信号均由 CON 单元的二进制数据开关模拟给出。控制信号中除 T4 为脉冲信号外,其余均为电平信号,其中 ALU_B 为低有效,其余为高有效。 暂存器 A 和暂存器 B 的数据能在 LED 灯上实时显示,原理如图1-3 所示(以 A0 为例,其

并行计算第一次实验报告

并行计算上机实验报告题目:多线程计算Pi值 学生姓名 学院名称计算机学院 专业计算机科学与技术时间

一. 实验目的 1、掌握集群任务提交方式; 2、掌握多线程编程。 二.实验内容 1、通过下图中的近似公式,使用多线程编程实现pi的计算; 2、通过控制变量N的数值以及线程的数量,观察程序的执行效率。 三.实现方法 1. 下载配置SSH客户端 2. 用多线程编写pi代码 3. 通过文件传输界面,将文件上传到集群上 4.将命令行目录切换至data,对.c文件进行编译 5.编写PBS脚本,提交作业 6.实验代码如下: #include

#include #include #include #include #include static double PI=0; static int N=0; static int numOfThread=0; static int length=0; static int timeUsed=0; static int numOfThreadArray[]={1,2,4,6,8,10,12,14,16,20,24,30}; static int threadArraySize=12; static int nTime=4; static int repeatTime=30; static double totalTime=0; struct timeval tvpre, tvafter; pthread_mutex_t mut; clockid_t startTime,endTime;

C语言程序设计_上机实验指导与习题_第三版_(陈湘骥_编著_著)_华南农业大学_参考答案

C语言程序设计上机实验指导与习题 参考答案 (仅供教师内部参考) 华南农业大学

目录 上机实验 (1) 实验 1 C语言程序初步 (1) 一、实验目的 (1) 二、实验内容 (1) 实验2基本数据类型、运算和表达式 (3) 一、实验目的 (3) 二、实验内容 (3) 实验3基本输入与输出 (5) 一、实验目的 (5) 二、实验内容 (5) 实验4选择结构程序设计 (4) 一、实验目的 (4) 二、实验内容 (4) 实验5循环结构程序设计(一) (9) 一、实验目的 (9) 二、实验内容 (9) 实验6循环结构程序设计(二) (15) 一、实验目的 (15) 二、实验内容 (15) 实验7数组 (17) 一、实验目的 (17) 二、实验内容 (17) 实验8字符数组的应用 (22) 一、实验目的 (22) 二、实验内容 (22) 实验9函数的基本应用 (24) 一、实验目的 (24) 二、实验内容 (24) 实验10指针与结构体 (26) 一、实验目的 (26) 二、实验内容 (26) *实验11链表 (29) 一、实验目的 (29) 二、实验内容 (29) *实验12文件 (32) 一、实验目的 (32) 二、实验内容 (32)

上机实验 实验 1 C语言程序初步 一、实验目的 (1)了解所用的计算机系统的基本操作方法,学会独立使用该系统。 (2)了解在该系统上如何编辑、编译、连接和运行一个C程序。 (3)通过运行简单的C程序,初步了解C程序的特点。 (4)在教师的指导下,学会使用JudgeOnline实验系统。 二、实验内容 1. 运行第一个 C 程序 [题目:The first C Program] 将下列程序输入 TC(或 VC++),编译、连接和运行该程序。 void main() { printf("The first C Program\n"); } [具体操作步骤] 以 Turbo C 上的操作为例 (1)Windows 进入后,按照第一章中介绍的方法,进入 Turbo C。 (2)在编辑窗口中输入程序。 (3)保存程序,取名为 a1.c。 (4)按照第一章中介绍的方法,编译、连接和运行程序。 2.在JudgeOnline系统中提交实现了计算a+b功能的程序 [题目 1001:计算 a+b] 由键盘输入两个整数,计算并输出两个整数的和。实现该功能的程序如下, void main() { int a, b; scanf("%d%d", &a, &b); 1

C上机实验报告实验五

C上机实验报告实验五 This manuscript was revised by the office on December 22, 2012

实验五继承与派生 1.实验目的 1.学习定义和使用类的继承关系,定义派生类 2.熟悉不同继承方式下对基类成员的访问控制 3.学习利用虚基类解决二义性问题 2.实验要求 1.定义一个基类Animal,有私有整型成员变量age,构造其派生类dog,在其成员函数SetAge(intn)中直接给age赋值,看看会有什么问题,把age改为公有成员变量,还会有问题吗?编程尝试。 2.定义一个基类BaseClass,有整型变量Number,构造其派生类DerivedClass,观察构造函数和析构函数的执行情况。 3.定义一个车(vehicle)基类,具有Maxspeed、Weight等成员,Run、Stop 等成员函数,由此派生出自行车(bicycle)类、汽车(motorcar)类。自行车(bicycle)类有高度(Height)等属性,汽车(motorcar)类有座位数(SeatNun)等属性。从bicycle和motorcar派生出摩托车(motorbicycle)类,在继承过程中,注意把vehicle设置为虚基类。如果不把vehicle设置为虚基类,会有什么问题?编程尝试。 3.实验内容及实验步骤 1.编写程序定义基类Animal,成员变量age定义为私有的。构造派生类dog,在其成员函数SetAge(intn)中直接对age赋值时,会出现类似以下的错误提示: errorC2248:‘age’:cannotaccessprivatememberdeclaredinclass‘Animal’errorC2248:‘age’:cannotaccessprivatememberdeclaredinclass‘Animal’把age改为公有成员变量后重新编译就可以了。程序名:lab7_1.cpp。 2.编写程序定义一个基类BaseClass,构造其派生类DerivedClass,在构造函数和析构函数中用cout输出提示信息,观察构造函数和析构函数的执行情况。程序名:lab7_2.cpp。 3.用debug功能跟踪程序lab7_2的执行过程,观察基类和派生类的构造函数和析构函数的执行情况。 4.编写程序定义一个车(vehicle)基类,由此派生出自行车(bicycle)类、汽车(motorcar)类,注意把vehicle派生为虚基类。再从bicycle和motorcar派生出摩托车(motorcycle)类,在main()函数中测试这个类。程序名:lab7_3.cpp。 编译成功后,把vehicle设置为非虚基类,再编译一次,此时系统报错,无法编译成功。这是因为若不把vehicle设置为虚基类,会出现二义性错误,程序不能成功编译。 4.思考题 1.如何在已有的类的基础上设计新的类?

相关文档
最新文档