自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

再走一步

一些学习的经历

  • 博客(47)
  • 资源 (16)
  • 收藏
  • 关注

原创 klee2.3 安装&&教程1-2

klee2.3 安装教程&&入门例子教程

2023-01-01 20:45:47 1153 1

翻译 LLVM教程2——Kaleidoscope 实现解析器和 AST

LLVM官方文档示例2

2022-12-13 15:48:50 570

翻译 LLVM教程1——Kaleidoscope 介绍和语法分析器

LLVM官方文档教程示例1

2022-12-13 15:44:22 613 2

原创 SAT求解器—cryptominisat Windows安装及使用

官网 Wonderings of a SAT geek | A blog about SAT solving and cryptographyGitHub 资源包 https://github.com/msoos/cryptominisat下图是官方给出的安装教程,第一次编译安装可能会出现一些问题,所以写下这篇博客,希望大家少走弯路。1. 获得工程项目选择分支(默认是master分支),拉取需要版本的工程项目,可以直接下载.zip 的压缩包也可以通过Git拉取。2. 解...

2022-04-12 11:49:05 2729 2

原创 C++ 笔记

C++ 笔记1. 学习链接http://c.biancheng.net/view/2189.htmlhttps://www.runoob.com/cplusplus/cpp-tutorial.html2. override保证在派生类中声明的重载函数,与基类的虚函数有相同的签名https://zhuanlan.zhihu.com/p/2609920593. .dll 动态加载我在bin/目录下删除加载库,程序不会崩,只是失去了该有的功能。4. C++中的函数重载在同一个作用域内,可以声明

2022-04-08 15:42:30 972

原创 Markdown常用基本语法

1. 标题# 一级标题 ## 二级标题 ### 三级标题#### 四级标题##### 五级标题###### 六级标题2. 分割线在markdown语法中,一行连用三个或者三个以上的星号,减号,或者下划线,就可以表示分割线。可以在一行用3个以上的 * - _来建立一条分割线,行内除了空格不能有其他东西。例如:*** 这里是分割线 --- 这里也是分割线 __ 这里还是分割线 据说三条线效果是不同的,按顺序是很明显,不明显,一般。这里三分割线好像也没多大差别。3.

2022-04-08 14:20:10 1696

原创 Soot 入门

相关课程:燕云直播soot官网:GitHub - soot-oss/soot: Soot - A Java optimization frameworksoot API:https://soot-oss.github.io/soot/docs/soot安装: 可以直接看官网教程。 不想看英文可以参考Soot使用笔记 - xine - 博客园Soot 跑起来——命令行1、测试代码Helloworld.javapublic class Helloworld { pu...

2022-03-23 16:12:17 1688

原创 OpenCV基础知识

下载安装参考链接VS2017配置opencv教程(超详细!!!)_Chosen One-CSDN博客_opencv注意:后面的课程环境配置可能需要自己稍微改改,上面的配置教程可能学习到VS环境配置的基础知识,配一次大概就懂了第一课 图像读取与显示1、这里踩了一个坑,如果openCV下载的是releases版本的,那么imread()无法在VS的Debug模式下读取图片,后面的所有运行都是在VS releases模式下执行。#include <opencv2/opencv..

2022-03-12 11:20:19 6926 1

原创 进化算法求解TSP问题

描述旅行商问题,即TSP问题(Traveling Salesman Problem)又译为旅行推销员问题、货郎担问题,是数学领域中著名问题之一。假设有一个旅行商人要拜访n个城市,他必须选择所要走的路径,路径的限制是每个城市只能拜访一次,而且最后要回到原来出发的城市。路径的选择目标是要求得的路径路程为所有路径之中的最小值。方法进化算法框架加上有利的重组算子(A Comparison of Genetic Sequencing Operators[1])代码下面是部分代码,完整代码太长,..

2022-01-20 19:26:20 818

原创 An Efficient Approach to Non-dominated Sorting for Evolutionary Multi-objective Optimization

ReferenceZhang X, Tian Y, Cheng R, et al. An efficient approach to nondominated sorting for evolutionary multiobjective optimization[J]. IEEE Transactions on Evolutionary Computation, 2014, 19(2): 201-213.Python codeimplementationimport numpy as np.

2022-01-20 17:28:22 406

原创 MOEAs入门算法实现

Python实现NSGA-II[1]、MOEA\D[2]、SPEA2[3]参考:[1] Deb K, Pratap A, Agarwal S, et al. A fast and elitist multiobjective genetic algorithm: NSGA-II[J]. IEEE transactions on evolutionary computation, 2002, 6(2): 182-197.[2] Zhang Q, Li H. MOEA/D: A multiobjec

2022-01-20 16:45:29 339

原创 剑指offer (JZ41—JZ50)

JZ41和为S的连续正数序列中等通过率:29.07%时间限制:1秒空间限制:64M知识点:穷举描述小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列? Good Luck!返回值描述:输出所有和为S的...

2021-09-07 16:55:31 117

原创 剑指offer (JZ31—JZ40)

JZ31 整数中1出现的次数(从1到n整数中1出现的次数)中等通过率:35.38%时间限制:1秒空间限制:64M知识点:数学描述输入一个整数 n ,求1~n这n个整数的十进制表示中1出现的次数例如,1~13中包含1的数字有1、10、11、12、13因此共出现6次示例1输入:13返回值:6思路:我们看到题目要求 “输入一个整数 n ,求1~n这n个整数的十进制表示中1出现的次数”。其实就是求从1-n这n个数中,每一个数的计数位上出现的1的个数...

2021-09-07 15:30:29 137

