常用程序
建筑资料员常用的五款小程序

建筑资料员常用的五款小程序在建筑工地上,有一群人虽然不大声喧哗,但却是“中流砥柱”,那就是建筑资料员。
咱们说到资料员,大家第一反应可能是搬搬抬抬文件,翻翻资料,似乎没什么太大可聊的。
但是你要知道,资料员可是整个工地的信息大管家,搞得好,一切井井有条,搞得不好,后果不堪设想!这不,随着科技的进步,许多小程序就成了他们的“得力助手”,让工作变得既轻松又高效,几乎是现代建筑工地的必备“法宝”!今天就来聊聊那些资料员常用的五款小程序,看看它们如何让这些忙碌的“背后英雄”变得更加神通广大!大家都知道,建筑工地上最麻烦的事情之一就是各种资料的收集和整理。
想象一下,你需要查找某个材料的进场记录,或者某个工序的施工图纸,翻箱倒柜地找,时间一久,自己都开始怀疑人生。
这个时候,你就得靠“建筑云”这款小程序了。
它简单好用,把所有项目的资料都存储在云端,你只需要在手机上轻松点几下,想找啥就有啥,不用再手忙脚乱。
哪怕是你丢了张纸,还是可以在手机上随时调出来,想想是不是超神奇?而且最让人感到“爽”的地方是,这个小程序可以多方同步更新,资料员的工作轻松得像喝水一样,想不高效都难!大家都知道,建筑工地的进度管理一直都是一个大难题。
特别是一些重要节点,没法把控,整个项目就可能出问题。
所以,很多资料员就会选择使用“施工进度管理”这个小程序。
它的厉害之处在于,不光可以记录工地的每一个进度,还能随时调整计划。
比如,你原本计划今天完成某项工程,但工人没到位,设备故障,或者天气不好,这个小程序就能帮你迅速调整进度,并及时通知相关人员。
这一功能简直是资料员们的福音,能帮大家省去一大堆反复沟通的麻烦。
别看它只是一个小小的程序,可它能让资料员的工作变得像打游戏一样畅快,随时随地掌握项目动态,管理起来也更加游刃有余。
说到资料员的工作,还少不了跟各种项目相关方的沟通和协调。
要是没有个高效的工具,那真的是要累死人的节奏。
不过,幸好“建造通”这个小程序来救场了!它的功能非常强大,不仅能处理各种文件资料,还能提供即时的沟通平台。
常用的教学活动程序

常用的教学活动程序1.传递——接受程序传递——接受程序源于法国赫尔巴特学派的“五段式教学”,经前苏联凯洛夫等人改造后传入我国。
基本教学过程是:激发学习动机→复习旧课→讲授新课→巩固运用→检查。
特点是能使学生比较迅速有效地在单位时间内掌握较多的知识,较为突出地体现了教学作为一种简约的认识过程的特性,是我国学校教育实践中被普遍采用的一种教学程序,主要适用于认知领域的教学目标。
然而由于这种程序教学使学生客观上处于接受教师提供信息的地位,影响学习主动性的发挥,虽然在教学实践中长盛不衰,也倍受各方面的批评与指责。
2.引导——发现程序引导——发现教学程序是由皮亚杰和布鲁纳等人先后提倡的一种教学程序。
基本教学过程是:提出问题→建立假设→检验假设→总结提高。
教师不把教学内容直接告诉学生,而是提供问题情境,引导学生对问题进行探究,收集证据,自己从中有所发现。
它以问题解决为中心,能引导学生手脑并用,运用创造性思维去获得亲身证实的知识;培养学生发现问题、分析问题和解决问题的能力;让学生养成探究的态度和习惯。
也比较适用于认知领域的教学目标,但是通常比较耗时。
3.示范——模仿教学程序示范——模仿教学程序特别适用于动作技能领域的教学目标。
基本操作步骤:定向→参与性练习→自主练习→迁移。
通过这种程序进行教学的一些基本技能,如读、写、算,以及各种行为技能,对人的一生都是十分有用的。
4.情境——陶冶教学程序该教学程序由保加利亚心理学家洛扎诺夫(G·Lozanor)首创的暗示教学发展而来,主要适用于情感领域的教学目标。
操作程序的步骤是:创设情境→情境体验→总结转化。
这种教学程序主要是通过创设一种情感和认知相互促进的情境,让学生在思想高度集中但精神完全放松的情况下进行学习。
在学习中强调交流和合作,以提高学生的协作精神和自主能力,达到陶冶个性和培养人格的目的。
C语言常用算法程序汇总

