当前位置: 首页 > news >正文

软考中级笔记

上午题

二 程序设计语言 6′

1、编译程序和解释程序

解释器:翻译源程序时不生成独立的目标程序。
解释程序和源程序要参与到程序的运行过程中。
编译器:翻译时将源程序翻译成独立保存的目标程序。
机器上运行的是与源程序等价的目标程序。
源程序和编译程序都不再参与目标程序的运行过程。

2、数据类型:
①便于为数据合理分配存储单元
②便于对参与表达式计算的数据对象进行检查
③便于规定数据对象的取值范围及能够进行的运算

3、
传值调用:
将实参的值传递给形参,实参可以是变量、常量和表达式。
不可以实现形参和实参间双向传递数据的效果。

传引用(地址)调用:
将实参的地址传递给形参,形参必须有地址,实参不能是常量(值),表达式。
可以实现双向传递数据。

4、
编译方式:词法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成
解释方式:词法分析、语法分析、语义分析

编译器和解释器都不可省略词法分析、语法分析、语义分析且顺序不可交换即词法分析、语法分析、语义分析是必须的。
编译器方式中中间代码生成和代码优化不是必要,可省略。
即编译器方式可以在词法分析、语法分析、语义分析阶段后直接生成目标代码。

5、符号表
不断收集、记录和使用源程序中一些相关符号的类型和特征等信息,并将其存入符号表中。
记录源程序中各个字符的必要信息,以辅助语义的正确性检查和代码生成。

6、
词法分析:分析构成程序的字符及由字符按照构造规则构成的符号是否符合程序语言的规定。
输入:源程序 输出:记号流

语法分析:对各条语句的结构进行合理性分析,分析程序中的句子结构是否正确。
输入:记号流 输出:语法(分析)树

语义分析:是进行类型分析和检查。
输入:语法树
语法分析可以发现程序中的语法错误,但不能发现程序中所有的语义错误。
语义分析可以发现静态语义错误,不能发现动态语义错误,动态语义错误运行时才能发现。

目标代码生成阶段的工作与具体的机器密切相关。
寄存器的分配处于目标代码生成阶段。

中间代码生成
常见的中间代码有:后缀式、三地址码、三元式、四元式和树(图)等形式。
中间代码与具体的机器无关(不依赖具体的机器)。
可以将不同的高级程序语言翻译成同一种中间代码。
中间代码可以跨平台。
因为与具体的机器无关,使用中间代码有利于进行与机器无关的优化处理和提高编译程序的可移植性。

7、正规式

8、
有限自动机是词法分析的一个工具,它能正确地识别正规集。
确定的有限自动机(DFA):对每一个状态来说识别字符后转移的状态是唯一的
不确定的有限自动机(NFA):对每一个状态来说识别字符后转移的状态是不唯一的
正确识别:最后停留在终态,ε为空
        

9、大多数程序设计语言的语法规则用 上下文无关文法 描述即可。

10、中缀、后缀 —— 栈

优先级:()> 逻辑与∧ 逻辑或∨


五 知识产权 2~3′

1、
人身权:发表权、署名权、修改权、保护作品完整权。
发表权有时间性,终生+死亡后50年。另外三个永永远远。

2、知识产权的地域性。

3、计算机软件著作权
        主体是指享有著作权的人,根据《中华人民共和国著作权法》和《计算机软件保护条例》规定,主体包括公民、法人和其他组织。
        客体是受保护的对象,著作权法保护的计算机软件是计算机程序及其有关文档。计算机程序包括源程序和目标程序。

4、计算机软件著作权的权利

  1. 计算机软件的著作人身权
    《中华人民共和国著作权法》规定,软件作品享有两类权力,一类是软件著作权的人身权(精神权利);另一类是软件著作权的财产权(经济权力)。《计算机软件保护条例》规定,软件著作权人享有发表权和开发者身份权,这两项权力与软件著作权人的人身权是不可分离的。
    1. 发表权
    2. 开发者身份权(署名权)。开发者的身份权不随软件开发者的消亡而丧失,且无时间限制。
  2. 计算机软件的著作财产权
    使用权、复制权、修改权、发行权、翻译权、注释权、信息网络传播权、出租权、使用许可权和获得报酬权
  3. 计算机软件著作权的保护期
    根据《著作权法》和《计算机软件保护条例》的规定,计算机软件著作权的权利自软件开发完成之日起产生,保护期为50年。保护期满,除开发者身份权外,其他权利终止。

5、软件盗版 行为是指任何未经软件著作权人许可,擅自对软件进行复制、传播,或以其他方式超出许可范围传播、销售和使用的行为。

6、《计算机软件保护条例》是国务院颁布的,用来保护软件著作权人的利益。


 六 数据库 6′

