上机实验报告---第九次

时间:2019-05-12 19:05:51下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《上机实验报告---第九次》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《上机实验报告---第九次》。

第一篇:上机实验报告---第九次

C++语言程序设计

第九

班级:08(本)计算机科学与技术学号:

姓名:

周次:

上机时间:班

C++语言程序设计

一、上机目的:

(1)理解异常处理的重要性以及使用异常处理。

(2)使用不同的C++异常处理技术。

(3)能够处理不可预见的异常。

(4)熟悉标准异常处理函数。

附加内容:

1、异常处理语法

1)throw语法

Throw<表达式>;

当某段程序发现了自己不能处理的异常,就可以使用throw语句将这个异常抛掷给调用者。

2)try块语法

Try

{

复合语句

}

Try语句后的复合语句是代码的保护段。如果预料到某段代码有可能发生异常,就将它放在try语句后。如果这段代码运行时真的遇到异常情况,其中的throw表达式就会抛掷这个异常。

3)catch语法

Catch语句的语法格式如下:

Catch(异常类型1参数1)

{

//针对异常类型1的处理语句

}

Catch(异常类型2参数2)

{

//针对异常类型2的处理语句

}…..…….Catch(异常类型n参数n)

{

//针对异常类型n的处理语句

}

Catch语句后的复合语句是异常处理程序,捕获由throw表达式抛掷的异常。

4)异常处理的执行过程

步骤:

①控制通过正常的顺序执行到达try语句,然后执行try块内的保护段。②如果在保护段内没有发生异常,那么跟在try块内的保护段。

③如果在保护段内执行期间或在保护段调用的任何函数中(直接或间接的调用)有异常被抛掷,则从通过throw创建的对象中创建一个异常对象。在这一点上,编译器能够处理抛掷类型的处理程序,在更高执行上下文中寻找一个catch语句。Catch处理程序按其在try块后出现的顺序被检查。如果没有找到合适的处理程序,则继续检查下一个动态封闭的try块。此处理继续下去,直到最外层的封闭try块被检查完。

二、上机内容:

在Visual C++环境下编程实现以下题目。

1、声明一个异常类Cexception,成员函数Reason,用来显示异常的类型。定义函数fn1触发异常,在主函数的try模块中调用fn1函数,在catch模块中捕获异常,观察程序的执行流程。

2、编写一个程序,求输入数的平方根。设置异常处理,对输入负数的情况给出提示。

#include

#include

using namespace std;

void main()

{

double n;

double m;

cout << “请输入一个数: ”;

cin >> n;

try

{

if(n < 0)

{

throw exception(“输入的数是负数!”);

}

m = sqrt(n);

cout << “n的平方根是: ” <

}

catch(exception e)

{

cout << e.what()<< endl;

}

3、下面是一个用于处理文件打不开的异常处理程序,分析程序并完成相应的问题。

//test10_2.cpp

#include

#include

Using namespace std;

Int main()

{

Ifstream source(“file9_2.txt”);

Char line[128];

Try

{

If(!source)

Throw “file9_2.txt”;//如果打开失败,跑出异常

}

Catch(char *s)

{

Cout<<”error opening the file”<

Exit(1);

}

While(!source.eof()){//判断是否到文件末尾

Source.getline(line,sizeof(line));

Cout<

}

Source.close();

Return 0;

}

请回答以下问题:

1)若其中没有file9_2.txt文件,则输出结果如何?【写出理由】

2)在硬盘上建一个file9_1.txt文件,其文件内容自己定义。输出结果如何?【写出理由】

三、上机结果

给出C++源代码,并把上机运行结果粘贴到CPP文件末尾。

请输入一个数: 8

n的平方根是: 2.82843

Press any key to continue

请输入一个数:-8

输入的数是负数!

Press any key to continue

四、上机心得

主要写感想,这次上机过程的情况。包括遇到的难点,和上机的运行情况和同学们交流情况。

第二篇:第九次上机实验 实验报告

计算机基础上机实验

(九)姓名:

上机须知:

a)必须带《实验教程》,没有带的回去取;上机时间:2小时 b)提交内容:

a)按照实验4的步骤将多媒体嵌入到PPT中(声音,录制旁白,背景音乐,视频,flash)b)按照实验5的步骤设置PPT的放映属性(放映方式,自定义放映,设置动作,排练计时,隐藏幻灯片(),放映中的控制)。

注1:以上两部分包括PPT源文件和主要效果的截图。

c)A、B班要求不完全相同,不要做错

d)作业提交格式:提交多个文件时打包为rar压缩包,压缩包按班级-学号-姓名-实验号(阿拉伯数字)-A(B).rar命名,A、B代表A班或者B班,截图按1.jpg、2.jpg…依次命名

学号:班级:日期:

1.制作一个具有多媒体效果的PPT

说明:以下操作参考实验5.4

a)在第一张幻灯片中插入声音(剪辑管理器或者文件中)。

b)在第二张幻灯片中插入视频

c)第第三张幻灯片中插入Flash动画

d)给PPT设置背景音乐。

e)在幻灯片中录制旁白。

2.设置PPT的放映属性

说明:

a)

b)

c)

d)

e)

f)

g)设置放映方式(演讲者放映,观众自行浏览,在展台浏览)。设置自定义放映 设置动作(鼠标动作,超链接等)设置排练计时(B班可以不做)隐藏幻灯片 正常和快速放映方式的设置 放映的控制(定位法,序号法,连接法),会议记录, 备注,控制指针,结束放映

第三篇:上机实验报告格式

请各位同学按照下列格式写:否则按照0分记

上机实验报告格式

Matlab学习第?次上机实验报告(第?次)

姓名:???班级:???上机时间:??????

1.上机内容

2.建模及算法分析

3.程序

4.小结

5.参考文献

将文档发到我的邮箱里面

learn_matlab@163.com

第四篇:上机实验报告

