首页 > 编程语言 >2024-2025-1 20241320 《计算机基础与程序设计》第8周学习总结

2024-2025-1 20241320 《计算机基础与程序设计》第8周学习总结

时间:2024-11-15 22:45:40浏览次数:1  
标签:语言 编译 面向对象 2024 2025 20241320 设计 执行 功能设计

2024-2025-1 20241320 《计算机基础与程序设计》第8周学习总结

作业信息

|这个作业属于哪个课程|
https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP
|这个作业要求在哪里|
https://www.cnblogs.com/rocedu/p/9577842.html#WEEK08
|这个作业的目标|
功能设计与面向对象设计

面向对象设计过程
面向对象语言三要素
汇编、编译、解释、执行
|作业正文|
https://www.cnblogs.com/yixin20060813/p/18548796

教材学习内容总结

一.功能设计
定义:功能设计是按照产品定位的初步要求,在对用户需求及现有产品进行功能调查分析的基础上,对所定位产品应具备的目标功能系统进行概念性构建的创造活动。
特点:
侧重于系统功能的实现和问题的解决。
强调模块化设计,将系统分解成若干个功能模块。
模块之间的交互通过函数调用实现。
二.设计过程:
根据需求找出对象,并抽象每个对象为类。
找出各对象之间的关系,使用组合、继承、分类、扩展等描述这些关系。
为每个对象实体定义要做的事(写对象方法),以及每个类在不需要有对象实体的情况下要做的事(写类方法)。
特点:
侧重于对象的抽象、封装、继承和多态性。
强调以对象为中心进行设计和开发。
有助于提高系统的可重用性、灵活性和扩展性。
二者区别
关注点不同:功能设计更注重系统功能的实现和问题的解决,而面向对象设计则更注重对象的抽象、封装、继承和多态性。
设计思路不同:功能设计采用模块化设计思路,将系统分解成若干个功能模块;而面向对象设计则采用以对象为中心的设计思路,将系统分解成若干个对象。
交互方式不同:在功能设计中,模块之间的交互通过函数调用实现;而在面向对象设计中,对象之间的交互则通过消息发送和接收来实现。
综上所述,功能设计与面向对象设计各有其独特的知识点和设计理念。在实际应用中,应根据具体需求和场景选择合适的设计方法,以确保软件系统的质量和效率。
三.面向对象设计过程

  1. 需求分析和理解
  2. 识别类和对象
  3. 建立类图
  4. 设计原则的应用
  5. 细化设计
  6. 迭代和验证
  7. 文档编写
  8. 持续学习和改进
    四.面向对象语言三要素
  9. 封装(Encapsulation)
  10. 继承(Inheritance)
  11. 多态(Polymorphism)
    优点:
    提高了系统的灵活性和可扩展性。
    允许在不修改现有代码的情况下添加新的功能(开闭原则)。
    增强了代码的可读性和可维护性。
    需要注意的是,虽然封装、继承和多态是面向对象语言的三要素,但不同的面向对象语言在实现这些要素时可能会有所不同。例如,一些语言可能提供了更丰富的访问权限修饰符或更灵活的继承机制。因此,在学习和使用不同的面向对象语言时,需要仔细了解它们的具体实现方式和特点。
    五.汇编、编译、解释、执行
    汇编
    定义:
    汇编语言是一种低级的、面向硬件的编程语言,它拥有与机器语言相近的指令集,同时允许程序员使用助记符来代替机器码中的二进制数字。
    特点:
    汇编语言编写的程序需要经过汇编器转换成机器码才能在计算机上执行。
    汇编语言与机器语言有很高的对应关系,因此执行效率较高。
    汇编语言依赖于特定的硬件平台,因此不同平台的汇编语言有所不同。
    组成:
    汇编指令(机器码的助记符):如MOV AX,BX。
    伪指令:由编译器执行。
    其他符号:由编译器识别,如+、-、*、/。
    寄存器:
    寄存器是CPU中可以存储数据的器件,一个CPU中有多个寄存器。
    寄存器用于存放操作数和操作结果,以及控制指令的执行。
    编译
    定义:
    编译是将高级语言编写的源代码转换成机器码或中间码的过程。
    过程:
    编译过程包括预处理、编译、汇编和链接等多个阶段。
    预处理阶段处理宏定义、文件包含等指令。
    编译阶段将源代码转换成中间代码或汇编代码。
    汇编阶段将汇编代码转换成机器码。
    链接阶段将多个目标文件链接成一个可执行文件。
    特点:
    编译型语言通常以其高性能和效率为最大卖点,适用于性能要求高的应用场景。
    编译型语言在程序运行之前需要进行完整的编译过程,因此程序启动速度较快。
    解释
    定义:
    解释是在程序运行时由解释器逐行转换和执行源代码的过程。
    特点:
    解释型语言通常具有更好的灵活性和跨平台性,因为解释器可以在不同的平台上运行。
    解释型语言的执行速度可能相对较慢,因为每次运行程序时都需要逐行解释和执行源代码。
    优势:
    解释型语言易于调试和修改,因为可以立即看到代码更改的效果。
    解释型语言通常具有更丰富的动态特性和内置函数库。
    执行
    定义:
    执行是程序在计算机上运行并完成特定任务的过程。
    方式:
    无论是编译型语言还是解释型语言,最终都需要在计算机上执行以完成特定的任务。
    编译型语言的可执行文件可以直接在计算机上运行,而解释型语言则需要通过解释器来运行。
    特点:
    执行过程涉及CPU、内存、I/O设备等硬件资源的调度和管理。
    程序的执行效率受到多种因素的影响,包括编译器或解释器的性能、硬件资源的配置等。