C语言常用算法程序汇总C语言是一门广泛应用于计算机编程的语言,具有较高的效率和灵活性。
在C语言中,常见的算法程序包括排序算法、查找算法、递归算法等等。
以下是一些常用的C语言算法程序的汇总:1.排序算法:-冒泡排序:通过多次迭代比较相邻元素并交换位置,将最大的元素逐渐移动到正确的位置。
-插入排序:将待排序的元素与已排序的部分依次比较并插入到正确的位置。
-选择排序:每次从待排序的元素中选择最小的元素并与已排序的部分交换位置。
-快速排序:通过选择一个基准元素,将数组划分为两个子数组进行递归排序。
2.查找算法:-顺序查找:逐个比较数组中的元素,直到找到目标元素或到数组末尾。
-二分查找:通过比较目标元素与数组中间元素的大小,逐步缩小范围,直到找到目标元素。
-哈希查找:通过散列函数将目标元素映射到哈希表的索引位置进行查找。
3.递归算法:-阶乘:通过递归调用自身计算一个正整数的阶乘。
-斐波那契数列:通过递归调用自身计算斐波那契数列的第n个数。
-二叉树遍历:通过递归调用自身遍历二叉树的各个节点。
4.图算法:- 最短路径算法:如Dijkstra算法和Floyd算法,用于计算图中两个节点之间的最短路径。
-拓扑排序:通过对有向无环图进行排序,使得所有的边从排在前面的节点指向排在后面的节点。
- 最小生成树:如Prim算法和Kruskal算法,用于找到图中连接所有节点的最小子树。
5.动态规划:-最长公共子序列:通过寻找两个字符串中的最长公共子序列,解决字符串匹配问题。
-背包问题:通过动态规划解决在给定容量下选取物品使得总价值最大的问题。
-最大子序列和:通过动态规划解决一个数组中选取连续子序列使得和最大的问题。
以上只是一些C语言中常用的算法程序的汇总,实际上,还有很多其他的算法,如逆波兰表达式、霍夫曼编码、最小割等等。
通过学习这些算法,可以更好地理解C语言的应用和开发。
计算机常用程序(你知道几个)