一. 题目1. 建立一个学生档案,内容包括学号,姓名,年龄,性别,数学,物理和英语3门功课成绩。要求实现以下功能:1)数据输入;2)查询某个学生的成绩;3)按平均排列输出;4)统计某门课各分数段人数;5)删除某个学生记录;2. 编程实现对二位数进行加,减,乘运算,每运行一次程序做10道题,完成后给出成绩(每题10分)。二. 设计思想和模块划分1.1.先定义所需要的条件,例如,姓名,学号,性别,三门功课的成绩,平均分等。2.输入姓名,学号,性别,年龄,三门功课的成绩后,就输出相应的姓名,学号,性别,年龄,三门功课的成绩。3.打印表头;4.在求出平均分,并打印出平均分。5.在查找学生,并打印出学生的相关资料;并按照平均分的高低排列;6.在统计学生各科成绩是否》=60分,如果是就是通过,否就是没通过,最后打印出最后的结果。7.删除学生,选中删除的学生,如果确定要,那么该学生的一切记录就变为0;2.1.随机调用函数,产生两个其值为10到99的随机整数分别放在c,d中用作运算时的运算数。2.随机调用函数,产生一个值为1到3 的随机整数放入b中,用来选择不同的运算。根据b的值选择不同的运算。当b=1时,去进行c+d的运算练习;当b=2 时,去进行c-d的运算练习;当b=3时,去进行c×d的运算练习。每完成一个算题就给出是否正确的信息。3.根据答案正确与否统计。正确时,显示’right’;错误时,显示’wrong’。4.步骤1.2.3.4.重复10次。5.输出学生成绩。三. 运行结果1.Input the 1 student :num:03name:wfage:18sex:fmath:98phy:75eng:65Input the 2 student :num:06name:scage:17sex:fmath:78phy:45eng:65Input the 3 student :num:09name:ytage:17sex:mmath:69phy:75eng:501.readin 2.finds 3.del 4.tj 5.exit1-----------------------------table----num name age sex math phy eng ave------3 wf 18 f 98.0 75.0 65.0 79.3------9 yt 17 m 69.0 75.0 50.0 64.7-------6 sc 17 f 78.0 45.0 65.0 62.7-------1.readin 2.finds 3.del 4.tj 5.exit2Into number:3---num name age sex math phy eng ave---3 wf 18 f 98.0 75.0 65.0 79.3----1.readin 2.finds 3.del 4.tj 5.exit3Into number:6---num name age sex math phy eng ave---6 sc 17 f 78.0 45.0 65.0 62.6---true? Y/Ny1----------------table------------------num name age sex math phy eng ave----3 wf 18 f 98.0 75.0 65.0 79.3-----9 yt 17 m 69.0 75.0 50.0 64.7-----0 0 0 f 0.0 0.0 0.0 0.0-----1.readin 2.finds 3.del 4.tj 5.exit4 1.input the math 2.input the phy 3.input the eng 1math: pass num is :3 no pass num is :02.32+82=114right!97*15=1455right!99-58=41right!76-66=10right!58+13=71right!37+49=86right!99+52=151right!49*69=5462wrong!73-38=31wrong!86+34=120right!mark is 80四. 主要错误改正方法1.在本题的编写过程中常出现begin 和end 不配对,只要始它们的个数相同就可以了,就可以了。在程序中常出现的’unknown identifier’没有定义的错误,只要在程序前加上定义,就可以了。还有就是type mismatch’的类型不匹配,只要根据前后内容,重新定义,就可以了。2.在本题编写中,题目要求是两个两位数运算,如果写成c:=random(100)在运行过程中,就会出现一位数运算,只要把它写成c:=random(90)+10,就可以了。五. 实习小结1.第一题的程序编写比较复杂,需要较多的定义,因而在后面的程序部分,就常出现标识符重复,而导致的类型不匹配。还有就是每个部分编好后,上下不能连接,而无法调用。2.第二题较第一题简单,和书上的例题类似,所以,比较简单,但从中也出现一些不问题。以上两大题中出现的问题,要在同学的帮助下,才能完成。总的来说两题程序比较困难六. 程序清单1.program twins;const m=3;n=3;typestudent=recordnum:integer;name:string[3];age:integer;sex:char;s:array[1..n] of real;math,eng,phy:real;ave:real;end;sarr=array[1..m] of student;ta=array [1..m] of student;f=string[6];varstu:sarr;ct:ta;k,d:integer;procedure readin(var stu:sarr);const wrong='0<=data<=100 ,again!';var j,i:integer;a:student;beginwriteln;writeln('Input ',m,' num name sex math phy eng',' of student.');for j:=1 to m dobeginwriteln;writeln('Input the ',j,' student :');with a dobeginwrite('num:');readln(num);write('name:');readln(name);write('age:');readln(age);write('sex:');readln(sex);while(sex<>'m')and(sex<>'f')dobeginwrite('sex:');readln(sex)end;for i:=1 to n do begincase i of1:begin write('math:');readln(s[i]);while(s[i]<0)or(s[i]>100)dobeginwriteln(wrong);write('math:');readln(s[i]);end;end;2:begin write('phy:');readln(s[i]);while(s[i]<0)or(s[i]>100)dobeginwriteln(wrong);write('phy:');readln(s[i]);end;end;3:begin write('eng:');readln(s[i]);while(s[i]<0)or(s[i]>100)dobeginwriteln(wrong);write('eng:');readln(s[i]);end;end;end;end;stu[j]:=a;end;writeln;end;end;procedure ave(var stu:sarr);var j,i:integer;k:real;beginfor j:=1 to m dobegink:=0;with stu[j] dobeginfor i:=1 to n do k:=k+s[i];ave:=k/nend;end;end;procedure px(var stu:sarr);var tm:ta;j,i,p:integer;beginfor j:=1 to m dobeginp:=j;for i:=j+1 to m doif stu[i].ave>stu[p].ave then p:=i;tm[1]:=stu[p];stu[p]:=stu[j];stu[j]:=tm[1];end;end;procedure head(ct:ta);var i:integer;beginwrite(' ');for i:=1 to 72 do write('-');writeln;write('',' num':4,' ','name':9,' ','age':8,' ','sex':5,' ','math':6,' ','phy':9,' ','eng':8,' ');writeln('ave':6,' ');write(' ');for i:=1 to 72 do write('-');writeln;with ct[1] dobeginwrite('',num:7,' ',name:8,' ',age:8,' ',sex:5,' ');for i:=1 to n do write(s[i]:7,' ');write(ave:10,' ');writeln;end;write(' ');for i:=1 to 72 do write('-');writeln;end;procedure find(var stu:sarr);var n,i:integer;u:boolean;beginu:=true;while u dobeginwrite('Into number:');readln(n);for i:=1 to m dobeginif stu[i].num=n then beginct[1]:=stu[i];u:=false;d:=iend;end;end;end;procedure del(var stu:sarr);var i:integer;b:char;beginhead(ct);write('true? Y/N');readln(b);if b='y' then begin write('1');with stu[d] dobeginnum:=0;name:='0';age:=0;sex:='f';for i:=1 to n do s[i]:=0;ave:=0end;endelseend;procedure tj(var stu:sarr);var w1,q1,q2,num,j:integer;h1,h2,h3:boolean;beginh1:=false;h2:=false;h3:=false;q1:=0;q2:=0;writeln(' ':30,'1.input the math 2.input the phy 3.input the eng ');readln(w1);case w1 of1:h1:=true;2:h2:=true;3:h3:=true;end;if h1 thenbeginbeginfor j:=1 to m dowith stu[j] doif stu[j].math>=60 thenq1:=q1+1elseq2:=q2+1;writeln('math:');end;if h2 thenbeginbeginfor j:=1 to m dowith stu[j] doif stu[j].phy>=60 thenq1:=q1+1elseq2:=q2+1;writeln('phy:');end;if h3 thenbeginbeginfor j:=1 to m dowith stu[j] doif stu[j].eng>=60 thenq1:=q1+1elseq2:=q2+1;writeln('eng:');end;end;end;end;writeln(' ':5,'pass num is :',q1);writeln(' ':5,'no pass num is :',q2);end;procedure head1(var stu:sarr);var j,i:integer;beginwriteln('----------------table--------------':60);writeln;write(' ');for i:=1 to 72 do write('-');writeln;write('',' num':4,' ','name':9,' ','age':8,' ','sex':5,' ','math':6,' ','phy':9,' ','eng':8,' ');writeln('ave':6,' ');write(' ');for i:=1 to 72 do write('-');writeln;for j:=1 to m do beginwith stu[j] dobeginwrite('',num:7,' ',name:8,' ',age:8,' ',sex:5,' ');for i:=1 to n do write(s[i]:7:1,' ');write(ave:10:1,' ');writeln;end;write(' ');for i:=1 to 72 do write('-');writeln;end;end;beginreadin(stu);ave(stu);k:=0;while k<>5 dobeginwriteln('1.readin 2.finds 3.del 4.tj 5.exit');read(k);readln;while(k<>1)and(k<>2)and(k<>3)and(k<>4)and(k<>5)dobeginwriteln(' mistake,please again');read(k)end;case k of1: begin px(stu);head1(stu)end;2: begin find(stu);head(ct)end;3: begin find(stu);del(stu);px(stu);head1(stu)end;4: begin tj(stu);end;5: writeln('exit!');end;end;end..2.program shadow;var a,b,c,d,e:integer;right:boolean;procedure s1;beginwriteln('right!');right:=trueend;procedure s2;beginwriteln('wrong!');right:=falseend;procedure s3(x,y:integer);var h:integer;beginwrite(x,'+',y,'=');readln(h);if h=x+y then s1else s2 end;procedure s4(x,y:integer);var h,w:integer;beginif x

