自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

笔记

o.O

  • 博客(756)
  • 资源 (37)
  • 问答 (21)
  • 收藏
  • 关注

原创 share_ptr循环引用

此时这两个share指针的引用计数都是2,当node超过生命周期被析构时,node的引用计数变成1,不为0,那么node指向的类实例不会被析构,注意智能指针也是一个类,智能指针的析构和它指向的类实例的析构是两回事,程序中Node实例没有被析构导致p也不会析构。定义一个类,这个类有一个share指针变量,创建一个share指针指向这个类实例,然后将类实例的成员变量share指针也指向这个类实例。用weak指针解决循环引用问题,weak只引用资源不增加资源引用的计数。

2024-07-06 23:25:03 426

原创 用数组实现堆

实现堆关键在于堆调整,堆有向上调整和向下调整,当pop堆顶元素的时候是弹出数组里面最小的元素,这个时候需要向下调整堆,把堆顶元素的值更新为数组末尾元素的值,然后从堆顶开始向下调整堆。从树根节点开始,找出左右子树中比自己更小的节点,交换值,然后从交换后的节点处继续往下寻找更小的节点,直到堆末尾或者没有更小的。向上调整堆先找出当前节点的父节点,如果父节点是更大的节点,那么交换值后往上走,继续向上寻找更大的节点。push元素的时候先放到数组末尾,然后看看容量是不是满了,增长一下容量,开始从数组末尾向上调整堆。

2024-07-06 15:34:31 308

原创 用数组实现队列

队列用链表实现很简单,记住链表头和链表尾就行了,每次push就往头插入,每次pop就删掉尾巴。我们这里用数组实现一下队列,基本思想是一个循环滑动的窗口,用两个变量记录队首和队尾索引。这里比较难的是队列容量的动态增长,申请两倍的容量后,从队首索引开始拷贝。push放到队尾,pop放到队首,队尾索引和队首索引都需要循环。

2024-07-05 20:35:54 89 1

原创 用数组实现栈

为了栈容量动态增长,写一个成长函数,将容量翻倍,即申请一块新内存,将原来元素拷贝过去,释放掉原来的空间。这里用数组实现,需要三个成员变量,分别记录栈容量、栈顶索引(栈元素数量)、数组首地址。push的时候直接放到栈顶位置,然后栈顶移动,判断元素是否满了,满了就增长栈容量。pop的时候先看看栈是不是空的,不是空的就移动栈顶,返回栈顶元素。链表实现的话,push就往头节点插入,pop就删除头节点。如此一来top实际上是栈元素的个数。栈的实现可以用链表或者数组实现。

2024-07-05 15:52:04 326 1

原创 如何写一个死锁

设置两个全局变量当作线程共享资源,为了让两个线程分别持有一个资源让它们抢到一个资源后睡一会让另一个抢。最简单的死锁,线程x持有资源a请求资源b,线程y持有资源b请求资源a,死锁了。等同于这个代码,刚刚的代码相当于实现了一个自旋锁,下面这个是互斥锁。死锁就是多个进程或者线程竞争临界资源所造成的僵局。只需要把它们请求资源的顺序改成相同就不会死锁了。

2024-07-05 00:37:12 160 1

原创 Ubuntu换源

dd可以删除整行,把整个配置文件的内容全部删掉,你也可以在删除之前备份一下,然后把刚刚copy的配置内容复制到这里来。根据发行版本找到对应的配置文件copy起来。查看发行版本,记下来。

2024-06-22 11:51:18 352

原创 xv6 qemu 卡在Booting from Hard Disk...

