软考中级笔记
上午题
二 程序设计语言 6′
1、编译程序和解释程序
解释器:翻译源程序时不生成独立的目标程序。
解释程序和源程序要参与到程序的运行过程中。
编译器:翻译时将源程序翻译成独立保存的目标程序。
机器上运行的是与源程序等价的目标程序。
源程序和编译程序都不再参与目标程序的运行过程。
2、数据类型:
①便于为数据合理分配存储单元
②便于对参与表达式计算的数据对象进行检查
③便于规定数据对象的取值范围及能够进行的运算
3、
传值调用:
将实参的值传递给形参,实参可以是变量、常量和表达式。
不可以实现形参和实参间双向传递数据的效果。
传引用(地址)调用:
将实参的地址传递给形参,形参必须有地址,实参不能是常量(值),表达式。
可以实现双向传递数据。
4、
编译方式:词法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成
解释方式:词法分析、语法分析、语义分析
编译器和解释器都不可省略词法分析、语法分析、语义分析且顺序不可交换即词法分析、语法分析、语义分析是必须的。
编译器方式中中间代码生成和代码优化不是必要,可省略。
即编译器方式可以在词法分析、语法分析、语义分析阶段后直接生成目标代码。
5、符号表
不断收集、记录和使用源程序中一些相关符号的类型和特征等信息,并将其存入符号表中。
记录源程序中各个字符的必要信息,以辅助语义的正确性检查和代码生成。
6、
词法分析:分析构成程序的字符及由字符按照构造规则构成的符号是否符合程序语言的规定。
输入:源程序 输出:记号流
语法分析:对各条语句的结构进行合理性分析,分析程序中的句子结构是否正确。
输入:记号流 输出:语法(分析)树
语义分析:是进行类型分析和检查。
输入:语法树
语法分析可以发现程序中的语法错误,但不能发现程序中所有的语义错误。
语义分析可以发现静态语义错误,不能发现动态语义错误,动态语义错误运行时才能发现。
目标代码生成阶段的工作与具体的机器密切相关。
寄存器的分配处于目标代码生成阶段。
中间代码生成
常见的中间代码有:后缀式、三地址码、三元式、四元式和树(图)等形式。
中间代码与具体的机器无关(不依赖具体的机器)。
可以将不同的高级程序语言翻译成同一种中间代码。
中间代码可以跨平台。
因为与具体的机器无关,使用中间代码有利于进行与机器无关的优化处理和提高编译程序的可移植性。
7、正规式
8、
有限自动机是词法分析的一个工具,它能正确地识别正规集。
确定的有限自动机(DFA):对每一个状态来说识别字符后转移的状态是唯一的
不确定的有限自动机(NFA):对每一个状态来说识别字符后转移的状态是不唯一的
正确识别:最后停留在终态,ε为空

9、大多数程序设计语言的语法规则用 上下文无关文法 描述即可。
10、中缀、后缀 —— 栈
优先级:()> 逻辑与∧ 逻辑或∨
五 知识产权 2~3′
1、
人身权:发表权、署名权、修改权、保护作品完整权。
仅发表权有时间性,终生+死亡后50年。另外三个永永远远。
2、知识产权的地域性。
3、计算机软件著作权
主体是指享有著作权的人,根据《中华人民共和国著作权法》和《计算机软件保护条例》规定,主体包括公民、法人和其他组织。
客体是受保护的对象,著作权法保护的计算机软件是计算机程序及其有关文档。计算机程序包括源程序和目标程序。
4、计算机软件著作权的权利
- 计算机软件的著作人身权
《中华人民共和国著作权法》规定,软件作品享有两类权力,一类是软件著作权的人身权(精神权利);另一类是软件著作权的财产权(经济权力)。《计算机软件保护条例》规定,软件著作权人享有发表权和开发者身份权,这两项权力与软件著作权人的人身权是不可分离的。- 发表权
- 开发者身份权(署名权)。开发者的身份权不随软件开发者的消亡而丧失,且无时间限制。
- 计算机软件的著作财产权
使用权、复制权、修改权、发行权、翻译权、注释权、信息网络传播权、出租权、使用许可权和获得报酬权 - 计算机软件著作权的保护期
根据《著作权法》和《计算机软件保护条例》的规定,计算机软件著作权的权利自软件开发完成之日起产生,保护期为50年。保护期满,除开发者身份权外,其他权利终止。
5、软件盗版 行为是指任何未经软件著作权人许可,擅自对软件进行复制、传播,或以其他方式超出许可范围传播、销售和使用的行为。
6、《计算机软件保护条例》是国务院颁布的,用来保护软件著作权人的利益。
六 数据库 6′
1、根据模型应用的不同目的,可将数据模型分成:
①概念数据模型:从信息世界中抽象的数据模型

