大差法:流水步距计算工期

纯前端 + javascript,实现大差法

异节奏流水施工:异节奏流水施工就是每个施工过程的流水步距都不相等,且每个施工段上的流水节拍也不相等。

大差法公式:T=T1+(n-1)K。
式中T为施工总工期;T1为一个施工段或一个单位工程的工期;n为施工段或单位工程的数目;K为流水步距。

即“累加数列、错位相减、取大差”。



第一步:累加

第二步:错位相减、取大差

第三步:计算工期

<!DOCTYPE htmlPUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><base href="<%=basePath%>"><title>test</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0"><meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><style type="text/css">.right {margin: 0% 10%;width: 600px;}.right table {background: white;width: 100%;border: 1px solid #499B33;}.right td {background: blue;text-align: center;padding: 2px;border: 1px solid #499B33;}.right td {background: #8FBC8F;}.item {text-align: center;width: 100px;}.assigned {border: 1px solid #BC2A4D;}</style><script>// 全局变量var tList = [];var hljList = [];var maxList = [];//function table() {if (document.getElementById("Col").value == "" || document.getElementById("Col").value.search("^[0-9]*$") ==-1) {document.getElementById("errmsg1").style.display = "block"; //判断payNum是否为空或不是数字    提示错误document.getElementById("errmsg1").innerHTML = "提示信息:列数数为空或不是数字!";return;}if (document.getElementById("Num").value == "" || document.getElementById("Num").value.search("^[0-9]*$") ==-1) {document.getElementById("errmsg1").style.display = "block"; //判断payNum是否为空或不是数字    提示错误document.getElementById("errmsg1").innerHTML = "提示信息:行数为空或不是数字!";return;} else {document.getElementById("errmsg1").style.display = "none"; //隐藏提示信息var Col = parseInt(document.getElementById("Col").value); //获取列数var Num = parseInt(document.getElementById("Num").value); //获取行数var flag = true;var data = "";data += " <table >";data += " <tr>";for (var j = 0; j <= Col; j++) {if (j == 0) {data += "<td >分项</td>";} else {data += "<td >数据" + j + "</td>";}}data += "</tr>";// for (var i = 1; i <= Num; i++) {data += "<tr >";for (var j = 0; j <= Col; j++) {if (j == 0) {data += "<td>分类" + i + "</td>";} else {data += "<td><input id='rc_" + i + "_" + j + "' type='text' class='dataInput'></td>";}}data += "</tr>";}data += "</table>";document.getElementById("div1").style.display = "block";document.getElementById("table1").innerHTML = data;}}function cumulativeSummation() {// var pElement = document.getElementById("div1");// var childList = getElementsByClassName(pElement, "dataInput");//var Col = parseInt(document.getElementById("Col").value); //获取列数var Num = parseInt(document.getElementById("Num").value); //获取行数tList = [];for (var i = 1; i <= Num; i++) {var tArray = [];for (var j = 1; j <= Col; j++) {var tValue = Number(document.getElementById('rc_' + i + "_" + j).value);tArray.push(tValue);}tList.push(tArray);}//hljList = [];for (var i = 0; i < tList.length; i++) {var hljArray = [];for (var j = 0; j < tList[i].length; j++) {var tijList = tList[i].slice(0, j + 1);var hangleijia = arraySum(tijList);hljArray.push(hangleijia);}hljList.push(hljArray);}//var divHtml = "";for (var i = 0; i < hljList.length; i++) {divHtml += "<div>";divHtml += "<span>分类" + (i + 1) + ":(累加求和)</span>";for (var j = 0; j < hljList[i].length; j++) {divHtml += "<span style='padding-left:10px;'>" + hljList[i][j] + "</span>";}divHtml += "</div>";}document.getElementById("div2").innerHTML = divHtml;}function dislocationSubtraction() {var hljList_new_str = JSON.stringify(hljList);var hljList_new = JSON.parse(hljList_new_str);// var divHtml = "";for (var i = 0; i < hljList_new.length - 1; i++) {//var maxArray = [];//hljList_new[i].push(0);hljList_new[i + 1].unshift(0);divHtml += "<div>";divHtml += "<span>分类" + (i + 1) + " - 分类" + (i + 2) + ":</span>";for (var j = 0; j < hljList_new[i].length; j++) {var j_j = hljList_new[i][j] - hljList_new[i + 1][j]maxArray.push(j_j);divHtml += "<span style='padding-left:10px;'>" + j_j + "</span>";}var max_j_j = Math.max.apply(null, maxArray);maxList.push(max_j_j);divHtml += "<span style='padding-left:30px;'>最大值:" + max_j_j + "</span>";divHtml += "</div>";//if (i == hljList_new.length - 2) {//} else {hljList_new[i + 1].splice(0, 1);}}document.getElementById("div3").innerHTML = divHtml;}function calculateConstructionPeriod() {var divHtml = "";divHtml += "(";for (let i = 0; i < maxList.length; i++) {if(i == maxList.length - 1){divHtml += "<span>" + maxList[i] + "</span>";} else {divHtml += "<span>" + maxList[i] + " + " + "</span>";}}divHtml += ")+";//divHtml += "(";for (let i = 0; i < tList[tList.length - 1].length; i++) {if(i == tList[tList.length - 1].length - 1){divHtml += "<span>" + tList[tList.length - 1][i] + "</span>";} else {divHtml += "<span>" + tList[tList.length - 1][i] + " + " + "</span>";}}divHtml += ")";divHtml += "<span>" + " = " + "</span>";// var max1 = arraySum(maxList);var max2 = arraySum(tList[tList.length - 1]);var max3 = max1 + max2;//divHtml += "<span>" + max3 + "</span>";document.getElementById("div4").innerHTML = divHtml;}function getElementsByClassName(node, classname) {if (node.getElementsByClassName) {return node.getElementsByClassName(classname);} else {var results = new Array();var elems = node.getElementsByTag("*");for (var i = 0; i < elems.length; i++) {if (elems[i].className.indexOf(classname) != -1) {results[elems.length] = elems[i];}}return results;}}function arraySum(arr) {var s = 0;for (var i = arr.length - 1; i >= 0; i--) {s += arr[i];}return s;}</script></head><body><br><div style="width:750px;"><div class="right"><table><tr><td>动态生成表格</td><td><input id="Col" type="text" class="input" size="10" name="Col" />列</td><td><input id="Num" type="text" class="input" size="10" name="Num" />行</td></tr></table></br><input name="" type="button" value="生成" class="buttton" onclick="table()" /></br></br><div id="div1" style="display: none" mce_style="display: none"><div id="table1"></div></div></br><input name="" type="button" value="第一步:累加求和" class="buttton" onclick="cumulativeSummation()" /></br></br><div id="div2"></div></br><input name="" type="button" value="第二步:两两错位相减取最大值" class="buttton"onclick="dislocationSubtraction()" /></br></br><div id="div3"></div></br><input name="" type="button" value="第三步:计算工期(第二步的最大值累加 + 最后一行原始数值的累加)" class="buttton"onclick="calculateConstructionPeriod()" /></br></br><div id="div4"></div></br><div id="errmsg1" class="formmsg"></div></div></div>
</body></html>