定位到xv6目录下的kernel.ld的第25行。.stab:{ 修改成。

2024-06-21 13:06:37 167

原创 环形buffer单生产单消费队列

使用两个循环指针用来实现环形队列,头指针和尾指针在队列为空的时候是相同的,起始为0,当头指针快追上尾指针的时候代表队列已满,也就是head=tail-1的时候,这意味着我们使用了一个元素的位置来表示队列是否满,环形buffer实际容量为数组长度减去一个单位。环形缓冲区由一个固定大小的数组构成,生产者将数据写入缓冲区的尾部,而消费者则从缓冲区的头部读取数据,当缓冲区被填满时,生产者会等待,直到有空间可用;生产即入队,元素安排在头指针处,之后头指针移动,消费即出队,取尾指针处元素后移动尾指针。

2024-06-12 16:56:08 183

原创 非递归式实现快速排序

快速排序基本思想是寻找一个元素作为基准,将其他元素划分为两部分,其中一部分比基准元素小,另一部分比基准元素大,然后如此继续对这两部分操作下去快速排序最简单的实现就是通过简单的递归,实现方式之一是使用双指针,两个指针同时走,左指针找到大的,右指针找到小的,然后交换这两个元素的位置,问题在于枢纽元素和谁交换,让右指针先走,两个指针走到相同位置的时候必然是右指针走到左指针的地方了,而左指针指向的元素是刚刚交换完比枢纽元素小的,而枢纽元素选的是第一个,因此它们进行位置交换就是正确的这里给出C版本,C++版本一般是将

2024-06-12 16:28:10 430

原创 【LeetCode】使括号有效的最少添加

括号离不开栈,栈可以消除有效的括号,先用栈将左括号装起来,遇到右括号并且栈非空就弹栈,如果遇到右括号栈空就计数,说明需要插入左括号,完事之后栈里面的元素就都是左括号,都计数,因为都需要加上右括号。对于一个只有()组合的括号字符串,如果想要这个字符串是有效的括号对,找出最少需要插入多少个括号。

2024-06-04 16:07:43 351

原创 WSL2修改CPU核数

先关闭所有wsl终端,远程连接开发的IDE也需要关闭,因为工具链开着给你wsl没有完全关闭,在Windows的power shell终端命令行窗口可以实验以下命令检查是否wsl已经关闭。然后文件内容复制下面信息,CPU核数为processors,修改即可,在确认所有Linux子系统已经关闭的情况下,保存文件重启wsl即可。创建文件C:\Users\\.wslconfig,目录必须对,例如C:\Users\Yezi。查看LinuxCPU核数。

2024-05-27 16:31:17 400

原创 C++实现的单例模式日志类

自己实现的话, 日志内容应该包括,精确到微秒的时间戳,日志级别(DEBUG / INFO / WARN / ERROR / FATAL),日志写入时的代码文件名,代码行号和函数名,例如。这意味着我们需要一个单例模式的实现,需要将类实例静态化,由一个静态函数返回类实例的引用,由于静态变量只会初始化一次,所以每次返回的都是同一个实例。同时我们希望能够保留可以更改类实例初始化的参数,例如日志文件名,因此需要一个初始化的静态函数来进行类实例的初始化。并且我希望日志是这样使用的。代码维护在GitHub。

2024-05-26 00:04:15 249

原创 C++实现的代码行数统计器

思路比较简单,主要是用到了C++17的filesystem库用来解析目录和提取文件后缀,如果路径是个目录就提取子目录项逐个分析,如果子目录项是目录就递归调用本身继续解析目录,如果是代码文件就开始计数行数。前段时间到处面试找实习,有技术负责人的负责人问我C++写过多少行,5万还是10万,用来评估熟练度,有点难顶,于是写个代码统计器吧,输入文件夹目录或者代码文件,可以统计所有代码的行数。可以直接编译代码运行程序,在控制台输入目录的路径按下回车即可,例如输入。

2024-05-25 22:23:54 403

原创 C++ socket epoll IO多路复用

IO多路复用通常用于处理单进程高并发,在Linux中,一切皆文件,一个socket连接会对应一个文件描述符,在监听多个文件描述符的状态应用中epoll相对于select和poll效率更高。epoll本质是系统在内核维护了一颗红黑树,监听的文件描述符会作为新的节点插入红黑树,epoll会等待有状态变化的节点记录在链表里,然后拷贝到用户所给的数组里面返回出来。简单测试服务端,打开Linux终端,用一下命令连接服务器后即可传输数据。以下是一个独立的服务端代码,可以补充业务代码进行具体使用。

2024-05-25 22:04:52 432

原创 【LeetCode】【滑动窗口】【双指针】长度最小的子数组

腾讯微信搜索团队一面的题,一模一样,用两个指针记录滑动窗口的头和尾巴,sum记录和,当sum大于等于target的时候,记录最小长度,将滑动窗口缩短至sum小于target。如果不存在符合条件的子数组,返回。找出该数组中满足其总和大于等于。个正整数的数组和一个正整数。

2024-05-14 21:34:33 148

原创 【华为机考模拟题】Words、Vowel、计算字符串重新排列数

他在写日记的时候都会把元音字母写成大写的,辅音字母则都写成小写,虽然别人看起来很别扭,但是 solo 却非常熟练。你试试把一个句子翻译成 solo 写日记的习惯吧。给定一个只包含大写英文字母的字符串 S,要求给出对 S 重新排列的所有不相同的排列数。每个句子由多个单词组成,句子中的每个单词的长度都可能不一样,假设每个单词的长度。如:S 为 ABA,则不同的排列有 ABA、AAB、BAA 三种。为该单词的重量,你需要做的就是给出整个句子的平均重量。是元音字母的变成大写,其他的变成小写。

2024-05-07 16:19:35 428

原创 【LeetCode热题100】【多维动态规划】编辑距离

要么替换,需要将word1[0:i-2]转换成word2[0:j-2],即dp[i][j]=dp[i-1][j-1]+1。要么插入,需要将word1[0:i-1]转换成word2[0:j-2],即dp[i][j]=dp[i][j-1]+1。要么删除,需要将word1[0:i-2]转换成word2[0:j-1],即dp[i][j]=dp[i-1][j]+1。定义dp[i][j]是将word1[0:i-1]转换成word2[0:j-1]所使用的最少操作数。你可以插入、删除、替换字符。

2024-04-23 20:26:01 319

原创 【LeetCode热题100】【多维动态规划】最长回文子串

用一个二维布尔数组dp,dp[i][j]表示字符串s[i,j]是不是回文字符串,取决于s[i]是否等于s[j]并且dp[i+1][j-1]为真或者i和j之间没有或者只有一个字符。如果暴力的话,两层循环找出所有子串,一层循环判断回文,这样重复判断了回文,存在这样的一个事实:如果s[i,j]是回文字符串,那么s[i+1,j-1]也是回文字符串。二维动态规划数组,由于dp[i][j]需要dp[i+1][j-1],所以需要从左下角开始往右上角遍历。

2024-04-23 16:45:23 435

原创 【LeetCode热题100】【多维动态规划】最小路径和

经典动态规划问题,到达当前格子的路径和要么是加上从上面格子来的,要么是加上左边格子来的,取这两个方向来的较小者就行了。,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。对于最左边的和最上边的没有两个方向,可以直接累加一个方向的。每次只能向下或者向右移动一步。给定一个包含非负整数的。

2024-04-23 16:03:25 222

原创 【LeetCode热题100】【多维动态规划】不同路径

机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。问总共有多少条不同的路径?经典动态规划问题,当前格子的路径数等于上方格子的路径数加上左边格子的路径数,最左边一束和最上边一横路径数都是1。网格的左上角 (起始点在下图中标记为 “Start” )。

2024-04-23 15:52:21 320

原创 【LeetCode热题100】【链表】合并 K 个升序链表

合并k个有序链表同样的思路,先循环找出k个链表里面最小的节点,把这个节点当成头节点,同时更新节点原来的链表的头节点为后一个节点,递归合并新的k个链表。合并两个有序链表是找出较小的节点放在前面,更新节点原来的链表的头节点为后一个节点,递归合并新的两个有序链表。要合并k个有序链表,其实和合并两个有序链表是一样的。

2024-04-22 16:54:09 412 1

原创 【LeetCode热题100】【链表】排序链表

拆成两个部分,要保持logn的递归树深度,每次拆分需要拆成两半差不多大小的,也就是寻找链表的中间节点,然后以中间节点为界限分成两个链表,即寻找链表的中间节点:使用快慢指针,当快指针到达链表末尾,慢指针即到达链表中间。然后是考察合并两个有序链表:如果其中一个链表为空,则返回另一个链表,比较两个链表首节点的大小,让小的节点成为新链表的头节点,递归合并后面的。最后是归并排序链表,先找出链表的中间位置拆分成两个链表,递归归并排序两个链表后合并。但是从面试的角度,我们应该在链表原地排序,这里使用最简单的归并排序。

2024-04-22 11:14:15 617

原创 【LeetCode热题100】【链表】随机链表的复制

非常妙的思路,先用一个哈希表将旧链表的节点和新链表的节点一一对应起来,然后将新链表的节点串起来,对于random可以根据哈希表里面的对应找到新链表里面对应的节点,妙哉。,该指针可以指向链表中的任何节点或空节点,请你深拷贝这个链表。的链表,每个节点包含一个额外增加的随机指针。

2024-04-21 22:08:41 282

原创 【LeetCode热题100】【子串】最小覆盖子串

先用一个哈希表记录目标字符串target的字符种类及其数量,然后用一个滑动窗口从字符串source上滑过去,i负责起点缩减,j负责终点延申,碰到一个字符,更新它在哈希表里面的数量减一,表示已经找到一个,当数量减到0,表示这个字符已经收集完毕,需要收集的种类数量减一。如果s[i]在哈希表里面的数量小于0,说明s[i]已经多了,i可以往前缩减滑动字符串的长度。当需要收集的字符串的种类已经为0,说明已经找到了,比较和先前找到的长度看是否需要更新。所有字符的子串,则返回空字符串。所有字符的最小子串。

2024-04-21 15:32:22 404

原创 【LeetCode热题100】【图论】实现 Trie (前缀树)

这样存储字符串abc和abcd只会多一个d指向的节点,也就是相同的前缀会在相同的节点,每一个字母会有26种后缀,因此有26个指针指向后缀节点,如果某节点指针为空,说明没有该字母后缀。为了判断是否是前缀和存在单词,可以写一个查找前缀的函数,如果前缀存在返回节点指针,代码基本和插入相同,不同的地方在于当不存在当前字母时说明没有该前缀,直接返回空。插入字符串的时候,从头到尾安排单词的每个字母,如果不存在当前字母,为它创建一个新的节点。这应该和图论没啥关系,应该属于哈希和树,题目没讲前缀树到达是啥。

2024-04-20 22:13:23 619

原创 【LeetCode热题100】【图论】课程表

入度为0的说明没有先修课程,取出来修,并将相连的节点的入度减一,说明先修课程已经修了一个了,再判断有没有新的课程可以修的入队。先修课程,判断课程能不能修完,这是一个判断拓扑有序的问题,看看会不会成环。先建立有向图,记录每个顶点的入度,把入度为0的入队列。最后判断修了的课程和要修的课程数目是否相等。

2024-04-19 23:05:25 372

原创 【LeetCode热题100】【图论】腐烂的橘子

腐烂的橘子会污染周围的橘子,要求多少轮扩散才能把全部橘子污染,这就相当于滴墨水入清水,会扩散,其实就是广度遍历,看看遍历多少层可以遍历完可以遍历的。先遍历一次橘子,记录下腐烂橘子的位置和新鲜橘子的数目,然后广度遍历腐烂橘子并向外扩散污染新鲜橘子。注意向外扩散时需要每次取位置,因为移动会改变位置,位置需要重置。

2024-04-19 22:29:54 331

原创 【LeetCode热题100】【图论】岛屿数量

对于这道题来说,从是1的地方深度遍历,改写可以到达的地方,这样就是一个岛屿,如果还有1,说明还有岛屿。首先需要判断图的边界,然后再上下左右继续深度遍历,并把遍历到的标记为已访问,可以原地修改图做标记。考察图的遍历,从岛上上下左右能到达的地方都是这个岛。

2024-04-19 21:36:04 530

原创 【LeetCode热题100】【动态规划】最长有效括号

如果是...))这样的,也就是s[i-1]=),也就是套壳状态,那么s[i]必定需要对应一个s[j]=(来闭环,那么j是多少呢,j和i之间应该隔了dp[i-1]个,那么j应该等于i-dp[i-1]-1,dp[i]就应该是dp[i-1]+2再加上dp[j-1],那么状态转移方程应该为。还需要加上数组边界条件的判断。

2024-04-19 20:06:09 191

原创 【LeetCode热题100】【动态规划】乘积最大子数组

对于和来讲,定义dp[i]是以nums[i]为结尾的最大子数组的和,那么dp[i]要么就是nums[i]加上之前的dp[i-1],即前一个子数组加上当前元素,要么是nums[i]自己新开一个子数组,所以状态转移方程。但是乘积与和不一样的地方在于负数的情况,负数加负数的和是越来越小的,但是乘积会因为碰到一个负数变成最大或者变成最小,因此需要用两个数组记录状态,dpMin记录最小,dpMax记录最大。要找乘积最大的连续子数组,我们之前做过找和最大的连续子数组。

2024-04-19 17:01:49 228

原创 【LeetCode热题100】【动态规划】最长递增子序列

让dp[i]是以nums[i]为结尾的子序列的最长递增长度,遍历nums[i]之前的元素,如果有比nums[i]小的,说明递增子序列可以延申。

2024-04-19 16:32:12 463

原创 【LeetCode热题100】【动态规划】单词拆分

定义dp[i]是目标字符串中以i为结尾的子串能不能由某个字符串word组成,如果可以,问题变成dp[i-word.size()]即完全背包问题,同之前的完全平方数、零钱兑换,相当于给定几个数,可以反复用,看能不能组成某个数。看能不能用字符串列表里面的字符串组成这个字符串,可以反复使用。此处组合需要考虑顺序,target遍历外层循环。

2024-04-19 16:02:31 309

原创 【LeetCode热题100】【动态规划】完全平方数

所以题目变成要从1,2,3,……,n的平方根中找出平方和的和是n的组合,并且数量最少。完全平方数是可以表示成某个整数的平方的数,要找和为n的完全平方数的最少数目。满足要求的完全平方数最小是1,最大不会超过n的平方根。定义dp[i]为和为i的完全平方数的最少数目。

2024-04-18 00:23:07 244

原创 【LeetCode热题100】【动态规划】零钱兑换

要拿硬币凑钱,硬币无限多,就是完全背包问题,定义dp[i]是要凑的钱i的硬币数,对于当前硬币来说,如果选择了这个硬币,要么要凑的硬币数就变成dp[i-coin]

2024-04-18 00:10:28 278

原创 【LeetCode】【0-1背包】目标和

又因为x+y=sum,两式相加,可以求得x=(target+sum)/2,即题目变成能不能在元素里面找到一个组合的和为x,即0-1背包问题,基本同。要在数组中通过加减元素得到目标和,记加的元素和为x,减的元素和为y,即x-y=target。注意如果target+sum不是偶数或者target的绝对值大于sum都是没有的。dp[i]变成存在子集和为i的个数。

2024-04-17 23:24:03 353

原创 【LeetCode热题100】【动态规划】分割等和子集

判断数组能否被分成两个和相等的子数组,先求数组的和sum,即变成能不能找到一个组合的和是sum/2,每个数最多只能被选择一次,即0-1背包问题。本问题:dp[i]为是否存在和为i的子集,如果选择当前元素,变成是否存在和为i-num的子集。0-1背包状态转移方程:如果选择,那么空间减少,价值增加,dp[i]为空间为i的最大价值。特别注意如果sum是奇数,那么sum/2不是整数肯定不存在。

2024-04-17 23:05:51 311

原创 【LeetCode热题100】【动态规划】打家劫舍

如果有多间,对于第i间来说,让dp[i]是打劫的最大金额,如果要打劫第i间,那么第i-1间就不能打劫,dp[i]=nums[i-1]+dp[i-2],如果不打劫第i间,那么dp[i]=dp[i-1],取这两个的最大值。如果没有房子,那就是0,如果有一间房子,那么就是这间房子,如果有两间,那么就挑一间打劫。注意nums下标从0开始。

2024-04-17 19:25:55 271

原创 【LeetCode热题100】【堆】数据流的中位数

不停插入元素要求找到每个状态的中位数,用两个堆,把中位数左边的数记为left,右边的数记为right,一个大顶堆记录小于等于中位数的left,一个小顶堆记录大于中位数的right,数组长度为奇数时大顶堆比小顶堆多一个中位数,数组长度为偶数时,中位数就是两个堆顶的平均值。插入元素时,如果两个堆长度一样,先入小顶堆,这样小顶堆堆顶就是right里面最小的,弹出来放到left里面,此时left比right多一个数,并且left堆顶就是中位数,因为它比right都小,比left都大。注意优先队列默认是大顶堆。

2024-04-17 17:09:00 370

原创 【LeetCode热题100】【堆】前 K 个高频元素

要找出前K个出现频率最多的元素,可以先用哈希表存储每个元素出现的次数,然后建立一个容量为K的小顶堆,遍历哈希表找到更高频的元素入堆进行堆调整,最后堆里的元素就是前K个出现次数最多的元素。手写一个堆,就在答案容器基础上建堆,注意比较需要用哈希表比较。

2024-04-17 16:08:51 271

原创 【LeetCode热题100】【二分查找】寻找两个正序数组的中位数

这里需要注意j的范围,因为b[j-1]和b[j]可以不存在,比如a=123,b=456,如果要找3,那么i=3,j=0,此时b[i-1]是不存在的,a[i]也是不存在的,因此0

2024-04-17 14:42:39 430

计算机导论-实验报告-互联网与网络安全

一、 实验目的与要求 1、 掌握浏览器的基本使用方法。 2、 掌握用搜索引擎在网上查找信息的方法。 3、 了解Windows防火墙的使用。 二、实验环境 1、硬件环境:PC。 2、软件环境:Windows 11家庭中文版、Microsoft Edge。 三、实验步骤与过程 互联网应用:CNKI检索 打开浏览器,通过深圳大学图书馆网站进入中国知网,登陆进CNKI,如图1-1所示。 图1-1 在CNKI的页面中找到CajViewer全文浏览器下载,如图1-2所示。 图1-2 在CNKI的页面中找到检索设置,进行检索范围的设定,如图1-3所示。 图1-3 点击检索,得到检索结果,如图1-4所示。 图1-4 点开检索结果中的一条记录进行查看,如图1-5所示。 图1-5 将一条检索结果的记录下载到电脑,并用CajViewer全文浏览器打开阅览,如图1-6所示, 图1-6 互联网应用:软件工程的英文检索 在检索主题中输入软件工程,将论文设置为外文英文,点击检索,如图2-1所示。 图2-1 点开其中的一条检索结果进行查看,如图2-2所示。 图2-2 互联网应用:S

2022-04-14

计算机导论-实验报告-电子表格处理

一、 实验目的与要求 1、 掌握工作表和工作簿的基本操作。 2、 掌握公式和函数的使用方法。 3、 掌握数据清单的管理方法。 4、 掌握数据分析工具。 二、实验环境 1、硬件环境:PC。 2、软件环境:Windows 11家庭中文版、Excel 2019。 三、实验内容 1、练习1 图1-1 在校学生人数(编辑前) 1) 格式编排 (1)设置表中的行和列:首先移动列,将“农科学生数”列移到“林科学生数”列的左面;设置第2行高为19.5;区域A2:E7列宽为11.6。(如图1-2所示) 图1-2 (2)设置单元格数据、文字格式及底纹。 将标题行格式设置为楷体、16磅、加粗,合并并居中数据区域A1:E1;将第二行格式设置为宋体、加粗、12磅,浅蓝色底纹;设置表中各单元格的字号为12磅,各数据单元格右对齐。(如图1-3所示) 图1-3 (3)设置表格边框线。(如图1-4所示) 图1-4 2)公式计算 (1)在单元格B8中用表达式计算1999年比1952年学校增长的数量。 (2)在单元格B9中用表达式计算1999年比1952年学生增长的数量。 (3)在单元格C10中用表达式