②结构数据模型:从计算机世界中抽象出的DBMS支持的数据模型。主要分为层次、网状、关系和面向对象模型。
关系模型:二维表格结构
2、数据库的三级模式结构
概念模式/模式——基本表
外模式/用户模式/子模式——视图
内模式/存储模式——存储文件

3、数据库的两级映像
模式/内模式映像:实现了概念模式与内模式转换。—— 物理独立性
外模式/模式映像:实现了外模式与概念模式转换。—— 逻辑独立性
4、关系模型基本术语
关系:一个关系就是一张二维表。
元组:表中一行即为一个元组。对应存储文件中的一个记录值。
属性:表中的列。相当于记录中的数据项或字段值。
域:属性取值范围。
关系模式:对关系的描述。格式:关系名(属性名1,属性名2......)
码=键
候选码/候选键:属性或属性集合,唯一地表示一个元组。
主键/主码:候选码中选择一个。
主属性:包含在任何候选码中的属性。否则为非主属性。
外码/外键:如果一个属性不是关系的主键却是另一个关系的主键。
全码:所有属性组是候选码。
超码:一个包含码的属性集。
5、关系模型
关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。
关系完整性约束:
①实体完整性:主码的值不能为空或部分为空,即主属性不能取空值。
②参照完整性:

③用户自定义完整性
6、笛卡尔积:

7、关系代数
集合运算

专门的关系运算符:选择 投影 连接 除


连接
θ连接、等值连接:在基于笛卡尔积的基础上选择满足条件的结果。
自然连接:除去重复属性的等值连接。
外连接:


8、
投影、选择转SQL语言
select 属性 from 表名/关系 where 条件
笛卡尔积转SQL语言
select R.A,R.B,R.C,S.A,S.B,S.C from R,S
自然连接转SQL语言
9、SQL语言
建立数据库:create database 数据库名
建立基本表:create table 表名
(列名 数据类型 完整性约束,
......,
.......
)
not null,unique,not null unique,default
primary key(属性)
foreign key(id) referencces 表名(id)
check (条件)
增加列:alter table 表名 add 列名 类型
修改列:alter table 表名 alter column 列名 新类型
删除列:alter table 表名 drop column 列名
删除基本表:drop table 表名

insert 插入语句:
①直接插入元组值:insert into 表名(列名序列) values (元组值)
②插入一个查询的结果值:insert into 表名(列名序列) select 查询语句

delete from 表名 where 条件
update 表名
set 列名=值,...
where 条件
select (distinct 去除重复行) 列名
from 表名
where 行条件
group by 列条件
having 组条件
order by 列名 asc升序/desc降序
- 选择查询
- 条件表达式 where 条件
- select 列名 as '别名' from 表名
- 字符串匹配:(not) like '匹配串'
- %(百分号)代表任意长度(长度可以为0)的字符串。例如a%b表示以a开头,以b结尾的任意长度的字符串,如 acb、addgb、ab 等都满足该匹配串。
- _(下划线)代表任意单个字符。例如a_b表示以a开头,以b结尾的长度为3的任意字符串,acb、afb 等都满足该匹配串。

