当前位置:文档之家› matlab程序设计实践

matlab程序设计实践

matlab程序设计实践
matlab程序设计实践

1.编程实现以下科学计算算法,并举一例应用之。(参考书籍《精通

MATLAB科学计算》,王正林等著,电子工业出版社,2009年)“牛顿下山法求非线性方程组解”

解:

算法说明:

牛顿下山法的迭代公式为:

X n+1= x n -ω(F(x n))-1F(x n)

ω的取值范围为0<ω≤1,为了保证收敛,还要要求ω的取值使得:

‖F(x n+1)‖<‖F(x n)‖

可以用逐次减半法来确定ω。为了减少计算量,还可以用差商来代替偏导数。在MATLAB中编程实现的非线性方程组的牛顿下山法的函数为:mulDNewton。

功能:用牛顿下山法求非线性方程组的一个解。

调用格式:[r,n]=mulDNewton(x0,eps)。

其中,x0为初始迭代向量;

eps为迭代精度;

r为求出的解向量;

n为迭代步数。

牛顿下山法的MATLAB代码如下:

function [r,n]=mulDNewton(x0,eps)

%牛顿下山法求非线性方程组的一个解

%初始迭代向量:x0

%迭代精度:eps

%解向量:r

%迭代步数:n

if nargin==1

eps=1.0e-4;

end

r=x0-myf(x0)/dmyf(x0);

n=1;

tol=1;

while tol>eps

x0=r;

ttol=1;

w=1;

F1=norm(myf(x0));

while ttol>=0 %下面的循环是选取下山因子w的过程

r=x0-w*myf(x0)/dmyf(x0); %核心的迭代公式

ttol=norm(myf(r))-F1;

w=w/2;

end

tol=norm(r-x0);

n=n+1;

if (n>100000) %迭代步数控制

disp('迭代步数太多,可能不收敛!');

return;

end

end

实例:牛顿下山法求解非线性方程组应用实例。采用牛顿下山法求下面方程组的一个根。

其初始迭代值取(0,0)。

解:首先建立myf.m函数文件,输入以下内容:

function f=myf(x)

f(1)=0.5*sin(x(1))+0.1*cos(x(2)*x(1))-x(1);

f(2)=0.5*cos(x(1))-0.1*sin(x(2))-x(2);

f=[f(1) f(2)];

再建立dmyf.m导数的雅克比矩阵,输入以下内容:

function df=dmyf(x)

df=[0.5*cos(x(1))-0.1*x(2)*sin(x(2)*x(1))-1 -0.1*x(1)*sin(x(2)*x(1));

-0.5*sin(x(1)) -0.1*cos(x(2))-1];

然后,在MATLAB命令窗口中输入:

>> [r,n]=mulDNewton([0,0])

输出计算结果为:

r =

0.1979 0.4470

n =

5

由计算结果可知,初始迭代值取(0,0)时,用5步迭代得到了方程组的一组解(0.1979,0.4470),牛顿下山法也是一种快速且有效的求解非线性方程组的方法。

流程图:

⑴源程序

⑵例题

2.编程解决以下科学计算和工程实际问题

2-4在平炉炼钢过程中,由于矿石及炉气的氧化作用,铁水中的总含碳量在不断降低,一炉钢在冶炼初期(熔化期)中总的去碳量y与所加的两种矿石(天然矿石与烧结矿石)的量x1,x2及熔化时间x3有关(熔化时间愈长则去碳量愈多)。经实测,某号平炉的49炉数据如表2.6所示,试求出y与x1,x2,x3之间的线性回归方程。

解:

在MATLAB命令窗口中输入:

>> x1 =[2 7 5 12 1 3 2 6 7 0 3 0 8 6 0 3 7 16 6 0 9 4 0 9 2 9 12 6 12 0 5 4 0 6 4 10 4 5 9 6 5 5 8 2 7 4 10 3 4];

>> x2 =[18 9 14 3 20 12 17 5 8 23 16 18 4 14 21 14 12 0 16 15 0 6 17 0

16 6 5 13 7 24 12 15 20 16 17 4 14 13 8 13 8 11 6 13 8 10 5 17 15];

>> x3 =[50 40 46 43 64 40 64 39 37 55 60 49 50 51 51 51 56 48 46 52 40 32 47 44 39 39 61 41 47 61 37 48 45 42 48 48 36 36 51 54 100 44 63 55 50 45 40 64 72];

>> y=[4.3302 3.6485 4.4830 5.5468 5.4970 3.1125 5.1182 3.8759 4.6700

4.9536

5.0060 5.2701 5.8772 5.4849 4.5960 5.6645

6.0795 3.2194

5.8076 4.7306 4.6805 3.1272 2.6104 3.7174 3.8946 2.7066 5.6314 5.8152 5.1302 5.3910 4.4533 4.6569 4.5212 4.8650 5.3566 4.6096 2.3815 3.8746 4.5919 5.1588 5.4373 3.9960 4.3970 4.0622 2.2905 4.7115 4.5310 5.3637

6.0771];

>> y=y';