2022-04-14

计算机导论-实验报告-算法设计工具

一、 实验目的与要求 1、 设计图灵机对-127~127的任意数加1。 2、 百钱买百鸡问题。 3、 二分法找10维数列中的一个数。 二、实验环境 1、硬件环境:PC。 2、软件环境:Windows10家庭中文版、Raptor汉化版。 三、实验步骤与过程 1、设计图灵机对-127~127的任意数加1。 首先对读进来的数进行一个判断,如果它是负数,设计一个标签为1, 后面创建数组存二进制数时,让最高位为1,并在这里取它的绝对值 然后用一个循环,让这个数对2取余,并把余数存到一个数组里面, 这里在每一次取余之后,让这个数除以2并取整,这样操作下来之后 得到的数组就是原来的十进制数对应的二进制数(如下图所示)。 之后就是图灵机的核心步骤,从数组的第一个数开始检测,由于是想达到 数加一的目的,如果第一个数是0,那么把0改写为1就可以了,后面的 数不用动,如果第一个数是1,那么把1改写成0之后,需要进位,也 就是对高位数加一,那么就对后面的数重复这样的操作就可以了 分别输入-31、0和31的结果如下图 最后附上Raptor全流程图,由于原图很长,直接复制粘贴字体 很小,所以用

2022-04-14