基于AI的学习

  • 计划学习时间:1小时

  • 实际学习时间:1小时

  • 改进情况:

(有空多看看现代软件工程 课件
软件工程师能力自我评价表
)

参考资料

标签:语言,编译,面向对象,2024,2025,20241320,设计,执行,功能设计
From: https://www.cnblogs.com/yixin20060813/p/18548796

相关文章

  • The 2024 ICPC Asia Nanjing Regional Contest
    Preface因为最近大家都有考试啥的,实在太久没训练了,只好在成都到郑州的火车上VP了一场顶着喧闹的车厢以及电脑只能放在腿上打的巨大Debuff,成功打出7题巨大罚时不过可惜的是4h后就没出题了,剩下的C,F瞪了半天是一个不会,甚至赛后看C的题解也搞不明白,只能说计数苦手是这......
  • 2024-2025 20241323 第八周学子任务总结
    这个作业属于https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP这个作业要求https://www.cnblogs.com/rocedu/p/9577842.html#WEEK01• 这个作业的目标了解功能设计与面向对象设计• 面向对象设计过程• 面向对象语言三要素• 汇编、编译、解释、执行作业正文https://......
  • 20222424 2024-2025-1 《网络与系统攻防技术》实验五实验报告
    202224242024-2025-1《网络与系统攻防技术》实验五实验报告1.实验内容(1)从www.besti.edu.cn、baidu.com、sina.com.cn中选择一个DNS域名进行查询,获取如下信息:DNS注册人及联系方式该域名对应IP地址IP地址注册人及联系方式IP地址所在国家、城市和具体地理位置PS:使用whois、......
  • 2024.9 做题记录
    001.CF2002ECosmicRaysCF*2300标签:思维,栈题意:给定\(n\)个元组,\((a_i,b_i)\),表示有\(a_i\)个\(b_i\)按顺序排列在一起。一次操作可以删除以下数字:在第\(1\)个位置的数字\(s_i≠s_{i-1}\)的位置\(i\)问每个前缀最多成操作多少次。Observation:问每个前缀......
  • CSP-S 2024 赛后总结
    考炸了,真考炸了……第一题没啥可说的,就肯定满的,咋做都行,我排序贪心,10min切。第二题,似了。先看了A,B性质,发现非常好打,利用他给的公式,一平方随便判一下就做完了,因为只有最后一个检测器有用的。如果都检测不到,那干脆最后一个检测器也不用了,直接输出\(m\)。但是,C性质的写挂导致......
  • 20241115
    Talesofseafaring发现需要维护最短路为单数和双数的最短路,所以先跑个最短路,然后对于每个询问看d是单数还是双数,然后判断输出就行,注意到直接这么写然后对于每个询问再查的话空间会爆,所以就把询问记录下来对于每个点为起始跑最短路的时候直接更新答案就行。公路修建问题求最大......
  • [Moectf2024 Xor(大嘘)]
    [Moectf2024Xor(大嘘)]进入主函数输入32长度的字节sub_401100(&v7);进行加密byte_404058是加密后的密文转dwordsub_401100的加密看似很简单,但其实是错的,动态调试后就会发现到return后会跳到别的函数,追到return处的汇编就会发现有花指令这里莫名其妙就retn了,nop掉对l......
  • [Moectf2024 ezMaze]
    去壳分析:迷宫分析10*a2-10:Y(a1-1)/8:X表示按字节处理迷宫迷宫以十六进制压缩,但迷宫是80*56的二进制迷宫dump下来保存,转二进制,用bin(maze[2:]).zfill(8)脚本(bfs):fromcollectionsimportdequemaze=[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1......
  • 『模拟赛』NOIP2024加赛5
    Rank反向挂分大王A.暴力操作(opt)签,但是没有人签。都想到了二分和更新c值,但是c多多少少没更到最优。首先还是调和级数预处理,倒序取min。然后考虑到超过\(m\)的也有可能产生更小的代价,因此\(\mathcal{O(n)}\)枚举一遍找到最小的\(j\)使\(i\timesj\gtm\),全部赋......
  • P11232 [CSP-S 2024] 超速检测(官方数据)
    [CSP-S2024]超速检测(官方数据)题目描述小D新入职了某国的交管部门,他的第一个任务是负责国家的一条长度为LLL的南北主干道的车辆超速检测。为了考考小D,上司首先需......