>> x=[x1',x2',x3',ones(49,1)];

>> regress(y,x)

ans =

0.1504

0.1014

0.0370

0.7753

得到:

0.1504y=0.1014x1+0.0370x2+0.7753x3

流程图:

⑵用四阶Runge-Kutta 方法求解初值问题:

取h=0.2,h=0.1,并与精确解y(0.4)、y(1)比较。其中精确解的解析表达式为:

y=

10

1e -2t +t e -2t 。 解:

建立f.m 文件输入:

function dy=f(x,y)

dy=exp(-2*x)-2*y;

end

然后,在MATLAB 命令窗口中输入:

>> [x,ny]=ode45('f',[0:0.1:1],0.1)

x =

0.1000

0.2000

0.3000

0.4000

0.5000

0.6000

0.7000

0.8000

0.9000

1.0000

ny =

0.1000

0.1637

0.2011

0.2195

0.2247

0.2207

0.2108

0.1973

0.1817

0.1653

0.1489

>> [x,ny]=ode45('f',[0:0.2:1],0.1)

x =

0.2000

0.4000

0.6000

0.8000

1.0000

ny =

0.1000

0.2011

0.2247

0.2108

0.1817

0.1489

>> d=dsolve('Dy+2*y=exp(-2*t)','y(0)=0.1') d =

(t+1/10)*exp(-2*t)

>> t=1

t =

1

>> (t+1/10)*exp(-2*t)

ans =

0.1489

>> t=0.4

t =

0.4000

>> (t+1/10)*exp(-2*t)

ans =

0.2247

得到:

当h=0.2时,y(0.4)=0.2247 y(1)=0.1489

当h=0.1时,y(0.4)=0.2247 y(1)=0.1489

与精确解y(0.4)=0.2247 y(1)=0.1489相等,证明Runge-Kutta方法求解初值问题很精确。流程图:

《面向对象程序设计》实验指导书

《面向对象程序设计》课程实验指导书

实验一 Java开发环境的安装与配置 一、实验目的: 1. 掌握JDK、Eclipse的安装步骤。 2. 理解环境变量PATH, CLASSPATH的作用,以及Eclipse的配置。 3. 熟悉Eclipse的编辑、编译与调试环境,编写简单的Application程序 编译执行并完成调试。 二、实验内容: 熟悉JDK的安装和配置,学习如何编写并运行简单的Application程序 (能输出一条简单的问候信息); 三、实验要求: 1. 能正确地安装JDK 2. 熟悉环境变量PATH, CLASSPATH设置方法,熟悉编辑环境 3. 调试程序、编译,运行后得到正确的结果 四、实验步骤: 1.从https://www.doczj.com/doc/b410185344.html,/technetwork/java/index.html上下载最新版本的JDK,并安装。 2.设置环境变量PATH, CLASSPATH, 使得Java程序能正确编译和执行。 3.在Eclipse环境下编写一个HelloWorld.java程序, (1)在主方法static public void main(String[ ] args)中调用System. out.println()方法,使程序输出一条问候信息; (2) 编译运行程序,观察运行情况和输出结果。(使用JDK环境,调用 javac.exe和java.exe编译和执行程序)

实验二 Java语言基础 一、实验目的: 熟悉Java基本语法,基本数据类型,各种运算符及表达式的使用,掌握运算符优先级,熟悉使用Java的选择语句,循环语句。 二、实验内容: 1.编写Java Application程序,输出1900年到2000年之间的所有润年。 (闰年的判断条件:能被4整除且不能被100整除,或能被400整除); 2.金字塔:Pyramid.java 在屏幕上显示一个由星型符号“*”组成的金字塔图案,示例如下: * *** ***** ******* 要求:金字塔高度h,可以由用户设置。 三、实验要求: 1. 正确使用Java语言的选择语句,循环语句; 2. 调试程序、编译,运行后得到正确的结果 3.写出实验报告。要求记录编译和执行Java程序当中的系统错误信息提成 示,并给出解决办法。 四、实验步骤: 1.编写主类; 2.在static public void main(String[ ] args)方法中加入实现要求功能 的代码,主要步骤如下: (第一题)从1900到2000循环,按照闰年的判断条件是则输出1900年到2000年之间的所有润年。 (第二题)允许用户设置金字塔高度。 4. 编译运行程序,观察输出结果是否正确。

程序设计报告模板

北京化工大学计算机科学与技术专业2014程序设计实训报告 题目:个人记账软件 专业:计算机科学与技术 班级:计科1305 指导教师:江志英

2014程序设计实训任务书

目录 2014程序设计实训任务书...................................... 错误!未定义书签。目录..................................................... 错误!未定义书签。第一章需求分析.............................................. 错误!未定义书签。 引言............................................... 错误!未定义书签。 任务概述........................................... 错误!未定义书签。 数据描述........................................... 错误!未定义书签。 功能需求........................................... 错误!未定义书签。 运行需求........................................... 错误!未定义书签。 任务计划........................................... 错误!未定义书签。第二章概要设计.............................................. 错误!未定义书签。 总体设计........................................... 错误!未定义书签。 面向对象设计....................................... 错误!未定义书签。 运行界面设计....................................... 错误!未定义书签。第三章详细设计.............................................. 错误!未定义书签。 ........................................................ 错误!未定义书签。第四章测试分析............................................. 错误!未定义书签。第五章用户手册(可选)..................................... 错误!未定义书签。第六章课程设计总结.......................................... 错误!未定义书签。附录:程序代码(仅电子版需要、纸质版不需要)................. 错误!未定义书签。

C语言程序设计实验指导(课后习题)参考答案

《实验指导》课后练习题参考答案实验1: 1.主函数 2-4:DDC 5.stdio.h 6-9:CCCC 实验2: 1.double 2-4:ABB 5.2 6-12:CDDDADC 13.! 14.8 15-17:ACC 18.G 19-20:CA 21.5 4 22.x=6c 23-25:DCA 26.0x 27.2.000000 28-29:AB 30.a=3 31.D 32.3.15 33.B 34.double 实验3: 1-3:CCD 4.B 5.2,0 6-8:CAC 9. (1)pass, (2)中 及格 不及格 10-12:ADD 13.2 14.B 15.10 16.6 17.x>=1 && x<=sqrt(10)

实验4: 1.B 2.1 3.A 4.3/5,5/8 5.30 实验5: 1.D 2.(1)9 (2)1 3-5:CDB 6.(1)10 (2)7 7.C 8.(1)x=16 (2)y=8 9.return 实验6: 1-5:CCADA 6.10,20 7.13 11 12 8.7 9.2 10.B 11.(1)3 (2) 1 12-13:CB 14.-31 15.221 16.main函数 17.22 18.(1)return (2)void 实验7: 1.C 2.auto 3.9 4.(1) 4 (2) 0 5.10 6.(1)5 (2) 7 (3) 8 7.C 8.110 9-12:DDBC 13.(1) 1 (2) 3

15.6 720 16.auto 17.48 18.(1)1 (2)2 19.D 20.D 21.5,25 22.6 实验8: 1-2. DD 3. 16 4. (1)0 2 3 (2)2 3 5 (3)7 11 13 5. (1)i<9 (2)j<9-i (3)a[j]=a[j+1] (4)a[j+1]=temp 实验9: 1. D 2. (1)-1 (2)2 3. (1)1 (2)a[i-1][j-1]+a[i-1][j] (3)j<=i 4. (1)1 3 4 5 6 7 (2)3 4 5 6 (3)End of main()! 实验10: 1. 0或NULL 2-5. CACA 6. (1)10 (2)15 (3)19 7. (1)ia[j] (3)”%d”,p+i (4)”%d”, *(p+i) 8. (1)2 6 (2)2 2 (3)4 6 实验11: 1. A 2. C 3. 7 4. (1)strlen(s) (2)s[i]>=’a’ && s[i]<=’z’(3)s[i]+32 (4)’\0’(5)s2[j]!=s2[n2-j-1] (6)j

C++程序设计实践教程思考题答案

实验1 C++基础 6.编写程序,输入某大写字母的ASCII码值,输出该字母的对应小写字母。 #include using namespace std; int main() { int i; cin>>i; if(i>=65 && 1<=90 ) cout< #include using namespace std; int main()

{ float a,b,c; 潣瑵?请输入直角三角形的两条边长:; cin>>a>>b; c=sqrt(a*a+b*b); 潣瑵?直角三角形的斜边=< using namespace std; int main() { char c; 1 潣瑵?请输入一个字符:; cin>>c; if(c>='A'&& c<='Z') c+='a'-'A'; cout<

3.输入一个学生的成绩,如高于60分,则输出“pass”;否则,输出“failed”。 #include using namespace std; int main() { float grade; 潣瑵?请输入成绩:; cin>>grade; if(grade>=60) cout<

Java程序设计-实验报告1-模板 (1)

实验报告 课程名称Java程序设计 实验项目实验一类和对象 系别_________计算机_________ 专业/班级_______计算机类/1402______ 姓名_____李馨雪________ 实验日期______2015.10.10______ 成绩_______________________ 指导教师

一、实验题目:实验一类和对象 二、实验内容: (1)用类描述计算机中CPU的速度和硬盘的容量。要求Java应用程序有4个类,名字分别是PC、CPU、HardDisk和Test,其中Test是主类。 1)PC类与CPU类和HardDisk类关联的UML图如图所示。 其中,CPU类要求getSpeed()返回speed的值,setSpeed(int m)方法 将参数m的值赋值给speed。 HardDisk类要求getAmount()返回amount的值,setAmount(int m)方 法将参数m的值赋值给amount。 PC类要求setCPU(CPU c)将参数c的值赋值给cpu,要求setHardDisk (HardDisk h)方法将参数h的值赋值给HD,要求show()方法能显示 cpu的速度和硬盘的容量。 2)主类Test的要求 main()方法中创建一个CPU对象cpu,其speed设置为2200; main()方法中创建一个HardDisk对象disk,其amount设置为200; main()方法中创建一个PC对象pc, pc调用setCPU方法,实参是cpu;调用setHardDisk方法,实参是 disk;调用show方法。 (2)设计一个动物声音“模拟器”,希望模拟器可以模拟许多动物的叫声,要求如下: 1)编写接口Animal,有2个抽象方法cry()和getAnimaName(); 2)编写模拟器类Simulator,该类有一个playSound(Animal animal)方法,其形参是Animal类型,可以调用实现Animal接口的类所重写的cry()方法播放具体动物的声音,调用重写方法显示动物种类的名称; 3)编写实现Animal接口的Dog类和Cat类。具体的UML图如下所示:4)编写主类Application,其main方法中至少包含如下代码: Simulator si=new Simulator();