计算机导论-实验报告-演示文稿设计.doc

一、 实验目的与要求 1、 掌握演示文稿的基础操作技能。 2、 掌握表格、图表与图片的使用方法。 3、 掌握声音、视频与动画的使用方法。 4、 掌握设计、制作母版与版式的方法。 5、 了解幻灯片放映与打包技术。 二、实验环境 1、硬件环境:PC。 2、软件环境:Windows10家庭中文版、PowerPoint2019。 三、实验步骤与过程 这次实验我们制作一个介绍如何用Raptor计算Fibonacci数列的演示文稿。 首先创建一个空白PPT(如图1-1所示) 图1-1 然后选择插入一张图像作为幻灯片的背景(如图1-2所示) 图1-2 也可以直接在设计选择卡里挑选PowerPoint已有的背景模板(如图1-3所示) 图1-3 在确定幻灯片背景模板之后,我们可以选择复制幻灯片来copy设计好的模板,如图1-4所示。 图1-4 然后开始制作所需的幻灯片,在原有的背景图片上插入文本框来制作文字标题Raptor&Fibonacci,如图1-5所示。 图1-5 如果想安排幻灯片上的内容在放映的时候以一定的顺序出现,可以通过动画选择卡来对内容的出现进行排序,以及添加出现的

2022-04-14

计算机导论-实验报告-文字信息处理

一、 实验目的与要求 1、 掌握文档的编辑操作技能。 2、 掌握文档的格式化操作方法。 3、 掌握图文混排方法、艺术字设计和数学公式编辑。 4、 掌握表格处理方法。 5、 掌握页面设置、分栏和分节技术。 6、 掌握样式设置、引用和目录、修订和批注的操作方法。 二、实验环境 1、硬件环境:PC。 2、软件环境:Windows10、Word2019。 三、实验步骤与过程 1、文档的基本操作 打开Word文档,点击新建一个空白文档 然后可以进行文档的编辑,文本的修改与创建 2、文档的格式化操作 使用下面选择卡中的字体组设计文字的格式 可以将各种字符设计出想要的效果(如下图) 用布局选择卡中的页面设置组来进行页面的格式化 在这里可以进行段落的格式化,比如说, 可以让一段文字居中、左对齐和右对齐 如果想对段落进行更为具体的格式规定,则可以点击 选择卡段落组右下角的对话框启动器按钮, 会出现下图的页面,就可以进行进一步的操作 3、图文混排、艺术字和数学公式 插入图片之后,可以选择图片与文字之间的排版方式 在这里可以有各式各样的艺术字供你选择 利用Word的

2022-04-11

计算机导论-实验报告-操作系统与软件

