自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(123)
  • 资源 (6)
  • 收藏
  • 关注

原创 C语言给定数字0-9各若干个。你可以以任意顺序排列这些数字,但必须全部使用。目标是使得最后得到的数尽可能小(注意0不能做首位)

输入在一行中给出 10 个非负整数,顺序表示我们拥有数字 0、数字 1、……整数间用一个空格分隔。10 个数字的总个数不超过 50,且至少拥有 1 个非 0 的数字。

2023-12-05 20:59:24 1434

原创 C语言结构体数组实现一个简单的登录注册功能

printf(" 1.登录 \n");printf(" 2.注册 \n");printf(" 3.退出 \n");printf("密码错误重新输入!printf("请输入密码:\n");printf("退出成功 \n");printf("错误信息\n");printf("请输入账号:\n");printf("请输入账号:\n");printf("请输入密码:\n");printf("注册成功\n");

2023-11-28 10:53:27 1601

原创 java web+Mysql e-life智能生活小区物业管理系统

d) 物业报修:用户发现小区的公共设施损坏之后,可登录系统进入物业维修模块,用户上传公共设施的照片和位置,并说明损坏原因,管理员审核之后,系统将通知物业部门派人维修。3. 小区服务模块:住户在小区服务模块中可以接收邮包提醒,预约上门取件,从超市订购送货,向物业提交小区内公共设施报修或提交家电报修请求,进行物业缴费。4. 小区资讯模块:用户可以在小区资讯模块查看物业紧急通知和小区内最新资讯,可以进入小区论坛浏览其他住户发表的帖子。a) 用户登录:用户登录时,提供如下方法:用户输入账号密码进行登录。

2023-09-30 10:05:34 1212

原创 操作系统考试复习-—第四章 分段式 段页式存储方式

分段从存储管理方式:一方面是通常的程序都可以分为若干段,另一方面是实现和满足信息共享,信息保护,动态链接以及信息的动态增长等需要。也都是以段为基本单位实现的。所以说,分段存储管理方式更符合用户和程序员多方面的需要。分段存储管理方式的引入1.方便编程。通常,用户把自己的作业按照逻辑关系划分为若干个段。程序员们都迫切地需要访问的逻辑地址是由段名(段号)和段内偏移量(段内地址)决定的。 2.信息共享。实现对程序和数据的共享时,是以信息的逻辑单位为基础的。分页系统中的“页”只是存放信息的物理单位(块),并无完整的

2023-05-09 15:33:15 751 1

原创 操作系统考试复习——第四章 对换 分页存储管理方式

③若传送成功,便可回收该进程所占的内存空间,并对该进程的PCB和内存分配表等进行相应的修改,若还有可换出进程,则继续换出,直至内存中再无阻塞进程为止。直到外存中再无“就绪且换出”状态的进程为止,或者已无足够的内存来换入进程时,对换进程停止换入。页面太小的话就会使进程的页面数太多,这样页表就会太长,占有大量内存,而且也会增加硬件地址转换的开销,降低页面换入/换成的效率。1)选择被换出的进程。以进程的一个“页面”或“分段”为单位进行的,分别称为“页面对换”、“分段对换”,又统称为“部分对换”。

2023-05-07 16:17:44 1555

原创 操作系统考试复习——第四章 4.3连续分配存储管理方式

与一次分配可能要进行多次分割一样,一次回收也可能要进行多次合并,如回收大小为 2^i的空闲分区时,若事先已存在回收块所对应的2^i伙伴块的空闲分区时,则应将其与伙伴分区合并为大小为2^(i+1)的空闲分区,若事先已存在新合并空闲块对应的2^(i+1)伙伴块的空闲分区时,依次类推合并。将两个回收区与空闲区合并的容量大小为新的空闲区的容量大小,新的空闲区在空闲链表中的地址使用之前空闲区1的地址。将回收区与空闲区合并的容量大小为新的空闲区的容量大小,新的空闲区在空闲链表中的地址使用之前回收区的地址。

2023-05-07 10:44:39 685

原创 操作系统考试复习——第四章 存储器管理 4.1 4.2

