简介:本程序为朱福喜、朱三元、伍春香编著的《人工智能原理》(清华大学出版社)一书的关于合一算法的演示程序。
合一算法:文字L1和L2如果经过执行某个代换s,满足L1s=L2s,则称L1与L2可合一,s称为其合一元。
本程序可判断任意两个文字能否合一,若能合一,则给出其合一元。
1.合一:文字1和文字2必须是有效的(目前没有对非法的文字做判别);
2.谓词项中首字母为大写的为常量,小写为变量,函数名首字母应该为小写;
3.表格化:将文字表格化,为合一算法的基础算法。
2023/9/22 1:26:03 196KB 合一 ,算法
1
表达式计算说明 很久就想编一个这样的计算器,只可惜一直没什么思路,最近突然灵感来了,所以就写下这个程序。
现在还在测试阶段,所以功能不是很完善。
程序功能:基本的表达式运算,可以自定义函数跟常量,分别保存在“常数.txt”和“函数.txt”,方便自己添加。
双击相应的函数名或常数名就可以将函数或常量添加到表达式中。
计算过程只能当表达式只有一行时有效。
实例1:计算sqr(19+tan(98)*tan(91)-sin(122)*(5*5-(19-11)))/2 计算过程sqr(19+tan(98)*tan(91)-sin(122)*(5*5-(19-11)))/2 =sqr(19+-7.11536972238419*tan(91)-sin(122)*(5*5-(19-11)))/2 =sqr(19+-7.11536972238419*-57.2899616307588-sin(122)*(5*5-(19-11)))/2 =sqr(19+-7.11536972238419*-57.2899616307588-.848048096156426*(5*5-(19-11)))/2 =sqr(19+-7.11536972238419*-57.2899616307588-.848048096156426*(5*5-8))/2 =sqr(19+-7.11536972238419*-57.2899616307588-.848048096156426*17)/2 =20.3032618253667/2 =10.1516309126834实例2:计算 a=34 b=55 c=a+1 圆的面积(c) a*b c=a+b 圆的面积(c) 以下是计算结果: 圆的面积(c)=3848.4510006475 a*b=1870 圆的面积(c)=24884.5554090847 内置函数: !(x) -x的阶乘 lg(x),log(x) 以10为底的对数 ln(x) 以e为底x的对数 pow(x,y) x的y方次幂 prime(x) 判定x是否是素数,如果是直接将s2返回,否则将其各因子用连乘返回 sqr(x),sqrt(x) -x的二次方根 arcsin(x) -x的反正弦 arccos(x) -x的反余弦 arcsec(x) -x的反正割 arccsc(x) -x的反余割 atn(x),arctg(x) -x的反正切 arcctg(x) -x的反余切 sin(x) -x的正弦 cos(x) -x的余弦 sec(x) -x的正割 csc(x) -x的余割 tg(x),tan(x) -x的正切 ctg(x) -x的余切 harcsin(x) -x的反双曲正弦 harccos(x) -x的反双曲余弦 harcsec(x) -x的反双曲正割 harccsc(x) -x的反双曲余割 harctg(x),harctan(x) -x的反双曲正切 harcctg(x) -x的反双曲余切 hsin(x) -x的双曲正弦 hcos(x) -x的双曲余弦 hsec(x) -x的双曲正割 hcsc(x) -x的双曲余割 htg(x),htan(x) -x的双曲正切 hctg(x) -x的双曲余切有什么意见或建议可以跟我联系Email: ldm.menglv@gmail.com
2023/9/19 9:57:10 29KB 表达式 计算 vb
1
JList多选值的获取,由JList组件实现的列表框有3种选取模式,设置方法为通过JList类的setSelectionMode(intselectionMode)方法,该方法的入口参数可以通过ListSelectionModel类中的静态常量设置。
2023/9/12 6:06:49 72KB JList多选值的获取
1
代码架XCPC模板的代码架。
作者:NogiNonoka数据:2020年11月9日C++CodeStyleGuide档案文件名称为$AlgorithmName.h或$AlgorithmName.cpp如果将代码定义为头文件,则提交($AlgorithmName)_Test.cpp进行测试。
标头允许但不建议使用bits/stdc++.h;不要使用#define为常量,使用const代替;不使用typedef的变量类型,使用template或使用int和double;评论使用//或/**/;结构/模板注释:您在算法中使用的其他算法;
分析时间和空间的复杂性;
函数/变量注释:选修的在单行中使用//;
算法推荐使用结构/模板的数据结构和算法;
使用PascalCase或CamelCase来命名Struct
2023/8/31 17:15:06 41KB C++
1
源代码:#include#include#include#include#definePI3.1415926/*定义常量*/#defineUP0x4800/*上移↑键:修改时间*/#defineDOWN0x5000/*下移↓键:修改时间*/#defineESC0x11b/*ESC键:退出系统*/#defineTAB0xf09/*TAB键:移动光标*//*函数声明*/intkeyhandle(int,int);/*键盘按键判断,并调用相关函数处理*/inttimeupchange(int);/*处理上移按键*/inttimedownchange(int);/*处理下移按键*/intdigithour(double);/*将double型的小时数转换成int型*/intdigitmin(double);/*将double型的分钟数转换成int型*/intdigitsec(double);/*将double型的秒钟数转换成int型*/voiddigitclock(int,int,int);/*在指定位置显示时钟或分钟或秒钟数*/voiddrawcursor(int);/*绘制一个光标*/voidclearcursor(int);/*消除前一个光标*/voidclockhandle();/*时钟处理*/doubleh,m,s;/*全局变量:小时,分,秒*/doublex,x1,x2,y,y1,y2;/*全局变量:坐标值*/structtimet[1];/*定义一个time结构类型的数组*/main(){intdriver,mode=0,i,j;driver=DETECT;/*自动检测显示设备*/initgraph(&driver,&mode,"");/*初始化图形系统*/setlinestyle(0,0,3);/*设置当前画线宽度和类型:设置三点宽实线*/setbkcolor(0);/*用调色板设置当前背景颜色*/setcolor(9);/*设置当前画线颜色*/line(82,430,558,430);line(70,62,70,418);line(82,50,558,50);line(570,62,570,418);line(70,62,570,62);line(76,56,297,56);line(340,56,564,56);/*画主体框架的边直线*//*arc(intx,inty,intstangle,intendangle,intradius)*/arc(82,62,90,180,12);arc(558,62,0,90,12);setlinestyle(0,0,3);arc(82,418,180,279,12);setlinestyle(0,0,3);arc(558,418,270,360,12);/*画主体框架的边角弧线*/setcolor(15);outtextxy(300,53,"CLOCK");/*显示标题*/setcolor(7);rectangle(342,72,560,360);/*画一个矩形,作为时钟的框架*/setwritemode(0);/*规定画线的方式。
mode=0,则表示画线时将所画位置的原来信息覆盖*/setcolor(15);outtextxy(433,75,"CLOCK");/*时钟的标题*/setcolor(7);line(392,310,510,310);line(392,330,510,330);arc(392,320,90,270,10);arc(510,320,270,90,10);/*绘制电子动画时钟下的数字时钟的边框架*//*绘制数字时钟的时分秒的分隔符*/setcolor(5);for(i=431;i<=470;i+=39)for(j=317;j<=324;j+=7){setlinestyle(0,0,3);circle(i,j,1);/*以(i,y)为圆心,1为半径画圆*/}setcolor(15);line(424,315,424,325);/*在运行电子时钟前先画一个光标*//*绘制表示小时的圆点*/for(i=0,m=0,h=0;i<=11;i++,h++){x=100*sin(
2023/8/25 8:11:27 142KB c语言实现电子时钟 课程设计
1
把关键字、算符、界符称为语言固有的单词,标识符、常量称为用户自定义的单词。
为此设置三个全程量:SYM,ID,NUM。
SYM:存放每个单词的类别,为内部编码的表示形式。
ID:存放用户所定义的标识符的值,即标识符字符串的机内表示。
NUM:存放用户定义的数。
GETSYM要完成的任务:1. 滤掉单词间的空格。
2. 识别关键字,用查关键字表的方法识别。
当单词是关键字时,将对应的类别放在SYM中。
如IF的类别为IFSYM,THEN的类别为THENSYM。
3. 识别标识符,标识符的类别为IDENT,IDRNT放在SYM中,标识符本身的值放在ID中。
关键字或标识符的最大长度是10。
4. 拼数,将数的类别NUMBER放在SYM中,数本身的值放在NUM中。
5. 拼由两个字符组成的运算符,如:>=、<=等等,识别后将类别存放在SYM中。
6. 打印源程序,边读入字符边打印。
由于一个单词是由一个或多个字符组成的,所以在词法分析程序GETSYM中定义一个读字符过程GETCH。
2023/8/13 6:20:38 4KB 编译原理 词法分析
1
模拟风扇(满分50分)版本1:满分15分模拟实现电风扇,可以调3档速度(慢速、中速、快速);
开关按钮;
定时吹风;
描述风扇的扇叶大小、颜色等。
设计Fan类,属性包括:3个常量SLOW(1)、MEDIUM(2)、FAST(3)代表风扇的速度;
1个int属性speed指定速度,默认值为SLOW;
1个boolean属性on指定开关机,默认值false;
1个double属性radius指定风扇扇叶大小;
1个String属性color指定扇叶颜色,默认值为blue。
方法包括这些属性的访问器、构造函数、重写Object类的toString()和equals()方法等。
运行测试代码:publicstaticvoidmain(String[]args){Fan1fan1=newFan1();fan1.setSpeed(Fan1.FAST);fan1.setRadius(10);8fan1.setColor("yellow");fan1.setOn(true);System.out.println(fan1.toString());}版本2:满分15分修改版本1中Fan类,让其继承JPanel类,并且把color属性设置为Color类型,默认属性为red。
随机产生radius,取值范围为1-5;
随机产生颜色,取值范围为red、blue、yellow、green、orange;
根据color、radius属性值绘制风扇。
版本3:满分20分让版本2中的风扇转起来。
创建一个FanControl类包含以下内容:Start、Stop、Reverse按钮,用于开启、关闭、反转控制;
一个滚动条控制速度。
2023/7/13 12:39:49 17KB 风扇 java 三个版本
1
自己做的一个C消解程序,默认变量为x,z,w,其余的全部为常量,可用常量替换上述的变量
2023/7/10 5:34:45 10KB 人工智能 编译原理 消解原理 AI
1
LibNoise分形噪声函数库的JAVA翻译版,个人开发,仅供参考。
包中包含:异常模块:noise.Exceptionnoise.ExceptionInvalidParam无效的参数异常。
noise.ExceptionNoModule无模块异常,无法检索到该源模块noise.ExceptionOutOfMemorynoise.ExceptionUnknown模型模块:noise.model.Line线noise.model.Plane平面noise.model.Sphere球体noise.model.Cylinder圆柱发生器模块:noise.module.Perlin培林噪声 noise.module.RidgedMulti脊多重分形噪声noise.module.Billow巨浪 value=|perlin_value|*2-1.0;noise.module.Voronoi细胞噪声,Voronoi图noise.module.Const常量 value=const;noise.module.Cylinders圆柱noise.module.Checkerboard棋盘格 value=(floor(x)&1^floor(y)&1^floor(z)&1)!=0?-1.0:1.0;noise.module.Spheres球体选择器模块:noise.module.Select选择noise.module.Blend混合 value=((1.0-(modules[3].value+1)/2)*modules[0].value)+((modules[3].value+1)/2*modules[1].value);修饰器模块:noise.module.Invert倒置 value=-value;noise.module.Abs绝对值 value=|value|;noise.module.Clamp截取 value=(valueupperBound?upperBound:value);lowerBound:下截取值;upperBound:上截取值noise.module.Curve曲线 value=noise.module.Curve.ControlPoint控制点noise.module.ScaleBias偏移缩放, value=value*scale+offsetnoise.module.Turbulence湍流 value=modules[0].getValue(x+modules[1].value*power,y+modules[2].value*power,z+modules[3].value*power);noise.module.Exponent指数 value=(pow(abs((value+1.0)/2.0),exponent)*2.0-1.0);组合模块:noise.module.Add添加 value=modules[0].value+modules[1].value;noise.module.Max最大值 value=max(value);noise.module.Min最小值 value=min(value);noise.module.Multiply乘法 value=modules[0].value*modules[1].value;noise.module.Power权重 value=pow(modules[0].value,modules[1].value);变压模块:noise.module.Displace位移替换,扭曲value=modules[0].getValue(x+modules[1].value,y+modules[2].value,z+modules[3].value);noise.module.RotatePoint点旋转noise.module.ScalePoint点缩放,轴缩放 value=modules[0].getValue(x*xScale,y*yScale,z*zScale);noise.module.Terrace露台,梯台noise.mod
2023/7/8 13:24:28 53KB java 噪声 分形 地形
1
第1章概述1.1单片机的结构与应用1.1.1单片机的定义、分类与内部组成1.1.2单片机应用系统的结构及其工作过程1.1.3单片机的应用1.2单片机基础知识1.2.1数制与数制间的转换1.2.2单片机中数的表示方法及常用数制的对应关系1.2.3逻辑数据的表示1.2.4单片机中常用的基本术语1.3单片机入门的有效方法与途径1.4学习单片机的基本条件1.4.1软件条件1.4.2硬件条件习题与实验第2章单片机开发软件及开发过程2.1仿真软件Proteus的使用2.1.1Proteus的主要功能特点2.1.2实例1:功能感受——Pmteus仿真单片机播放《渴望》主题曲2.1.3Proteus软件的界面与操作介绍2.1.4实例2:Proteus仿真设计快速入门2.2KeilC51的使用2.2.1单片机最小系统2.2.2实例3:用Kei1C51编写点亮一个发光二极管的程序2.3程序烧录器及烧录软件的使用习题与实验第3章逐步认识单片机基本结构3.1实例4:用单片机控制一个灯闪烁3.1.1实现方法3.1.2程序设计3.1.3用Proteus软件仿真3.1.4延时程序分析3.2实例5:将P1口状态送入P0口、P2口和P3口3.2.1实现方法3.2.2程序设计3.2.3用Proteus软件仿真3.2.4用实验板试验3.2.5I/O口功能介绍3.2.6I/O口的结构分析3.3实例6:使用P3口流水点亮8位1ED3.3.1实现方法3.3.2程序设计3.3.3用Proteus软件仿真3.3.4用实验板试验3.4实例7:通过对P3口地址的操作流水点亮8位1ED3.4.1实现方法3.4.2程序设计3.4.3用Proteus软件仿真3.4.4用实验板试验3.5MCS-51单片机存储器的基本结构3.5.1程序存储器3.5.2数据存储器3.6单片机的复位电路习题与实验第4章单片机C语言开发基础4.1C语言源程序的结构特点4.2标志符与关键字4.3C语言的数据类型与运算符4.3.1数据类型4.3.2运算符4.3.3实例8:用不同数据类型的数据控制1ED的闪烁4.3.4实例9:用P0口、P1口分别显示加法和减法运算结果4.3.5实例10:用P0口、P1口显示乘法运算结果4.3.6实例11:用P1口、P0口显示除法运算结果4.3.7实例12:用自增运算控制P0口8位1ED的闪烁花样4.3.8实例13:用P0口显示逻辑“与”运算结果4.3.9实例14:用P0口显示条件运算结果4.3.10实例15:用P0口显示按位“异或”运算结果4.3.11实例16:用P0口显示左移运算结果4.3.12实例17:“万能逻辑电路”实验4.3.13实例18:用右移运算流水点亮P1口8位1ED4.4C语言的语句4.4.1概述4.4.2控制语句4.4.3实例19:用if语句控制P0口8位LED的点亮状态4.4.4实例20:用swtich语句控制PO口8位LED的点亮状态4.4.5实例21:用for语句设计鸣笛报警程序4.4.6实例22:用while语句控制PO口8位LED闪烁花样4.4.7实例23:用dOwhile语句控制PO口8位LED流水点亮4.5C语言的数组4.5.1数组的定义和引用4.5.2实例24:用字符型数组控制PO口8位LED流水点亮4.5.3实例25:用PO口显示字符串常量4.6C语言的指针4.6.1指针的定义与引用4.6.2实例26:用PO口显示指针运算结果4.6.3实例27:用指针数组控制PO口8位LED流水点亮4.6.4实例28:用数组的指针控制PO口8位LED流水点亮4.7C语言的函数4.7.1函数的定义与调用4.7.2实例29:用PO口、P1口显示整型函数返回值4.7.3实例30:用有参函数控制PO口8位LED流水速度4.7.4实例3l:用数组作函数参数控制PO口8位LED流水点亮4.7.5实例32:用指针作函数参数控制PO口8位LED流水点亮4.7.6实例33:用函数型指针控制PO口8位LED流水点亮4.7.7实例34:用指针数组作为函数的参数显示多个字符串4.7.8实例35:字符软件ctype.h中的isalpha()函数应用举例4.7.9实例36:内部函数库文件intrins.h中的_cml_()函数应用举例4.7.10实例37:标准函数库文件stdlib.h中的rand()函数应用举例4.7.1l实例38:字符串函数库文件string.h中的strcmp()函数应用举例4.8C语言的编译预处理4.8.1常用预处理命令介绍4.8.2实例39:宏定义应用举例4.8
2023/6/30 19:58:11 56.86MB 单片机 c语言100例
1
共 123 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