ac3filter.cpl AC3解码器access.cpl 辅助功能选项accwiz 辅助功能向导appwiz.cpl 添加或删除程序calc 计算器certmgr.msc 证书管理charmap 字符映射表chkdsk 磁盘检查ciadv.msc 索引服务cintsetp 仓颉拼音输入法cleanmgr 磁盘清理cliconfg SQL客户端网络实用工具clipbrd 剪贴板查看器cmd 命令行提示符command 命令提示符compmgmt.msc 计算机管理conf netmeetingcontrol 控制面板control admintools 管理工具control color 显示属性的外观选项卡control desktop 显示属性control folders 文件夹选项control fonts 字体文件夹control keyboard 键盘属性control mouse 鼠标属性control netconnections 网络连接control printers 打印机和传真control schedtasks 任务计划dcomcnfg 组件服务ddeshare DDE共享desk.cpl 显示属性devmgmt.msc 设备管理器dfrg.msc 磁盘碎片整理directx.cpl Directx控制面板diskmgmt.msc 磁盘管理diskpart 磁盘分区管理器drwtsn32 系统医生dvdplay DVD播放器dxdiag Direct X诊断工具eudcedit 造字程序eventvwr 事件查看器explorer 资源管理器findfast.cpl 快速查找firewall.cpl Windows防火墙fonts 字体freecell 空档接龙游戏fsmgmt.msc 共享文件夹fsquirt 蓝牙文件传送向导gpedit.msc 组策略hcp://services/centers/homepage 帮助和支持hdwwiz.cpl 添加硬件向导iexpress 木马捆绑工具inetcpl.cpl Internet属性intl.cpl 区域和语言选项ipconfig /all IP配置实用程序(显示连接配置)ipconfig /displaydns IP配置实用程序(显示DNS缓存内容)ipconfig /flushdns IP配置实用程序(删除DNS缓存内容)ipconfig /registerdns IP配置实用程序(刷新DHCP并重新注册DNS)ipconfig /release IP配置实用程序(释放全部(或指定)适配器的由DHCP分配的动态IP地址)ipconfig /renew IP配置实用程序(为全部适配器重新分配IP地址) ipconfig /setclassid IP配置实用程序(修改DHCP Class ID)ipconfig /showclassid IP配置实用程序(显示DHCP Class ID)irprops.cpl 无线链接javaws Java控制面板joy.cpl 游戏控制器jpicpl32.cpl Java控制面板logoff 注销lusrmgr.msc 本地用户和组magnify Windows放大镜main.cpl 鼠标mem.exe 内存使用情况migwiz 文件转移向导mlcfg32.cpl 邮件mmc 控制台mmsys.cpl 声音和音频设备mobsync 同步命令mplayer2 简易widnows media player msconfig 系统配置实用程序mshearts 红心大战游戏mspaint 画图板mstsc 远程桌面narrator 屏幕讲述人ncpa.cpl 网络连接net start X 开始X服务net stop X 停止X服务netsetup.cpl 网络安装向导netstat -an 命令检查接口notepad 记事本nslookup IP地址侦探器ntbackup 系统备份和还原ntmsmgr.msc 移动存储管理器ntmsoprq.msc 移动存储操作请求nusrmgr.cpl 用户账户nvtuicpl.cpl Nview桌面管理器nwc.cpl NetWare 客户服务odbcad32 ODBC数据源管理器oobe/msoobe /a 检查XP激活osk 屏幕键盘packager 对象包装程序password.cpl 密码属性perfmon 性能powercfg.cpl 电源选项printers 打印机文件夹progman 程序管理器QuickTime.cpl Quicktimeregedit 注册表regedt32 注册表编辑器regsvr32 调用、卸载DLL文件运行rsop.msc 组策略结果集sapi.cpl 语音secpol.msc 本地安全策略services.msc 本地服务设置sfc /cachesize=x 系统文件检查工具(设置缓存大小=x) sfc /purgecache 系统文件检查工具(清除文件缓存)sfc /revert 系统文件检查工具(返回默认设置)sfc /scanboot 系统文件检查工具(每次启动时扫描)sfc /scannow windows文件保护sfc /scannow 系统文件检查工具(立即扫描)sfc /scanonce 系统文件检查工具(下次启动时扫描) sfc.exe 系统文件检查器shrpubw 共享文件夹shutdown 关机sigverif 文件签名验证sndrec32 录音机sndvol32 音量控制程序spider 蜘蛛牌游戏sticpl.cpl 扫描仪与相机syncapp 创建公文包sysdm.cpl 系统sysedit 系统配置编辑器syskey Windows系统安全工具taskmgr 任务管理器telephon.cpl 电话与调制解调器选项telnet Telnet客户端timedate.cpl 日期和时间tourstart 漫游XPtsshutdn 60秒倒计时关机命令utilman 辅助工具管理器verifier Driver Verifier Manager wiaacmgr 扫描仪和照相机向导winchat XP自带局域网聊天winchat 微软聊天程序winmine 扫雷游戏winmsd 系统信息winver 检查Windows版本wmimgmt.msc Windows管理体系结构wordpad 写字板write 写字板wscript windows脚本宿主设置wscui.cpl Windows安全中心wuaucpl.cpl 自动更新wupdmgr windows更新程序。
常用结构计算程序