原创 剑指offer (JZ21—JZ30)

JZ21栈的压入、弹出序列中等通过率:30.88%时间限制:1秒空间限制:64M知识点:栈描述输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)示例1输入:[1,2,3,4,5],[4,3,5,1,2]返回值:...

2021-09-06 21:44:56 68

原创 剑指offer (JZ11—JZ20)

JZ11二进制中1的个数中等通过率:35.25%时间限制:1秒空间限制:64M知识点:数学描述输入一个整数,输出该数32位二进制表示中1的个数。其中负数用补码表示。示例1输入:10返回值:2思路:如果可以对从右向左的第一位1直接判断,遇到0直接略过,那效率就很快。现考虑二进制数:val :1101000, val-1: 1100111 那么val & (val-1) : 1100000如果你会了这个操作,是不是这题就很简单了。...

2021-09-05 15:53:33 123

原创 剑指offer (JZ1—JZ10)

JZ1二维数组中的查找中等通过率:25.83%时间限制:1秒空间限制:64M知识点:数组描述在一个二维数组array中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。[[1,2,8,9],[2,4,9,12],[4,7,10,13],[6,8,11,15]]给定 target= 7,返回true。给定target=...

2021-09-05 14:45:59 124

原创 朋友圈(并查集&路径压缩)

描述现在有107个用户,编号为1- 107,现在已知有m对关系,每一对关系给你两个数x和y,代表编号为x的用户和编号为y的用户是在一个圈子中,例如:A和B在一个圈子中,B和C在一个圈子中,那么A,B,C就在一个圈子中。现在想知道最多的一个圈子内有多少个用户。输入描述:第一行输入一个整数T,接下来有T组测试数据。对于每一组测试数据:第一行输入1个整数n,代表有n对关系。接下来n行,每一行输入两个数x和y,代表编号为x和编号为y的用户在同一个圈子里。1 ≤ T≤ 101≤ n≤...

2021-09-04 18:59:19 331

原创 JZ11 二进制中1的个数(剑指offer)

描述输入一个整数,输出该数32位二进制表示中1的个数。其中负数用补码表示。示例1输入:10复制返回值:2可以暴力求解;整数取模一位一位的看。如果,给你一种超能力,你能直接对从右向左的第一位1进行判断,遇到0直接略过,那效率是不是很快。现考虑二进制数:val :1101000, val-1: 1100111 那么val & (val-1) : 1100000。从右向左的第一个1被直接判断,略过了右边的0。如果你会了这个操作,是不是这题就很简单了。public c

2021-08-15 12:09:34 91

原创 JZ67 剪绳子 (剑指offer)

描述给你一根长度为n的绳子,请把绳子剪成整数长的m段(m、n都是整数,n>1并且m>1,m<=n),每段绳子的长度记为k[1],...,k[m]。请问k[1]x...xk[m]可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是18。输入描述:输入一个数n,意义见题面。(2 <= n <= 60)返回值描述:输出答案。示例1输入:8返回值:18public class So

2021-08-15 11:51:39 78

原创 常见动态规划题目

常见动态规划题目的动态转移方程子数组的最大累加和:dp[i]表示以num[i]结尾子串的最大累加和。dp[0] = num[0];for(1:n)dp[i] = max(dp[i-1]+num[i],num[i]);maxsum = max(maxsum,dp[i]);最大公共子串://注意二维数组大小:dp[n+1][m+1]dp[i][j]表示以第i个字符和第j个字符结尾的最长公共子串长。dp[i][0]=0;//第二个字符串空dp[0][j]=0;//第一个..

2021-05-07 21:59:04 86

原创 01背包,完全背包,多重背包,分组背包

//0 1背包//有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。//求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。#include<cstdio>#include<cstring>#include<algorithm>#include<iostream>using namespace std;int main(){ int n,m; int w[4000],d[400...

2021-05-07 21:53:24 64

原创 计算广告学习思维导图1.0

2021-05-07 21:48:01 222

原创 三次样条曲线(参数方程)python实现

# -- coding: utf-8 --"""@Project: lecture@Time : 2020/4/29 21:54@Author : Yang xu@Site : @File : parameter equation.py@IDE: PyCharm"""import numpy as npimport matplotlib.pyplot as pltfrom ...

2020-04-30 00:45:27 3619 11

原创 合天实验室:渗透试验项目二

打开metasploit pro console(在开始->所有程序->Metasploit->Metasploit console)正在上传…重新上传取消检查目标主机端口开放情况正在上传…重新上传取消访问目标网站10.1.1.191转存失败重新上传取消访问目标网站的8889端口转存失败重新上传取消在C;\too...

2020-04-24 17:58:36 736

原创 合天实验室:渗透测试项目一

任务一:注入木马写一个.jpg的木马文件浏览器设置127.0.0.1:8080代理将木马上传到网站用burpsuit抓包再单击forward放行,回到页面发现成功上传关闭代理,访问上传的文件(路径上面有)并用get方式提交phpinfo();试试,从下图可以看到上传的文件奏效了接着使用中国菜刀啦(在tool文件夹下面)添加木马文件地址...

2020-04-23 23:17:38 1262

原创 图形相似在模式识别中的应用及python实现

Reference算法流程图注意:基本原理方法在文章中有详细介绍使用该文章的方法,实现一个图形相似度的计算,完成模式识别import numpy as npclass Cycle(object): def __init__(self, N, E, S): self.N = N # 元素数量 # [['类型', '连接方式...

2020-04-21 21:19:41 1152

原创 三次样条曲线 python实现