1、根据模型应用的不同目的,可将数据模型分成:
①概念数据模型:从信息世界中抽象的数据模型   
     
②结构数据模型:从计算机世界中抽象出的DBMS支持的数据模型。主要分为层次、网状、关系和面向对象模型。
        关系模型:二维表格结构

2、数据库的三级模式结构
        概念模式/模式——基本表
        外模式/用户模式/子模式——视图
        内模式/存储模式——存储文件
        

3、数据库的两级映像
       
模式/模式映像:实现了概念模式与内模式转换。—— 物理独立性
        模式/模式映像:实现了外模式与概念模式转换。—— 逻辑独立性

4、关系模型基本术语
        关系:一个关系就是一张二维表。
        元组:表中一行即为一个元组。对应存储文件中的一个记录值。
        属性:表中的列。相当于记录中的数据项或字段值。
        域:属性取值范围。
        关系模式:对关系的描述。格式:关系名(属性名1,属性名2......)

        码=键
        候选码/候选键:属性或属性集合,唯一地表示一个元组。
        主键/主码:候选码中选择一个。
        主属性:包含在任何候选码中的属性。否则为非主属性。
        外码/外键:如果一个属性不是关系的主键却是另一个关系的主键。
        全码:所有属性组是候选码。
        超码:一个包含码的属性集。

5、关系模型
        关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。
        关系完整性约束:
                ①实体完整性:主码的值不能为空或部分为空,即主属性不能取空值。
                ②参照完整性:
                
                ③用户自定义完整性

6、笛卡尔积:
                

7、关系代数
       
集合运算
                
        专门的关系运算符:选择 投影 连接 除
                
                
                连接 \Join
                        θ连接、等值连接:在基于笛卡尔积的基础上选择满足条件的结果。
                        自然连接:除去重复属性的等值连接。
                        外连接:
                                
                                

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 :圆角矩形

        

外部实体:当前系统之外的人、物、外部系统 
        人:学生、老师、员工、主观、医生、客户、供应商......
        物:传感器、控制器、单车、车辆、采购部门......
        外部系统:支付系统、车辆交易系统、库存管理系统、道闸控制系统......
数据存储:存储数据和提供数据,存储加工的输出数据和提供加工的输入数据
        例子:客户表、订单表、学生表、课表文件、维修记录文件
加工:将输入数据处理后得到输出数据
        一个加工至少有一个输入数据流和一个输出数据流加工
        只有输入没有输出:黑洞
        只有输出没有输入:白洞
        输入数据不足以产生输出数据:灰洞
数据流的起点或终点必须有一个是加工。

问题一 实体
问题二 数据存储 +表/文件
问题三 补充缺失数据流
        第一种方法:父图子图平衡 连连看
        第二种方法:加工既有输入数据流又有输出数据流
        第三种方法:数据守恒
        格式:
        

http://www.lryc.cn/news/458332.html

相关文章:

  • 学习python自动化——pytest单元测试框架
  • 定位、地图建立及管理合集
  • uniAPP是否可以做php语言书写后端的前端开发?
  • 柒拾伍- AI内容农场生产文章自动发布至公众号 (一)
  • java.util.function Function<T, R>
  • Allegro在PCB上开槽的三种方法操作指导
  • Docker:快速部署
  • 如何指定this的值
  • 自动化分析背后,一站式数据分析平台!
  • 掌握 WPF 开发:基础、数据绑定与自定义控件
  • PostgreSQL:生成-唯一主键id
  • Swift添加自定义字体
  • Springboot 整合 Java DL4J 实现企业门禁人脸识别系统
  • SSTI模板注入+CTF实例
  • iPhone 16 Pro 拆解揭秘:设计改进与维修便利性
  • Java项目实战II养老||基于Java+Spring Boot+MySQL的社区智慧养老监护管理平台设计与实现(源码+数据库+文档)
  • 利用FnOS搭建虚拟云桌面,并搭建前端开发环境(二)
  • 【Python】Qwen-VL-7B box
  • echarts按需引入解决项目大小问题
  • 天气预报echarts
  • Kafka-初识
  • Redis的主要的特性和优势 ?
  • yolov5-7.0模型DNN加载函数及参数详解(重要)
  • StringEntity 用于将字符串内容作为 HTTP 请求实体(请求体)
  • 校园系统校园小程序 论坛校园圈系统失物招领、闲置二手、跑腿外卖等校园圈子系统应该具备有哪些功能
  • [AWS云]kafka调用和创建
  • 查看 Excel 应用程序中已打开的 Excel 文件的完整路径
  • 学习 RocketMQ 单机部署、消息发送、消息接收
  • 【计算机网络】CDN
  • 数据结构:插入排序