常用结构计算程序下面是一些常见的结构计算程序:1.梁、柱、板单元分析程序:这些程序基于杆件单元和板单元的有限元法,可用于各种结构元件的线性和非线性分析。
它们可以求解梁和柱的应力、位移、刚度和弯曲挠度等相关参数,并提供了布局、构造、后处理和结果展示等功能。
2.有限元分析程序:有限元法是结构计算中最常用的方法,有限元分析程序可用于求解三维结构的应力、位移、刚度、稳定性等问题。
这些程序通常具有强大的前后处理功能,可以进行网格划分、边界条件设定、材料参数输入、结果可视化等。
3.动力学分析程序:这些程序用于求解结构在动力荷载作用下的响应。
它们可以进行振动模态分析、频率响应分析和时程分析等,得到结构的自然频率、振型、应力、位移响应等。
常见的动力学分析程序有ADINA、ANSYS、ABAQUS等。
4.稳定性计算程序:结构的稳定性是指结构在外力作用下失去稳定性的能力。
稳定性计算程序可以用来进行结构的临界荷载、临界位移和临界刚度计算。
这些程序可以分析各种稳定性问题,如屈曲、侧扭、屈服和塑性稳定性等。
5. 力学系统模拟程序:这类程序主要用于建筑物和桥梁等大型工程结构的全过程模拟和仿真。
它们通过模拟结构的施工、振动响应、地震反应、风荷载等,评估结构的安全性和性能。
常见的力学系统模拟程序有Midas Civil、SAP2000等。
6.破坏力学分析程序:这些程序用于研究材料和结构在破坏状态下的行为和性能。
它们可以进行开裂、断裂、强度预测和破坏模式分析等。
常见的破坏力学分析程序有ABAQUS、LS-DYNA等。
7.网格生成程序:网格划分是有限元分析的前提,网格生成程序可用于快速、准确地生成结构的有限元网格。
这些程序提供了各种网格划分技术,如四面体、六面体、四边形单元等,并具有自动划分、自适应划分和网格优化等功能。
数值计算C语言常用小程序

