大连理工程序设计 第二次上机作业

合集下载

2020年秋季大连理工大学《Java程序设计》在线作业1附满分答案

2020年秋季大连理工大学《Java程序设计》在线作业1附满分答案

2020年秋季大连理工大学《Java程序设计》在线作业1附满分答案试卷总分:100 得分:100一、单选题 (共 10 道试题,共 50 分)1.Java程序设计的源文件和编译后的文件后缀分别是()。

A..class和.javaB..java和.classC..class和.classD..java和.java答案:B2.表达式(short)(7/9.2*5)值的类型是()。

A.shortB.intC.doubleD.float答案:A更多加微boge30619,有惊喜!!!3.下列赋值语句中,()是不能通过编译的语句。

A.double d=545.0;B.char a1="c";C.int i=321;D.float f1=45.0f;答案:B4.下面哪个赋值语句是正确的()。

A.char='abc';B.byte b=963;C.float f=0.23;D.double d=0.7E-3;答案:D5.执行下面的Java语句序列,k的值是()。

int j=4,k=20; for(int i=1;i!=j;i++)k=k-i;A.10B.24C.12D.14答案:D6.下面赋值语句中,哪个选项不正确()。

A.float f=11.1;B.double d=5.3E12;C.double d=3.14D;D.Object a=new String("abc");答案:A7.Java程序的执行模式是()。

A.全编译型B.全解释型C.半编译和半解释型D.同脚本语言的解释模式答案:C8.Java程序设计语言是1995年()公司研发的。

A.SunB.MicrosoftC.BorlandD.Fox Software答案:A9.Java语言程序执行过程中会用到一套JDK工具,javac.exe 指()。

A.java语言编译器B.java字节码解释器C.java文档生成器D.java类分解器答案:A10.下列java标识符的写法,错误的是()。

大连理工大学概率上机作业

大连理工大学概率上机作业

大连理工大学概率上机作业第一次上机作业1.利用Matlab自带命令产生1000个均匀随机变量服从U(0,1)。