reference:https://blog.csdn.net/deramer1/article/details/79034201import numpy as npimport matplotlib.pyplot as pltfrom pylab import mpl"""三次样条实现:函数的自变量x:3, 4.5, 7, 9函数的因变量y:2.5, 10, 2.5, 10....

2020-04-11 18:07:40 7884

原创 背包合集C++

//多重背包#include <cstdio>#include <iostream>#include <cstring>#include<algorithm>using namespace std;int main(){ int p[101],h[101], c[101]; int dp[101]; int...

2020-04-09 12:10:13 239

原创 hough变换 python+OpenCV的简单实现

直线的hough变换import cv2import numpy as np# 1.加载# 图片,转为二值图img = cv2.imread('lines.jpg')drawing = np.zeros(img.shape[:], dtype=np.uint8)gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)edges = cv2.Can...

2020-04-09 11:59:48 774 2

原创 使用KKT条件处理机械臂碰撞问题

问题:求得的最小距离与模型中两圆柱个体的半径之和进行比较,判断机器人手臂在运动过程中是否存在潜在的碰撞?/**1 1 01 1 105 5 05 5 101 11 1 01 1 102 2 02 5 101 11 1 01 1 102 2 05 5 101 11 1 01 1 102 0 52 3 51 1**/#i...

2020-04-09 11:51:02 415

原创 gurobi+Python的实例使用(运筹优化)

具体问题是Applied Energy期刊文章《Combined heating and cooling networks with waste heat recovery based on energy hub concept》中的能源枢纽问题(该问题是多目标问题,这里主要是复现这篇文章)from gurobipy import *import randomimport numpy ...

2020-02-19 16:37:34 7870 1

原创 磁盘调度算法;先来先服务调度算法、最短寻道时间优先调度算法、扫描调度算

一、 实验目的和要求1. 了解磁盘调度技术的特点2. 掌握磁盘调度算法,如先来先服务(firstcome first served,FCFS)调度算法、最短寻道时间优先(shortest seek timefirst,SSTF)调度算法、扫描(SCAN)调度算法、循环扫描(C-SCAN)调度算法。二、实验内容设计模拟实现FCFS、SSTF、SCAN和C-SCAN调度算法的C语言程序。...

2018-06-20 12:34:56 24007 1

原创 页面置换算法;最佳置换算法、先进先出置换算法、最近最久未使用置换算法

一、 实验目的和要求1. 了解虚拟存储技术的特点。2. 掌握请求页式存储管理的页面置换算法,如最佳(Optimal)置换算法、先进先出(Fisrt In First Out)置换算法和最近最久未使用(LeastRecently Used)置换算法。二、实验内容设计模拟实现OPT、FIFO和LRU页面置换算法的C语言程序。1. OPT算法:需要发生页面置换时,算法总是选择在将来最不可...

2018-06-20 12:32:11 24212 2

原创 进程调度算法;先来先服务调度算法、短作业优先调度算法、时间片轮转调度算法

一、 实验目的和要求1. 了解进程调度算法的特点2. 掌握进程调度算法,如先来先服务调度算法(first come first served,FCFS)、短作业优先调度算法(shotjob first,SJF)、时间片轮转调度算法。二、实验内容设计模拟实现FCFS、SJF、时间片轮转调度算法的C语言程序1. FCFS算法:按照作业/进程进入队列的先后顺序进行挑选,先进入的将先进行...

2018-06-20 12:28:37 37489 11

原创 用蚁群算法解决TSP问题

旅行商问题,即TSP问题(Traveling Salesman Problem)又译为旅行推销员问题、货郎担问题,是数学领域中著名问题之一。假设有一个旅行商人要拜访n个城市,他必须选择所要走的路径,路径的限制是每个城市只能拜访一次,而且最后要回到原来出发的城市。路径的选择目标是要求得的路径路程为所有路径之中的最小值。环境:程序使用语言java,jdk版本1.8,程序中用到的jar包:poi-3.1...

2018-06-20 00:16:24 11370 2

原创 用分枝限界算法解决TSP问题

旅行商问题,即TSP问题(Traveling Salesman Problem)又译为旅行推销员问题、货郎担问题,是数学领域中著名问题之一。假设有一个旅行商人要拜访n个城市,他必须选择所要走的路径,路径的限制是每个城市只能拜访一次,而且最后要回到原来出发的城市。路径的选择目标是要求得的路径路程为所有路径之中的最小值。环境:程序使用语言java,jdk版本1.8,程序中用到的jar包:poi-3.1...

2018-06-20 00:07:49 6473 1

原创 用动态规划算法解决TSP问题

旅行商问题,即TSP问题(Traveling Salesman Problem)又译为旅行推销员问题、货郎担问题,是数学领域中著名问题之一。假设有一个旅行商人要拜访n个城市,他必须选择所要走的路径,路径的限制是每个城市只能拜访一次,而且最后要回到原来出发的城市。路径的选择目标是要求得的路径路程为所有路径之中的最小值。环境:程序使用语言java,jdk版本1.8,程序中用到的jar包:poi-3.1...

2018-06-20 00:05:02 16212 8

原创 用回溯算法解决TSP问题

旅行商问题,即TSP问题(Traveling Salesman Problem)又译为旅行推销员问题、货郎担问题,是数学领域中著名问题之一。假设有一个旅行商人要拜访n个城市,他必须选择所要走的路径,路径的限制是每个城市只能拜访一次,而且最后要回到原来出发的城市。路径的选择目标是要求得的路径路程为所有路径之中的最小值。环境:程序使用语言java,jdk版本1.8,程序中用到的jar包:poi-3.1...

