工程常用算法第一次作业
基础工程A作业

基础工程A作业第一次作业一、单项选择题(只有一个选项正确,共10道小题)1.在排水基坑开挖中出现的“涌砂”,主要是因为。
(A)土体受到的向上渗透力超过其浮容重2.浅埋基础水下施工时,围堰的主要作用是。
(B)挡水3.浅基础设计时,若,应进行基坑底被顶坏的检算。
(C) 坑底下为厚度不大的不透水层,而其下为承压水层4. 浅埋刚性基础设计时,要求刚性角β≤[β],其主要目的是。
(C) 避免基础因弯曲而破坏5.浅埋基础的底面,应在。
(A局部冲刷线以下6.在基础设计计算时,通常不考虑哪种的荷载组合形式。
(D)主要荷载+附加荷载+特殊荷载7.当基础单向偏心距逐渐增大至使基底最小压应力为0时,相应的偏心距。
(C)等于核心半径8.软弱下卧层检算时,应。
(A)保证软弱下卧层底面的强度不小于该处的总压应力9.以下关于软弱下卧层的说法正确的是。
(D)软弱下卧层的承载力不需要基础宽度的修正10.在进行浅基础地基强度检算时,若主力与附加力并计,则要求基底最大压力小于等于。
(C) 1.2倍容许承载力二、不定项选择题(有不定个选项正确,共6道小题)11. 下列基础属于深基础的有。
(A) 桩基础(C) 沉井基础(D) 沉箱基础(E) 地下连续墙12.水下基坑的封底混凝土的计算中,应保证。
(B) 封底混凝土足够的抗压强度(C) 封底混凝土足够的自重来平衡其底面所受浮力13.基坑坑底安全检算主要包括。
(A) 坑底存在承压水时的坑底被顶坏检算(B) 软土地层坑底隆起检算(C) 坑底涌砂检14.基础设计时,需要检算的内容有。
(A) 地基的强度(B) 基础的强度(C) 基础的刚度(D) 基底偏心距(E) 基础的稳15.下列荷载中,属于主要荷载的是。
(A) 结构自重(B) 列车荷载16. 浅埋基础设计时,控制偏心距的大小所可能带来的好处是。
(A) 防止基础底面与土脱离(B) 控制基础的倾斜(C) 降低基底压力的最大值(D) 提高基础抗倾覆稳定性三、判断题(判断正误,共3道小题)17.基坑开挖汇水井法排水时有时可能导致流砂现象。
算法第一次作业参考答案

a: 根据程序,可以知道最内层运行的频次为N+N/2+N/4+N/8+…+N/2m;外层循环次数为m+1次,其中m=lgN;N+N/2+N/4+N/8+…+N/2m=N+(N/2+N/4+N/8+…+N/2m)=N+N(1-1/2m)=2N-1(从二进制的角度也可以获得理解)利用等比数列求和公式加起来也同样可得N+N/2+N/4+N/8+…+N/2m=2N(1-(1/2)m+1)=2N-1,因此整个式子正比于2N,即得到增长的数量级为N。
b: 根据程序,可以知道最内层运行的频次为1+2+4+…(共k=lgN项)等比数列求和得2lgN-1,即N-1;从二进制的角度理解则有:2k-1=2lgN-1=N-1所以得到增长的数量级同样为N。
c: 因为内外层没有关联,外层lgN次,内层N次,所以增长的数量级为NlgN。
1.4.12public class SharedNumber {public static void main(String[] args) {int N=Integer.parseInt(args[0]);int[] a=new int[N];for(int i=0;i<N;i++)a[i]=StdRandom.Uniform(-1000000,1000000);int[] b=new int[N];for(int i=0;i<N;i++)b[i]=StdRandom.Uniform(-1000000,1000000);Stopwatch timer =new Stopwatch();int i=0,j=0;while(i<a.length&&j<b.length) {if(a[i]==b[j]) {System.out.println(a[i]+" ");i++;j++;}else if(a[i]<b[j])i++;elsej++;}double time=timer.elapsedTime();System.out.println(time+"seconds");}}public class ClosestPair {public static void main(String[] args) {int N=Integer.parseInt(args[0]);int[] a=new int[N];for(int i=0;i<N;i++)a[i]=StdRandom.Uniform(-1000000,1000000);Stopwatch timer =new Stopwatch();Arrays.sort(a);int Min Dist=Math.abs(a[a.length-1]-a[0]);int Dist;int Index=0;for(int i=0;i<a.length-1;i++){Dist=Math.abs(a[i]-a[i+1]);if (D ist<Min Dist){Min Dist=Dist;Index=i;}}double time=timer.elapsedTime();System.out.println("\n"+a[Index]+"和"+a[Index+1]);System.out.println(time+"seconds");}}1.4.17public class FarthestPair {public static void main(String[] args) {int N=Integer.parseInt(args[0]);int[] a=new int[N];for(int i=0;i<N;i++)a[i]=StdRandom.Uniform(-1000000,1000000);Stopwatch timer =new Stopwatch();int Min=a[0],Max=a[0];for(int i=1;i<a.length;i++){if (Min>a[i])Min=a[i];else if (Max<a[i])Max=a[i];}double time=timer.elapsedTime();System.out.println("\nThe value of the farthest pair is"+Max-Min);System.out.println(time+"seconds");}}。
1----算法初步综合练习1(含答案)

算法初步综合练习1一. 选择题1.指出下列哪个不是算法( ) A.解方程032=+x 的过程是移项再两边同除以2B.小明从淮安到北京是先打的到火车站,再乘火车到北京C.解方程:0322=--x xD.计算半径为3的球体积是利用公式334r V π=,计算33334⨯⨯⨯⨯π2.)A.-5 ,3B.3 , 3C.-5 , -5D.3 ,-5 3. 右上程序运行后,输出的值是( ). A . 4 B. 5 C. 9 D. 16 4.一个算法的步骤如下: S1:输入x 的值;S2:计算不超过x 的最大整数y ; S3:计算y z y-=2;S4:输出z 的值。
如果输出z 的值为27,则输入x 的值可能为( ) A. 3.3 B. 4.4 C. 5.5 D. 6.65.给出以下四个问题:①输入一个数x ,输出它的相反数.②求面积为6的正方形的周长.③求三个数a,b,c 中的最大数.④求函数0.10.2{)(≥-<+= x x xx x f 的函数值. 其中不需要用条件语句来描述其算法的有( ) A. 1个 B. 2个 C. 3个 D. 4个 6. 如下图程序输出的n 的值是( ). A. 2 B. 3 C. 4 D. 5 二、填空题7.()=-3,5m od 5_________.8.以下属于基本算法语句的是____________________.INPUT 语句;②PRINT 语句;③IF-THEN 语句;④DO 语句;⑤END 语句; ⑥WHILE 语句;⑦END IF 语句.9.把求n 10. S1: 输入a ;S2: 若3≥a 则执行S3,否则执行S4; S3: 输出32+-a ; S4: 输出a a 22+-.要想输出的数值最大,则输入的a 值为________. 三、解答题11.解答下面三个小题(要有解答过程)(1)将二进制数10101(2)化为十进制数为_________,再化为八进制数为_________.(2)用辗转相除法求80和36的最大公约数,并用更相减损术检验所得结果.(3)已知一个4次多项式()453634++-=x x x x g , 试用秦九韶算法求这个多项式在x=2的值.10j n ==WHILE 11j <=1j j =+IF j MOD 4=0 T H E N 1n n =+ END IF 1j j =+WENDPRINT n (第6题)12. 计算 633222221+++++ ,写出算法的程序.13. 2000年我国人口为13亿,如果人口每年的自然增长率为7‟,那么多少年 后我国人口将达到15亿?设计一个算法的程序.14.写出已知函数⎪⎩⎪⎨⎧<-=>=).0(1),0(0),0(1x x x y 输入x 的值,求y 的值程序.算法初步综合练习1答案:一.选择题1. C2. D3. A4. B5. C6. B二、填空题:7. 3 8. ①,②,③,④,⑥基本算法语句的种类9. INPUT,WHILE,WEND 10.1 三.解答题11. (1) 21(10)25(8)(2)4 (3)8612. 解:s=1n=2i=1WHILE i<=63s=s+n∧ii=i+1WENDPRINT “1+2+2∧2+2∧3+…+2∧63=”;sEND13.解:A=13R=0.007i=1DOA=A*(1+R)i=i+1LOOP UNTIL A>=15i=i-1PRINT “达到或超过15亿人口需要的年数为:”;iEND14.解:INPUT “请输入x的值:”;xIF x>0 THENy=1ELSEIF x=0 THENy=0ELSEy=-1END IFEND IFPRINT “y的值为:”;yEND。
工程基础终板--作业及答案--土木工程管理本科课程

基础工程第一次作业一、单项选择题(只有一个选项正确,共10道小题)1. 通常,地基的最终沉降量与土的()密切相关。
(A) 强度(B) 压缩性(C) 渗透性(D) 前述三项正确答案:D解答参考:2. 由于大量抽水导致了地下水位的下降,由此可能产生的结果是( )。
(A) 土层中有效应力增大,地表上升(B) 土层中有效应力减小,地表下(C) 土层中有效应力不变,地表下沉(D) 土层中有效应力增大,地表下沉正确答案:D解答参考:3.以下哪些基础形式属浅基础()(A) 沉井基础(B) 桩基础(C) 地下连续墙(D) 地下条形基础正确答案:D解答参考:4. 对砌体承重结构,其地基变形验算应以哪种变形特征做控制()(A) 沉降量(B) 局部倾斜(C) 相对弯曲(D) 倾斜正确答案:B解答参考:5. 若土的级配曲线很平缓,则表示()(A) 不均匀系数小(B) 粒径分布不均匀(C) 粒径分布较均匀(D) 级配良好正确答案:B解答参考:6.下列钢筋混凝土基础中,抗弯刚度最大的基础形式是()(A) 柱下条形基础(B) 十字交叉基础(C) 箱形基础(D) 筏板基础正确答案:C解答参考:7. 当土中一点的孔隙水压逐渐消散时,该点的有效应力()(A) 逐渐增大(B) 逐渐减小(C) 保持不变(D) 始终为0正确答案:A解答参考:8. 浅埋刚性基础通过()防止基础因挠曲而发生破坏。
(A) 配置钢筋(B) 采用强度高的混凝土(C) 加大基础的底面(D) 控制刚性角你选择的答案: D [正确]正确答案:D解答参考:9. 以下哪些基础形式属浅基础()(A) 沉井基础(B) 桩基础(C) 地下连续墙(D) 地下条形基础你选择的答案: D [正确]正确答案:D解答参考:10. 浅基础设计时,若()应进行基坑底被顶坏的检算。
(A) 有软弱下卧层(B) 基础位于水中(C) 坑底下为厚度不大的不透水层,而其下为承压水层(D) 下卧层很硬你选择的答案: C [正确]正确答案:C解答参考:(注意:若有主观题目,请按照题目,离线完成,完成后纸质上交学习中心,记录成绩。
《工程计算方法基础》习题解答

11.
解: 一条;
11.
Solve:one;
12.
解(a)
(b)
12.
Solve:(a)
(b)
习题解答
1.(1)
(2)
(3)
2.最佳直线方程为
3.最佳抛物线方程为
4.
5.
6.
Answer
1.(1)
(2)
(3)
2.the best straight lineis
3.the best parabolais
或者
对于 ,最坏情形的插值误差是
8.Solve:TheChebyshev base points are
Or
for ,the worst-case interpolation erroris
9.
解0.00521
9.
Solve:0.00521
10.
解(a)不是三次样条;(b)三次样条
10.
Solve:(a)is not acubicspline;
1.用对分法计算结果见下表:
K
的符号
0
0
1
0.5
-
1
0
0.5
0.25
+
2
0.25
0.5
0.375
+
3
0.375
0.5
0.4375
+
4
0.4375
0.5
取 ,其误差限为
1.The result can be written in the following table:
K
的符号
0
0
1
java第一次作业题目2021版

java第一次作业题目2021版1. 题目:从键盘上输入两个正整数m和n,求其最大公约数和最小公倍数,必须判断输入数的正确性(比如非正整数等必须提示)。
[选题人数:3] 2. 题目:给出一个月的总天数编写程序,提示用户输入月份和年份,然后显示这个月的天数。
例如,如果用户输入的月份是2而年份是2000,那么程序应显示“2000年2月有29天”。
如果用户输入的月份为3而年份为2021,那么程序就应该显示“2021年3月有31天”。
(提示:必须判断是否是闰年) [选题人数:3]3. 题目:计算一个三角形的周长编写程序,提示用户从键盘输入三角形的三条边,如果输入值合法就计算这个三角形的周长,否则,显示这些输入值不合法(如果任意两条边的和大于第三条边,那么输入值都是合法的)。
[选题人数:3] 4. 题目:奖金发放问题企业发放的奖金根据利润提成。
利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?[选题人数:3]5. 题目:打印金字塔形的数字编写一个嵌套的for循环,打印下面的输出。
1 2 1 1 2 4 2 1 1 2 4 8 4 2 1 1 2 4 8 168 4 2 11 2 4 8 16 32 16 8 4 2 11 2 4 8 16 32 64 32 16 8 4 2 11 2 4 8 16 32 64 128 64 32 16 8 4 2 1[选题人数:2] 6. 题目:十进制转换成二进制或十六进制编写程序,从键盘上输入一个十进制整数,然后显示对应的二进制值或十六进制值。
学工程计算作业

学工程计算作业姓名:刘欣班级:统计1201学号: 201247100125学院:数计学院1,解方程 x^3-3x-1=0 在【 1,2】的近似根 (精准到 10^-3)( 二分法) .#include <stdio.h> #include "math.h"main(){ double x1,x2,x,e,y;x1=1.0;x2=2.0;do{e=x1-x2;x=(x1+x2)/2;y=pow(x,3.0)-3*x-1.0;if(y!=0){if(y>0)x2=x;elsex1=x;}elseprintf("%0.20f\n",x);}while(fabs(e)>1.0e-10);printf( 近似根是: "%0.20f\n",x);return x;}说明:运转程序后,显示:“近似根是:”,结果位数与 e 的截断精度相关。
2,解方程x*e^x-1=0.( 牛顿迭代)#include<stdio.h>#include<math.h>int main(){double f(double x);double x,y,d;x=1;y=0;d=0.000000001;while(fabs(x-y)>=d)1/15{x=y;y=f(x);}printf("%.3f\n",y);printf("%f\n",exp(y)*y);return 0;}double f(double x){ return x-(x*exp(x)-1)/(exp(x)+x*exp(x));}说明:结果显示:“ 0.56710000." 书中表 2.9 给出了迭代四次后的结果为 0.56714329; 结果表示算法收敛,有四位有效数字。
3,解方程x*e^x-1=0.( 简单迭代)#include<stdio.h>#include<math.h>main(){;double x0,x1,d;x0;x1=0.0;// 迭代值。
经典算法练习题

经典算法练习题算法是计算机科学中的重要概念,它是解决问题的一系列步骤或规则。
在计算机编程中,经典算法是程序员经常使用的一种算法。
通过练习经典算法,可以增强程序员的逻辑思维能力,并提高解决问题的效率和准确性。
本文将介绍几个经典算法练习题。
题目一:冒泡排序算法实现冒泡排序是一种基本的排序算法,它通过多次比较和交换来实现排序。
具体步骤如下:1. 从待排序的第一个元素开始,依次比较相邻的两个元素,如果前一个元素大于后一个元素,则交换它们的位置;2. 继续比较下一对元素,直到没有任何一对元素需要交换为止;3. 重复上述步骤,直到所有元素都排好序为止。
题目二:二分查找算法实现二分查找算法也被称为折半查找算法,它是一种高效的查找算法。
它的前提是待查找的数据已经排好序。
具体步骤如下:1. 首先,确定待查找数据的左边界和右边界;2. 计算待查找数据的中间位置,并将中间位置数据与目标数据进行比较;3. 如果中间位置数据等于目标数据,查找成功;4. 如果中间位置数据大于目标数据,修改右边界为中间位置减1,并回到第二步继续查找;5. 如果中间位置数据小于目标数据,修改左边界为中间位置加1,并回到第二步继续查找;6. 重复上述步骤,直到找到目标数据或者左边界大于右边界为止。
题目三:递归算法实现递归算法是一种自己调用自己的算法。
它通常用于解决可以被分解为重复子问题的问题。
递归算法的实现包括两个关键要素:递归基和递归式。
1. 递归基:确定递归结束的条件,即最简单的情况;2. 递归式:将原问题转化为更小规模的问题,并通过调用自身解决该小规模问题。
题目四:动态规划算法实现动态规划算法是一种将复杂问题分解为多个重叠子问题的算法。
通过解决子问题并将结果保存在一个表中,可以避免重复计算,提高效率。
动态规划算法的实现包括以下步骤:1. 确定状态:将原问题分解为若干子问题,通过定义状态表示子问题;2. 确定状态转移方程:描述当前状态与下一个状态之间的关系;3. 确定初始条件:确定递归出口的初始情况。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
已知方程
32
x x x
++-=,请用二
1.10.9 1.40
分法、牛顿法和割线法求此方程实根的
近似值,使误差不过0.0001。
注意先确
定出方程的有根区间。
二、程序流程图
三、完整的程序及简要的注释
1.牛顿法程序代码
#include <stdio.h>
#include <math.h>
double func(double x) /* f(x)函数*/
{
return x*x*x + 1.1*x*x + 0.9*x - 1.4;
}
double func_1(double x) /* f(x)函数的导数*/
{
return 3*x*x + 1.1*2*x + 0.9;
}
int main()
{
double x0=5,x1,a,b;
double ex=0.0001,ey=0.0001;
printf("牛顿法求解结果如下\n") ;
a = func(x0);
while(1)
{
b = func_1(x0);
if (b == 0)
{
printf("请重新输入初始值!"); break;
}
else
{
x1 = x0 - a/b;
a = func(x1);
printf(" x=%-10f f(x)=%-10f\n", x1,a);
if(fabs(x1-x0)<ex || fabs(a)<ey)
break; /* 满足精度*/
else x0 = x1;
}
}
}
2.二分法程序代码
#include <stdio.h>
#include <math.h>
double func(double x) /* f(x)函数*/
{
return x*x*x + 1.1*x*x + 0.9*x - 1.4;
}
int main()
{
double a=0,b=5,ex=0.0001,ey=0.0001;
double x, c;
int k = 1; //计数器
printf("二分法求解结果如下\n");
if(func(a)*func(b)>0)
{
printf("区间内无根!");
}
while(1)
{
x = (a+b)/2;
c = func(x);
printf("k=%-3dx=%-10f c=%-10f\n", k,x,c);
if( (b-a)<ex || fabs(c)<ey ) break;
/*/满足精度*/
else
{
if(func(a)*c<0) b = x;
else a = x;
}
k++;
}
}
3.割线法程序代码
#include <stdio.h>
#include <math.h>
double func(double x) /* f(x)函数*/
{
return x*x*x + 1.1*x*x + 0.9*x - 1.4;
}
int main()
{
double x0=2,x1=6,x2,ex=0.0001,ey=0.0001,c;
int k = 1; //计数器
printf("割线法求解结果如下:\n");
while(1)
{
c=func(x1)-func(x0);
x2=x1-func(x1)*(x1-x0)/c;
printf("k=%-3dx2=%-10ffunc(x2)=%-10f\n",k,x2,fun c(x2));
if(fabs(x2-x1)<ex || fabs(func(x2))<ey ) break; /*/满足精度*/
else
{
x0=x1;
x1=x2;
}
k++;
}
}
四、程序运行结果
五、对不同实现方法的运行结果进行比较
【从收敛速度,精度比较即可】
六、问题与总结(必须给出自评成绩A/B/C/D)
【写出简要总结】
【自评成绩:B】
一、计算公式及计算方法(手写在作业最后即可)。