c语言程序设计实践教程答案完整版

4.2练习题 一、选择题 1.D 2.B 3.A 4.B和D 5.C 6.A 7.B 二、填空题 1.//或/* */ 2.主或main 3.函数首部和函数体4.编译和连接 5.分号 5.2练习题 一、选择题 1.A 2.D 3.B 4.B 5.C 6.C 7.D 8.A 9.B 10.B 11.D 12.B 13.A或B 14.C 15.B

17.D 18.D 19.C 20.D 21.B 22.A 23.D 24.C 25.C 26.B 27.C 28.D 29.A 30.B 二、填空题 1.102,10 2.#define 宏名字符串 3.1 4.n=1 5.-4 6.a=1,b= ,c=2 7.c=A 8.n1=%d\nn2=%d 9.a+b>c&&a+c>b&&b+c>a 10.ch>=’a’&&ch<=’z’|| ch>=’A’&&ch<=’Z’11.7 12.0 13.8,4 6.2练习题 一、选择题 1.A 2.C 3.D 4.C 5.A 6.B

8.D 9.B 10.C 11.A 12.A 13.C 14.B 15.正确答案为: 二、填空题 1.10 2.y=1 x%i==0 3.屏幕中间输出一个由星号组成的菱形4.1 5.13 6.(cx=getchar())!=-1 front=cx; 7.m%n 8.4 9.*p px=&x py=&y 三、读程序,写结果 1.-1 2.3,1,-1, 3.a=16,y=60 4.x=12,y=4 5.59 7.2练习题 一、选择题 1.B 2.C 3.C 4.A 5.D 6.C 7.D