一、实验目的与要求 1.了解常用软件的使用方法。 二、实验内容与方法 1. 学习压缩软件与刻录软件的使用。 2. 学习PDF文档的使用与PDF中文字内容的修改。 三、实验步骤与过程 1. 压缩软件WinRar的使用。 找到要压缩的文件,然后单击右键,选择添加到压缩文件。 看到下面这样一个窗口,点击确定就可以完成对文件的压缩了 压缩完了之后也可以对其进行解压,找到要解压的文件, 单击右键,选择解压文件就可以了。 2. 刻录软件的使用。 这里使用刻录软件Nero StartSmart Essentials。 打开这个软件,点击数据刻录。 然后看到这样一个页面,点击添加文件。 选择要进行刻录的文件最后点击刻录即可。 3.PDF文档的使用。 打开Adobe Acrobat DC软件,先点击文件,然后点击创建, 然后可以点击从文件创建。 然后可以看到这样一个画面,选择一个文件,点击打开。 打开这个文件之后,再点击文件,选择将其另保存为PDF文件。 这样就可以创建一个PDF文件了 4.PDF中的文字的修改。 打开Adobe Acroba

2022-04-11

大学物理实验-实验报告-测量地磁场

一、 实验目的 1、学习phyphox软件的磁力计功能。 2、用phyphox软件测量地磁场大小和磁倾角。 二、实验原理 地磁场是地球内部和周围天然存在的磁性现象。地球可近似认为是一个磁偶极子,磁偶极子的S极位于地理北极附近,N极位在地理南极附近。通过这两个磁极的假想直线(磁轴)与地球的自转轴不重合,如图1所示,夹角大约为11.3度。 不同地理位置的地磁场均不相同。测量某个地区的地磁场需要分别测量地磁场沿着水平和竖直两个方向的分量,如图2所示。地磁场方向与水平面之间的夹角称为磁倾角,可由地磁场沿水平和竖直两个方向的分量得到。 图1 地磁场 图2 地磁场的分量 手机phyphox软件的磁力计功能可以测得沿X,Y,Z三个方向的磁场大小。 根据 ……………………(1) 可测磁感应强度大小。 根据 ……………………(2) 可测磁偏角。 三、实验仪器: 智能手机,phyphox软件。 四、实验内容:  先确定X,Y和Z分别对应手机的哪个方向。通常垂直于手机平面的方向为Z,沿手机短边和长边方向分别为X和Y,实验前先确定

2022-04-11

大学物理实验-实验报告-单摆的研究

一、实验目的 用单摆测定当地的重力加速度。 二、实验原理 当单摆角很小时 (α<5°),单摆的运动为简谐运动,根据单摆周期 ……………………(1) 可得 ……………………(2) 当摆角较大时,简谐近似失效,需研究摆球运动的非线性。 三、实验仪器: 长约1m的细线一根; 毫米刻度尺; 小球; 装有phyphox软件的智能手机; 秒表; Office Excel。 四、实验内容: 3.1、传统单摆实验 测重力加速度使用金属小球,同一个单摆进行多次测量取平均值。 利用摆角较小时是运动是简谐运动这一特点,把重力加速度表示为运动周期和摆线长度的表达式。 通过测量摆线周期和摆线长度得到重力加速度g。 3.2、手机摆实验 1.将细绳一端固定在竖直墙面上,另一端固定在手机上,让手机面与墙面平行,做成一个摆。 2.打开软件,下拉菜单找到mechanics下的Pendulum,让手机偏离平衡位置一个小角度,点击运行按钮,放手后,软件会根据陀螺仪测量的数据自动记录单摆的周期和频率。 3.软件设置了几个功能: Results栏目可以反馈单摆的周期和频率; G栏目中可以输入摆长,系统会自动计算重力加速

2022-04-11

计算机系统实验报告 LC-3仿真器安装和使用

一、实验目的与要求 (1)掌握处理器仿真工具LC-3软件的安装和使用方法。 (2)学会在LC-3仿真环境下编辑程序和转换成可执行目标程序的方法 。 (2)学会在LC-3仿真环境下运行和调试程序的方法 。 二、实验内容与方法 利用提供的安装软件包和软件使用说明文档,完成以下试验内容: (1)安装LC-3仿真器 (2)利用LC3EDIT输入机器代码程序(0/1模式)并创建可执行目标程序。 (3)利用LC3EDIT输入机器代码程序(hex模式)并创建可执行目标程序。 (4)利用LC3EDIT输入汇编代码程序并创建可执行目标程序。 (5)利用仿真器运用对应目标程序。 (6)学习和掌握断点,单步执行等调试方法和手段。

2022-04-09

空间滤波器之平滑滤波器和锐化滤波器

空间滤波是一种采用滤波处理的图像处理方法,目的是达到某种目的(让它更模糊或者让它更清晰)。 滤波是将信号中特定波段频率滤除的操作。 根据滤波频率的不同,空间滤波可以分为平滑滤波(加强低频信息)和锐化滤波(加强高频信息)。 在灰度图像中,低频成分指的是灰度变化小的区域,高频成分指的是灰度变化大的区域。 所以平滑滤波又叫低通滤波,锐化滤波又叫高通滤波。 滤波器分为线性滤波器和非线性滤波器。 线性平滑滤波器就是求一个邻域内像素的加权均值。 非线性平滑滤波器(统计排序滤波器)就是将滤波器区域像素的值进行各种排序,然后选择最大值、最小值、中值等填入中间的像素,所以这些平滑滤波器又叫最大值滤波器,最小值滤波器,中值滤波器,其中中值滤波器是使用最广泛的统计排序滤波器。 平滑滤波可以将图像模糊处理,即加强低频成分,减弱高频成分,而锐化滤波可以突出图像的细节,减弱低频成分,加强高频成分。 我们在做图像平滑的时候,通过减少相邻像素之间的灰度值的差异(比如平均处理),来达到平滑的效果。 那么为了达到锐化图像的目的,我们很自然地可以想到可以通过增大相邻像素之间灰度值的差异来实现。

2022-04-06

基于主成分分析的人脸识别

基于主成分分析的人脸识别: 主成分分析(Principal Component Analysis,简称PCA)是最常用的一种降维方法。 我们首先从人脸数据库中读取图片,并把图片转换为数据存在矩阵中,然后把每一张图片的矩阵拉成列向量,把所有列向量装在一个矩阵里面。 然后用PCA对这个矩阵进行降维,即让矩阵中的每一个数据都减去数据的均值,然后对新形成的矩阵求它的协方差矩阵,再对这个协方差矩阵进行特征值分解得到特征值和特征向量,让特征向量按照特征值的大小进行从大到小的顺序排列,然后取前k个特征向量组成一个矩阵,让这个矩阵的转置左乘原来的协方差矩阵,得到的新矩阵就是降维后的数据。 然后分别读取一定数量的列向量(即图片)作为训练集图片,读取一定数量的作为测试集图片。之后用测试集里面的一张图片和训练集里面每一张图片的数据做差取绝对值,然后把得到的这些绝对值按从小到大的顺序进行排列。 之后用k近邻学习(k-Nearest Neighbor,简称kNN),选择排列在前k个最小距离所对应的图片序号,选择出现次数最多的图片序号,如果没有重复出现的,那么选择距离最小的,即排列第一的。

2022-04-06

计算机系统概论(原书第二版)习题答案第九章

部分英文版

2022-03-18

计算机系统概论(原书第二版)习题答案第十章

部分英文版

2022-03-18