根据程序执行的局部性原理(即程序在执行时将呈现出局部性规律,在一较短的时间内,程序的执行仅局限于某个部分),将主存中一些经常访问的信息存放在高速缓存中。值得注意的是,在采用可重定位装入程序将装入模块装入内存后,会使装入模块中的所有逻辑地址与实际装入内存的物理地址不同。这是因为在由编译程序所产生的所有目标模块中,使用的都是相对地址,其起始地址都为 0,每个模块中的地址都是相对于起始地址计算的。2)链接,由链接程序将编译后形成的一组目标模块,以及它们所需要的库函数链接在一起,形成一个完整的装入模块。

2023-05-06 20:46:42 663

原创 操作系统考试复习——第三章 预防死锁 避免死锁

按此规则,已持有大编号资源的进程不可能逆向地回来申请小编号的资源,从而就不会产生循环等待的现象。避免死锁也是属于事先预防的策略,但并不是事先采取某种限制措施,破坏产生死锁的必要条件,而是在资源动态分配的过程中,防止系统进入不安全状态,以避免发生死锁。在T0时刻的安全性:利用安全性算法对T0时刻的资源分配情况进行分析可知,在T0时刻存在一个安全序列{P1,P3,P4,P2,P0},故系统是安全的。当某个进程请求新的资源得不到满足时,它必须立即释放保持的所有资源,待以后需要时再重新申请。

2023-05-05 20:44:37 1257

原创 操作系统考试复习—第三章 优先级倒置 死锁问题

死锁问题的定义:在一组进程发生死锁的情况下,这组死锁进程中的每一个进程,都在等待另一个死锁进程所占用的资源.或者说每个进程所等待的事件是该组中其他进程释放所占有的资源。把低优先级任务的优先级升高,让CPU优先并尽快执行完该低优先级任务,执行完时将其优先级再降至原优先级,并释放资源,原本的高优先级任务拿到资源后则可以抢占CPU并执行。2.请求保持条件:进程已经保持了至少一个资源,但又提出了新的资源请求,而该资源已被其他进程占有,此时请求进程被堵塞,但对自己已获得的资源保持不放。简言之,优先级继承就是。

2023-05-05 11:17:28 1014

原创 操作系统考试复习——第三章 进程调度和实时调度

B1执行10ms后,B1的松弛度=50ms-25ms-20ms=5ms,A2的松弛度=40ms-10ms-20ms=10ms,继续执行B1;A1执行完后,B1的松弛度=50ms-25ms-10ms=15ms,A2的松弛度=40ms-10ms-10ms=20ms,执行B1;t=0s时,A1的松弛度=20ms-10ms-0ms=10ms,B1的松弛度=50ms-25ms-0=25ms,先执行A1;是根据任务的截至时间确定任务的优先级,任务的截至时间越早,优先级越高。具有最早截止时间的任务排在队列的队首。

2023-05-04 22:39:00 959

原创 操作系统考试复习—第三章 处理机调度

每当有进程加入就绪队列改变时就需要调度,如果新到达的进程剩余时间比当前运行的进程剩余时间更短那么就会强占。在批处理系统中先来先服务算法考虑的是进程的等待时间没有考虑运行时间,而短作业优先则只是考虑了进程的运行时间而没有考虑进程的等待时间。随着等待时间的增大响应比就会增大所以就可以解决了饥饿问题,而运行时间越短响应比也是越大所以短作业也是优先的。又称为进程调度和短进程调度,它的调度对象是进程。又称为长程调度或作业调度,它的调度对象是作业。短作业优先是值的是优先将短的进程先进行执行,进程越短优先级越高。

2023-05-02 19:58:43 740

原创 操作系统考试复习——第二章 2.5 进程同步的经典问题

我们在这种情况下设置一个用来记录读者数量的readcount的变量根据读者的数量来进行判读如果读者的数量>0那么这时只可以进行读者的访问写者的访问时不可以的每一次进行对写者的操作时都需要我们先判断readcount的数值。P(mutex)和V(mutex)实现进程的互斥访问,P(empty)实现让缓冲区没满作为生产者生产的前操作,即当empty=0时即无空闲缓冲区数量时,让消费者消费作为生产者生产的前操作。在读者—写者问题当中,只读该文件的进程称为读者进程,其他进程称为写者进程。这时候就会出现死锁的现象。