vb程序设计实验教程习题答案

实验教材实验一 1:单项选择题: A A C C C D C B B C 2:填空题: (1).bas (2).vbp,.frm (3)视图工具箱 (4)对象 (5)属性对象事件方法 (6)Windows (7)事件行为 (8)窗体模块 实验二 1:单项选择题: A D C C A B A B D C B B C B C B A B D C 2:基本运算题: (1)27 (2)3.33333333333333 (3)3 (4)0 (5)-3 (6)2 (7)ab33 (8)类型不匹配 (9)3 (10)AB3 实验三 1:单项选择题: B C B D C 2:填空题: (1)300 (2)321456 (3)Shanghai (4)6 7 6 (5)True (6)2+3=5 (7)”area=” 12.56 (8)VISUAL 实验四 1:单项选择题: C A A C A 2:填空题: (1)7 (2)3 5

(3)输入的数小于0 (4)3 (5)False (6)2010 is not leap year. 试验五 1:单项选择题: A C C A B A C C C B 2:填空题: (1)9 (2)①n ②1 (3)①Len(a) ②n\2 ③Mid(a,(n-i+1),1) ④Mid(a,(n-i+1),1) (4)①n Mod 3=1 And n Mod 5=1 And n Mod 7=1 ②While CountN<5 (5)Mid(c1,1,i) 实验六 1:单项选择题: D B D C D A C A D D 2:填空题: (1)30 (2)3 (3)①a(2) ②a(3) ③a(1) (4)①1 ②2 ③a(i)=a(6-i) (5)①i+j ②0 ③a(i,j) (6)①Print ②k ③a(k,j)=a(j,k) ④a(k,j); 实验七 1:单项选择题: A B B A C B 2:填空题: (1)15 (2)①Preserve a(n+1) ②a(i+1)=a(i) ③Exit For ④a(i+1)=m⑤0 to n+1 (或LBound(a) to UBound(a)) (3)d,c,b,a 实验八 1:单项选择题: C A D B D C A C B 2:填空题: (1)a=9 b=4 (2) 36 25 16 9 4 1 (3)①a ②UBound(b) ③

程序设计实践报告模板

面向对象程序设计实践(Project 2) 报告 题目: 专业软件工程(NIIT) 学生姓名 班级学号 指导教师杨健 指导单位计算机学院/软件学院 日期

评分细则 评分项优秀良好中等差遵守机房规章制度 上机时的表现 学习态度 程序准备情况 程序设计能力 团队合作精神 课题功能实现情况 算法设计合理性 用户界面设计 报告书写认真程度 内容详实程度 文字表达熟练程度 回答问题准确度 简短 评语教师签名: 年月日 评 分 等 级 备 注 评分等级有五种:优秀、良好、中等、及格、不及格