计算机系统概论(原书第二版)习题答案第三章

部分英文版

2022-03-18

计算机系统概论(原书第二版)习题答案第二章

第二章部分习题答案英文版

2022-03-18

计算机系统概论(原书第二版)习题答案第四章

部分英文版

2022-03-18

计算机系统概论(原书第二版)习题答案第五章

部分英文版

2022-03-18

计算机系统概论(原书第二版)习题答案第七章

部分英文版

2022-03-18

计算机系统概论(原书第二版)习题答案第一章

第一章部分英文版

2022-03-18

人工智能之回溯法python求解9X9数独

给出求解9*9数独至少一种搜索方法(回溯、爬山、模拟退火,束搜索、遗传算法),并分析其算法的性能(四个搜索算法评价指标)。 答: 回溯: 深度优先搜索+变量分配,即每次分配一个变量+约束检查,即考虑与前面分配不冲突的变量值。 深度优先搜索: 变量分配: 约束检查: 完备性:具有完备性。 最优性:具有最优性。 时间复杂度:O(n!)。 空间复杂度:O(n)。 python代码见附件。

2023-01-06

如何用matlab画球

下面说说怎么画的? 先普及一点matlab函数铺垫一下,再给代码。 figure figure用来生成一个窗口。 sphere sphere函数用于生成单位球面的 x,y,z 的坐标。 默认生成 20 x 20 个面的球面。 我们来看看下面的非常简洁的代码会生成什么东西? figure sphere 它就会生成这个球: 上面是默认20X20的面的球 我们再来看看下面同样简洁的代码会生成什么东西? figure sphere(50) 聪明的你应该已经想到这个是50X50的球面。 嗯,看样子应该是默认调用surf画的,这种风格的球。 为了给出我们第一个图的代码,我们还需要学习sphere的一个功能。 [X,Y,Z] = sphere 这个是在三个矩阵内存储球面的坐标。 mesh mesh(x,y,z) 生成x、y和z指定的三维网格图。

2023-01-06

蓝桥杯C/C++省赛:排它平方数

小明正看着 203879 这个数字发呆。 原来,203879 * 203879 = 41566646641 这有什么神奇呢?仔细观察,203879 是个6位数,并且它的每个数上的数字都是不同的,并且它平方后的所有数位上都不出现组成它自身的数字。 具有这样特点的6位数还有一个,请你找出它! 再归纳一下筛选要求: 1. 6位正整数 2. 每个数位上的数字不同 3. 其平方数的每个数位不含原数字的任何组成数位 答案是一个6位的正整数。 思路分析 暴力解决: 从最小的102345到最大的987654之间的六位数进行遍历,查找满足题意的数。 我们需要写两个函数,一个是判断这个6位正整数里面有没有相同的数字,另一个用来判断平方数的每个数位包不包含原数字的任何组成数位。 第一个函数: 先把六位数变成字符串,用string的to_string()函数可以搞定,然后两层循环去找相同元素。 第二个函数: 先把数都变成字符串,然后依次判断平方数里面有没有原数字的组成数位。 这里必须注意,不仅仅平方数需要用long long来存储,原数字也需要用long long来存储,如果是用int或者lo

2023-01-06

如何用Python画一个简单的笑脸

Python画画,必不可少的要用到小乌龟turtle库函数。 对所用到的函数进行说明一下: from turtle import * #包含turtle库里面所有的函数,这样写可以不用标名 hideturtle()#隐藏小乌龟画笔 pensize(10)#设定笔的大小 screensize(600,600)#设定画布大小 speed(10)#设定画画速度 left(150)#向左转150° color('#FFE4E1')#设定颜色 penup()#起笔 pendown()#落笔 goto(-150,-20)#小乌龟跑到这个坐标 begin_fill()#填充颜色 end_fill()#结束填充颜色 circle(40)#画圆圈 done()#不要自动关闭画布窗口 还有就是,由于小乌龟都是按照精确的步长来跑的,所以一定要事先在坐标上确定好要画的图案的各个部分在坐标的相对位置,那一波参数可以根据画画的表现进行修改,我也是边画边凭感觉改参数的。

2023-01-06

奥特曼打怪兽.cpp 源码

大作业2 类的实现 一、实验目的 1. 掌握类的实现 2. 掌握对象的生成和初始化 3. 掌握构造函数、拷贝构造函数和析构函数的定义和实现 4. 掌握类成员函数调用的方法 5. 阅读并理解程序代码 6. 编程工具的使用 二、实验内容 在奥特曼的世界,打怪兽就是全部。现在人人都有机会成为奥特曼,加入到与怪兽无止境的战斗中。可惜,并非人人生来就是英雄,革命尚未成功,同志仍需努力啊。每一个奥特曼都要从零开始,辛勤劳动,打怪升级,最终才能成为举世瞩目的大英雄。 每个奥特曼的等级(rank)都从第一级开始,随着它打怪兽经验(exp)的增加,等级将不断攀升。随着等级的升高,奥特曼的生命值(hp)上限和攻击力(damage)也将大大增强。在与怪兽的战斗中,奥特曼收获的不仅仅是经验。有时,运气好的话,还能从怪兽身上弄到点小钱(money)。不要小看这些钱,关键时刻,它能给奥特曼买药补血呀。奥特曼没有金刚不坏之身,在与怪兽的战斗中,奥特曼会受到伤害。一旦奥特曼的生命值降到0,它英雄的一生就结束了。 好了,了解了奥特曼的基本情况,现在可以开始战斗了。首先,我们需要一位全新的奥特曼(Outman),我们给它

2022-05-13

面向对象程序设计-奥特曼打怪兽

大作业2 类的实现 一、实验目的 1. 掌握类的实现 2. 掌握对象的生成和初始化 3. 掌握构造函数、拷贝构造函数和析构函数的定义和实现 4. 掌握类成员函数调用的方法 5. 阅读并理解程序代码 6. 编程工具的使用 二、实验内容 在奥特曼的世界,打怪兽就是全部。现在人人都有机会成为奥特曼,加入到与怪兽无止境的战斗中。可惜,并非人人生来就是英雄,革命尚未成功,同志仍需努力啊。每一个奥特曼都要从零开始,辛勤劳动,打怪升级,最终才能成为举世瞩目的大英雄。 每个奥特曼的等级(rank)都从第一级开始,随着它打怪兽经验(exp)的增加,等级将不断攀升。随着等级的升高,奥特曼的生命值(hp)上限和攻击力(damage)也将大大增强。在与怪兽的战斗中,奥特曼收获的不仅仅是经验。有时,运气好的话,还能从怪兽身上弄到点小钱(money)。不要小看这些钱,关键时刻,它能给奥特曼买药补血呀。奥特曼没有金刚不坏之身,在与怪兽的战斗中,奥特曼会受到伤害。一旦奥特曼的生命值降到0,它英雄的一生就结束了。 好了,了解了奥特曼的基本情况,现在可以开始战斗了。首先,我们需要一位全新的奥特曼(Outman),我们给它

2022-05-13

面向对象程序设计-类的设计与实现-实验报告