>> unifrnd(0,1,20,50)ans =Columns 1 through 100.8147 0.6557 0.4387 0.7513 0.3517 0.1622 0.1067 0.8530 0.7803 0.54700.9058 0.0357 0.3816 0.2551 0.8308 0.7943 0.9619 0.6221 0.3897 0.29630.1270 0.8491 0.7655 0.5060 0.5853 0.3112 0.0046 0.3510 0.2417 0.74470.9134 0.9340 0.7952 0.6991 0.5497 0.5285 0.7749 0.5132 0.4039 0.18900.6324 0.6787 0.1869 0.8909 0.9172 0.1656 0.8173 0.4018 0.0965 0.68680.0975 0.7577 0.4898 0.9593 0.2858 0.6020 0.8687 0.0760 0.1320 0.18350.2785 0.7431 0.4456 0.5472 0.7572 0.2630 0.0844 0.2399 0.9421 0.36850.5469 0.3922 0.6463 0.1386 0.7537 0.6541 0.3998 0.1233 0.9561 0.62560.9575 0.6555 0.7094 0.1493 0.3804 0.6892 0.2599 0.1839 0.5752 0.78020.9649 0.1712 0.7547 0.2575 0.5678 0.7482 0.8001 0.2400 0.0598 0.08110.1576 0.7060 0.2760 0.8407 0.0759 0.4505 0.4314 0.4173 0.2348 0.92940.9706 0.0318 0.6797 0.2543 0.0540 0.0838 0.9106 0.0497 0.3532 0.77570.9572 0.2769 0.6551 0.8143 0.5308 0.2290 0.1818 0.9027 0.8212 0.48680.4854 0.0462 0.1626 0.2435 0.7792 0.9133 0.2638 0.9448 0.0154 0.43590.8003 0.0971 0.1190 0.9293 0.9340 0.1524 0.1455 0.4909 0.0430 0.44680.1419 0.8235 0.4984 0.3500 0.1299 0.8258 0.1361 0.4893 0.1690 0.30630.4218 0.6948 0.9597 0.1966 0.5688 0.5383 0.8693 0.3377 0.6491 0.50850.9157 0.3171 0.3404 0.2511 0.4694 0.9961 0.5797 0.9001 0.7317 0.51080.7922 0.9502 0.5853 0.6160 0.0119 0.0782 0.5499 0.3692 0.6477 0.81760.9595 0.0344 0.2238 0.4733 0.3371 0.4427 0.1450 0.1112 0.4509 0.7948Columns 11 through 200.6443 0.3111 0.0855 0.0377 0.0305 0.0596 0.1734 0.9516 0.0326 0.25180.3786 0.9234 0.2625 0.8852 0.7441 0.6820 0.3909 0.9203 0.5612 0.29040.8116 0.4302 0.8010 0.9133 0.5000 0.0424 0.8314 0.0527 0.8819 0.61710.5328 0.1848 0.0292 0.7962 0.4799 0.0714 0.8034 0.7379 0.6692 0.26530.3507 0.9049 0.9289 0.0987 0.9047 0.5216 0.0605 0.2691 0.1904 0.82440.9390 0.9797 0.7303 0.2619 0.6099 0.0967 0.3993 0.42280.3689 0.98270.8759 0.4389 0.4886 0.3354 0.6177 0.8181 0.5269 0.5479 0.4607 0.73020.5502 0.1111 0.5785 0.6797 0.8594 0.8175 0.4168 0.9427 0.9816 0.3439 0.6225 0.2581 0.2373 0.1366 0.8055 0.7224 0.6569 0.4177 0.1564 0.5841 0.5870 0.4087 0.4588 0.7212 0.5767 0.1499 0.6280 0.9831 0.8555 0.1078 0.2077 0.5949 0.9631 0.1068 0.1829 0.6596 0.2920 0.3015 0.6448 0.9063 0.3012 0.2622 0.5468 0.6538 0.2399 0.5186 0.4317 0.7011 0.3763 0.8797 0.4709 0.6028 0.5211 0.4942 0.8865 0.9730 0.0155 0.6663 0.1909 0.8178 0.2305 0.7112 0.2316 0.7791 0.0287 0.6490 0.9841 0.5391 0.4283 0.2607 0.8443 0.2217 0.4889 0.7150 0.4899 0.8003 0.1672 0.6981 0.4820 0.5944 0.1948 0.1174 0.6241 0.9037 0.1679 0.4538 0.1062 0.6665 0.1206 0.0225 0.2259 0.2967 0.6791 0.8909 0.9787 0.4324 0.3724 0.1781 0.5895 0.4253 0.1707 0.3188 0.3955 0.3342 0.7127 0.8253 0.1981 0.1280 0.2262 0.3127 0.2277 0.4242 0.3674 0.6987 0.5005 0.0835 0.4897 0.9991 0.3846 0.1615 0.4357 0.5079 0.9880 0.1978 0.4711 0.1332 0.3395 0.1711 0.5830 0.1788Columns 21 through 300.4229 0.7788 0.2548 0.1759 0.6476 0.5822 0.4046 0.3477 0.8217 0.5144 0.0942 0.4235 0.2240 0.7218 0.6790 0.5407 0.4484 0.1500 0.4299 0.8843 0.5985 0.0908 0.6678 0.4735 0.6358 0.8699 0.3658 0.5861 0.8878 0.5880 0.4709 0.2665 0.8444 0.1527 0.9452 0.2648 0.7635 0.2621 0.3912 0.1548 0.6959 0.1537 0.3445 0.3411 0.2089 0.3181 0.6279 0.0445 0.7691 0.1999 0.6999 0.2810 0.7805 0.6074 0.7093 0.1192 0.7720 0.7549 0.3968 0.4070 0.6385 0.4401 0.6753 0.1917 0.2362 0.9398 0.9329 0.2428 0.8085 0.7487 0.0336 0.5271 0.0067 0.7384 0.1194 0.6456 0.9727 0.4424 0.7551 0.8256 0.0688 0.4574 0.6022 0.2428 0.6073 0.4795 0.1920 0.6878 0.3774 0.7900 0.3196 0.8754 0.3868 0.9174 0.4501 0.6393 0.1389 0.35920.2160 0.3185 0.5309 0.5181 0.9160 0.2691 0.4587 0.5447 0.6963 0.7363 0.7904 0.5341 0.6544 0.9436 0.0012 0.7655 0.6619 0.6473 0.0938 0.3947 0.9493 0.0900 0.4076 0.6377 0.4624 0.1887 0.7703 0.5439 0.5254 0.6834 0.3276 0.1117 0.8200 0.9577 0.4243 0.2875 0.3502 0.7210 0.5303 0.7040 0.6713 0.1363 0.7184 0.2407 0.4609 0.0911 0.6620 0.5225 0.8611 0.4423 0.4386 0.6787 0.9686 0.6761 0.7702 0.5762 0.4162 0.9937 0.4849 0.0196 0.8335 0.4952 0.5313 0.2891 0.3225 0.6834 0.8419 0.2187 0.3935 0.3309 0.7689 0.1897 0.3251 0.6718 0.7847 0.5466 0.8329 0.1058 0.6714 0.4243 0.1673 0.4950 0.1056 0.6951 0.4714 0.4257 0.2564 0.1097 0.7413 0.2703 0.8620 0.1476 0.6110 0.0680 0.0358 0.6444 0.6135 0.0636 0.5201 0.1971 0.9899 0.0550Columns 31 through 400.8507 0.7386 0.5523 0.1239 0.7378 0.5590 0.1781 0.8949 0.6311 0.6925 0.5606 0.5860 0.6299 0.4904 0.0634 0.8541 0.3596 0.0715 0.0899 0.5567 0.9296 0.2467 0.0320 0.8530 0.8604 0.3479 0.0567 0.2425 0.0809 0.3965 0.6967 0.6664 0.6147 0.8739 0.9344 0.4460 0.5219 0.0538 0.7772 0.0616 0.5828 0.0835 0.3624 0.2703 0.9844 0.0542 0.3358 0.4417 0.9051 0.78020.8154 0.6260 0.0495 0.2085 0.8589 0.1771 0.1757 0.0133 0.5338 0.33760.8790 0.6609 0.4896 0.5650 0.7856 0.6628 0.2089 0.8972 0.1092 0.60790.9889 0.7298 0.1925 0.6403 0.5134 0.3308 0.9052 0.1967 0.8258 0.74130.0005 0.8908 0.1231 0.4170 0.1776 0.8985 0.6754 0.0934 0.3381 0.10480.8654 0.9823 0.2055 0.2060 0.3986 0.1182 0.4685 0.3074 0.2940 0.12790.6126 0.7690 0.1465 0.9479 0.1339 0.9884 0.9121 0.45610.7463 0.54950.9900 0.5814 0.1891 0.0821 0.0309 0.5400 0.1040 0.1017 0.0103 0.48520.5277 0.9283 0.0427 0.1057 0.9391 0.7069 0.7455 0.9954 0.0484 0.89050.4795 0.5801 0.6352 0.1420 0.3013 0.9995 0.7363 0.3321 0.6679 0.79900.8013 0.0170 0.2819 0.1665 0.2955 0.2878 0.5619 0.2973 0.6035 0.73430.2278 0.1209 0.5386 0.6210 0.3329 0.4145 0.1842 0.0620 0.5261 0.05130.4981 0.8627 0.6952 0.5737 0.4671 0.4648 0.5972 0.2982 0.7297 0.07290.9009 0.4843 0.4991 0.0521 0.6482 0.7640 0.2999 0.0464 0.7073 0.08850.5747 0.8449 0.5358 0.9312 0.0252 0.8182 0.1341 0.5054 0.7814 0.79840.8452 0.2094 0.4452 0.7287 0.8422 0.1002 0.2126 0.7614 0.2880 0.9430Columns 41 through 500.6837 0.7894 0.1123 0.6733 0.0986 0.9879 0.5975 0.7593 0.8092 0.75190.1321 0.3677 0.7844 0.4296 0.1420 0.1704 0.3353 0.7406 0.7486 0.22870.7227 0.2060 0.2916 0.4517 0.1683 0.2578 0.2992 0.7437 0.1202 0.06420.1104 0.0867 0.6035 0.6099 0.1962 0.3968 0.4526 0.1059 0.5250 0.76730.1175 0.7719 0.9644 0.0594 0.3175 0.0740 0.4226 0.6816 0.3258 0.67120.6407 0.2057 0.4325 0.3158 0.3164 0.6841 0.3596 0.4633 0.5464 0.71520.3288 0.3883 0.6948 0.7727 0.2176 0.4024 0.5583 0.2122 0.3989 0.64210.6538 0.5518 0.7581 0.6964 0.2510 0.9828 0.7425 0.0985 0.4151 0.41900.7491 0.2290 0.4326 0.1253 0.8929 0.4022 0.4243 0.8236 0.1807 0.39080.5832 0.6419 0.6555 0.1302 0.7032 0.6207 0.4294 0.1750 0.2554 0.81610.7400 0.4845 0.1098 0.0924 0.5557 0.1544 0.1249 0.1636 0.0205 0.31740.2348 0.1518 0.9338 0.0078 0.1844 0.3813 0.0244 0.6660 0.9237 0.81450.7350 0.7819 0.1875 0.4231 0.2120 0.1611 0.2902 0.8944 0.6537 0.78910.9706 0.1006 0.2662 0.6556 0.0773 0.7581 0.3175 0.5166 0.9326 0.85230.8669 0.2941 0.7978 0.7229 0.9138 0.8711 0.6537 0.7027 0.1635 0.50560.0862 0.2374 0.4876 0.5312 0.7067 0.3508 0.9569 0.1536 0.9211 0.63570.3664 0.5309 0.7690 0.1088 0.5578 0.6855 0.9357 0.9535 0.7947 0.95090.3692 0.0915 0.3960 0.6318 0.3134 0.2941 0.4579 0.5409 0.5774 0.44400.6850 0.4053 0.2729 0.1265 0.1662 0.5306 0.2405 0.6797 0.4400 0.06000.5979 0.1048 0.0372 0.1343 0.6225 0.8324 0.7639 0.0366 0.2576 0.8667 2.参考课本综合例题2.5.4和2.5.5中的方法,模拟产生1000个随机变量,使其服从参数为2的指数分布,进而计算这1000个随机数的均值和方差。

大连理工Java程序设计考试真题

大连理工Java程序设计考试真题

大 连 理 工 大 学课 程 名 称: Java 程序设计 试 卷: B 考试形式 闭卷 授课院 (系): 软件学院软件工程系 考试日期: 08 年 11 月 2 日试卷共 10 页第一部分,单项选择题,每小题2分,共20分1、下列语句序列执行后,m 的值是( )。

int a=10, b=3, m=5;if( a==b ) m+=a; else m=++a*m; A) 15 B) 50 C) 55 D) 5 2、给出如下表达式var = (byte) 5 * 1.1 + 2; 正确的叙述?( )。

a) 变量var 的类型必须是byte b) 变量var 的类型必须是int c) 变量var 的类型必须是doubled) 语法错误3、给定下列程序,并运行java Son ( )。

class Parent { }class Son extends Parent { public static void main(String[] args) { Parent p = new Son(); Son s = new Son(); Son s2 = (Son) p; } }a) 编译失败b) 编译成功, 运行时会抛出ClassCastException c) 编译成功, 正常运行, 没有异常抛出 d) 以上答案都不对4、给出下列程序,输出结果是?( )。

public class Card { int x;public static void main(String[] args) { Card c1 = new Card(); c1.x = 5; Card c2 = new Card(); c2.x = 6;swap(c1, c2); System.out.println(c1.x + “” + c2.x); }static protected void swap(Card c1, Card c2) { int t = c1.x; c1.x = c2.x; c2.x = t; } }姓名: 学号: 院系: 级 班装订线a) 该程序有语法错误,编译失败b) 编译成功,运行成功,输出结果是65c) 编译成功,运行成功,输出结果是56d) 以上答案都不对5、给定下列程序,文件名为A.java,正确的叙述是?( )。

大连理工大学C语言第二次上机第二次作业