Title(Here,please write the name of your Project) (题目格式:宋体,3号,加粗,居中对齐) 一、D escription and Requirement(格式:Times New Roman,4号,加粗, 两端对齐) (正文格式:宋体(中文) Times New Roman(英文),小4号,不加粗,两端对齐, 1.5倍行距) 二、Requirement Analysis(格式:Times New Roman,4号,加粗,两端对齐) 在该部分中叙述系统的功能,由此得到相应的模块,并分析需要什么的数据,由此可以指导数据库的设计。 (正文格式:宋体(中文)Times New Roman(英文),小4号,不加粗,两端对齐,1.5倍行距) 三、High level design(格式:Times New Roman,4号,加粗,两端对齐) 在此说明每个部分的算法设计说明(可以是描述算法的流程图),每个程序中使用的存储结构设计说明(如果指定存储结构请写出该存储结构的定义,如果用面向对象的方法,应该给出类中成员变量和成员函数原型声明),数据库设计的说明(给出数据库的结构,包括有哪些表,每个表有什么字段,分别存储什么样的数据) (正文格式:宋体(中文)Times New Roman(英文),小4号,不加粗,两端对齐, 1.5倍行距) 四、Low level design格式:Times New Roman,4号,加粗,两端对齐) 各个算法实现的源程序(可以是一组源程序,每个功能模块采用不同的函数实现),源程序要按照写程序的规则来编写。要结构清晰,重点函数的重点变量,重点功能部分要加上清晰的程序注释。 注意:不要粘贴全部程序,只要把关键算法的程序粘贴过来就可以了。 (正文格式:宋体(中文)Times New Roman(英文),小4号,不加粗,两端对齐, 1.5倍行距) 五、Tested data and result analysis(格式:Times New Roman,4号,加粗,

VB程序设计教程(第3版)课后实验答案最新版2

1、完成实验A(P.259)中的第1、 2、 3、5题。 2、参照第2章例2.6,建立一个类似记事本的应用程序,提供:(1) 剪切、复制和粘贴的编辑操作;(2) 字体大小的格式设置;此外,再对记事本的应用程序的功能进行一点扩允。 1.完成在实验B 顺序结构程序。(P.262)中的第1、2 、4 、5.、6题 2.完成实验C 选择结构(P.266)中的第1、2、4、5题 3.用上面实验B的第二题和实验C的第二题完成下面的实验报告。 1、完成实验D循环结构(P.268)中的第1、3、4、6题,其中第1题利用单循环结构显示如图D.1(P.268)所示的界面,而后将图形改为倒三角形。 2、选做实验E数组(P.271)中的第1、2、3题中的任意二题 3、以实验D中的第4题和实验E中的做完的某一题完成下面的实验报告。 A.1 Private Sub Command1_Click() Label3 = Text1 End Sub A.2 Private Sub Form_Load() Timer1.Interval = 0 End Sub Private Sub Command1_Click() '自动 Timer1.Interval = 200 End Sub Private Sub Command2_Click() '手动 Timer1.Interval = 0 Call MyMove End Sub Private Sub Timer1_Timer() Call MyMove End Sub Sub MyMove() Label1.Move Label1.Left - 50 If Label1.Left < 0 Then Label1.Left = Form1.Width End Sub A.3 Private Sub Form_Click() Text1 = Val(Text1) + 1 End Sub Private Sub Form_Load() Text1 = 0 End Sub A.5

【程序设计实践实验指导书】实验2:指针进阶

河南工业大学实验报告 课程名称:程序设计实践开课实验室: 一、实验目的: 1. 理解指针数组的概念,掌握指针数组的基本应用和编程方法。 2. 掌握单向链表的概念和建立方法。 3. 掌握单向链表的基本操作。 二、实验环境: 1. 运行Window XP/Windows 7/Windows 8等的操作系统的PC机; 2. VC++6.0,CodeBlocks,或Dev C++等编译环境。 三、实验内容: 1.编写程序,输入一个月份,输出对应的英文名称,要求用指针数组表示12个月的英文名称。 输入输出示例: 5 May 【源程序】 #include #include int main() { int num; scanf("%d",&num); getchar(); char *month[12]={"January","February","March","April","May","June","July","August","September","

October","Novermber","December"}; printf("%s\n",month[num-1]); return 0; } 【运行结果】 8 August Process returned 0 (0x0) execution time : 2.466 s Press any key to continue. 2. 定义一个指针数组将下表的星期信息组织起来,输入一个字符串,在表中查找,若 输入输出示例: Tuesday 3 【源程序】 #include #include #include int main() { char *month[12]={"January","February","March","April","May","June","July","August","September"," October","Novermber","December"}; char mnum[10]; scanf("%s",&mnum); getchar();

实验报告模板-《C程序设计实践 》

大型程序设计实验报告 课程名称C程序设计实践实验日期2011年月日至2011年月日 学生姓名所在班级学号 实验名称 实验地点同组人员 1. 问题描述 实现图书管理系统 如何让实现如下功能: 1.新进图书及基本信息输入 2.图书基本信息查询 3. 对撤销图书信息的删除 4 办理借书手续 5 办理还书手续 2. 问题分析 根据题目要求,需要建立图书管理系统结构体,分别需要建立读者结构体,图书结构体。 该程序主要涉及到C语言中的文件和链表 图书信息应该存放在文件中,所以提供文件的输入输出等操作;并且程序需具有实现图书信息浏览,查找,修改等功能,并进行借入借出服务;另外还提供接盘是选择菜单来实现功能选择 3. 系统设计 系统应该包括以下模块:信息输入,图书查找,信息删除,图书借出,图书归还 3.1 总体设计 1系统功能的文字概述: 图书管理系统主要功能是用户的设定,读者管理,数据的录入与查询,数据的修改和删除等 2 系统的总体结构图

3主要模块的控制流程图 主函数 ( 1. 系统功能的文字概述;2.系统的总体结构图;3. 主要模块的控制流程图)3.2 界面设计 3.3 系统主要流程设计 (文字描述加流程图) 3.4 主要数据结构设计 /*--------- 数据结构的定义------------*/ struct reader {

/*姓名,学生学号/教师工号,性别,所在学院,角色*/ char name[9]; char num[11]; char sex[3]; char college[21]; char role[2]; struct reader *next; } *readersHead=NULL, *readersTail=NULL, *reader_p; struct book{ /*书名,作者,出版社,价格,ISBN号和类别*/ char book_name[41]; char author_name[21]; char publish[15]; float price; char ISBN[18]; char b_type[9]; struct book *next; } *booksHead=NULL, *booksTail=NULL, *book_p; struct borrow_info{ /*借者编号,借书日期,图书ISBN号*/ char borrower_num[11]; char borrow_date[15]; char ISBN[18]; struct borrow_info *next; } *biHead=NULL, *biTail=NULL, *bi_p; /*--------- 数据结构的定义完毕------------*/ 3.4.1 系统数据结构概述 主要有读者数据结构,用以读者信息的记录 图书数据结构用以图书信息的记录 还有已借图书数据结构用以对已借图书的统计和记录(主要用了哪些数据结构,各自的用途)

C语言程序设计实验实验指导书及答案

实验一熟悉C程序运行环境 班级学号姓名成绩 一、实验目的 1. 熟悉C语言Visual C++调试环境。 2. 掌握C程序的编辑、调试及运行。 二、实验内容 项目1. 调试并运行下面程序,并写出运行结果: #include <> int main() { printf(“Good morning!\n”); printf(“Hello,world!\n”); return 0; } 运行结果(注意,按照屏幕输出格式写): 项目2. 调试并运行下面程序,并写出运行结果: #include <> int main() { int a , b , sum; /*定义变量*/ a=23; b=56; /*为变量赋值*/ sum=a+b; /*计算两个变量的和*/ printf(“sum is %d\n”,sum); /*输出计算结果*/ return 0; } 运行结果:

项目3. 调试并运行下面程序,并写出运行结果: #include <> int max(int,int); int main() { int a , b , c; /*定义变量*/ a=23; b=56; /*为变量赋值*/ c=max(a,b); /*调用max函数,将得到的值赋给c*/ printf(“max is %d\n”,c); /*输出c的值*/ return 0; } int max(int x,int y) /*定义max函数,函数值为整型*/ { int z; /*定义变量*/ if(x>y) z=x; else z=y; return(z); /*将z的值返回*/ } 运行结果: 三、提高部分 1.试想,如果求10个数中的最大者,则程序该如何编写。 程序代码 运行结果:

MATLAB程序设计教程课后答案

实验指导 1、 n=input('请输入一个三位数:'); a=fix(n/100); b=fix((n-a*100)/10); c=n-a*100-b*10; d=c*100+b*10+a 2(1) n=input('请输入成绩'); switch n case num2cell(90:100) p='A'; case num2cell(80:89) p='B'; case num2cell(70:79) p='C'; case num2cell(60:69) p='D'; otherwise p='E'; end price=p (2)n=input('请输入成绩'); if n>=90&n<=100 p='A'; elseif n>=80&n<=89 p='B'; elseif n>=70&n<=79 p='C'; elseif n>=60&n<=69 p='D'; else p='E'; end price=p (3)try n; catch price='erroe' end 3 n=[1,5,56,4,3,476,45,6,3,76,45,6,4,3,6,4,23,76,908,6]; a=n(1);

for m=2:20 if n(m)>a a=n(m); elseif n(m)=0 disp(A([n],:)); elseif n<0 disp(lasterr); else disp(A([6],:)); disp(lasterr); end 7(1) f=[]; for n=1:40

C语言程序设计实验报告优秀范文

C语言程序设计实验报告优秀范文 实验名称计算出1000以内10个最大素数之和 实验目的 1、熟练掌握if、if…else、if…else if语句和witch语句格式及使用方法,掌握if语句中的嵌套关系和匹配原则,利用if语句和switch语句实现分支选择结构。 2、熟练掌握while语句、do…while语句和for语句格式及使用方法,掌握三种循环控制语句的循环过程以及循环结构的嵌套,利用循环语句实现循环结构。 3、掌握简单、常用的算法,并在编程过程中体验各种算法的编程技巧。进一步学习调试程序,掌握语法错误和逻辑错误的检查方法。 实验内容 计算并输出1000以内最大的10个素数以及它们的和。 要求: 在程序内部加必要的注释。 由于偶数不是素数,可以不考虑对偶数的处理。 虽然在1000以内的素数超过10个,但是要对1000以内不够10个素数的情况进行处理。 输出形式为:素数1+素数2+素数3+…+素数10=总和值。 算法描述流程图 main函数: 判断素数: 源程序 #include #include int sushu(int n)/* 判断素数的函数*/ { int t,i; t=sqrt(n); for(i=2;i if(n%i==0)/* 如果不是素数,返回0 */ return 0; return n;/* 如果是素数,返回该数*/ } void main { int i,j=0,n,m=0,a[1000],x; /*clrscr;*/ printf("please input a number form 1 to 1000:"); scanf("%d",&x); if(x==2)/* x=2时的处理*/ printf("%dn",x); else if(x printf("error!n");

C语言程序设计实验指导书

C 语言程序设计 实 验 指 导 书 电子工程学院 2012-2

实验一 C程序的运行环境和编辑、调试、运行简单C程序 一、实验目的 1.了解 Turbo C 的基本操作方法,学会独立使用该系统。 2.掌握在该系统上如何编辑、编译、运行一个C程序。 二、实验内容及步骤 1.进入C的工作环境 1)在Windouws环境下:“开始”→“程序”→“MS-DOS” 屏幕上进入 MS-DOS窗口 2)在Dos环境下:键入命令c:\> cd c:\tc↙ c:\tc> tc↙ 屏幕上出现Turbo C的工作环境 2.熟悉Turbo C的工作环境 了解Edit窗口与Message窗口 了解主菜单的8个菜单项 File Edit Compile Project Option Debug break/watch 3.输入并运行一个简单的程序 File→New 输入源程序:

main() { printf("This is a C program.\n"); printf("OK\n"); } 按F9进行编译和连接,观察屏幕上显示的编译信息。如果出现出错信息,则应找出原因并改正。 按Run→Run(或按Ctrl+F9) 编译、连接、运行一起完成。 按Run→User screen(或按Alt+F5) 察看运行结果。 按任一键从用户屏切换回TC窗口。 4.输入并编辑第二个C程序 File→New 输入源程序: main ( ) { int a,b,sum; a=123; b=456; sum=a+b; printf("sum is %d\n", sum); }

编辑、运行、调试该程序。 5.编辑、运行、调试自己编写的程序(至少一个程序) 如:输入上底、下底和高,计算梯形面积。 观察屏幕上显示的编译信息。如果出现出错信息,则应找出原因并改正。 用File→Save (或F2)保存程序(程序名为a1.c) 三、实验报告要求 写明: 1.实验目的 2.实验内容与步骤 3.编写的程序(题目,经调试、运行后正确的程序) 4.编译过程中出现的错误信息。 5.总结讨论本次实验的结果和收获。

测量程序设计实习报告

测量程序设计实习报告 姓名: 班级: 学号: 教师评语: 日期:二零一四年十二月

实验名称:使用C#开发环境建立测量程序框架 一、实验的目的与任务: (1)学会用C#窗体程序开发环境建立应用程序框架方法 (2)学会使用常见的Windows控件 (3)根据自身需要设计一个测量程序界面 二、实验的过程与步骤: 1.创建窗体项目 打开“新建项目”对话框,选左边“已安装模板”栏的“其他语言\Visual C#”项,再选右边“模板”栏的“Windows应用程序”模板。选择磁盘卷和父目录位置后,输入项目名称“测量程序”按“确定”按钮关闭对话框。 2.修改窗体属性 窗体的属性有很多,其中常用的有: 布局:大小Size——缺省为300*300像素,可以通过修改此属性,或直接拖动窗体的边框来改变窗体的尺寸。运行时用户也可以自己改变窗体大小。 设计:是程序设计中窗口的引用名称,名称(Name)缺省为Form1,可以改成自己喜欢的名称,如CLCX,回车确认后,系统会自动修改所有相关内容中的该标识符。 外观:文本Text——对应于窗体的标题,缺省也为Form1,可以改为自己喜欢的标题,如“导线简易平差”。 单击窗口界面,再点击菜单工具栏中“属性”工具,调出属性窗口,此时属性窗口显示的内容便是窗口的属性,找到“Name”栏,将其值改为“CLCX”;再找到“Text”栏,将其值改为“导线简易平差”。 将鼠标箭头放置于窗口边缘,拖动窗口以调整窗口大小,将窗口大小调整为合适大小。 3.添加按钮和控件 可以在窗口中添加标准控件,以实现可视化的目的,C#中常用的标准控件有:(1)按钮(Button) 是用户以交互方式控制程序运行的控件之一。 主要属性: 1)Text属性 设置显示在按钮表面上的文字,用于说明该按钮的作用。 2)Enabled属性 设置按钮是否可用; (2)Label控件 Label控件主要用于通过其Text属性显示文本信息。 主要属性: 1)Text属性 标签中显示的文本内容 2)Font