大作业1 类的设计与实现 一、实验目的 1. 掌握类的设计与实现 2. 了解如何根据描述发现类及其成员,具备初步的面向对象分析与设计能力 二、实验内容 1. 请选择一个你所熟悉的游戏,分析其中的某个场景所涉及的类,及其各个类的属性和行为,完成类的定义。 2. 请选择该游戏的一个简单的游戏过程,分析其中涉及的对象及其对象之间的交互,完成该过程的游戏过程框架。 三、实验结果 请用文字描述分析过程,以伪代码的形式给出类定义和游戏框架,以“学号+姓名”命名后,上传至BlackBoard—网上作业栏目--大作业1。 四、实验过程 选择描述王者荣耀里面打野的简单化过程,其中涉及到两个类,一个是英雄,一个是野怪。 对于英雄这个类,定义其属性有生命值、等级、经验和伤害,其行为是打怪过程中生命值会因为受到野怪伤害而减少,同时自身经验也会增加,经验增加到一定程度英雄等级会提升,等级提升会强化自身生命值和伤害。 对于野怪这个类,定义其属性有生命值和伤害,其行为是过程中生命值会因为收到英雄伤害而减少。 五、代码实现 //类界面 class hero//定义英雄类 { private: int hp;

2022-05-13

大学物理实验-实验报告-太阳能电池的特性测量

一、实验目的 1、了解光伏效应的基本原理。 2、测定太阳能电池的输出特性、开路电压和短路电流。 3、讨论输出功率和负载电阻的关系。 二、实验原理 1、太阳能电池 太阳能电池(也称光伏电池),是将太阳光辐射能直接转换为电能的器件。 把一定数量的器件根据需求组合起来,即构成常见的光伏发电系统。 2、PN结 PN结是最简单的太阳能电池器件,内部存在由正、负离子的扩散引起的内建电场。当有光照射时,若光子能量大于半导体能隙,则会产生电子-空穴对,在内建场的作用下朝PN结的两端运动,产生光生电流IS。两端的电荷积累产生了光电池的端电压U。同时,PN结内部在U的作用下会引起反向电流ID,开路状态时会与IS达到平衡。实际测量的光电池的电流是IS与ID之差,即 I=IS(ϕ)−ID(U)………………(1) 光生电流IS的大小是由PN结“搬运”电子的能力决定的,取决于材料内部的电势分布ϕ。反向电流ID的大小则取决于光电池的端电压U。当器件处于开路状态时端电压最大,即开路电压U0。当器件短路时端电压为零,此时电流有最大值IS(短路电流)。因此可以在电路中接入一个负载电阻R,通过调节R的大小由0(短路)到无

2022-05-13

计算机系统1 汇编语言编程 成绩排序 代码

一、实验目的与要求 (1)分析和理解实验指定的问题。 (2)利用LC-3的汇编代码设计实现相关程序。 (3)熟练掌握循环、分支程序设计方法。 二、实验内容与方法 1、背景 16名学生成绩排序,及统计分析。 成绩分类规则: A:全班排名前25%,且成绩在85分及以上。 B:非A成绩,全班排名前50%,且成绩在75分及以上。 C:非A、B成绩。 2、要求 使用LC-3汇编语言,编写程序实现以上功能。 输入 16名学生成绩,存储于x3200至x320F。 每个成绩为0至100之间,由16比特无符号整数表示。 输出 成绩降序排序,并存储于x4000至x400F内存位置,x4000位置成绩为最高成绩。 得A、B成绩的学生总人数,分别存储于x4100,及x4101位置。 三、实验步骤与过程 (依照实验内容,逐条撰写实验过程与实验所得结果:包括程序总体设计,核心数据结构及算法流程,调试过程。请附上核心代码,及注意格式排版的美观。实验提交时,以上为评分依据,请不删除本行) 程序总体设计 核心数据结构 1、数据搬移 R0存储原数据首地址x3200,R1存储排序后数据存储的首地址x4000,R2的值

2022-05-07

计算机系统1-实验报告-LC-3汇编语言求成绩等级

一、实验目的与要求 (1)分析和理解实验指定的问题。 (2)利用LC-3的汇编代码设计实现相关程序。 (3)熟练掌握循环、分支程序设计方法。 二、实验内容与方法 1、背景 16名学生成绩排序,及统计分析。 成绩分类规则: A:全班排名前25%,且成绩在85分及以上。 B:非A成绩,全班排名前50%,且成绩在75分及以上。 C:非A、B成绩。 2、要求 使用LC-3汇编语言,编写程序实现以上功能。 输入 16名学生成绩,存储于x3200至x320F。 每个成绩为0至100之间,由16比特无符号整数表示。 输出 成绩降序排序,并存储于x4000至x400F内存位置,x4000位置成绩为最高成绩。 得A、B成绩的学生总人数,分别存储于x4100,及x4101位置。 三、实验步骤与过程 (依照实验内容,逐条撰写实验过程与实验所得结果:包括程序总体设计,核心数据结构及算法流程,调试过程。请附上核心代码,及注意格式排版的美观。实验提交时,以上为评分依据,请不删除本行) 程序总体设计 核心数据结构 1、数据搬移 R0存储原数据首地址x3200,R1存储排序后数据存储的首地址x4000,R2的值

2022-05-07

大学物理实验-实验报告-不良导体热导率的测量.doc

一、实验目的 1. 了解热传导现象的物理过程。 2. 学习用稳态平板法测量不良导体的热导系数。 3. 测量铜盘的散热速率。 二、实验原理 1、导热系数简介 导热系数(又叫热导率)是反映材料导热能力大小的物理量。 热传导是热交换的三种基本形式(热传导、热对流和热辐射)之一。 材料内部热量的传递载体有两种:原子围绕平衡位置的振动以及自由电子的迁移。 在金属中电子和晶格振动均起重要作用,在绝缘体和大部分半导体(不良导体)中晶格振动起主导作用。 因此,材料的导热系数不仅与材料的物质种类相关,还与材料的微观结构、温度、压力及杂质含量有关。在科学实验和工程设计中,所用材料的导热系数都需要用实验的方法精确测定。 当物体内部有温度梯度存在时,就有热量从高温处传递到低温处。在dt时间内通过横截面积ds的热量dQ,正比于物体内的温度梯度,其比例系数即导热系数: ………………(1) 式中 为传热速率, 为传热方向上的温度梯度,负号表示热量由高温区流向低温区域, 是导热系数,单位是 。对于各向异性材料,各个方向的导热系数不相同,因此热导率常用张量来表示。 2、热导系数的测量 不良导体热导系数测量装置的原

2022-05-07

英语4级单词汇总Excel表

四级单词词汇

2022-04-23

大学物理实验-实验报告-碰撞实验