数值计算C语言常用小程序C语言是一种流行的编程语言,广泛应用于计算机科学和软件开发领域。
在数值计算方面,C语言提供了一些常用的函数和技巧,可以帮助我们进行各种数值计算任务。
本文将介绍一些C语言常用的数值计算小程序。
1.求平均数```c#include <stdio.h>int maiint num;int sum = 0;int count = 0;float average;printf("请输入数字: ");while(num != -1)scanf("%d", &num);if(num != -1)sum += num;count += 1;}}average = (float)sum / count;printf("平均值为: %.2f\n", average);return 0;```这个程序会要求用户输入一系列数字,直到输入-1为止。
然后计算这些数字的平均值并输出。
2.求阶乘```c#include <stdio.h>int factorial(int n)if(n == 0)return 1;} elsereturn n * factorial(n-1);}int maiint n;int result;printf("请输入一个正整数: ");scanf("%d", &n);result = factorial(n);printf("%d的阶乘为: %d\n", n, result);return 0;```这个程序会要求用户输入一个正整数,然后使用递归的方式计算该整数的阶乘,并输出结果。
3.求平方根```c#include <stdio.h>#include <math.h>int maidouble num;printf("请输入一个数字: ");scanf("%lf", &num);if(num < 0)printf("无法计算负数的平方根\n");} elsedouble result = sqrt(num);printf("该数字的平方根为: %.2lf\n", result);}return 0;```这个程序会要求用户输入一个数字,然后计算该数字的平方根并输出。
初学C语言常用简单程序代码
初学C语言常用简单程序代码C语言是一种广泛应用于软件开发和系统编程的高级编程语言。
对于初学者来说,掌握一些常用的简单程序代码是非常重要的,因为它们可以帮助你建立起对C 语言基础知识的理解,并为以后的学习打下坚实的基础。
在本文中,我将为你提供一些常见的C语言简单程序代码示例,帮助你更好地入门。
1. Hello World```c#include <stdio.h>int main() {printf("Hello, World!");return 0;}```这是C语言中最简单的程序,它会在屏幕上输出"Hello, World!"。
通过这个简单的示例,你可以学会如何使用printf函数来输出文本。
2. 计算两个数的和```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("两个数的和是:%d", sum);return 0;}```这个程序示例演示了如何从用户输入中读取两个整数,并计算它们的和。
通过使用scanf函数,我们可以读取用户输入的值,并使用printf函数将结果输出到屏幕上。
3. 判断一个数是奇数还是偶数```c#include <stdio.h>int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if(num % 2 == 0) {printf("%d是偶数", num);} else {printf("%d是奇数", num);}}```这个程序示例展示了如何判断一个数是奇数还是偶数。
Windows附带的常用程序
Windows附带的常用程序Windows附带的的常用程序有:便签、画图、计算器、记事本、截图工具、写字板、命令提示符等记事本:功能就是能够创建、编辑、打开、查看、打印、查找等操作的软件。
其中可以操作的文件有文本文件。
其中文本文件包括:纯文本文件和其他编码的文本文件。
我们通常把它叫做文本文件编辑器程序。
当然它并不是全能的编辑器。
目前网络上有一集更多功能为一体的文本编辑器。
便签:相当于备忘录,在我们忘记要做的事情的时候给自己在第一时间做提醒。
通常对于电脑族们来说,大多都喜欢将便签放到桌面上,方便在下班时看到。
画图:是一个位图编辑器,可以对各种位图格式的图画进行编辑,用户可以自己绘制图画,也可以对扫描的图片进行编辑修改,在编辑完成后,可以以BMP,JPG,GIF 等格式存档,用户还可以发送到桌面或其他文档中。
计算器:是现代人发明的可以进行数字运算的电子机器。
现代的电子计算器能进行数学运算的手持电子机器,拥有集成电路芯片,但结构比电脑简单得多,可以说是第一代的电子计算机(电脑),且功能也较弱,但较为方便与廉价,可广泛运用于商业交易中,是必备的办公用品之一。
截图工具:是专业的屏幕截图工具,能够完成多种方式的屏幕截图,并能对截取的图片进行编辑。
还可以完成游戏、视频的截图与文本捕捉功能。
写字板:具有Word的最初的形态,有格式控制等等,而且保存的的文件格式默认是,是word的雏形。
写字板的容量比较大,对于大点的文件记事本打开比较慢或者打不开可以用写字板程序打开。
同时,写字板支持多种字体格式。
使用操作比较简单方便。
命令提示符:是在操作系统中,提示进行命令输入的一种工作提示符。
在不同的操作系统环境下,命令提示符各不相同。
在windows环境下,命令行程序为cmd.exe,是一个32位的命令行程序,微软Windows系统基于Windows上的命令解释程序,类似于微软的DOS 操作系统。
输入一些命令,cmd.exe可以执行,比如输入shutdown -s就会在30秒后关机。
常用C程序
else if (ch>=’a’&&ch<=’z’) ch=ch-32;
printf(“%c\n”,ch);
}
3. 编写程序,输入一个整数,输出它是奇数还是偶数。
#include<stdio.h>
vointf(“请输入数n(大于0):\n”);
scanf(“%d”,&n);)
if(n%5==0&&n%7==0) printf(“Yes”);
else printf(“No”);
}
5. 编写程序,输入整数a和b,若a2+b2大于100,则输出a2+b2百位以上的数字,否则输出两数之和。
k=0; /* k赋初值 */
printf("\Please enter a number:") ;
sum=sum+p; }
printf(“%f”,sum) ;
}
方法二:#include "stdio.h"
void main( )
{ int i;
float t=1,sum=0;
for( i=1; i<=20; i++ )
}
printf("\namax=%f\namin=%f\n",amax,amin);
}
7. 求两个正整数[m,n]之间所有既不能被3整除也不能被7整除的整数之和。
#include "stdio.h"
void main( )
计算机控制技术-常用控制程序设计
;返回DOS
;开中断 ;中断返回 ;采样8个通道 ;设1#炉A/D通道地址 ;形成下次采样存放首地址 ;形成下次采样存放地址
例:试设计一个数据采集系统
要求该系统能对八路模拟信号(变化频率≤100Hz)进行连续巡回检测,电 压范围0V~10V,分辨率为5mV(0.05%),巡回检测周期允许为1s,但为了 对采样的数据进行滤波处理,必须对每路信号进行多次采集。因此,A/D转 换器选用转换速度较快的AD574。AD574的分辨率12位(0.025%),转换误 差0.05%,转换时间25μs ,输入电压的范围均能符合上述要求。多路模 拟开关选用CD4051。CD4051导通电阻为200Ω,由于采样/保持器的输入电 阻一般在10MΩ以上,所以输入电压在CD4051上的压降仅为0.002%左右,符 合要求。CD4051的开关漏电流仅为0.08nA,当信号源内阻为10kΩ时,误 差电压约为0.08μV ,可以忽略不计。采样/保持器选用LF398,LF398采 样速度快,保持性能好,非线性度为士0.01%,也符合上述要求。整个系 统采用以8086CPU构成的微机系统来实施控制。
2. 滤波时间
在考虑滤波效果的前提下,尽量采用执行时间比较短的程 序,如果时间允许,则可采用更好的复合滤波程序。
3. 注意,并不是在任何一个系统中都需要进行数字滤波!
3.2.3 数字滤波程序设计
用复合滤波方法将上节中1号退 火炉的5个温度采样值(起始存放 地址为7000H:0)进行滤波,并存 入SAMP单元。
;设1#炉A/D通道地址 ;共采样8个通道 ;每通道数据起始存放地址 ;每通道数据存放地址 ;开中断 ;启动A/D 转换 ;等待A/D 转换结束
;A/D 转换中断服务程序 ;读A/D 值并存储
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
常用程序:1、 数学计算(1) 累加(2) 累乘1) 求1+2+3+ (100)2) 求100以内的奇数和、偶数和3) 求N !4) S=1/1*2+1/2*3+……+1/n(n+1)5) S=1+1/1*2+1/2*3+……+1/n(n+1)直到最后一项小于0.001,编程求出n 值,最后一项的值及S 值。
6) 求1^1+2^2+3^3+……+10^107) 计算1!+2!+3!+ (10)8) sum=1-1/4+1/9-1/16+1/25...-1/1009) +-+-=71513114π……计算π的近似值,直到最后一项的绝对值小于10-6为止。
10) 计算如下公式的值:y=1/5+1/6+1/7+1/8+1/9+1/10...+1/(m+5)(3)整除问题1)1到100内的5的倍数和7的倍数的和2)求一个数,它除3余2,除5余3,除7余23) 判断一个整数w 的各位数字平方之和能否被5整除 , 可以被5整除则返回1 , 否则返回04) 求能被3、5、7除余1的最小5个整数5) 求[351,432]之间既不能被3整除,又不能被8整除的数的个数。
6) 求[10,1000]之间满足除以7余5、除以5余3、除以3余1的所有整数的个数(4)其他11) 求出乘积为399的两个相邻的奇数。
K=1WHILE K*(K+2)<>399K=K+2WENDPRINT K,K+212) 从键盘输入若干个数,试编写一个程序求他们的极差R,极差R 是这些数中最大数与最小数的差。
X=INPUTBOX()M=XN=XWHILE X<>0X=INPUTBOX()IF X>M THEN M=XIF X<N THEN N=XWENDR=M-NPRINT ‘R=”;R2、 求素数算法:除了1和它本身,都不能整除的数输入一个数,判断是否为素数求100—200之间的素数计算1—100之间的素数和3、求最大公约数和最小公倍数公约数:(1)辗除法Dim n%,m%,nm%,r%,t%m=Val(InputBox("m="))n=Val(InputBox("n="))nm=n*mIf m<n Then t=m : m=n : n=tr=m mod nDo While (r<>0)m=n :n=rr=m mod nLoopPrint "最大公约数=",nPrint "最小公倍数=",nm/n(2)辗减法辗转相减法m=m-n m>nn=n-m n>mm、n为公约数m=nDo While m <> nIf m > n Thenm = m – nElsen = n – mEnd IfLoop公倍数:4、排序打印图形步骤:(1)外循环决定行数(2)确定输出位置(3)内循环决定列数(4)输出图形5、数制转换5、数组应用(1)冒泡排序(2)选择排序(3)插入排序(4)顺序排序(5)合并法排序(将两个有序数组A、B合并成另一个有序的数组C,升序)基本思想:1)先在A、B数组中各取第一个元素进行比较,将小的元素放入C数组;2)取小的元素所在数组的下一个元素与另一数组中上次比较后较大的元素比较,重复上述比较过程,直到某个数组被先排完;3)将另一个数组剩余元素抄入C数组,合并排序完成。
程序段如下:Do While ia <= UBound(A) And ib <= UBound(B) '当A和B数组均未比较完If A(ia) < B(ib) ThenC(ic) = A(ia): ia = ia + 1ElseC(ic) = B(ib): ib = ib + 1End Ific = ic + 1LoopDo While ia <= UBound(A) 'A数组中的剩余元素抄入C数组C(ic) = A(ia)ia = ia + 1: ic = ic + 1LoopDo While ib <= UBound(B) 'B数组中的剩余元素抄入C数组C(ic) = B(ib)ib = ib + 1: ic = ic + 1Loop(6)shell排序,又叫希尔排序(一个四位数,按从大到小和从小到大排列,组成最大数和最小数,然后取这两个数之差,得出一个新的四位数。
)把list划分成了M个子序列,不再基于相邻元素之间的比较和交换,而是每隔几个数字进行比较和交换,当然,当划分的distance为1的时候,就成了insertsort了。
这样的好处在于,每一次交换和移动,可能减少M个逆序(shell排序是对插入排序的一个改装,它每次排序把序列的元素按照某个增量分成几个子序列,对这几个子序列进行插入排序,然后不断的缩小增量扩大每个子序列的元素数量,直到增量为一的时候子序列就和原先的待排列序列一样了,此时只需要做少量的比较和移动就可以完成对序列的排序了.)Sub shellsort(ByRef a() As Single) '希尔排序算法,对数组a进行排序Dim i, j, gap As IntegerDim k, x, n As Integern = UBound(a)gap = Int(n / 2)While gap > 0For i = gap + 1 To nj = i - gapWhile j > 0If a(j) < a(j + gap) Thenx = a(j)a(j) = a(j + gap)a(j + gap) = xj = j - gapElsej = 0End IfWendNext igap = Int(gap / 2)WendEnd SubPrivate Sub Form_Activate() '调用shellsort函数排序示例Dim i, n As IntegerDim a() As SingleDim str As Stringn = CInt(Val(InputBox("请输入要排序的数的个数,程序将用生成的随机数来排序:")))ReDim a(n) As Singlestr = "原始数据为:" & vbCrLfFor i = 1 To n '输入原始数据a(i) = Int(Rnd * 100)str = str & a(i) & " "Next iMsgBox strstr = "排序后的数据为"Call shellsort(a)For i = 1 To n '输入原始数据str = str & a(i) & " "Next iMsgBox strEnd Sub求极植(最大值与最小值)(1)歌曲大奖赛十个评委对某个演员的评分,去掉一个最高分,去掉一个最低分后,该演员的平均分是多少。
(3)在字符串“IBM\GWBASIC”中,打印出其ASCII码最小和最大的字符及其位置(2)有五名歌手参加大奖赛,十四个评委参加打分,给出评分标准:最高分十分,一般为两位小数。
选手得分是14个分中去掉两个最高分,去掉两个最低分后的平均分。
编程:一边输入一边报分的方法,每次输出选手号及得分,最后按分高低输出;名次、选手号、得分。
查找(1)顺序查找法(2)二分查找法矩阵(1)二维矩阵的输入输出(2)转置矩阵(3)做一个动态方阵,输出该主对角线上的元素之和(4)矩阵的加、减运算C(i,j)=a(i,j)+b(i,j) 加法C(i,j)=a(i,j)-b(i,j) 减法(5)矩阵相乘(矩阵A有M*L个元素,矩阵B有L*N个元素,则矩阵C=A*B有M*N个元素)。
矩阵C中任一元素(i=1,2,…,m;j=1,2,…,n)For i = 0 To mFor j = 0 To nc(i, j) = 0For k = 0 To lc(i, j) = c(i, j) + a(i, k) * b(k, j)Next kNext jNext i6、插入法把一个数插到有序数列中,插入后数列仍然有序基本思想:n个有序数(从小到大)存放在数组a(1)—a(n)中,要插入的数x。
首先确定x插在数组中的位置P;(可由以下语句实现)p=1do while x>a(p) and p<=np=p+1loopa(p)—a(n)元素向后顺移一个位置以空出a(p)元素放入x,可由以下语句实现:for i=n to p step-1a(i+1)=a(i)next ia(p)=x将其写成一插入函数Private Sub Instert(a() As Single, x As Single)Dim p%, n%, i%n = UBound(a)ReDim Preserve a(n + 1)p = 0Do While x > a(p) And p < =n ' 确定x应插入的位置p = p + 1LoopFor i = n To p Step -1a(i + 1) = a(i)Next ia(p) = xEnd Sub7、迭代法算法思想:对于一个问题的求解x,可由给定的一个初值x0,根据某一迭代公式得到一个新的值x1,这个新值x1比初值x0更接近要求的值x;再以新值作为初值,即:x1→x0,重新按原来的方法求x1,重复这一过和直到|x1-x0|<ε(某一给定的精度)。
此时可将x1作为问题的解。
例:用迭代法求某个数的平方根。
已知求平方根的迭代公式为:Private Function Fsqrt( a As single ) AS singleDim x0 As Single, x1 As Singlex0 =a/2 '迭代初值x1 = 0.5*(x0 + a/x0)Dox0 = x1 '为下一次迭代作准备x1 = 0.5*(x0 + a/x0)Loop While Abs(x1 - x0) > 0.00001Fsqrt=x1End Function8、字符串的一般处理1.简单加密和解密加密的思想是:将每个字母C加(或减)一序数K,即用它后的第K个字母代替,变换式公式:c=chr(Asc(c)+k) "G"… "f","B"→ 例如序数k 为5,这时"A"→ "F","a"→ 当加序数后的字母超过"Z"或"z"则c=Chr(Asc(c)+k -26)例如:You are good→ Dtz fwj ltti解密为加密的逆过程将每个字母C减(或加)一序数K,即c=chr(Asc(c)-k),例如序数k为5,这时"Z"→"U","z"→"u","Y"→"T"…当加序数后的字母小于"A"或"a"则c=Chr(Asc(c)-k +26) 下段程序是加密处理:i = 1: strp = ""nL = Len(RTrim(strI))Do While (i <= nL)strT = Mid$(strI, i, 1) '取第i个字符If (strT >= "A" And strT <= "Z") TheniA = Asc(strT) + 5If iA > Asc("Z") Then iA = iA - 26strp = strp + Chr$(iA)ElseIf (strT >= "a" And strT <= "z") TheniA = Asc(strT) + 5If iA > Asc("z") Then iA = iA - 26strp = strp + Chr$(iA)Elsestrp = strp + strTEnd Ifi = i + 1LoopPrint strp2.统计文本单词的个数算法思路:(1)从文本(字符串)的左边开始,取出一个字符;设逻辑量WT表示所取字符是否是单词内的字符,初值设为False(2)若所取字符不是“空格”,“逗号”,“分号”或“感叹号”等单词的分隔符,再判断WT是否为True,若WT不为True则表是新单词的开始,让单词数Nw=Nw+1,让WT=True; (3)若所取字符是“空格”,“逗号”,“分号”或“感叹号”等单词的分隔符,则表示字符不是单词内字符,让WT=False;(4) 再依次取下一个字符,重得(2)(3)直到文本结束。