第五篇:信息论上机实验报告

华中科技大学文华学院

信息论上机实验报告

专业年级:10级通信工程** 学号:1001******** 姓名:** 指导教师:***

2012年 04月30日

目录 等长编码.........................2 1.1 求信源的熵...................2 1.2 求等长码码长.................2 1.3 求等长长等编码...............3 1.4 等长编码全部源代码...........3 1.5MATLAB仿真及其截图..........5 2霍夫曼编码.......................6 2.1 霍夫曼编码源代码.............6 2.2MATLAB仿真及其截图..........9 3游程编码.........................9 3.1 游程编码源代码...............9 3.2 MATLAB仿真及其截图..........11 4 学习心得........................12 5 参考书籍........................14

for i=1:1: 4;s=i;t=lc;for j=1:1:lc;if s>power(2,t)/2;A(i,lc-t+1)=1;s=s-power(2,t)/2;else A(i,lc-t+1)=0;end t=t-1;end end 1.4全部源代码

s=[0.25,0.25,0.25,0.25];len=size(s,2);if sum(s)~=1 error('s is not a complete set');end h=0;for i=1:1:len h=h-s(i)*log(s(i))/log(2);

结果:h=

2、lc=

2、A=00 01 10 11 1.5 MATLAB仿真及其截图