2023-04-27 20:51:53 476

原创 操作系统考试复习——第二章 进程控制 同步与互斥

1.空闲让进:当无进程处于临界区,表明临界资源处于空闲状态,应允许一个请求进入临界区的进程立即进入自己的临界区,以有效地利用临界资源。2.忙则等待:当已有进程进入临界区时,表明临界资源正在被访问,因而其他试图进入临界区的进程必须等待,以保证对临界资源的互斥访问。当一个进程进入临界区使用临界资源时另一个进程必须等待,当占用临界资源的进程退出临界区后,另一个进程才允许访问此临界资源。4.让权等待(这里的权指的是cpu):当进程不能进入自己的临界区时,应立即释放处理机,以免进程陷入"忙等"状态。

2023-04-27 17:05:55 753

原创 操作系统考试复习—第二章 2.1 2.2程序和进程的描述

创建态—>静止就绪:当前OS的当前资源状况和性能不允许,不分配给新建进程所需的资源(创建工作只完成第一步),此时进程处于静止就绪状态,被调至到外存中,不参与调度,此时创建工作尚未完成。对任何一个时刻而言,在单处理机系统中只有一个进行处于执行状态,在多处理机进程中可以有多个进程处于执行状态。就是指进程已经处于准备好的状态,进程已经分配到了除了CPU以外的任何资源只需要得到CPU就可以进行执行了。就是指正在执行的进程由于发生某事件如(I/O请求)暂时无法继续执行的状态,亦即进程的执行收到阻塞。

2023-04-25 16:52:46 433

原创 操作系统考试复习——第一章

4.实时系统,是指系统能及时响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行。2.实时系统的类型:1)工业(武器)控制系统 2)信息查询系统 3)多媒体系统 4)嵌入式系统。1虽然系统对作业的处理是成批进行的,但是内存中始终只保持一道作业,故称为单道批处理系统。3.实时任务的类型:周期性实时任务和非周期性实时任务,硬实时任务和软实时任务。1.文件存储空间的管理 2.目录管理 3.文件的读/写管理和保护。1.实时系统最主要的特征,是将时间作为关键参数。

2023-04-24 10:57:20 439

原创 计算机网络考试复习——第五章

TCP 连接的端点是抽象的套接字,即(IP 地址:端口号)。TCP 是面向连接的运输层协议,在无连接的、不可靠的 IP 网络服务基础之上提供可靠交付的服务。TCP 不保证接收方应用程序所收到的数据块和发送方应用程序所发出的数据块具有对应大小的关系。若 B 所发送的对 M1 的确认丢失了,那么 A 在设定的超时重传时间内将不会收到确认,因此 A 在超时计时器到期后重传 M1。5.2)面向字节流:虽然应用程序和 TCP 的交互是一次一个数据块,但 TCP 把应用程序交下来的数据看成仅仅是一连串无结构的字节流。

2023-04-19 16:38:44 416

原创 计算机网络考试复习——第4章 4.6

(3) 若存储器的带宽(读或写)为每秒 M 个分组,那么路由器的交换速率(即分组从输入端口传送到输出端口的速率)一定小于 M/2。把从某个输入端口收到的分组,按照分组要去的目的地(即目的网络),把该分组从路由器的某个合适的输出端口转发给下一跳路由器。路由选择:按照路由选择算法,根据网络拓扑的变化情况,动态地改变所选择的路由,并由此构造出整个的路由表。路由器到直接连接的网络的距离 = 1。(1) 修改 RIP 报文中的所有项目(即路由):把“下一跳”字段中的地址都改为 X,并把所有的“距离”字段的值加 1。

2023-04-18 21:53:35 960

原创 计算机网络复习——第4章 4.2.3 4.2.4 4.3

为进一步减少 ARP 通信量,主机 A 在发送其 ARP 请求分组时,就将自己的 IP 地址到 MAC 地址的映射写入 ARP 请求分组。当主机 B 收到 A 的 ARP 请求分组时,就将主机 A 的 IP 地址及其对应的 MAC 地址映射写入主机 B 自己的 ARP 高速缓存中。硬件地址、物理地址。IP 地址放在 IP 数据报的首部, MAC 地址则放在 MAC 帧的首部。首部长度:占 4 位,可表示的最大数值 是 15 个单位(一个单位为 4 字节), 因此 IP 的首部长度的最大值是 60 字节。