- 聚合函数 avg count min max
- 表的连接查询
- select 列名 from 表1,表2 where 连接条件
- 查询结果的并交差
- union intersect except
10、SQL访问控制
授权:grant 权限 on 对象类型 对象名 to 用户

收回权限:revoke 权限 on 对象类型 对象名 from 用户

11、视图:从一个或多个基本表或视图中导出的表,是一个虚拟表
create view 视图名(列表名)
as select 查询子句
[with check option];
12、索引:改变的是内模式。
13、关系模式:R<U,F>
R关系名,U属性,F为属性组U上的一组数据依赖。A→B:A决定B,B依赖于A
下午题
试题一 15′
形式:说明 + 2图 + 问题
数据流图DFD基本图形元素 ——
矩形 E :外部实体
数据存储:D
加工 P :圆角矩形

外部实体:当前系统之外的人、物、外部系统
人:学生、老师、员工、主观、医生、客户、供应商......
物:传感器、控制器、单车、车辆、采购部门......
外部系统:支付系统、车辆交易系统、库存管理系统、道闸控制系统......
数据存储:存储数据和提供数据,存储加工的输出数据和提供加工的输入数据
例子:客户表、订单表、学生表、课表文件、维修记录文件
加工:将输入数据处理后得到输出数据
一个加工至少有一个输入数据流和一个输出数据流加工
只有输入没有输出:黑洞
只有输出没有输入:白洞
输入数据不足以产生输出数据:灰洞
数据流的起点或终点必须有一个是加工。
问题一 实体
问题二 数据存储 +表/文件
问题三 补充缺失数据流
第一种方法:父图子图平衡 连连看
第二种方法:加工既有输入数据流又有输出数据流
第三种方法:数据守恒
格式:

相关文章:
软考中级笔记
上午题 二 程序设计语言 6′ 1、编译程序和解释程序 解释器:翻译源程序时不生成独立的目标程序。 解释程序和源程序要参与到程序的运行过程中。 编译器:翻译时将源程序翻译成独立保存的目标程序。 机器上运行的是与源程序等价的目标程序。 源程序和编…...
学习python自动化——pytest单元测试框架
一、什么是pytest 单元测试框架,unittest(python自带的),pytest(第三方库)。 用于编写测试用例、收集用例、执行用例、生成测试结果文件(html、xml) 1.1、安装pytest pip instal…...
定位、地图建立及管理合集
系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录 系列文章目录前言机器人中常见的定位技术介绍一、直方图定位原理二、gnss、rtk定位原理三、【依赖二维激光雷达与全局地图的定位算法】amcl&am…...
uniAPP是否可以做php语言书写后端的前端开发?
UniAPP可以做PHP语言书写后端的前端开发。以下是关于这个问题的详细解答: 一、UniAPP与后端开发的关系 前后端分离:UniAPP作为一款跨平台开发框架,采用了前后端分离的开发模式。这意味着前端和后端的开发可以独立进行,互不影响。…...
柒拾伍- AI内容农场生产文章自动发布至公众号 (一)
一、内容农场 X AI 看过很多的新闻说 AI 产生 内容 污染网络,我也想试一下到底能污染成怎样。 然后为了编写爆款的内容,我选用这个 内容农场 的种子是来源于 微博热搜,让生长出来的垃圾文章更加火爆 涉及内容不能放 二、编写代码 关于代…...
java.util.function Function<T, R>
一、介绍 1、简介 Function<T, R> 是 Java 8 中的一个函数式接口,用于表示接受一个输入参数 T,并返回一个结果 R 的函数。Function接口中有一个抽象方法apply,用于定义函数的逻辑。Function接口通常用于将数据进行转换(处…...
Allegro在PCB上开槽的三种方法操作指导
Allegro如何在PCB上开槽的三种方法操作指导 当PCB有特殊设计要求的时候,需要在PCB上开槽,Allegro支持在PCB上开槽操作,具体操作如下 以下图为例,需要在这个板框中间开槽 开方形槽 选择shape add rect命令 画在Board Geometry-o…...
Docker:快速部署
docker安装: 安装Docker - 飞书云文档 (feishu.cn) docker命令解读 docker run -d \ > --name mysql \ > -p 33…...
如何指定this的值
1. 函数调用时指定 call -- 接收一个参数列表 apply -- 接收一个参数数组 2. 创建时指定this的值 bind -- 返回一个函数 传参方式与call相同 箭头函数 -- 其this值取决于上级作用域中的this值 <script>// 如何指定this的值// 1. 调用时指定this// 2. 创建时指定th…...
自动化分析背后,一站式数据分析平台!
自动化分析背后,一站式数据分析平台! 前言一站式数据分析平台 前言 在如今的企业管理中,数据已经不再是简单的存储和备份,而是成为了决策的核心驱动力。尤其是在面对海量数据的情况下,企业急需一个能够高效处理、分析…...
掌握 WPF 开发:基础、数据绑定与自定义控件
WPF(Windows Presentation Foundation)是用于构建现代桌面应用程序的强大框架。它通过 XAML(Extensible Application Markup Language)与丰富的控件体系,提供了灵活的 UI 开发方式。本文将介绍 WPF 的基础知识、XAML 语…...
PostgreSQL:生成-唯一主键id
1. 通过时间戳和随机数拼接生成 select TO_CHAR(NOW(), YYYYMMDDHH24MISS) || LPAD(FLOOR(RANDOM() * 1000000)::TEXT, 6, 0) AS unique_id解析: TO_CHAR(NOW(), ‘YYYYMMDDHH24MISS’):该部分将当前时间 (NOW()) 格式化为 YYYYMMDDHH24MISS 格式&#…...
Swift添加自定义字体
1. 在 Xcode 中添加自定义字体 首先,你需要将自定义字体文件(如 .ttf 或 .otf 文件)添加到项目中。 将字体文件拖放到项目的资源管理器中,确保选中了 "Copy items if needed"。打开 Info.plist 文件,添加一…...
Springboot 整合 Java DL4J 实现企业门禁人脸识别系统
🧑 博主简介:历代文学网(PC端可以访问:https://literature.sinhy.com/#/literature?__c1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,精通Java编程,…...
SSTI模板注入+CTF实例
参考文章: 一文了解SSTI和所有常见payload 以flask模板为例-腾讯云开发者社区-腾讯云 (tencent.com) python-flask模块注入(SSTI) - ctrl_TT豆 - 博客园 (cnblogs.com) ssti详解与例题以及绕过payload大全_ssti绕过空格-CSDN博客 1. SSTI(模板注入&…...
iPhone 16 Pro 拆解揭秘:设计改进与维修便利性
苹果最新推出的iPhone 16系列在许多方面都进行了更新和改进,而这次我们要聚焦的是其中的高端型号——iPhone 16 Pro。 这款手机不仅在性能上有所提升,在内部构造上也带来了不少变化,让我们一起来看看这些细节吧。 更容易进入的内部结构 对于…...
Java项目实战II养老||基于Java+Spring Boot+MySQL的社区智慧养老监护管理平台设计与实现(源码+数据库+文档)
目录 一、前言 二、技术介绍 三、系统实现 四、文档参考 五、核心代码 六、源码获取 全栈码农以及毕业设计实战开发,CSDN平台Java领域新星创作者,专注于大学生项目实战开发、讲解和毕业答疑辅导。获取源码联系方式请查看文末 一、前言 随着老龄化…...
利用FnOS搭建虚拟云桌面,并搭建前端开发环境(二)
利用FnOS搭建虚拟云桌面,并搭建前端开发环境 二 一、docker镜像二、环境配置三、核心环境配置流程文档 利用FnOS搭建虚拟云桌面,并搭建前端开发环境(一) 上一章安装了飞牛FnOS系统,界面如下,这一张配置前端…...
【Python】Qwen-VL-7B box
VLLM-Qwen2-VL-7B-Instruct import cv2# 读取图像 image_path haibaoA.png # 替换为图像的路径 image cv2.imread(image_path)# 定义框的坐标 (x1, y1) 是左上角,(x2, y2) 是右下角 x1, y1 200, 550 # 左上角坐标 x2, y2 799, 750 # 右下角坐标 h, w image.…...
echarts按需引入解决项目大小问题
背景: 按需加载缩减项目大小,提升项目性能和可用性 实现: 创建echarts.js main.js进行配置 页面中引用 效果 全量导入 按需加载:...
ServerTrust 并非唯一
NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...
【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验
系列回顾: 在上一篇中,我们成功地为应用集成了数据库,并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了!但是,如果你仔细审视那些 API,会发现它们还很“粗糙”:有…...
Android Bitmap治理全解析:从加载优化到泄漏防控的全生命周期管理
引言 Bitmap(位图)是Android应用内存占用的“头号杀手”。一张1080P(1920x1080)的图片以ARGB_8888格式加载时,内存占用高达8MB(192010804字节)。据统计,超过60%的应用OOM崩溃与Bitm…...
高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数
高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数 在软件开发中,单例模式(Singleton Pattern)是一种常见的设计模式,确保一个类仅有一个实例,并提供一个全局访问点。在多线程环境下,实现单例模式时需要注意线程安全问题,以防止多个线程同时创建实例,导致…...
面向无人机海岸带生态系统监测的语义分割基准数据集
描述:海岸带生态系统的监测是维护生态平衡和可持续发展的重要任务。语义分割技术在遥感影像中的应用为海岸带生态系统的精准监测提供了有效手段。然而,目前该领域仍面临一个挑战,即缺乏公开的专门面向海岸带生态系统的语义分割基准数据集。受…...
Razor编程中@Html的方法使用大全
文章目录 1. 基础HTML辅助方法1.1 Html.ActionLink()1.2 Html.RouteLink()1.3 Html.Display() / Html.DisplayFor()1.4 Html.Editor() / Html.EditorFor()1.5 Html.Label() / Html.LabelFor()1.6 Html.TextBox() / Html.TextBoxFor() 2. 表单相关辅助方法2.1 Html.BeginForm() …...
Modbus RTU与Modbus TCP详解指南
目录 1. Modbus协议基础 1.1 什么是Modbus? 1.2 Modbus协议历史 1.3 Modbus协议族 1.4 Modbus通信模型 🎭 主从架构 🔄 请求响应模式 2. Modbus RTU详解 2.1 RTU是什么? 2.2 RTU物理层 🔌 连接方式 ⚡ 通信参数 2.3 RTU数据帧格式 📦 帧结构详解 🔍…...
【安全篇】金刚不坏之身:整合 Spring Security + JWT 实现无状态认证与授权
摘要 本文是《Spring Boot 实战派》系列的第四篇。我们将直面所有 Web 应用都无法回避的核心问题:安全。文章将详细阐述认证(Authentication) 与授权(Authorization的核心概念,对比传统 Session-Cookie 与现代 JWT(JS…...
机器学习的数学基础:线性模型
线性模型 线性模型的基本形式为: f ( x ) ω T x b f\left(\boldsymbol{x}\right)\boldsymbol{\omega}^\text{T}\boldsymbol{x}b f(x)ωTxb 回归问题 利用最小二乘法,得到 ω \boldsymbol{\omega} ω和 b b b的参数估计$ \boldsymbol{\hat{\omega}}…...
GAN模式奔溃的探讨论文综述(一)
简介 简介:今天带来一篇关于GAN的,对于模式奔溃的一个探讨的一个问题,帮助大家更好的解决训练中遇到的一个难题。 论文题目:An in-depth review and analysis of mode collapse in GAN 期刊:Machine Learning 链接:...