2、霍夫曼编码

2.1霍夫曼编码源代码

T(t-1)=r;T(t)=0;T=fliplr(sort(T));t=t-1;end B;%输出编码表

END1=sym('[0,1]');%给最后一列的元素编码 END=END1;t=3;d=1;for j=n-2:-1:1%从倒数第二列开始依次对各列元素编码 for i=1:t-2 if i>1 & B(i,j)==B(i-1,j)d=d+1;else d=1;end B(B(n,j+1),j+1)=-1;temp=B(:,j+1);

x=find(temp==B(i,j));END(i)=END1(x(d));

2.2MATLAB仿真及其截图

3、游程编码

3.1、游程编码源代码 I=checkerboard(10,2);[m,n]=size(I);J=[];for i=1:m

压缩图像大小:

Name Size Bytes Class J 1x400 3200 double array 图像压缩比:4 3.2 MATLAB仿真及其截图

就直接向他们求教,虽然有些时候他们也不一定能解答出来,但最少也能给我一些提示。最后有时候也靠自己,慢慢的想,慢慢的翻资料一遍一遍的输入,校正,最后就做出来了。虽然有些题目我也不知道自己的对不对,但是通过自己动手把它做出结果了我就觉得有收获了。

Matlab的课比较少,课堂上学到的东西也不是特别的多,但是通过实验,我自学了许多东西,也完成了学习任务,同时也锻炼了自己的个人能力

2012/5/3

314-

下载上机实验报告---第九次word格式文档
下载上机实验报告---第九次.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    《电子商务》上机实验报告

    上机实验报告 实验名称: 电子商务模拟实验 学生姓名: 班级学号: 指导教师: 实验日期: 电子商务模拟实验 一、实验名称 电子商务模拟实验 二、实验目的 1.了解电子商务的框架体......

    会计上机实验报告

    会计模拟实验报告姓名:赵波 班级:工商101班 学号:101565 指导教师:岳殿民 实验目的 会计综合模拟实验是在学生掌握了一定的专业理论知识的基础上,以某个单位在一定时期内发生的实......

    电子商务上机实验报告

    电子商务上机实验报告 专业班级: 会计11xx班 姓 名: 学 号: 指导教师: 叶 双 林 实验日期:2014.10–2014.11 实验地点:院实验中心206机房 一、实验目的 利用电子商务模拟学习软件,......

    数据结构上机实验报告

    数据结构实验报告 课程 数据结构 _ 院 系 专业班级 实验地点姓 名 学 号 实验时间 指导老师 数据结构上机实验报告1 一﹑实验名称: 实验一——链表 二﹑实验目的: 1. 了解线性......

    电算化上机实验报告

    管理学院会计学专业上机实践报告 课程名称:会计电算化 指导教师: 上机实践名称:系统管理与基础设置 上机实践编号:实验一 一、实验目的 通过上机实验,理解用友企业级财务软件系......

    C++上机实验报告

    第二次上机实验报告 姓名:王小宁班级:学号: 031012 1234 第一题: 题目: 编写一个类,声明一个数据成员和一个静态数据成员,其构造函数初始化数据成员,并把静态数据成员加1,其析......

    C++上机实验报告

    C++上机实验报告 实验名称:实验 专业班级: 姓名: 学号: 实验日期: 10 11 实验 目录 1. 实验目的 2. 实验内容 3. 程序代码 4. 调试结果 5. 实验心得 1. 实验目的 实验10 (1......

    Java上机实验报告

    Homework3实验报告 一、实验目的与要求 1、掌握Java中类和接口的基本知识; 2、继承的基本知识; 3、集合的基本操作 二、实验内容 1.PIMCollection 类 创建一个可以管理PIMEnti......