大连理工大学C语言第二次上机第二次作业
例:自动生成3+9= 12(用户输入结果后回车),显示Correct!
代码:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int a,b,i;
double c,d,a1,b1;
srand(time(NULL));
a = rand()%10;
{
int i=1,n=1,h,day,st;
switch (mon)
{
case 1:h=7;day=31;break;
case 2:h=31;day=28;break;
case 3:h=31+28;day=31;break;
case 4:h=31+28+31;day=30;break;
case 5:h=31+28+31+30;day=31;break;
break;
case 3:
a1 = a;
b1 = b;
c = a1/b1;
c = (int)(c*100+0.5)/100.0;
printf("保留两位小数\n%d/%d= ",a,b);
break;
}
scanf("%lf",&d);
d = (int)(d*100)/100.0;
if (c==d) printf("\nRight!\n");
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Would you like to display another month (y/n) ? N

大连理工大学优化方法上机作业

大连理工大学优化方法上机作业

大连理工大学优化方法上机作业本页仅作为文档页封面,使用时可以删除This document is for reference only-rar21year.March优化方法上机大作业学院:电子信息与电气工程学部姓名:学号:指导老师:上机大作业(一)%目标函数function f=fun(x)f=100*(x(2)-x(1)^2)^2+(1-x(1))^2;end%目标函数梯度function gf=gfun(x)gf=[-400*x(1)*(x(2)-x(1)^2)-2*(1-x(1));200*(x(2)-x(1)^2)]; End%目标函数Hess矩阵function He=Hess(x)He=[1200*x(1)^2-400*x(2)+2,-400*x(1);-400*x(1), 200;];end%线搜索步长function mk=armijo(xk,dk)beta=0.5; sigma=0.2;m=0; maxm=20;while (m<=maxm)if(fun(xk+beta^m*dk)<=fun(xk)+sigma*beta^m*gfun(xk)'*dk) mk=m; break;endm=m+1;endalpha=beta^mknewxk=xk+alpha*dkfk=fun(xk)newfk=fun(newxk)%最速下降法function [k,x,val]=grad(fun,gfun,x0,epsilon)%功能:梯度法求解无约束优化问题:minf(x)%输入:fun,gfun分别是目标函数及其梯度,x0是初始点,% epsilon为容许误差%输出:k是迭代次数,x,val分别是近似最优点和最优值maxk=5000; %最大迭代次数beta=0.5; sigma=0.4;k=0;while(k<maxk)gk=feval(gfun,x0); %计算梯度dk=-gk; %计算搜索方向if(norm(gk)<epsilon), break;end%检验终止准则m=0;mk=0;while(m<20) %用Armijo搜索步长if(feval(fun,x0+beta^m*dk)<=feval(fun,x0)+sigma*beta^m*gk'*dk) mk=m;break;endm=m+1;endx0=x0+beta^mk*dk;k=k+1;endx=x0;val=feval(fun,x0);>> x0=[0;0];>> [k,x,val]=grad('fun','gfun',x0,1e-4)迭代次数:k =1033x =0.99990.9998val =1.2390e-008%牛顿法x0=[0;0];ep=1e-4;maxk=10;k=0;while(k<maxk)gk=gfun(x0);if(norm(gk)<ep)x=x0miny=fun(x)k0=kbreak;elseH=inv(Hess(x0));x0=x0-H*gk;k=k+1;endendx =1.00001.0000miny =4.9304e-030迭代次数k0 =2%BFGS方法function [k,x,val]=bfgs(fun,gfun,x0,varargin) %功能:梯度法求解无约束优化问题:minf(x)%输入:fun,gfun分别是目标函数及其梯度,x0是初始点,% epsilon为容许误差%输出:k是迭代次数,x,val分别是近似最优点和最优值N=1000;epsilon=1e-4;beta=0.55;sigma=0.4;n=length(x0);Bk=eye(n);k=0;while(k<N)gk=feval(gfun,x0,varargin{:});if(norm(gk)<epsilon), break;enddk=-Bk\gk;m=0;mk=0;while(m<20)newf=feval(fun,x0+beta^m*dk,varargin{:});oldf=feval(fun,x0,varargin{:});if(newf<=oldf+sigma*beta^m*gk'*dk)mk=m;break;endm=m+1;endx=x0+beta^mk*dk;sk=x-x0;yk=feval(gfun,x,varargin{:})-gk;if(yk'*sk>0)Bk=Bk-(Bk*sk*sk'*Bk)/(sk'*Bk*sk)+(yk*yk')/(yk'*sk);endk=k+1;x0=x;endval=feval(fun,x0,varargin{:});>> x0=[0;0];>> [k,x,val]=bfgs('fun','gfun',x0)k =20x =1.00001.0000val =2.2005e-011%共轭梯度法function [k,x,val]=frcg(fun,gfun,x0,epsilon,N)if nargin<5,N=1000;endif nargin<4, epsilon=1e-4;endbeta=0.6;sigma=0.4;n=length(x0);k=0;while(k<N)gk=feval(gfun,x0);itern=k-(n+1)*floor(k/(n+1));itern=itern+1;if(itern==1)dk=-gk;elsebetak=(gk'*gk)/(g0'*g0);dk=-gk+betak*d0; gd=gk'*dk;if(gd>=0),dk=-gk;endendif(norm(gk)<epsilon),break;endm=0;mk=0;while(m<20)if(feval(fun,x0+beta^m*dk)<=feval(fun,x0)+sigma*beta^m*gk'*dk) mk=m;break;endm=m+1;endx=x0+beta^m*dk;g0=gk; d0=dk;x0=x;k=k+1;endval=feval(fun,x);>> x0=[0;0];[k,x,val]=frcg('fun','gfun',x0,1e-4,1000)k =122x =1.00011.0002val =7.2372e-009上机大作业(二)%目标函数function f_x=fun(x)f_x=4*x(1)-x(2)^2-12;%等式约束条件function he=hf(x)he=25-x(1)^2-x(2)^2;end%不等式约束条件function gi_x=gi(x,i)switch icase 1gi_x=10*x(1)-x(1)^2+10*x(2)-x(2)^2-34;case 2gi_x=x(1);case 3gi_x=x(2);otherwiseend%求目标函数的梯度function L_grad=grad(x,lambda,cigma)d_f=[4;2*x(2)];d_g(:,1)=[-2*x(1);-2*x(2)];d_g(:,2)=[10-2*x(1);10-2*x(2)];d_g(:,3)=[1;0];d_g(:,4)=[0;1];L_grad=d_f+(lambda(1)+cigma*hf(x))*d_g(:,1);for i=1:3if lambda(i+1)+cigma*gi(x,i)<0L_grad=L_grad+(lambda(i+1)+cigma*gi(x,i))*d_g(:,i+1);continueendend%增广拉格朗日函数function LA=lag(x,lambda,cee)LA=fun(x)+lambda(1)*hf(x)+0.5*cee*hf(x)^2;for i=1:3LA=LA+1/(2*cee)*(min(0,lambda(i+1)+cee*gi(x,i))^2-lambda(i+1)^2); endfunction xk=BFGS(x0,eps,lambda,cigma)gk=grad(x0,lambda,cigma);res_B=norm(gk);k_B=0;a_=1e-4;rho=0.5;c=1e-4;length_x=length(x0);I=eye(length_x);Hk=I;while res_B>eps&&k_B<=10000dk=-Hk*gk;m=0;while m<=5000if lag(x0+a_*rho^m*dk,lambda,cigma)-lag(x0,lambda,cigma)<=c*a_*rho^m*gk'*dkmk=m;break;endm=m+1;endak=a_*rho^mk;xk=x0+ak*dk;delta=xk-x0;y=grad(xk,lambda,cigma)-gk;Hk=(I-(delta*y')/(delta'*y))*Hk*(I-(y*delta')/(delta'*y))+(delta*delta')/(delta'*y);k_B=k_B+1;x0=xk;gk=y+gk;res_B=norm(gk);end%增广拉格朗日法function val_min=ALM(x0,eps)lambda=zeros(4,1);cigma=5;alpha=10;k=1;res=[abs(hf(x0)),0,0,0];for i=1:3res(1,i+1)=norm(min(gi(x0,i),-lambda(i+1)/cigma)); endres=max(res);while res>eps&&k<1000xk=BFGS(x0,eps,lambda,cigma);lambda(1)=lambda(1)+cigma*hf(xk);for i=1:3lambda(i+1)=lambda(i+1)+min(0,lambda(i+1)+gi(x0,1)); endk=k+1;cigma=alpha*cigma;x0=xk;res=[norm(hf(x0)),0,0,0];for i=1:3res(1,i+1)=norm(min(gi(x0,i),-lambda(i+1)/cigma)); endres=max(res);endval_min=fun(xk);fprintf('k=%d\n',k);fprintf('fmin=%.4f\n',val_min);fprintf('x=[%.4f;%.4f]\n',xk(1),xk(2));>> x0=[0;0];>> val_min=ALM(x0,1e-4)k=10fmin=-31.4003x=[1.0984;4.8779]val_min =-31.4003上机大作业(三)A=[1 1;-1 0;0 -1];n=2;b=[1;0;0];G=[0.5 0;0 2];c=[2 4];cvx_solver sdpt3cvx_beginvariable x(n)minimize (x'*G*x-c*x)subject toA*x<=bcvx_enddisp(x)Status: SolvedOptimal value (cvx_optval): -2.40.40000.6000A=[2 1 1;1 2 3;2 2 1;-1 0 0;0 -1 0;0 0 -1]; n=3;b=[2;5;6;0;0;0];C=[-3 -1 -3];cvx_solver sdpt3cvx_beginvariable x(n)minimize (C*x)subject toA*x<=bcvx_enddisp(x)Status: SolvedOptimal value (cvx_optval): -5.40.20000.00001.600011。