一、实验目的 验证动量守恒定律。 二、实验原理 1、动量守恒定律 如果一个系统所受的合外力为零,则该系统总动量保持不变,这一结论称为动量守恒定律。 本实验研究两滑块在气垫导轨上做水平方向上对心碰撞,可以近似认为两滑块组成的系统在水平方向上所受合外力为零,故系统在水平方向上动量守恒。 设两滑块的质量分别为 和 ,碰撞前他们的速度分别为 和 ,碰撞后的速度分别为 和 ,由守恒定律有: ………………(1) 完全弹性碰撞:碰撞前后系统的动量守恒,机械能也守恒。 非完全弹性碰撞:动量守恒,少部分机械能转化为内能(损耗)。 完全非弹性碰撞:动量守恒,碰撞后黏在一起,机械能损失较多。 本实验中,两滑块在气垫导轨上碰撞。相碰端装有弹性极好的缓冲弹簧片,滑块相碰时弹簧片先发生弹性形变而后又迅速恢复原状,并将滑块弹开,系统机械能近似无损失,即 ………………(2) 恢复系数 : ………………(3) 碰撞后与碰撞前两物体的相对速度之比。 描述了碰撞前后速度的变化,其大小只与碰撞物体的材料有关。 通常可以根据恢复系数对碰撞进行分类: 1. ,即 ,为完全非弹性碰撞 2. ,即 ,为完全弹

2022-04-23

计算机系统-实验报告-LC-3机器码编程实验

一、实验目的与要求 (1)分析和理解实验指定的问题。 (2)利用LC-3的机器代码设计实现相关程序。 (3)通过LC-3仿真器调试和运行相关程序并得到正确的结果。 二、实验内容与方法 利用LC-3的机器代码计算一个16位的字中有多少位是‘1’。 程序从x3000开始。 需计算的字存储在x3100。 计算的结果存储在x3101。 三、实验步骤与过程 (依照实验内容,逐条撰写实验过程与实验所得结果:包括程序总体设计,核心数据结构及算法流程,调试过程。请附上核心代码,及注意格式排版的美观。实验提交时,以上为评分依据,请不删除本行) 程序总体设计及算法流程 问题是计算一个16位的字中有多少位是‘1’,初步思考一下,解决这个问题需要进行计数,判断是不是‘1’,以及一个16次的循环。做出流程图如图1所示。 用R0作为计数器,R1控制循环的次数,R2存储需要判断的字。 先用AND指令让R0和R1赋值为0,接着需要让R1的值为16,因为ADD指令的立即数寻址模式imm5只能表示-16到15,所以不能直接把16赋值给R1,我的方法是先把8赋值给R1,即用ADD指令让R0=R0+8,之后用ADD指令让

2022-04-20

大学物理实验-实验报告-偏振光的观察与研究

一、实验目的 1. 了解光的横波性。 2. 了解光的几种偏振态。 3. 掌握起偏检偏的方法,验证马吕斯定律。 4. 研究1/4和1/2波片对偏振光的影响。 二、实验原理 3.1光的偏振性 光是电磁波,电磁波是横波,横波具有一个纵波没有的特性—偏振。 3.2光的偏振状态 1、自然光: 在与光传播方向垂直的平面内,光矢量沿各个方向的平均值相等。 普通光源发的是自然光。 自然光可以分解成没有恒定相位差的互相垂直的两个光振动的传播。 2、偏振光: 自然光经过反射、吸收、折射后,可能会只保留某一方向的光振动或振动在某一方向较强,即偏振光。 (1)线偏振光:振动只在某一方向上。 (2)部分偏振光:振动在某一方向上比其他方向较强。 部分偏振光可分解为两束振动方向相互垂直的、不等幅的、不相干的线偏振光。 3.3 偏振片 起偏与检偏 1、偏振片: 有些有机晶体,如硫酸碘奎宁、电气石或聚乙烯醇薄膜在碘溶液中浸泡后,在高温下拉伸、烘干,然后粘在两个玻璃片之间就形成了偏振片。 偏振片有一个特定的方向(偏振化方向),只让平行与该方向的振动通过。 2、起偏: 光通过偏振片后变成偏振光。 自然光经过偏振

2022-04-20

大学物理实验-实验报告-热敏电阻温度特性研究

一、 实验目的 1. 了解惠更斯电桥的工作原理。 2. 学习测量室温下的电桥灵敏度。 3. 测量NTC热敏电阻—温度曲线。 4. 计算50°C时的电阻温度系数。 二、 实验原理 热敏电阻 热敏电阻是电阻值对温度非常敏感的一种电阻器。 热敏电阻从材料分: 1、半导体热敏电阻材料 此类材料有单晶半导体、多晶半导体、玻璃半导体、有机半导体以及金属氧化物等。它们均具有非常大的电阻温度系数和高的电阻率。 2、金属热敏电阻材料 此类材料作为热电阻测温、限流器以及自动恒温加热元件均有较为广泛的应用。如铂电阻温度计、镍电阻温度计、铜电阻温度计等。 3、 合金热敏电阻材料 合金热敏电阻材料亦称热敏电阻合金。这种合金具有较高的电阻率,并且电阻值随温度的变化较为敏感,是一种制造温敏传感器的良好材料。 热敏电阻按阻值随温度变化分类: 1、PTC(正温度系数):在工作温度范围内,电阻值随温度升高而增大,如铂电阻、铜电阻。 2、NTC(负温度系数):在工作温度范围内,电阻值随温度升高而减小。 NTC电阻的温度特性 NTC热敏电阻的电阻—温度关系: ………………(1) 其

2022-04-14

raptor数组实现斐波那契数列。

raptor编程软件数组实现斐波那契数列。

2022-04-14

raptor程序非数组Fibonacci数列

使用raptor编程软件实现斐波那契数列。

2022-04-14

UE5中输入移动的问题

2024-02-23

一个Java线程调度的问题,运行多次,三个线程打印字符 a b 和数字总是先输出完字母,再输出数字是为什么

2023-11-26

CSP202303-2垦田计划

2023-09-07

goland远程连接Linux开发每次调试都会生成调试文件,调试一次便多出一个文件,求解

2023-08-06

pnnx的graph rewriter有什么用

2023-07-19

如何在pnnx中实现logsoftmax和logsigmoid的转换到ncnn

2023-07-17

unity hub打不开

2022-10-20

现在pycharm好像不能使用Ctrl+Alt+L格式化排版了,有没有其他方式能让代码排版

2022-08-26

Java和Python的赋值运算符=是不是都是引用改名而已,不是值复制?

2022-08-25

问一下各位,C++的切片除了字符串、set、vector之外,还有什么可以切片呢

2022-08-10

用C++的STL的set可以解决子集问题吗?

2022-08-08

计算机系统概论问题进制黑箱问题

2022-03-18

为什么P型金属氧化半导体管gate是1时是断开的,而N型金属氧化半导体管gate是1时是连通的?

2022-03-11

浮点数标准在指数变换的时候为什么要加上127

2022-03-11

从右到左压栈到底是左边先进栈,还是右边先进栈,是先处理栈顶还是先处理栈底

2022-02-25

C语言 谁能解释一下这个问题

2022-02-24

快速排序中的问题,疑惑,待求解

2022-02-10

为什么当月拿了117分,但总分只有104分

2022-02-10

PAT 1015 德才论 代码运行超时

2022-01-30

代码有bug,编译器不报错,但运行起来连输入都不让输入,就直接结束了,不知道代码哪里有问题

2022-01-27

福尔摩斯的约会部分正确

2022-01-27

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

TA关注的人

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