2023-04-18 20:30:26 1367

原创 计算机网络考试复习——第四章 4.1 4.2.1 4.2.2

互联网采用的设计思路: 网络层要设计得尽量简单,向其上层只提供简单灵活的、无连接的、尽最大努力交付的数据报服务。网络层不提供服务质量的承诺。消除了传统的 A 类、B 类和 C 类地址以及划分子网的概念,可以更加有效地分配 IPv4 的地址空间,但无法解决 IP 地址枯竭的问题。当一台主机同时连接到两个网络上时,该主机就必须同时具有两个相应的 IP 地址,其网络号必须是不同的。按照互联网的观点,一个网络(或子网)是指具有相同网络前缀的主机的集合。(4) 在 IP 地址中,所有分配到网络前缀的网络都是平等的。

2023-04-18 16:48:03 1027

原创 计算机网络考试复习——第三章 3.3

为了实现一对一通信,将接收站的硬件地址写入帧首部中的目的地址字段中。IEEE 802 标准为局域网规定了一种 48 位的全球地址(简称为地址)是指局域网上的每一台计算机中固化在适配器的 ROM 中的地址。上述退避算法可使重传需要推迟的平均时间随重传次数而增大(称为动态退避),因而减小发生碰撞的概率,有利于整个系统的稳定。以太网最大端到端单程时延必须小于争用期的一半 (即 25.6 μs),相当于以太网的最大端到端长度约为 5 km。A 需要单程传播时延的 2 倍的时间,才能检测到与 B 的发送产生了冲突。

2023-04-18 10:53:39 521

原创 计算机网络考试复习——第三章 3.1 3.2

最后释放的是物理层的连接。这里的计算要特别注意,和我们平常的计算是不一样的,不是单纯的一个除法是模2除法。2,得到的 (k + n) 位的数除以事先选定好的长度为 (n + 1) 位的除数 P,得出商是 Q ,余数是 R,余数 R 比除数 P 少 1 位,即 R 是 n 位。如果数据中的某个字节的二进制代码恰好和 SOH 或 EOT 一样,数据链路层就会错误地“找到帧的边界”,导致错误。即:“凡是接受的帧(即不包括丢弃的帧),我们都能以非常接近于 1 的概率认为这些帧在传输过程中没有产生差错”。

2023-04-09 17:53:38 387

原创 Linux的vi编辑器常见命令总结

通过输入vi的插入命令( i )、附加命令( a )、打开命令(o)、替换命令( s )、修改命令( c )或取代命令( r )可以从命令方式进入到输入方式。输入 I 命令后在当前行(即光标所在行)的行首插入新增文本,行首是该行的第一个非空白字符。R命令用随后打入的文本取代光标位及其右面的若干字符,每打入一个字符就替代原有的一个字符。当完成对第一个文件的编辑及存盘(用:w命令)后,输入命令:n就进入第二个文件。:wq 把编辑缓冲区的内容写到你编辑的文件中,退出编辑器,回到 shell下。

2023-04-09 10:53:56 5831

原创 计算机网络复习——第二章 2.4

当码分复用 CDM (Code Division Multiplexing) 信道为多个不同地址的用户所共享时,就称为码分多址 CDMA (Code Division Multiple Access)。1->00011011 0->11100100 码片序列:(–1 –1 –1 +1 +1 –1 +1 +1)每一个用户所占用的时隙是周期性地出现(其周期就是TDM帧的长度)的。每个站分配的码片序列:各不相同,且必须互相正交 (orthogonal)。一个码片向量和该码片反码的向量的规格化内积值是 –1。

2023-04-08 21:05:19 400

原创 计算机网络复习——第二章 2.3