大连理工大学c语言大作业

大连理工大学c语言大作业

大连理工大学c语言大作业第一篇:大连理工大学c语言大作业程序设计大作业总结报告——<东北大馅饺子馆>的点餐/帐目信息管理系统选题意义;餐厅账目繁多,通过本系统可以实现餐厅管理的自主化。

更加适应这个信息化的社会。

通过对账目、订单的管理与排序。

也能使餐厅管理者更加直观地看出产品之间的优劣与受众。

使其能够更好的调动资源,达到餐厅的快速发展目的。

设计方案;1)任务分析该系统应包括两大界面—用户界面和管理界面。

用户界面包括用户点餐功能并将用户点餐信息存入账单文件中。

管理界面包括记录饺子的单价,库存等信息并将这些信息按一定规律排列供管理者参考,还要记录每天的收入与库存消耗。

2)系统组成框图系统组成如下图所示,点餐/帐目信息管理系统中任务调度模块是信息管理的指挥中心,所有的功能模块均通过该模块集中管理和调用。

数据文件是用于将改变的记录随时保存起来,I/O交互模块是指数据按键和控制按键的响应操作。

数据按键是窗口的输入输出。

系统平台I/O交互任务调度数据文件添加账目查询账目查询原料销量排序当天收入功能模块设计;本管理系统开发的过程中成功地完成很多函数的编写,而且全部通过程序调试。

下面针对与该系统相关的主要功能函数的编写思路和实现方法作总结。

1)数据描述与数据文件(1)数据描述;系统中共定义了三种结构体分别是struct list(账单信息)、struct dump(原材料信息)、struct system(管理信息)其中账单信息成员定义如下; struct list/*账单信息 */ { int num;/*编号*/ intmonth;/*月份*/ int date;/*日期*/ int table;/*桌号*/ int people;/*人数*/ int add;/*收款金额*/ };原材料信息;struct dump/*原材料信息*/ { int num;/*编号*/ char a[40];/*名称*/ int price;/*单价*/ int quantity;/*库存*/ };管理信息;struct system { struct dump data;/*点餐*/ int cash;/*收款*/ int sale;/*销量*/ int p;/*人数*/ };(2)数据文件;共定义四个数据文件;记录编号的文件count、记录原料的文件dumplings、记录账单的文件customer、数据处理文件system。

大连理工大学“计算机科学与技术”《Java程序设计》23秋期末试题库含答案

大连理工大学“计算机科学与技术”《Java程序设计》23秋期末试题库含答案

大连理工大学“计算机科学与技术”《Java程序设计》23秋期末试题库含答案第1卷一.综合考核(共20题)1.2.下面赋值语句中,哪个选项不正确?()A.float f=11.1B.double d=5.3E12C.double d=3.14DD.Object a=new String(“abc”)3.Java中类和接口都只能单继承。

()A.正确B.错误4.5.Java中,一个类重载的构造函数之间的相互调用可以直接使用构造函数名调用。

()A.正确B.错误6.final修饰的方法一定要存在于final类中。

()A.正确B.错误7.8.执行下面的Java语句序列,k的值是()。

int j=4,k=20; for(int i=1; i!=j; i++) k=k-iA.10B.24C.12D.149.关于构造方法特点的说明,下列正确的是()。

A.构造方法的返回值类型必须是void类型B.在定义类时,如果没有定义构造方法,系统会自动生成一个无参数的构造方法C.在创建子类时,会自动调用父类的有参数的构造方法D.构造方法是多余的10.在编写异常处理的Java程序中,每个catch语句块都应该与()语句块对应,使得用该语句块来启动Java的异常处理机制。

A.if-elseB.switchC.tryD.throw11.无修饰符类:class Car{...},则类Car()。

A.可被其他程序包中的类使用B.仅能被本程序包中的类使用C.不能被任何类使用D.不能被其他类继承12.下列java标识符的写法,错误的是()。

A._sysB.$changeer_nameD.1_file13.类加载器加载程序运行所需要的所有类,它通过区分本机文件系统的类和网络系统导入的类增加安全性。

()A.正确B.错误14.Java线程调用sleep()方法后,线程将进入()状态。

A.可运行B.运行C.阻塞D.终止15.关于Java异常处理,Error类所定义的异常是无法捕获的。

大连理工大学软件学院数据库第二次上机答案

大连理工大学软件学院数据库第二次上机答案