VB程序设计学习与实验指导答案

Visual Basic 程序设计学习与实验指导答案 上篇学习指导 第1章Visual Basic 概述 1.事件 2.查看对象 3.工程 4.视图属性窗口 5.窗体编辑器 第2章面向对象程序设计初步 1.控件 2.事件 3.类属性 4.属性 5.略 https://www.doczj.com/doc/b410185344.html, 第3章Visual Basic 语言基础 1.(a*sin(30/180*3.14)+c*(log(b)/log(10)))/((Abs(d)+1)*(e+f))+1

2.mod 3.X=Int(X) And Y=Int(Y) And X*Y>0 4. 4.Y Mod 4=0 And Y Mod 100<>0 Or Y Mod 400=0 5.x=Int((99-10+1)*Rnd+10) 6.0 “” 7.空格 8.6,845.30 9. (1)8 (2)1 (3)abcd (4)出错,类型不匹配 (5)False (6)2008-6-29 (7)I likeVB (8)4 (9)4 4 (10)3 4 (11)10 -10 (12)-1 (13)aa (14)3 (15)0 (16)1 (17)C (18)5 (19)8 (20)34.54 (21)中国 (22)上海 (23)VISUAL BASIC (24)visual basic 10. (1)x<-100 or x>100 (2)a=Int(a) And b =Int(b) Or a<0 And b<0 (3)x<=y or x>=z (4)a>0 And a<>Int(a) (5)a=0 xor b=0 (6)Len(S)<10 (7)UCase(S)=S (8)Left(S,1)=”a” And Right(S,1)=”a” (9)Instr(S,”@”)<>0 (10)Trim(S)=S (11)Date=#8/8/2008#