源代码:https://download.csdn.net/download/liuliwei09/25635306

大差法:流水步距计算工期相关推荐

  1. matlab错位相减,在非节奏流水施工中,通常用来计算流水步距的方法是()。A.累加数列错位相减取大差值B.累加数列错...

    在非节奏流水施工中,通常用来计算流水步距的方法是().A.累加数列错位相减取大差值B.累加数列错 更多相关问题 引起喉痛的常见喉部疾病有().().().().(). 以下不属于公布目的的审计报告的服 ...

  2. 单代号网络图计算例题_还在熬夜计算工期?不会优化工期?学会双代号网络图效率提高80%,升职加薪其实不难...

    还在熬夜计算工期?不会优化工期?学会双代号网络图效率提高80% 最近有同学私信小哥说:有没有学习双代号网络图绘制的资料,他在建筑工地上干施工员,项目经理让他出一份工期规划图,需要用到网络图的知识,这可 ...

  3. 【Java】判断是否是工作日、计算工期(去除周末)

    这里主要是通过java util包中的Calendar,来判断是否是工作日.计算工期(去除周末) /*** @ Author:yl1794* @ Date:2019/10/14 16:03* @ De ...

  4. 含分布式电源的三相潮流计算,程序采用前推回代法开展潮流计算,考虑了三相不平衡的情况

    含分布式电源的三相潮流计算,程序采用前推回代法开展潮流计算,考虑了三相不平衡的情况,通过求解,得到了三相的电压分布和相角分布,同时,还与单相的结果开展对比 ID:6950652403033247

  5. 用matlab计算潮流牛拉法,matlab潮流计算

    <matlab潮流计算>由会员分享,可在线阅读,更多相关<matlab潮流计算(14页珍藏版)>请在人人文库网上搜索. 1.附录 1使用牛顿拉夫逊法进行潮流计算的Matlab ...

  6. JS ES6 加减乘除法小数浮点数计算BUG解决

    2018年3月6日 JS ES6 加减乘除法小数浮点数计算BUG解决 //检测是否为数字let num = (a) => {if(a != null && a.toString( ...

  7. 给如两个日期,计算工期

    case1:计算工期总天数     select to_date('20180105','yyyyMMdd')-to_date('20171123','yyyyMMdd') from dual; -- ...

  8. 软考:计划评审技术(PERT)三点估算法计算工期、标准差、完成概率

    PERT(Program/Project Evaluation and Review Technique)计划评审技术 P 代表最悲观工期 pessimistic M 代表最可能工期 may O 代表 ...

  9. 牛顿-拉夫逊法进行潮流计算matlab源程序

    一.前言 潮流计算是电力网络设计及运行中最基本的计算,对电力网络的各种设计方案及各种运行方式进行潮流计算,可以得到各种电网各节点的电压,并求得网络的潮流及网络中各元件的电力损耗,进而求得电能损耗. 在 ...

最新文章

  1. AFAB 科目要求一个成本会计分配
  2. php 重定向 cookie,php – 如何在CURL重定向上传递Cookie?
  3. 容器编排技术 -- Kubernetes Pod 优先级和抢占
  4. php/eq,thinkphp中eq标签的使用
  5. 怎么把微信机器人挂在服务器上,微信群机器人怎么弄的群里面的机器人怎么弄的???...
  6. 7. CPU Scheduling
  7. 如何用O2OA公文编辑器制作标准的红头文件?
  8. Properties和ResourceBundle类
  9. matlab求解平面度,基于MATLAB的平面度评定
  10. java:利用数组实现将古诗词纵向输出
  11. 如何利用区块链技术保护知识产权
  12. 网易的java微专业_网易微专业Java开发工程师(Web方向)
  13. transformers.Trainer 在训练中断后无法加载checkpoint问题解决
  14. Nestjs模块机制的概念和实现原理
  15. Android 自定义图片点击放大、缩小
  16. 【故障诊断】基于最小熵反卷积、最大相关峰度反卷积和最大二阶环平稳盲反卷积等盲反卷积方法在机械故障诊断中的应用研究(Matlab代码实现)
  17. MOS管驱动电路隔离技术
  18. 如何做好一个项目经理
  19. 经典过桥问题的思路解析
  20. IROS2020开源软硬件!多激光雷达的协同定位建图及在线外参自标定

热门文章

  1. ggplot作图设置双坐标轴-各行其是
  2. 有谁见过八股文的天花板?阿里P8看了也晒干了沉默
  3. 3COM SS3 4400交换机VLAN功能设置
  4. NXOpen UG二次开发
  5. 湖南科技职业学院计算机网络技术在哪个校区,湖南科技职业学院地址在哪里
  6. 常见的网站托管主机有哪些?
  7. 【学习笔记】数据获取之爬虫笔记
  8. airtestide 下载后打不开_AirtestIDE详解
  9. 19.最省钱的app发短信方法
  10. 可视化工具Navicat的使用/pymysql模块的使用