2018-06-20 00:01:27 7437 4

原创 用贪心算法解决TSP问题

旅行商问题,即TSP问题(Traveling Salesman Problem)又译为旅行推销员问题、货郎担问题,是数学领域中著名问题之一。假设有一个旅行商人要拜访n个城市,他必须选择所要走的路径,路径的限制是每个城市只能拜访一次,而且最后要回到原来出发的城市。路径的选择目标是要求得的路径路程为所有路径之中的最小值。环境:程序使用语言java,jdk版本1.8,程序中用到的jar包:poi-3.1...

2018-06-19 23:55:11 15960

原创 用感知器实现或运算

CODEimport java.util.Scanner;public class OR { static int N = 2; static double[] W = new double[N]; static double sita = Math.random(); static int[] X = new int[N]; static int Y = 0; static double c =...

2018-05-19 12:42:07 2027 1

opencv基础课程人脸识别dnn模型

第三十课 实时人脸检测https://blog.csdn.net/qq_35685675/article/details/123351465

2022-03-16

Java面试宝典(黑马程序员)

java程序员,面试必须知识,常见面试题

2021-08-07

计算机体系结构实验.rar

一、 实验目的 建立实验环境,了解WINDLX模拟器的结构及使用 二、 实验设备环境 WinDLX要求的硬件平台是IBM PC兼容机,WinDLX是一个Windows应用程序,运行于Windows 3.0以上的操作系统。 三、 实验原理 WinDLX软件包中带有说明文件,供安装程序时候使用。利用Fact.s及Input.s代码熟悉模拟器的配置、各项工具使用、寄存器设置及指令系统。 四、 实验步骤 (1) WINDLX模拟器安装: WinDLX 包含windlx.exe和windlx.hlp文件。同时,还需要一些扩展名为.s的汇编代码文件。 在本教程中将使用fact.s 和input.s这两个汇编代码文件。WinDLX的安装非常简单,我们在210.26.100.50上提供WinDLX压缩包(224K),只要将其解压到一个指定的目录,然后执行里面的windlx.exe即可。做实验时直接双击桌面上的WinDLX图标就可进入Windlx模拟器。

2020-04-09

信息安全实验.rar

实验名称: DES算法的编程实现 一、实验概述: DES是美国国家标准技术研究所NIST于1977年制定的分组密码的加密标准,广泛应用于商用数据加密。尽管目前逐渐为AES算法所替代,但作为第一个被公布出来的标准算法,对现代分组密码理论的发展和应用起了奠基性作用,其基本理论和设计思想仍有重要参考价值。DES采用对称分组密码体制,数据块分组长度为64比特,密钥长度是56比特,若输入64比特,则有8个比特用于奇偶校验位。 二、实验目的: 1、 理解分组加密算法的原理和特点 2、 掌握DES算法的加密原理 三、实验原理: DES算法是一种典型的明文块加密标准一一一种将固定长度的明文通过一系列复杂的操作变成同样长度的密文的算法。 对DES而言,块长度为64位。同时,DES使用密钥来自定义变换过程,因此算法认为只有持有加密所用的密钥的用户才能解密密文。密钥表面上是64位的,然而只有其中的56位被实际用于算法,其余8位可以被用于奇偶校验,并在算法中 被丢弃。因此,DES的有效密钥长度为56位,通常称DES的密钥长度为56位。 与其它加密算法相似,DES自身并不是加密的实用手段,而必须以某种工作模式进行实际操作。 DES同时使用了代换和置换两种技巧,整个过程分为两大部分: 1,加密过程; 2,子密钥产生过程。 需要注意的是,DES算法的计算结果与其运作的平台上的编码、所选的加密模式、填充模式等密切相关,所以不同的软件针对同一密文、同一密钥解密出来的结果可能是不一样的,这与计算的正确性无关。

2020-04-09

Oracle数据库实验.rar

实验一 PL/SQLPL/SQLPL/SQLPL/SQLPL/SQLPL/SQL开发环境的使用 [实验目的 ] 1.掌握建立本地 Net服务名( TNS)的方法; 2.熟悉和掌握使用 SQL Plus工具操作数据库; 3.熟悉 TOAD工具。 [实验内容 ] 1.使用 Oracle 的 TNS配置程序建立本地服务名; a.运行 Oracle的 TNS配置程序;(程序里面的 oracle目录下的 Net Configuration Assistant) b.输入远程数据库服务名——orcl; c.输入远程数据库 IP地址(192.168.128.8)和端口(1521); d. 使用自己的姓名作为帐户和学号作为密码测试; e.输入一个自己容易记住的名字命名 TNS,如 orcl之类的。 f.完成配置。 2.使用 SQL Plus 工具登陆远程数据库; a.运行 Oracle的 SQL Plus工具; b. 使用自己的姓名作为帐户和学号作为密码,主机字符串为刚才自己配置的 TNS登陆; c.记录程序信息; d.键入“create table taba(cola int,colb int);”,记录 SQL语句运行结果; e.键入“insert into taba values(1,1);”,记录 SQL语句运行结果; f.键入“commit;”,提交插入操作; g.退出应用程序。 3.在命令行下使用 SQL Plus登陆远程数据库; a.点击运行菜单(或者按 Win+R键); b.输入 cmd; c.在命令行窗口下输入 sqlplus 用户名/密码@TNS,如 sqlplus scott/tiger@orcl; d.记录程序信息; e.键入“select * from taba;”,记录 SQL语句运行结果; f.退出程序。 4.使用 TOAD工具登陆远程数据库。 a.运行 TOAD程序(双击桌面的青蛙图标); b.选择刚才设定的 TNS,使用自己的姓名作为帐户和学号作为密码登陆; c.打开 SQL Editer,键入“select * from taba;”,按 F9,记录 SQL运行结果; d.退出程序。 [实验报告 ] 1. 记录所有的操作和操作结果; 2. 比较三种不同方式使用数据库的不同。

2020-04-09

计算机组成原理实验.rar

一.实验目的 1. 理解算术逻辑单元ALU的工作原理。 2. 掌握算术逻辑单元ALU的设计方法。 3. 验证32位算术逻辑单元ALU的加、减、与、移位功能。 4. 按给定数据,完成几种指定的算术和逻辑运算。 二.实验内容 算术逻辑单元ALU的设计如图1-1所示。其中运算器addsub32能实现32位的加减运算。参加运算的两个32位数据分别为A[31..0]和B[31..0],运算模式由aluc[3..0]的16种组合决定,而aluc[3..0]的值由4位2进制计数器LPM_COUNTER产生,计数时钟是Sclk(图1-1);r[31..0]为输出结果,Z为运算后的零标志位。 ALU的运算功能 选择端aluc ALU功能 3 2 1 0 * 0 0 0 *0 0 1 * 0 1 0 *1 00 * 1 0 1 * 1 10 0 0 1 1 0 1 1 1 1 1 1 1 注1、*表示每一位都移至下一更高有效位, “+”是逻辑或,“加”是算术加

2020-04-09

计算机网络原理实验.rar

一、实验总体目标 计算机网络是技术与通信密切结合的综性学科,也应用中一个 重要领域,网络技术已广泛应用于各行业因此是计算机相关专学生必须掌握的知识。 计算机网络是一门实践性较强的技术,课堂教学应该与环节紧密结合。通过验使学生在通过对本课程的习基础上能计算机网络体系结构、 通讯技术以及网络应用技术有整体的了解,特别是Internet 、典型局域网络环境下的信息处理方式。同时要求学生具备基本的网络规划、设计能力和常用组技术。 二、适用专业年级 计算机科学与应用专业、 网络工程专业

2020-04-09

数字逻辑与数字电路实验.rar

修数字逻辑与数字电路课程时的一些实验报告 《数字逻辑与数字电路》实验指导 实验1.Verilog HDL输入方式组合电路的设计 多路选择器和三人表决电路的设计 (1) 实验目的:进一步熟悉Quartus II的Verilog HDL文本设计流程,组合电路的设计仿真和硬件测试。 (2) 实验内容1、多路选择器的设计: 根据教材5.1节的流程,利用Quartus II完成2选1多路选择器的文本编辑输入(MUX21.v)和仿真测试等步骤,给出仿真波形。 在实验系统上硬件测试,验证此设计的功能。对于引脚锁定以及硬件下载测试,a和b分别接来自不同的时钟;输出信号接蜂鸣器。最后进行编译、下载和硬件测试实验(通过选择键1,控制s,可使蜂鸣器输出不同音调)。 (4) 实验内容2、三人表决电路的设计: 根据教材5.1节的流程,利用Quartus II完成三人表决电路的文本编辑输入(图5-36)和仿真测试等步骤,给出仿真波形。 在实验系统上硬件测试,验证此设计的功能。对于引脚锁定以及硬件下载测试,ABC[2..0]分别接自键3、键2、键1;CLK接自时钟CLOCK0(256Hz),输出信号X接D1,输出信号Y接蜂鸣器。最后进行编译、下载和硬件测试实验(通过按下键3、键2、键1,控制D1的亮灭)。 (5) 实验报告:根据以上的实验内容写出实验报告,包括程序设计、软件编译、仿真分析、硬件测试和详细实验过程;给出程序分析报告、仿真波形图及其分析报告。参考ppt实验指导课件。 实验2.原理图输入方式全加器设计 (1) 实验目的:熟悉利用Quartus II的原理图输入方法设计简单组合电路,掌握层次化设计的方法,并通过一个8位全加器的设计把握文本和原理图输入方式设计的详细流程。 (2) 实验原理:一个8位全加器可以由8个1位全加器构成,加法器间的进位可以串行方式实现,即将低位加法器的进位输出cout与相邻的高位加法器的最低进位输入信号cin相接。 (3) 实验内容1:按照教材4.6节完成半加器和1位全加器的设计,包括用文本或原理图输入,编译、综合、适配、仿真、实验板上的硬件测试,并将此全加器电路设置成一个元件符号入库。 (4) 实验内容2:建立一个更高层次的原理图或文本设计,利用以上获得的1位全加器构成8位全加器,并完成编译、综合、适配、仿真和硬件测试。 (5) 实验报告:根据以上的实验内容写出实验报告,包括程序设计、软件编译、仿真分析、硬件测试和详细实验过程;给出程序分析报告、仿真波形图及其分析报告。参考ppt实验指导课件。 实验3.7段数码显示译码器设计 (1) 实验目的:进一步熟悉Quartus II的Verilog HDL文本设计流程,组合电路的设计仿真和硬件测试。熟悉利用Quartus II的原理图输入方法设计简单组合电路,掌握层次化设计的方法,把握文本和原理图输入方式设计的详细流程。 (2) 实验原理:7段数码显示译码器设计采用case语句对数码管的七个段分别进行赋值0或1,实现数字的显示;使用if-else语句设计模16计数器。 (3) 实验内容1:使用VerilogHDL语言设计一个7段数码显示译码器并进行仿真及下载。 (4) 实验内容2:使用VerilogHDL语言设计一个模16计数器,含计数使能端(en)与异步清零端(clr),当en为高电平时开始计数,为低电平时停止计数,将计数器与7段数码显示译码器使用原理图进行连接,并仿真及下载。 (5) 实验报告:根据以上的实验内容写出实验报告,包括程序设计、软件编译、仿真分析、硬件测试和详细实验过程;给出程序分析报告、仿真波形图及其分析报告。参考ppt实验指导课件。 原理工程图: 实验4.基于LPM宏模块的计数器设计 (1) 实验目的:初步掌握Quartus II基于LPM宏模块的设计流程与方法并由此引出基于LPM模块的许多其他实用数字系统的自动设计技术。 (2) 实验内容: 根据教材175页8.5节的流程,利用Quartus II完成基于LPM宏模块的计数器设计编辑和仿真测试等步骤,给出仿真波形。 在实验系统上硬件测试,验证此设计的功能并进行解说。对于引脚锁定以及硬件下载测试。 (3) 实验报告:根据以上的实验内容写出实验报告,包括程序设计、软件编译、仿真分析、硬件测试和详细实验过程;给出程序分析报告、仿真波形图及其分析报告。 实验5.序列检测器状态机设计 (1) 实验目的:用状态机实现序列检测器的设计,了解一般状态机的设计与应用。 (2) 实验原理:序列检测器可用于检测一组或多组由二进制吗组成的脉冲序列信号,当序列检测器连接收到一组串行二进制码后,如果这组码与检测器中预先设置的码相同,则输出1,否则输出0。 (3) 实验内容1:按照教材180页8.7节的流程,利用Quartus II完成序列检测器状态机的设计编辑和仿真测试等步骤,给出仿真波形,了解控制信号的时序,最后进行引脚锁定并完成硬件测试实验。 建议选择电路模式8,用键8(PIO8)控制复位信号CLR;键6(PIO9)控制状态机工作时钟CLK;将8位待检测预置数由键4/键3作为外部输入,待检测串行序列数输入DS接PIO10(左移,最高位在前);指示输出DC接PIO43~PIO40(显示于数码管7), 现态码输出C接PIO47~PIO44(显示于数码管8)。下载后:①按实验板“系统复位”键;②用键2和键1输入2位十六进制待测序列数“11100101”;③按键8复位(平时数码7指示显“0”);④按键6(CLK) 8次,这时若串行输入的8位二进制序列码(显示于数码2/1和发光管D8~D0)与预置码“11100101”相同,则数码7应从原来的0变成1,表示序列检测正确,否则仍为0。 (5) 实验报告:根据以上的实验内容写出实验报告,包括程序设计、软件编译、仿真分析、硬件测试和详细实验过程;给出程序分析报告、仿真波形图及其分析报告。参考ppt实验指导课件。 实验6.数字频率计 (1) 实验目的:设计6位10进制频率计,学习较复杂的数字系统设计方法。 (2) 实验原理:数字频率计由三大部分组成。3个CNT10模块分别是双十进制计数器模块,负责对被测频率信号进行计数;3个74374被用做输出数据的锁存器,锁存输出的数据,即所测频率值通过外接的数码管显示;TF_CTRL模块是此频率计的测频时序控制模块,由它发出ENB, LOCK, CLR三个控制信号,分别控制计数器的计数使能,锁存器的锁存控制,以及计数器的清零。 根据频率的定义和频率测量的基本原理,测定信号的频率必须有一个脉宽为1秒的输入信号脉冲计数允许的信号;1秒计数结束后,计数值被锁入锁存器,计数器清0,为下一测频计数周期作好准备。测频控制信号可以由一个独立的发生器来产生,即TF_CTRL。 设计要求是:TF_CTRL的计数使能信号ENB能产生一个1秒脉宽的周期信号,并对频率计中的6位十进制计数器CNT10的ENA使能端进行同步控制。当ENB高电平时允许计数;低电平时停止计数,并保持其所计的脉冲数。在停止计数期间,首先需要一个锁存信号LOCK的上跳沿将计数器在前1秒钟的计数值锁存进锁存器74374b中,并由外部的7段译码器译出,显示计数值。设置锁存器的好处是数据显示稳定,不会由于周期性的清0信号而不断闪烁。锁存信号后,必须有一清0信号CLR对计数器进行清零,为下1秒的计数操作作准备。 (3) 实验内容:按照教材181页8.8节的流程,利用Quartus II完成数字频率计的设计编辑和仿真测试等步骤,给出仿真波形。建议选实验电路模式5;6个数码管以10进制形式显示测频输出;待测频率输入F_IN由clock5输入,频率可选32768Hz等;8HZ测频控制信号CLK1HZ可由clock2输入(用跳线选8Hz)。注意,这时6个数码管的测频显示值是10进制的。 (4) 实验内容2:将频率计改为8位10进制频率计,注意此设计电路的计数器必须是8个4位的10进制计数器。此外注意在测频速度上给予优化。 (5) 实验报告:根据以上的实验内容写出实验报告,包括程序设计、软件编译、仿真分析、硬件测试和详细实验过程;给出程序分析报告、仿真波形图及其分析报告。参考ppt实验指导课件。 GW48CP+主系统使用说明 第一节 GW48教学实验系统原理与使用介绍 一、GW48系统使用注意事项 (用户必读!!!) a:闲置不用GW48系统时,必须关闭电源!!! b:在实验中,当选中某种模式后,要按一下右侧的复位键,以使系统进入该结构模式工作。注意此复位键仅对实验系统的监控模块复位,而对目标器件FPGA没有影响,FPGA本身没有复位的概念,上电后即工作,在没有配置前,FPGA的I/O口是随机的,故可以从数码管上看到随机闪动,配置后的I/O口才会有确定的输出电平。 c:换目标芯片时要特别注意,不要插反或插错,也不要带电插拔,确信插对后才能开电源。其它接口都可带电插拔。请特别注意,尽可能不要随意插拔适配板,及实验系统上的其他芯片。 二、GW48系统主板结构与使用方法 以下将详述GW48系列实验系统结构与使用方法,对于这2种型号的不同之处将给予单独指出。该系统的实验电路结构是可控的。即可通过控制接口键,使之改变连接方式以适应不同的实验需要。因而,从物理结构上看,实验板的电路结构是固定的,但其内部的信息流在主控器的控制下,电路结构将发生变化---重配置。这种“多任务重配置”设计方案的目的有3个:1、适应更多的实验与开发项目;2、适应更多的PLD公司的器件;3、适应更多的不同封装的FPGA和CPLD器件。系统板面主要部件及其使用方法说明如下。以下是对GW48系统主板功能块的注释。 (1) “模式选择键”:按动该键能使实验板产生12种不同的实验电路结构。这些结构如第二节的13 张实验电路结构图所示。例如选择了“NO.3”图,须按动系统板上此键,直至数码管“模式指示”数码管显示“3”,于是系统即进入了NO.3 图所示的实验电路结构。 (2) 适配板:这是一块插于主系统板上的目标芯片适配座。对于不同的目标芯片可配不同的适配座。可用的目标芯片包括目前世界上最大的六家FPGA/CPLD厂商几乎所有CPLD、FPGA和所有ispPAC等模拟EDA器件。第七节的表中已列出多种芯片对系统板引脚的对应关系,以利在实验时经常查用。 (3) ByteBlasterMV编程配置口:如果要进行独立电子系统开发、应用系统开发、电子设计竞赛等开发实践活动,首先应该将系统板上的目标芯片适配座拔下(对于Cyclone器件不用拔),用配置的10芯编程线将“ByteBlasterMV”口和独立系统上适配板上的10芯口相接,进行在系统编程(如GWDVP-B板),进行调试测试。“ByteBlasterMV”口能对不同公司,不同封装的CPLD/FPGA进行编程下载,也能对isp单片机89S51等进行编程。编程的目标芯片和引脚连线可参考附图1,从而进行二次开发。 (4)ByteBlasterII编程配置口:该口主要用于对Cyclone系列AS模式专用配置器件EPCS4和EPCS1等编程。 附图1 GW48系统电子设计二次开发信号图 (5) 混合工作电压源:系统不必通过切换即可为CPLD/FPGA目标器件提供5V、3.3V、2.5V、1.8V和1.5V工作电源,此电源位置可参考附图1。 (6)并行下载口:此接口通过下载线与微机的打印机口相连。来自PC机的下载控制信号和CPLD/FPGA的目标码将通过此口,完成对目标芯片的编程下载。计算机的并行口通信模式最好设置成“EPP”模式。 (7)键1~键8 :为实验信号控制键,此8个键受“多任务重配置”电路控制,它在每一张电路图中的功能及其与主系统的连接方式随模式选择键的选定的模式而变,使用中需参照第二节中的电路图。 (8)数码管1~8/发光管D1~D16 :受“多任务重配置”电路控制,它们的连线形式也需参照第二节的电路图。 (9)“时钟频率选择

2020-04-09

用蚁群算法解决TSP问题

详细展示链接:https://blog.csdn.net/qq_35685675/article/details/80740609

2018-06-20

TSPLIB数据:att48

城市序号 X Y 1 6734 1453 2 2233 10 3 5530 1424 4 401 841 5 3082 1644 6 7608 4458 7 7573 3716 8 7265 1268 9 6898 1885 10 1112 2049 上传资源最少设置1积分,没办法

2018-06-19

基于BP神经网络的人脸识别

一、实验要求 采用三层前馈BP神经网络实现标准人脸YALE数据库的识别,编程语言为C系列语言。 二、BP神经网络的结构和学习算法 实验中建议采用如下最简单的三层BP神经网络,输入层为 ,有n个神经元节点,输出层具有m个神经元,网络输出为 ,隐含层具有k个神经元,采用BP学习算法训练神经网络。 BP神经网络的结构 BP网络在本质上是一种输入到输出的映射,它能够学习大量的输入与输出之间的映射关系,而不需要任何输入和输出之间的精确的数学表达式,只要用已知的模式对BP网络加以训练,网络就具有输入输出对之间的映射能力。 BP网络执行的是有教师训练,其样本集是由形如(输入向量,期望输出向量)的向量对构成的。在开始训练前,所有的权值和阈值都应该用一些不同的小随机数进行初始化。

2018-05-17

基于预测分析表法的语法分析程序

1. 实验内容 1、定义一个LL(1)文法,示例如(仅供参考) G[E]:E →TE' E'→+TE'|ε T →FT' T' → *FT'|ε F → i|(E) 2、构造其预测分析表,如 3、LL(1)文法的预测分析表的模型示意图 4、运行结果,示例如下 2. 实验设计分析

2018-05-11

LL(1)文法判断程序

1. 实验内容 1、 让计算机接受一个文法,示例如(仅供参考): G[S] 为: S→AB S→bC A→ε A→b B→ε B→aD C→AD C→b D→aS D→c 2、 编程实现对上述文法是否是LL(1)文法的判断,是则给出肯定回答,否则给出否定回答。 3、判别是否是LL(1)文法 。。。。。。

2018-05-11

编译原理实验 DFA(确定的有穷自动机)的化简

1. 实验内容 每一个正规集都可以由一个状态数最少的DFA所识别,这个DFA是唯一的(不考虑同构的情况)。任意给定的一个DFA,根据以下算法设计一个C程序,将该DFA 化简为与之等价的最简DFA。 2. 实验设计分析 2.1 实验设计思路 根据实验指导书和书本上的相关知识,实现算法。 2.2 实验算法 (1)构造具有两个组的状态集合的初始划分I:接受状态组 F 和非接受状态组 Non-F。 (2)对I采用下面所述的过程来构造新的划分I-new. For I 中每个组G do Begin 当且仅当对任意输入符号a,状态s和读入a后转换到I的同一组中; /*最坏情况下,一个状态就可能成为一个组*/ 用所有新形成的小组集代替I-new中的G; end (3)如果I-new=I,令I-final=I,再执行第(4)步,否则令I=I=new,重复步骤(2)。 (4)在划分I-final的每个状态组中选一个状态作为该组的代表。这些代表构成了化简后的DFA M'状态。令s是一个代表状态,而且假设:在DFA M中,输入为a时有从s到t转换。令t所在组的代表是r,那么在M’中有一个从s到r的转换,标记为a。令包含s0的状态组的代表是M’的开始状态,并令M’的接受状态是那些属于F的状态所在组的代表。注意,I-final的每个组或者仅含F中的状态,或者不含F中的状态。 (5)如果M’含有死状态(即一个对所有输入符号都有刀自身的转换的非接受状态d),则从M’中去掉它;删除从开始状态不可到达的状态;取消从任何其他状态到死状态的转换。 。。。。。。

2018-05-11

DFA(确定的有穷自动机)的化简

1. 实验内容 每一个正规集都可以由一个状态数最少的DFA所识别,这个DFA是唯一的(不考虑同构的情况)。任意给定的一个DFA,根据以下算法设计一个C程序,将该DFA 化简为与之等价的最简DFA。 2. 实验设计分析 2.1 实验设计思路 根据实验指导书和书本上的相关知识,实现算法。 2.2 实验算法 (1)构造具有两个组的状态集合的初始划分I:接受状态组 F 和非接受状态组 Non-F。 (2)对I采用下面所述的过程来构造新的划分I-new. For I 中每个组G do Begin 当且仅当对任意输入符号a,状态s和读入a后转换到I的同一组中; /*最坏情况下,一个状态就可能成为一个组*/ 用所有新形成的小组集代替I-new中的G; end (3)如果I-new=I,令I-final=I,再执行第(4)步,否则令I=I=new,重复步骤(2)。 (4)在划分I-final的每个状态组中选一个状态作为该组的代表。这些代表构成了化简后的DFA M'状态。令s是一个代表状态,而且假设:在DFA M中,输入为a时有从s到t转换。令t所在组的代表是r,那么在M’中有一个从s到r的转换,标记为a。令包含s0的状态组的代表是M’的开始状态,并令M’的接受状态是那些属于F的状态所在组的代表。注意,I-final的每个组或者仅含F中的状态,或者不含F中的状态。 (5)如果M’含有死状态(即一个对所有输入符号都有刀自身的转换的非接受状态d),则从M’中去掉它;删除从开始状态不可到达的状态;取消从任何其他状态到死状态的转换。 。。。。。。

2018-05-11

词法程序设计——DFA模拟程序

1. 实验内容 1、定义一个右线性正规文法,示例如(仅供参考) G[S]:S→aU|bV| U→bV|aQ V→aU|bQ Q→aQ|bQ|e 实验前要考虑清楚用哪种数据结构存储上述文法。 2、构造其有穷确定自动机,如 3、利用有穷确定自动机M=(K,Σ,f, S,Z)行为模拟程序算法,来对于任意给定的串,若属于该语言时,该过程经有限次计算后就会停止并回答“是”,若不属于,要么能停止并回答“不是”。 K:=S; c:=getchar; while ceof do {K:=f(K,c); c:=getchar; }; if K is in Z then return (‘yes’) else return (‘no’) 2. 实验设计分析 2.1 实验设计思路 根据实验指导书和书本上的相关知识,实现算法。 2.2 实验算法 (1)输入正规文法。RG到FA (2)将NFA化为DFA (3)输入一个字符串判断是否符合文法。 ①最开始记A为开始状态a为第一个字符。 ②然后A经过字符a到达下一个状态记为B,A状态指向B状态,a指向字符串的下一个字符。 ③循环②步直到B状态为终态时停止则该字符串符合该文法或a指向最后一个字符时都没到终态停止则该字符窜不符合该文法。 2.3 实验流程 ①预习实验,实验前阅读实验指导书和阅读书本。 ②通过书本了解判断文法的原理。首先在纸上模拟文法的判断过程。 ③上机实现模拟过程。 ④调试程序,知道能得到预期的结果。 2.4 实验的基本技术设计方案 (用到哪些技术,包括编译原理中,程序设计中,离散数学中等的哪些技术) ①java的基础语法。 ②数据结构里的结构体及简单算法。 ③编译原理的理论知识。 ④运用了java里的一些集合类。 2.5 数据结构 class edge { char PriorityState; char ch; char NextState; edge(char p,char c, char n){ PriorityState = p; ch = c; NextState = n; } @Override public String toString() { return "edge [PriorityState=" + PriorityState + ", ch=" + ch + ", NextState=" + NextState + "]"; } } 2.6 实验输入输出 2.7 实验设计语言 Java语言。 3. 实验主要源代码及分析说明

2018-05-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除