大连理工大学软件学院数据库第二次上机答案1.select course_idfrom sectiongroup by course_idhaving count (distinct year)>1select course.course_id , titlefrom section join course on section.course_id = course.course_id where year = '2010' and semester = 'spring' and section.course_id in (select course_idfrom sectiongroup by course_idhaving count (distinct year)>1)with c_2010 as (select course_idfrom sectionwhere year = '2010' and semester = 'spring'and course_id in (select course_idfrom sectiongroup by course_idhaving count (distinct year)>1)),ins_sla as(select course_id ,sum(salary)as sum_sal , count (teaches.id) as ins_cntfrom teaches join instructor on teaches.id = instructor.idwhere semester = 'spring' and year = '2010'and course_id in (select course_id from c_2010)group by course_id,sec_credit_hr as (select time_slot_id ,sum (((end_hr - start_hr)*60+ end_min-start_min)/50)as cred_hrfrom time_slotgroup by time_slot_id ),course_hr as (select course_id , cred_hrfrom section join sec_credit_hr on section.time_slot_id = sec_credit_hr.time_slot_idwhere semester = 'spring' and year = '2010'and course_id in (select course_id from c_2010))select course.course_id, title , cred_hr,sum_salfrom ins_sla join course_hr on ins_sla.course_id = course_hr.course_idjoin course on ins_sla.course_id= course.course_id2,course takes student sectionselect * from sectionselect name ,takes.course_id , takes.semester ,takes.year , takes.sec_id ,titlefrom student left join takes on student.id = takes.idleft join section on takes.course_id = section.course_idand takes.sec_id= section.sec_idand takes.semester= section.semesterand takes.year= section.yearfull join course on section.course_id = course.course_idselect * from takesselect count(*)from takeswhere grade = 'F' and id = '45678'select count (*)from takeswhere grade = 'F' and id in (select idfrom studentwhere dept_name in (select dept_name from student where id = '45678' ))select count (*)from takeswhere exists (select *from student as s join student as ton s.dept_name= t.dept_namewhere s.id = takes. id and t.id = '45678') and grade = 'F'select id ,name ,dept_name ,(select count(*)from takeswhere grade = 'F' and id = student.id)as fail ,(select count (*)from takeswhere grade = 'F' and id in (select idfrom student as s1where dept_name in (select dept_name from student as s2 where id = student.id ))) as all_failfrom student4.2??ˉ?éò?ó?not in ±íê?select distinct takes.idfrom instructor join teaches on instructor.id = teaches.idjoin takes on takes.course_id = teaches.course_idand takes.sec_id=teaches.sec_idand takes.semester = teaches.semesterand takes.year = teaches.yearwhere instructor.dept_name= '?ú1|?§?o'μ?μDT?ú1|?§?oà?ê|?ù?ìè?23ìμ??§éúwith stu_all_id as (select idfrom studentwhere not exists ((select course_idfrom teaches join instructor on instructor.id = teaches.id where dept_name= '?ú1|?§?o')except(select course_idfrom takeswhere takes.id = student.id and grade is not null )))select distinct student.id ,/doc/c612295375.html, , count (takes.course_id) from instructor join teaches on instructor.id = teaches.idjoin takes on takes.course_id = teaches.course_idand takes.sec_id=teaches.sec_idand takes.semester = teaches.semesterand takes.year = teaches.yearjoin student on student.id= takes.idwhere instructor.dept_name= '?ú1|?§?o'and student.id not in (select id from stu_all_id)group by student.id ,/doc/c612295375.html,5.select * from courseselect section.course_id, course.title,section.sec_id,section.semester,section.year from section join course on section.course_id = course.course_id where not exists (select * from takes where takes.course_id = section.course_idand takes.sec_id = section.sec_idand takes.semester = section.semesterand takes.year = section.year)and not exists (select * from teaches where teaches.course_id = section.course_idandteaches.sec_id = section.sec_idandteaches.semester = section.semesterand teaches.year = section.year)上一页下一页。

大连理工大学C语言第二次上机第二次作业

大连理工大学C语言第二次上机第二次作业
int main()
{
int a,b,i;
double c,d,a1,b1;
srand(time(NULL));
a = rand()%10;
b = rand()%10;
i = rand()%4;
switch(i)
{
case 0:
c = a + b;
printf("%d+%d= ",a,b);
break;
代码:
#include <stdio.h>
int main()
{
int year,month,day;
scanf("%d%d%d",&year,&month,&day);
if((day==31)&&(month==12))
{
year += 1;
month = 1;
day = 1;
}
else if((day==31)&&(month!=12))
SUN MON TUE WED THU FRI SAT
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 3031
Would you like to display another month (y/n) ? y
{
n++;
Xiang = pow(x,n)/JieCheng(n);
e = e + Xiang;
}
printf("%.4f",e);

【C语言程序设计】上机作业2+答案

【C语言程序设计】上机作业2+答案

else if (i <= 10) { sum = 100; for ( j=1; j < i; j++) sum -= j; } else sum = i*i;
if (invalid) printf("i<0, Invalid Input!\n"); else printf("sum = %d\n", sum);
printf("\n"); } }
第二次上机作业(续)
2. 编写一个C程序,能读入并计算一个只 含有加减运算的表达式,每一个输入的 数据都是整数,除第一个数外,其余每 个数前面都有一个运算符。
例如, 23+43-233+234; 表达式以分号“;”结束
解一: #include <stdio.h> void main() { int result, data, operator, invalid; /* result --- the result of computation. data --- the second number in computation. operator --- '+' --> +1 ‘-’ --> -1 invalid --- 0 --> valid input. 1 --> invalid input. */
while (fabs(tmp) >= Thresh) { ex = ex + tmp; tmp = tmp*x/(++i); } printf("Our iterative result is: exp(%.2f) = %f\n", x, ex); printf("The reference result is: exp(%.2f) = %f\n", x, exp(x)); }

大连理工大学软件学院java程序设计第二次上机作业

大连理工大学软件学院java程序设计第二次上机作业

程序题:1 图形间的关系可以用图1来表现。

所有的图形中都可以称为Shape 。

由这个类可以派生出二维图形TwoDimensionalShape 和三维图形ThreeDimensionalShape 类。

每个TwoDimensionalShape 类应包括成员函数getArea 以计算二维图形的面积。

每个ThreeDimensionalShape 类包含成员函数getArea 和getVolume ,分别计算三维图形的表面积和体积。

编写一个程序,用一个数组乘放各种图形类对象,并输出对象得相应信息,要能判断每个图形到底属于TwoDimensionalShape 还是属于ThreeDimenionalShape 。

如果某个图形是TwoDimensionalShape 就显示其面积,如果某个图形是ThreeDimenionalShape,则显示其面积和体积。

请完成图中所有的类ShapeCircle Square Triangle TwoDimensionalShape ThreeDimensionalShapeCube Sphere图1 图形类族继承关系图2 利用面向对象思想,描述一个家庭体育锻炼的程序框架(类结构)。

目前家庭成员包括父亲(father )、母亲(mother )、孩子(child )。

父亲的体育锻炼项目为打羽毛球,母亲的体育锻炼项目为跳健美操,孩子的体育锻炼项目为跳绳。

设计时要考虑将来有可能增加新的家庭成员(比如爷爷、奶奶,现在设计中不要出现),但是不可以改变现在的类。

要求: 设计出所有的类,只需要写出类的声明(只列出属性和方法)。

必须有一个家庭类,并且该类有一个sports 方法,当运行家庭类的sports 方法时,各个成员即开始体育锻炼,对该sports 方法写出实现。

3 按照某种格式输出系统时间:自学java 中的时间。

自学Date 类(java.util.Date )和SimpleDateFormat 类,用程序输出“当前时间是XXXX 年XX 月XX 日XX 时XX 分XX 秒(第XX 周,周X )”选择概念练习:(不检查,不上交)1 尝试编译运行下面两个文件会有怎样的结果?(假设在同一路径下)//File P1.javapackage MyPackage;class P1{void method1(){System.out.println("method1 in class P1!");}// File P2.javapublic class P2 extends P1{ // extends表示继承void method2(){System.out.println("method2 in class P2!");}}2 给定下列程序,正确的输出是?(请选择1个选项)(考察equals())class Test{public static void main(String args[]){Integer x = new Integer(5);Long y = new Long(5);Object o = x;System.out.println(x.equals(y)+","+o.equals(x));}}a) false,trueb) false,falsec) true,trued) true,false3 给定下列程序,正确的说法是?(请选择1个选项)1: class A {2: final int q;3: static final int w = 0;4: A(){5: this(w);6: q=1;7: }8: A(int x){9: q=x;10: }11: }a) 编译成功b) 编译失败:第5行,w引用错误c) 编译失败:第6行,q赋值错误d) 编译失败:第5行、第6行均有错误4 给定下列程序,正确的输出是?(请选择1个选项)(考察static关键字)class A {String s = "A.var";void method1(){ System.out.println ("A method");}static void method2(){ System.out.println ("static A method"); }}public class B extends A{String s ="B.var";void method1(){ System.out.println ("B method");}static void method2(){ System.out.println ("static B method"); } public static void main(String[] args){A a = new B();System.out.println(a.s);a.method1();a.method2();}}a) A.varB methodstatic A methodb) A.varB methodstatic B methodc) B.varB.methodstatic A methodd) 编译失败,静态方法method2不能被覆盖5 有错么?class A {int i;public A(int i){this.i=i;}}class B extends A{public B(int j) {i=j;}}public class C {public static void main(String[] args) {A a=new B(7);}}。

大连理工大学概率上机作业(含答案)

大连理工大学概率上机作业(含答案)

概率论与数理统计上机报告姓名:学号:院系:班级:一.某人写了n封信,又写了n个信封,然后将这n封信随机地装入n个信封中,用p(n)表示至少有一封信装对的概率。

1.编制程序,用随机数模拟至少20000次,求当n=10是,p(n)的值。

2.重复第一步,画出n=2,3,. . .,50时,p(n)的散点图。

解:1.假设n封信是数组a[],n个信封是数组b[],将a[]数组随机的与b[]数组形成映射,若a[]的下脚标与b[]的下脚标相等则输出1,否则输出0,重复20000次,计算输出值的和,并除以20000,结果既为概率运用C语言编程:#include<stdio.h>#include<stdlib.h>#include<time.h>main(){int a[10],b[10],i,j,index,cishu=0;double percent;srand((unsigned)time(0));for(j=0;j<20000;j++){for(i=0;i<10;i++)a[i]=i;i=0;while(i<10){index=rand()%10;if(a[index]!=-1){b[i]=a[index];if(b[i]==i){cishu++;break;}a[index]=-1;i++;}}}percent=(double)(cishu)/20000;printf("%f\n",percent);}计算结果为2.思路同1:运用C语言编程:#include<stdio.h>#include<stdlib.h>#include<time.h>main(){int n;for(n=2;n<50;n++){int a[55],b[55],i,j,index,cishu=0;double percent;srand((unsigned)time(0));for(j=0;j<20000;j++){for(i=0;i<n;i++)a[i]=i;i=0;while(i<n){index=rand()%n;if(a[index]!=-1){b[i]=a[index];if(b[i]==i){cishu++;break;}a[index]=-1;i++;}}}percent=(double)(cishu)/20000;printf("%f\n",percent);}}运算结果为:0.496600 0.668400 0.630050 0.632700 0.6333500.630050 0.631450 0.640400 0.630500 0.6267000.636050 0.632700 0.623050 0.638350 0.6272000.626750 0.633050 0.631250 0.633700 0.6324000.632550 0.629900 0.634200 0.630050 0.6301000.638900 0.631000 0.632450 0.631250 0.6256000.631250 0.628750 0.633250 0.633450 0.6436500.631400 0.631100 0.634800 0.631900 0.6374000.632550 0.635100 0.636450 0.633850 0.6342000.628900 0.630700 0.628650 0.636900运用Excel作散点图:二.设X1,X2,. . .,Xn相互独立且都服从区间[0,1]的均匀分布,f(x)为区间[0,1]上的一个可积数,由大数定律可知依概率收敛于,编制程序,用随机数模拟至少40000次,近似地求下列两个积分的值:,设1~10十个数,a[0]~a[9]是个数组,然后随机的赋值,从a[0]开始盘多,如果数组值与组名对应的值相等则记1,否则记0,做20000次,最后用和除以20000,就得概率解题思路:取0~1内的随机数,赋值到x,在计算f(x),求40000个随机数对应的f(x)的和除以40000就可以了运用C语言编程:#include <stdio.h>#include <stdlib.h>#include <math.h>#include<time.h>main(){int i,j;double r,he=0;srand((unsigned)time(0));for(j=0;j<2;j++){i=0;while (i < 20000 ){r = ( (double)rand() / ((double)(RAND_MAX)+(double)(1)) );he=exp(r*r)+he;i = i + 1;}}printf("%f\n",he/40000);}运用c语言编程:#include <stdio.h>#include <stdlib.h>#include <math.h>#include <time.h>main(){int i,j;double r,he=0;srand((unsigned)time(0));for(j=0;j<2;j++){i=0;while (i < 20000 ){r = ( (double)rand() / ((double)(RAND_MAX)+(double)(1)) );if(r==0)r=0.000001;he=sin(r)/r+he;i = i++;}}printf("%f\n",he/40000);}三.假设男,女婴的出生率均为0.5,每个家庭只要有一个男婴出生就不再生下一胎,如果没有男婴,不论已经出生多少女婴,都可以继续要下一胎.假设某地有100万个家庭,按照上述生育政策,自行编制程序回答下一问题:1.每个家庭大约有几个小孩2.男女比例大约为多少3.如果男婴与女婴的出生率为0.51与0.49,重新回答前两问第一问和第二问程序如下:#include <stdio.h>#include <stdlib.h>void main(){int r;int B=0;int G=0;int i;float u,m;for(i=1;i<=200000;i++){while(B<i){int x=rand();r=x%100;if(r<50)B++;else G++;}}u=(B+G)/200000.0;printf("平均每对夫妻要有%.4f个孩子\n",u);m=(float)B/G;printf("男女比例为%.4f:1\n",m);}运算结果:第三问程序:#include <stdio.h>#include <stdlib.h>void main(){int r;int B=0;int G=0;int i;float u,m;for(i=1;i<=200000;i++){while(B<i){int x=rand();r=x%100;if(r<51)B++;else G++;}}u=(B+G)/200000.0;printf("平均每对夫妻要有%.4f个孩子\n",u);m=(float)B/G;printf("男女比例为%.4f:1\n",m);}运行结果如下:。

c语言第2次上机作业[1]

c语言第2次上机作业[1]

本次上机作业分为两部分1指针基本概念2 数组提高体题目较多,指针基本概念题和数组提高题中的阅读程序题的前5小题(做到红色标号位置即可)必须当堂提交,剩余的题目3月17日前提交即可—如全部当堂提交可获得高分题目就在原题做即可----请独立完成,严禁抄袭---否则0分1指针基本概念题:1.设有定义“int a=3,b,*p=&a;”,则下列语句中不能使b为3的语句是_D________。

A. b=*&a;B. b=*p;C. b=a;D. b=*a;2.若有说明:int i,j=7,*p=&i; 则与i=j;等价的语句是___B______。

A. i=*p;B. *p=*&j;C. i=&j;D. i=**p;3.int j,*p=&j; 要实现j的内容加10,错误的是____D_____。

A. *p=*&j+10;B. j=*p+10;C. *p=*p+10;D. *p=&j+10;4.设指针x指向的整型变量值为25,则printf("%d\n", ++*x);的输出是_D_______。

A. 23B. 24C. 25D. 265.设P1和P2是指向同一个int型一维数组的指针变量,k为int型变量,则不能正确执行的语句是__B_______。

A. k=*P1+*P2;B. P2=k;C. P1=P2;D. k=*P1 *(*P2);6.对基类型相同的指针变量不能进行的运算是____A_____。

A. +B. -C. =D. ==7.若有以下定义,则不能表示a数组元素的表达式是_B________。

int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;A. *pB. a[10]C. *aD. a[p-a]2、指针基本概念填空题1.设有char *a="ABCD"; 则printf("%s",a);的输出是_ABCD__________________,而printf("%c",*a);的输出是A___________。

大连理工大学优化方法上机大作业

大连理工大学优化方法上机大作业

学院:专业:班级:学号:姓名:上机大作业1:1.最速下降法:function f = fun(x)f = (1-x(1))^2 + 100*(x(2)-x(1)^2)^2; endfunction g = grad(x)g = zeros(2,1);g(1)=2*(x(1)-1)+400*x(1)*(x(1)^2-x(2)); g(2) = 200*(x(2)-x(1)^2);endfunction x_star = steepest(x0,eps) gk = grad(x0);res = norm(gk);k = 0;while res > eps && k<=1000dk = -gk;ak =1; f0 = fun(x0);f1 = fun(x0+ak*dk);slope = dot(gk,dk);while f1 > f0 + *ak*slopeak = ak/4;xk = x0 + ak*dk;f1 = fun(xk);endk = k+1;x0 = xk;gk = grad(xk);res = norm(gk);fprintf('--The %d-th iter, the residual is %f\n',k,res); endx_star = xk;end>> clear>> x0=[0,0]';>> eps=1e-4;>> x=steepest(x0,eps)2.牛顿法:function f = fun(x)f = (1-x(1))^2 + 100*(x(2)-x(1)^2)^2; endfunction g = grad2(x)g = zeros(2,2);g(1,1)=2+400*(3*x(1)^2-x(2));g(1,2)=-400*x(1);g(2,1)=-400*x(1);g(2,2)=200;endfunction g = grad(x)g = zeros(2,1);g(1)=2*(x(1)-1)+400*x(1)*(x(1)^2-x(2)); g(2) = 200*(x(2)-x(1)^2);endfunction x_star = newton(x0,eps)gk = grad(x0);bk = [grad2(x0)]^(-1);res = norm(gk);k = 0;while res > eps && k<=1000dk=-bk*gk;xk=x0+dk;k = k+1;x0 = xk;gk = grad(xk);bk = [grad2(xk)]^(-1);res = norm(gk);fprintf('--The %d-th iter, the residual is %f\n',k,res); endx_star = xk;end>> clear>> x0=[0,0]';>> eps=1e-4;>> x1=newton(x0,eps)--The 1-th iter, the residual is--The 2-th iter, the residual isx1 =法:function f = fun(x)f = (1-x(1))^2 + 100*(x(2)-x(1)^2)^2; endfunction g = grad(x)g = zeros(2,1);g(1)=2*(x(1)-1)+400*x(1)*(x(1)^2-x(2)); g(2) = 200*(x(2)-x(1)^2);endfunction x_star = bfgs(x0,eps) g0 = grad(x0);gk=g0;res = norm(gk);Hk=eye(2);k = 0;while res > eps && k<=1000dk = -Hk*gk;ak =1; f0 = fun(x0);f1 = fun(x0+ak*dk);slope = dot(gk,dk);while f1 > f0 + *ak*slopeak = ak/4;xk = x0 + ak*dk;f1 = fun(xk);endk = k+1;fa0=xk-x0;x0 = xk;go=gk;gk = grad(xk);y0=gk-g0;Hk=((eye(2)-fa0*(y0)')/((fa0)'*(y0)))*((eye(2)-(y0)*(fa0)')/((fa0)'*(y0)))+(fa0*(fa 0)')/((fa0)'*(y0));res = norm(gk);fprintf('--The %d-th iter, the residual is %f\n',k,res);endx_star = xk;End>> clear>> x0=[0,0]';>> eps=1e-4;>> x=bfgs(x0,eps)4.共轭梯度法:function f = fun(x)f = (1-x(1))^2 + 100*(x(2)-x(1)^2)^2; endfunction g = grad(x)g = zeros(2,1);g(1)=2*(x(1)-1)+400*x(1)*(x(1)^2-x(2)); g(2) = 200*(x(2)-x(1)^2);endfunction x_star =CG(x0,eps) gk = grad(x0);res = norm(gk);k = 0;dk = -gk;while res > eps && k<=1000 ak =1; f0 = fun(x0);f1 = fun(x0+ak*dk);slope = dot(gk,dk);while f1 > f0 + *ak*slope ak = ak/4;xk = x0 + ak*dk;f1 = fun(xk);endk = k+1;x0 = xk;g0=gk;gk = grad(xk);res = norm(gk);p=(gk/g0)^2;dk1=dk;dk=-gk+p*dk1;fprintf('--The %d-th iter, the residual is %f\n',k,res); endx_star = xk;end>> clear>> x0=[0,0]';>> eps=1e-4;>> x=CG(x0,eps)上机大作业2:function f= obj(x)f=4*x(1)-x(2)^2-12;endfunction [h,g] =constrains(x) h=x(1)^2+x(2)^2-25;g=zeros(3,1);g(1)=-10*x(1)+x(1)^2-10*x(2)+x(2)^2+34;g(2)=-x(1);g(3)=-x(2);endfunction f=alobj(x) %拉格朗日增广函数%N_equ等式约束个数?%N_inequ不等式约束个数N_equ=1;N_inequ=3;global r_al pena;%全局变量h_equ=0;h_inequ=0;[h,g]=constrains(x);%等式约束部分?for i=1:N_equh_equ=h_equ+h(i)*r_al(i)+(pena/2)*h(i).^2;end%不等式约束部分for i=1:N_inequh_inequ=h_inequ+pena)*(max(0,(r_al(i)+pena*g(i))).^2-r_al(i).^2); end%拉格朗日增广函数值f=obj(x)+h_equ+h_inequ;function f=compare(x)global r_al pena N_equ N_inequ;N_equ=1;N_inequ=3;h_inequ=zeros(3,1);[h,g]=constrains(x);%等式部分for i=1:1h_equ=abs(h(i));end%不等式部分for i=1:3h_inequ=abs(max(g(i),-r_al(i+1)/pena));endh1 = max(h_inequ);f= max(abs(h_equ),h1); %sqrt(h_equ+h_inequ);function [ x,fmin,k] =almain(x_al)%本程序为拉格朗日乘子算法示例算法%函数输入:% x_al:初始迭代点% r_al:初始拉格朗日乘子N-equ:等式约束个数N_inequ:不等式约束个数?%函数输出% X:最优函数点FVAL:最优函数值%============================程序开始================================ global r_al pena ; %参数(全局变量)pena=10; %惩罚系数r_al=[1,1,1,1];c_scale=2; %乘法系数乘数cta=; %下降标准系数e_al=1e-4; %误差控制范围max_itera=25;out_itera=1; %迭代次数%===========================算法迭代开始============================= while out_itera<max_iterax_al0=x_al;r_al0=r_al;%判断函数?compareFlag=compare(x_al0);%无约束的拟牛顿法BFGS[X,fmin]=fminunc(@alobj,x_al0);x_al=X; %得到新迭代点%判断停止条件?if compare(x_al)<e_aldisp('we get the opt point');breakend%c判断函数下降度?if compare(x_al)<cta*compareFlagpena=1*pena; %可以根据需要修改惩罚系数变量elsepena=min(1000,c_scale*pena); %%乘法系数最大1000disp('pena=2*pena');end%%?更新拉格朗日乘子[h,g]=constrains(x_al);for i=1:1%%等式约束部分r_al(i)= r_al0(i)+pena*h(i);endfor i=1:3%%不等式约束部分r_al(i+1)=max(0,(r_al0(i+1)+pena*g(i)));endout_itera=out_itera+1;end%+++++++++++++++++++++++++++迭代结束+++++++++++++++++++++++++++++++++ disp('the iteration number');k=out_itera;disp('the value of constrains'); compare(x_al)disp('the opt point');x=x_al;fmin=obj(X);>> clear>> x_al=[0,0];>> [x,fmin,k]=almain(x_al)上机大作业3: 1、>> clear alln=3; c=[-3,-1,-3]'; A=[2,1,1;1,2,3;2,2,1;-1,0,0;0,-1,0;0,0,-1];b=[2,5,6,0,0,0]';cvx_beginvariable x(n)minimize( c'*x)subject toA*x<=bcvx_endCalling SDPT3 : 6 variables, 3 equality constraints------------------------------------------------------------num. of constraints = 3dim. of linear var = 6*******************************************************************SDPT3: Infeasible path-following algorithms*******************************************************************version predcorr gam expon scale_dataNT 1 1 0it pstep dstep pinfeas dinfeas gap prim-obj dual-obj cputime -------------------------------------------------------------------0|||+01|+00|+02|+01 +00| 0:0:00| chol 1 11|||||+01|+00 +01| 0:0:01| chol 1 12|||||+00|+00 +01| 0:0:01| chol 1 13|||||+00|+00 +00| 0:0:01| chol 1 14||||||+00 +00| 0:0:01| chol 1 15||||||+00 +00| 0:0:01| chol 1 16||||||+00 +00| 0:0:01| chol 1 17||||||+00 +00| 0:0:01| chol 1 18||||||+00 +00| 0:0:01|stop: max(relative gap, infeasibilities) <------------------------------------------------------------------- number of iterations = 8primal objective value = +00dual objective value = +00gap := trace(XZ) =relative gap =actual relative gap =rel. primal infeas (scaled problem) =rel. dual " " " =rel. primal infeas (unscaled problem) = +00rel. dual " " " = +00norm(X), norm(y), norm(Z) = +00, +00, +00norm(A), norm(b), norm(C) = +00, +00, +00Total CPU time (secs) =CPU time per iteration =termination code = 0DIMACS: +00 +00-------------------------------------------------------------------------------------------------------------------------------Status: SolvedOptimal value (cvx_optval):2、>> clear alln=2; c=[-2,-4]'; G=[,0;0,1]; A=[1,1;-1,0;0,-1]; b=[1,0,0]'; cvx_beginvariable x(n)minimize( x'*G*x+c'*x)subject toA*x<=bcvx_endCalling SDPT3 : 7 variables, 3 equality constraintsFor improved efficiency, SDPT3 is solving the dual problem.------------------------------------------------------------num. of constraints = 3dim. of socp var = 4, num. of socp blk = 1dim. of linear var = 3*******************************************************************SDPT3: Infeasible path-following algorithms*******************************************************************version predcorr gam expon scale_dataNT 1 1 0it pstep dstep pinfeas dinfeas gap prim-obj dual-obj cputime -------------------------------------------------------------------0||||+00|+02| +01 +00| 0:0:00| chol 1 11|||||+01| +00 | 0:0:00| chol 1 12|||||+00| +00 | 0:0:00| chol 1 13|||||| | 0:0:00| chol 1 14|||||| | 0:0:00| chol 1 15|||||| | 0:0:00| chol 1 16|||||| | 0:0:00| chol 1 17|||||| | 0:0:00| chol 1 18|||||| | 0:0:00| chol 1 19|||||| | 0:0:00| chol 1 110|||||| | 0:0:00| chol 2 211|||||| | 0:0:00| chol 2 212|||||| | 0:0:00| chol 2 213|||||| | 0:0:00| chol 2 214|||||| | 0:0:00|stop: max(relative gap, infeasibilities) <------------------------------------------------------------------- number of iterations = 14primal objective value =dual objective value =gap := trace(XZ) =relative gap =actual relative gap =rel. primal infeas (scaled problem) =rel. dual " " " =rel. primal infeas (unscaled problem) = +00rel. dual " " " = +00norm(X), norm(y), norm(Z) = +00, +00, +00norm(A), norm(b), norm(C) = +00, +00, +00Total CPU time (secs) =CPU time per iteration =termination code = 0DIMACS: +00 +00-------------------------------------------------------------------------------------------------------------------------------Status: SolvedOptimal value (cvx_optval): -3。

大连理工大学c++大作业

大连理工大学c++大作业

大连理工大学C++程序设计大作业班级:111111111姓名:暗暗暗暗暗暗暗暗学号:1111111111邮箱:1111111111111111任课教师:赵国辉上交时间:2013.7.22目录1.第一次上机作业 (3)2.第二次上机作业 (6)3.第三次上机作业 (10)4.第四次上机作业 (15)5.结课大作业 (18)6.课堂总结 (48)1. 第一次上机作业1.1作业要求1.整型和浮点型的二进制表示2.一个整数的二进制(64位)转换成十进制表示。

1.2 核心代码说明整型和浮点型的二进制表示#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <queue>#include <stack>using namespace std;void getint(int x){stack<int>s;while(x){s.push(x&1);x>>=1;}while(!s.empty()){cout<<s.top();s.pop();}} //将整型转换成二进制函数void getfloat(float y){queue<int>q;int x=(int)y;getint(x);y-=x; //将浮点型转换成二进制函数if(!y) return ;putchar('.');while(y){y*=2.0;if(y>=1.0){q.push(1);y-=1.0;}else q.push(0);}while(!q.empty()){cout<<q.front();q.pop();}}int main(){int x;float y;cin>>x;//输入一个整数getint(x);cout<<endl;cin>>y;//输入一个浮点数getfloat(y);cout<<endl;return 0;}一个整数的二进制(64位)转换成十进制表示。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1
题目描述:4个数排序
从键盘任意输入4个整数,将其按从小到大顺序排序后输出。

题目分析:定义a,b,c,d,t.为a,b,c,d赋上四个值。

用if语句,借用t,将a,b,c,d通过多次调换数值使得a,b,c,d对应的数值大小依次减小。

再倒序输出。

流程图:
程序代码:
#include<stdio.h>
main()
{
int a,b,c,d,t;
printf("please enter four number");
scanf("%d%d%d%d",&a,&b,&c,&d);
if(b>a)
{t=a;a=b;b=t;}
if(c>a)
{t=a;a=c;c=t;}
if(d>a)
{t=a;a=d;d=t;}
if(c>b)
{t=b;b=c;c=t;}
if(d>b)
{t=b;b=d;d=t;}
if(d>c)
{t=c;c=d;d=t;}
printf("After ascending sorting:%d %d %d %d\n",d,c,b,a);
}
2.
题目描述:求1 + 1/2! +....+ 1/n!
题目分析:定义i,n,t,s。

运用循环语句,让t的值为n!,同时s累计求和。

因为最后要输出原式,所以要将公式的部分包含在循环语句中。

流程图:
#include<stdio.h>
main()
{
int i,n;
float s,t;
i=1;
s=0;
t=1;
printf("please enter a number");
scanf("%d",&n);
printf("1");
while(i<=n)
{t=t*i;
s+=1/t;
if(i!=1)
printf("+1/%d!",i);
i++;}
printf("=%.4f\n",s);
}
程序截屏:
3.
题目描述:编程计算表达式:data1 op data2 的值。

(op 为+ - * / %,data1,data2为整数)
题目分析:定义date1,date2,op。

用switch语句,依据op的不同符号,分别列出不同表达式求解。

流程图:
程序代码:
#include<stdio.h>
main()
{
int date1,date2;
char op;
scanf("%d%c%d",&date1,&op,&date2);
switch(op)
{
case'+':printf("%d%c%d=%d\n",date1,op,date2,date1+date2);
break;
case'-':printf("%d%c%d=%d\n",date1,op,date2,date1-date2);
break;
case'*':printf("%d%c%d=%d\n",date1,op,date2,date1*date2);
break;
case'/':printf("%d%c%d=%d\n",date1,op,date2,date1/date2);
break;
case'%':printf("%d%c%d=%d\n",date1,op,date2,date1%date2);
break;
default:printf("data error!\n");
break;
}
}
程序截屏:
4.
题目描述:用二分法求方程2x3-4x2+3x-6=0在(a,b)之间的根。

题目分析:确定区间(a, b),使得f(a)和f(b) 异号,则f(x)在[a, b]上至少有一个根
取x为a, b的中点,若f(a)和f(x)异号,则根在[a, x]中,去掉[x, b]。

令b=x,得新的区间[a, b];若f(b)和f(x)异号,则根在(x, b)中,令a=x,得新的区间。

反之,令b=x。

重复以上操作,直到f(x)<ε。

这样得到的x即为方程的根
流程图:
程序代码:
#include<stdio.h>
#include <math.h>
void main()
{
float a,b,fx,x,fa,fb;
printf("Please input the lower and upper boundaries:");
scanf("%f%f",&a,&b);
fa=2*a*a*a-4*a*a+3*a-6;
fb=2*b*b*b-4*b*b+3*b-6;
if(fa*fb<0)
{
while(1)
{x=(a+b)/2;
fa=2*a*a*a-4*a*a+3*a-6;
fx=2*x*x*x-4*x*x+3*x-6;
if(fabs(fx)<=1e-5)
{
printf("The root is %.2f\n",x);
break;}
else
{
if (fa*fx<0)
b=x;
else a=x;
}
}
}
else
printf("No root in this boundary!\n");
}
程序截屏:
5.
题目描述:编程反复显示2014年各月份日历。

(2014年1月1号为星期三)。

题目分析:首先用到无限循环,可以输入每个月份。

然后用到if语句,否定除12个月份的。

在通过switch语句,将十二月的情况分别列出,再通过循环语句将具体月份的日历显示出来。

最后判断是否继续时,再次用到if语句,输入n则跳转出来。

流程图:
程序代码:
#include<stdio.h>
void main()
{
int month,site,date,i,j;
char x;
while(1)
{
printf("Enter month in 2014 to display calendar (1-12):");
scanf("%d",&month);
if (month>12||month<1)
printf("ERROR--- Enter month in range of (1-12)!\n");
else
{
printf("****************************************************");
printf("\n");
printf("SUN MON TUE WED THU FRI SAT\n");
switch(month)
{
case 1:date=31;site=4;break;
case 2:date=28;site=7;break;
case 3:date=31;site=7;break;
case 4:date=30;site=3;break;
case 5:date=31;site=5;break;
case 6:date=30;site=1;break;
case 7:date=31;site=3;break;
case 8:date=31;site=6;break;
case 9:date=30;site=2;break;
case 10:date=31;site=4;break;
case 11:date=30;site=7;break;
case 12:date=31;site=2;break;
}
for(i=1;i<site;i++)
printf(" ");
for(i=1,j=site;i<=date;i++,j++)
{
printf("%-7d",i);
j%=7;
if(j==0)printf("\n");
}
printf("\n");
printf("Would you like to display another month (y/n) ?");
fflush(stdin);
scanf("%c",&x);
}
if(x=='n')
break;
printf("\n");
}
}
程序截屏:。

相关文档
最新文档