《java程序设计》实验指导书(完整)

实验一 Java实验环境的建立一、实验目的 1.掌握Java编程环境的搭建过程; 2.掌握Jcreator pro软件的使用方法; 3.能使用Java doc文档。 二、实验内容 1.下载并安装,配置JDK环境变量; 2.下载Javadoc压缩包并解压在JDK安装路径下; 3.下载Jcreator pro 并安装和配置使用环境; 4.使用实验环境运行书中实例代码,在屏幕上输出“Hello Java”字符串。 ①Java application程序代码如下: public class HelloJava { public static void main(String args[]) { "Hello Java!"); } } ②Java applet程序代码如下: import .*; public class Hello extends { public void paint(Graphics g) { ("Hello!",30,30); } } 三、试验要求 1、预习试验内容并写出上机报告。 2、实验中出现的问题及实验体会。

一、实验目的: 1.输入、输出操作实现原理和方法 2.掌握程序流程控制的实现方法 3.掌握数组的定义和操作方法 二、实验内容 1.计算 Result=1!+2!+3!+ (10) public class TestJieC{ p ublic static void main(String arg[]){ long result=1; for(int i=1;i<=10;i++) { result=i*result; result+=result; } " "+result); } } 2.计算1---50之间所有素数的和。 public class Test{ p ublic static void main(String args[]){ int count = 0; for(int i = 2;i<=50;i++){ for(int j = 2;j<=i;j++){ if(i>j){ if(i%j == 0){ count++; } } } if(count==0){

C语言程序设计实验报告(实验1-12)

文档从网络中收集,已重新整理排版.word版本可编辑.欢迎下载支持. 《C语言程序设计》 实验报告 2013~2014学年第二学期 班级 姓名 学号 指导教师

实验一 实验项目名称:C程序的运行环境和运行C程序的方法 所使用的工具软件及环境:Visual C++ 6.0 一、实验目的: 1.了解在Visual C++ 6.0环境下如何编辑、编译、连接和运行一个C程序; 2.通过运行简单的C程序,初步了解C源程序的特点。 二、预习内容: 教材《C语言程序设计教程》第1章。 三、实验内容: 1. 在Visual C++ 6.0环境下输入并运行下面的程序: #include int main( ) { printf("This is a C program.\n"); return 0; } 2. 在Visual C++ 6.0环境下输入下面的程序(有语法错误),编译、连接、调试该程序,直至程序 无语法错误,然后运行程序,并观察分析运行结果。 #include int main( ) { int a,b,sum a=3; b=4; sun=a+b; print(“%d+%d=%d\n”,a,b,sum); return 0; } 四、实验结果: 1. 运行结果(或截图): This is a C program. Press any key to continue

2. (1) 改正后的源程序: #include int main( ) { int a,b,sum; a=3; b=4; sum=a+b; printf("%d+%d=%d\n",a,b,sum); return 0; } (2) 运行结果(或截图): 3+4=7 五、思考题: 1. 一个C程序上机的步骤有哪些? 答:上级输入与编辑源程序—对原程序进行编译–与库函数链接–运行可执行的目标程序。 2. 组成C程序的基本单位是函数,一个函数包括哪几个部分? 答:一个函数包括两部分:分别为函数头或函数首部和函数体。 成绩指导教师签名 实验二 实验项目名称:数据类型、运算符和表达式 所使用的工具软件及环境:Visual C++ 6.0 一、实验目的: 1.掌握整型、实型与字符型这三种基本类型的概念; 2.掌握常量及变量的使用方法; 3. 掌握基本算术运算符及其表达式的使用方法; 4. 掌握++、--运算符、赋值运算符及其表达式的使用方法。 二、预习内容:

相关主题
文本预览