(1) 相邻站之间必须直视(常称为视距 LOS (Line Of Sight)),不能有障碍物,存在多径效应。(1) 微波波段频率很高,频段范围很宽,其通信信道的容量很大。(3) 与相同容量和长度的电缆载波通信比较,微波接力通信建设投资少,见效快,易于实施。单模光纤 其直径减小到只有一个光的波长(几个微米),可使光线一直向前传播,而不会产生多次反射。数十至数百根光纤, 加强芯和填充物, 必要时还可放入远供电源线, 最后加上包带层和外护套。优点:通信容量大,通信距离远,通信比较稳定,通信费用与通信距离无关。

2023-04-08 19:25:45 369

原创 Linux常见命令总结

说明:该命令一次显示一屏文本,满屏后停下来,并且在屏幕的底部出现一个提示信息,给出至今已显示的该文件的百分比:--More--(XX%)[Press space to continue,'q' to quit.]说明:touch命令将会修改指定文件的时间标签,把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来。如果给出的参数是文件,将列出有关该文件属性的一些信息。注意:符号链接文件不是一个独立的文件,它的许多属性依赖于源文件,所以给符号链接文件设置存取权限是没有意义的。

2023-04-07 21:52:58 469

原创 计算机网络考试复习——第二章 2.1 2.2

信道的极限容量:任何实际的信道都不是理想的,都不可能以任意高的速率进行传送。码元传输的速率越高,或信号传输的距离越远,或噪声干扰越大,或传输媒体质量越差,在接收端的波形的失真就越严重。模拟信号 (analogous signal):代表消息的参数的取值是连续的。数字信号 (digital signal):代表消息的参数的取值是离散的。带通调制:使用载波 (carrier)进行调制,把基带信号的频率范围搬移到较高的频段,并转换为模拟信号。限制码元在信道上的传输速率的两个因素: 信道能够通过的频率范围。

2023-04-07 20:48:43 254

原创 计算机网络考试复习——第一章 1.7

两个具体任务: 路由选择:通过一定的算法,在互联网中的每一个路由器上,生成一个用来转发分组的转发表。UDP (User Datagram Protocol): 提供无连接的尽最大努力 (best-effort) 的数据传输服务(不保证数据传输的可靠性)。网络的体系结构 (Network Architecture) 是计算机网络的各层及其协议的集合,就是这个计算机网络及其构件所应完成的功能的精确定义(不涉及实现)。ARPANET 的研制经验表明:对于非常复杂的计算机网络协议,其结构应该是层次式的。

2023-04-07 10:40:53 338

原创 计算机网络考试复习——第一章 1.5 1.6

计算机网络主要是由一些通用的、可编程的硬件互连而成的,而这些硬件并非专门用来实现某一特定目的(例如,传送数据或视频信号)。这些可编程的硬件能够用来传送多种不同类型的数据,并能支持广泛的和日益增长的应用。最重要的一个性能指标。是主机或路由器发送数据帧所需要的时间,也就是从发送数据帧的第一个比特算起,到该帧的最后一个比特发送完毕所需的时间。时域:网络中某通道传送数据的能力,表示在单位时间内网络中的某信道所能通过的“最高数据率”。指数据(一个报文或分组,甚至比特)从网络(或链路)的一端传送到另一端所需的时间。

2023-04-05 20:43:09 1212 1

原创 计算机网络考试复习——第一章 1.3

每一部电话都直接连接到交换机上,而交换机使用交换的方法,让电话用户彼此之间可以很方便地通信。计算机数据具有突发性,这导致在传送数据时,通信线路的利用率很低,真正用来传送数据的时间往往不到 10%,甚至不到 1%,已被用户占用的通信线路资源在绝大部分时间里都是空闲的。处在互联网边缘部分的就是连接在互联网上的所有的主机。3.由于一个分组的长度往往远小于整个报文的长度,因此分组交换比报文交换的时延小,同时也具有更好的灵活性。客户与服务器的通信关系建立后,通信可以是双向的,客户和服务器都可发送和接收数据。

2023-04-04 16:36:38 474

原创 燕山大学Linux实验shell程序设计

这个题目考察的就是一个数组的使用。这个问题就是也是同样的道理先利用位置参数得到目录然后通过cd命令先转移到所在的目录然后也是shift命令移动一位利用for循环进行一个遍历在遍历的过程中进行pr命令打印。这个核心就是一个判断语句,进行输入一个年份然后进行判断,只要它是4的倍数并且不是100的倍数或者是400的倍数即可判断是闰年,这里-a相当于&&-o相当于||。这个题目主要是对执行的位置参数进行的一个操作,将位置参数从0到9进行输出同时也有shift命令,移动1位和移动4位的移动后的显示但是。

2023-03-30 18:25:08 1155

原创 C语言实现99乘法表

我们可以看到每一行乘数都是从1开始最后到该行的行数结束,被乘数一直都是是该行的行数。所以我们很自然想到了利用两个循环一个从1开始到该行的行数结束另一个表示行数就从1到9即可。今日笔者在写shell程序实验时需要写一个99乘法表的程序,于是笔者想先写一个C语言的程序来找到思路再进行转换成shell程序的形式。i++){ //从1到这行的行数结束。//每一行输完需要进行一次换行处理。m++) //表示行数。

2023-03-26 18:28:29 1630

原创 操作系统——内存分配与回收

它要求空闲分区按照从大到小的顺序进行排序。使用空闲链表的数据结构来保存空闲区,不需要新建空闲链表节点、只需要将空闲区的容量增大为原来空闲区和回收区的容量之和即可(也就是将回收区包含进来)将两个回收区与空闲区合并的容量大小为新的空闲区的容量大小,新的空闲区在空闲链表中的地址使用之前空闲区1的地址。1.由于总是把最大的分区进行划分所以到最后系统中没有大的分区导致后面的大的进程无法分配相对应大小的空间。将回收区与空闲区合并的容量大小为新的空闲区的容量大小,新的空闲区在空闲链表中的地址使用之前回收区的地址。

2023-03-26 15:32:14 2270

原创 操作系统经典同步问题——读者-写者问题和哲学家进餐问题

我们在这种情况下设置一个用来记录读者数量的readcount的变量根据读者的数量来进行判读如果读者的数量>0那么这时只可以进行读者的访问写者的访问时不可以的每一次进行对写者的操作时都需要我们先判断readcount的数值。那么按照规定1,2号哲学家竞争1号筷子,3,4号哲学家竞争3号筷子,即所有哲学家都先竞争奇数号筷子再竞争偶数号筷子最终肯定有一个哲学家可以拿到两只筷子进餐。我们发现在这个问题当中,写者是和写者互斥的同时他也是跟读者互斥的所以我们可以知道它是一个对所有都互斥的进程。P(rmutex);

2023-03-23 17:40:10 461

原创 操作系统——银行家算法避免死锁问题

与上两个矩阵的关系:Max[i,j] - Allocation[i,j]= Need[i,j](2)如果Request i[j]≤Available[i,j]便可以进行步骤(3),否则认为它所申请的资源说明超过了现在系统中可以用的最大数量需要等待,Allocation[i,j]=Allocation[i,j]+Request i[j] 即现在该进行所被分配的资源需要加上请求的那一部分。Need[i,j]=Need[i,j]-Request i[j] 分配后现在这个进程所需要的资源需要减去请求的那一部分。

2023-03-23 16:06:01 1246

原创 操作系统经典问题——消费者生产者问题

P(mutex)和V(mutex)实现进程的互斥访问,P(empty)实现让缓冲区没满作为生产者生产的前操作,即当empty=0时即无空闲缓冲区数量时,让消费者消费作为生产者生产的前操作。P(mutex)和V(mutex)实现进程的互斥访问,V(empty)实现让缓冲区没满作为生产者生产的前操作,即当empty=0时即无空闲缓冲区数量时,让消费者消费作为生产者生产的前操作。V(full)实现让缓冲区不空作为消费者消费的前操作,即当full=0时即缓冲区全为空时,让生产者生产作为消费者消费的前操作。

2023-03-11 16:15:03 1190

原创 编译原理结课感言及课程设计LR(1)语法分析器

经过一学期的学习编译原理考试也是成功结束,学校安排的课程设计也圆满完成。编译原理我复习的资料写了很多最终也没有辜负努力吧成功拿到了A+的成绩。课程设计抽取到的题目是LR(1)语法分析器,刚开始对我来说确实不知道从哪里下手。最后也是通过自己查阅资料以及努力成功实现了LR(1)语法分析器的功能。 关于课程设计的部分,基于LR(1)的语法分析器。我采用的是C++的方法进行的书写跟大家分享一下。由于身体原因当时采用的是从文件中读取ACTION和GOTO表的方式,然后对输入进去的句子进行分析是采用上课

2023-01-02 09:18:35 596

原创 编译原理复习—8,9,10章最后一部分

与语义分析相关的工作静态语义检查• 编译期间所进行的语义检查− 动态语义检查• 所生成的代码在运行期间进行的语义检查: 例如:除零溢出错误− 收集语义信息• 为语义检查收集程序的语义信息• 为代码生成等后续阶段收集程序的语义信息静态语义分析静态语义检查− 代码生成前程序合法性检查的最后阶段• 静态类型检查(type checks)• 名字的作用域(scope)分析• 控制流检查(flow-of-control checks)• 唯一性检查(uniqueness ch

2022-11-21 21:38:48 268

原创 编译原理复习——符号表

符号表作为编译系统的重要组成部分,贯穿于文法分析、检查和语义处理的编译全过程在编译程序中符号表用来存放源程序中出现的有关名字的属性信息,这些信息集中反映了名字的语义特征属性。符号表总体结构的设计和实现下列因素有关源语言的复杂性(包括词法结构、语法结构的复杂性)对于编译系统在时间效率和空间效率方面的要求符号表中所登记的信息在编译不同阶段都要用到例如:在词法分析及语法分析过程中不断更新表中的信息在语义分析之前已经创建符号表,语义分析阶段写入名字属性信息另外,在词法分析到代码生成的各阶段则

2022-11-19 11:15:41 1775 1

原创 补码一位乘法(Booth算法)

3.被乘数X 一般取双符号位参与计算,并且让部分积初始值为0,长度与被乘数X相同,乘数Y 可取单符号位。在补码一位乘法的求解过程中我们需要的东西:[X]补,[Y]补以及被乘数的相反数的补码[-X]补。[X]补=11.0011 [-X]补=00.1101 [Y]=0.1011。4.开始计算时,乘数Y 末尾增设附加位(Yn+1),值为0。5.移位规则(移位看乘数后两位,部分积右移时补位看最高位)首先我们的准备工作是求出X的补码 -X的补码和Y的补码。.操作步数取决于乘数,最后一步不移位。

2022-11-15 11:34:03 7910 12

原创 算法基础——求每对结点之间的最短路径

首先就是我们需要把图的邻接矩阵cost赋值到A这个矩阵里面随后我们最关键的是那个求min的部分。我们是进行了三次循环下面两次循环好理解一点因为这个是矩阵也就是二维数组所以下面肯定是会有两个循环的。最上面k那个循环其实想表达的意思是因为图中肯定会存在有部分点是需要通过中间结点来到达目的结点的所以K也就是表达的是中间结点。这个问题是很简单的我们之前有一个算法是贪心法求解最短路径问题也就是迪杰斯特拉算法。其实这个代码可以写的更简洁一些,但是为了跟上面的算法趋近于一致所以写的看起来复杂了许多。

2022-11-12 16:36:49 870

C++基于LR(1)的语法分析器

本人编译原理课程设计题目,基于LR(1)的语法分析器采用的是C++语言进行书写。可以直接运行通过从文件中读取文法和ACTION和GOTO表格的方法进行实现。

2023-01-02

javaweb课程设计心得体会

javaweb课程设计心得体会

2022-06-29

windows64位的jdk1.8版本

windows64位的jdk1.8版本

2022-04-09

sqljdbc4.jar, sqljdbc41.jar, sqljdbc42.jar三个包

sqljdbc4.jar, sqljdbc41.jar, sqljdbc42.jar三个包

2022-04-09

解决无法通过SSL加密无法与SQLsever产生连接的两个包

解决无法通过SSL加密无法与SQLsever产生连接的两个包

2022-04-09

大学物理实验密立根数据处理软件

大学物理实验的密立根油滴实验静态的数据处理软件,直接输入数据即可出结果。

2022-04-04

燕山大学面向对象设计程序实验报告

燕山大学面向对象设计程序实验报告

2021-10-30

空空如也

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

TA关注的人

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