首页 > 编程语言 ># 学期(2024-2025-1) 学号(20241420) 《计算机基础与程序设计》第七周学习总结

# 学期(2024-2025-1) 学号(20241420) 《计算机基础与程序设计》第七周学习总结

时间:2024-11-10 22:46:26浏览次数:4  
标签:ADT 2024 2025 20241420 操作 数据 子程序

学期(2024-2025-1) 学号(20241420) 《计算机基础与程序设计》第七周学习总结

作业信息

这个作业属于哪个课程 <班级链接>(如2024-2025-1-计算机基础与程序设计
这个作业要求在哪里 <作业要求链接>(2024-2025-1计算机基础与程序设计第七周作业)
这个作业的目标 <计算机科学概论(第七版)第8章 并完成云班课测试
《C语言程序设计》第6章并完成云班课测试>

教材学习内容总结

抽象数据类型(Abstract Data Type,ADT)和子程序(Subroutine)是计算机科学中的两个重要概念,它们在软件设计和编程中扮演着关键角色。

抽象数据类型(ADT)

抽象数据类型是一种数据结构,它封装了数据和对数据的操作,隐藏了实现细节,只暴露出必要的接口。ADT强调的是数据的操作特性,而不是数据的具体表示。以下是ADT的一些关键特点:

  1. 数据抽象:ADT隐藏了数据的内部结构,只暴露出操作数据的接口。用户不需要了解数据是如何存储和实现的,只需要知道如何使用这些接口。

  2. 封装:ADT将数据和操作数据的函数封装在一起,形成一个整体。这样可以保护数据不被外部直接访问和修改,只能通过定义好的接口进行操作。

  3. 操作定义:ADT定义了一组操作,这些操作描述了可以对数据执行哪些操作,以及这些操作的行为。

  4. 类型安全性:ADT提供了类型安全性,因为它定义了哪些操作是合法的,哪些是不合法的。

常见的ADT包括栈(Stack)、队列(Queue)、链表(Linked List)、树(Tree)、图(Graph)等。

子程序(Subroutine)

子程序,也称为函数(Function)或过程(Procedure),是一段可以重复使用的代码,它执行特定的任务,并可以返回一个值或不返回值。子程序的主要特点包括:

  1. 代码复用:子程序允许代码复用,这意味着你可以在程序的不同部分调用相同的代码,而不需要重复编写。

  2. 模块化:子程序促进了程序的模块化,每个子程序负责一个特定的功能,使得程序结构更清晰,更易于理解和维护。

  3. 参数传递:子程序可以接受参数,这些参数在调用时传递给子程序,允许子程序根据输入执行不同的操作。

  4. 返回值:函数类型的子程序可以返回一个值给调用者,这个值是函数执行的结果。

  5. 局部性:子程序通常有自己的局部变量,这些变量只在子程序的作用域内有效,不会影响程序的其他部分。

在不同的编程语言中,子程序的实现可能有所不同,但基本概念是一致的。例如,在C语言中,子程序被称为函数(Function),而在其他语言中可能被称为方法(Method)或过程(Procedure)。

总结来说,抽象数据类型关注于数据的逻辑结构和操作,而子程序关注于代码的复用和模块化。两者都是构建高效、可维护软件的重要工具。





代码调试中的问题和解决过程

  • 问题:经常局部定义变量

  • 问题解决方案:学习变量类型后改变变量定义位置,区分全局变量和局部变量

  • 计划学习时间:10小时

  • 实际学习时间:9小时

标签:ADT,2024,2025,20241420,操作,数据,子程序
From: https://www.cnblogs.com/vincent2077/p/18538688

相关文章

  • 2024-2025-1 20241425 《计算机基础与程序设计》第7周学习总结
    2024-2025-120241425《计算机基础与程序设计》第7周学习总结作业信息这个作业属于哪个课程[2024-2025-1-计算机基础与程序设计](https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP)这个作业要求在哪里<作业要求的链接>(如2024-2025-1计算机基础与程序设计第一......
  • #C. [GESP202409 四级] 黑白方块 GESP四级考级
    这个是具体的代码,孩子的代码问题在子矩阵的判断有问题。就是这几行,没有具体实现。原思路代码块include<bits/stdc++.h>usingnamespacestd;intn,a,b,m[105][105];intmain(){cin>>n;for(inti=1;i<=n;i++){cin>>a>>b;for(intj=1;j<=a;j++){for(int......
  • 2024 湖南省赛(HNCPC 2024)
    C-easymath\[\Pia_i\le2024^b\\\log_2(\Pi2^{k_i})\le\log_2(2024^b)\\\sumk_i\leb\log_22024\]因此答案就是\(b=\frac{\sumk_i}{\log_22024}\)#include<bits/stdc++.h>usingnamespacestd;usingi32=int32_t;usingi64......
  • 2024年(2025届)四非电子通信保研推免经历(北邮、西电、西工大、天大等)
    前言写下这篇博客的原因在于自己保研期间刷了很多很多的经验贴,保研过程中充满了大量的信息差,一路走来听了很多学长学姐讲述了自己的经历,感觉收获颇丰。所以希望能将自己的经历也分享下去,如果以后的学弟学妹能获得一点点帮助,那就再好不过了。一、保研黑话rk:绩点/均分/综测的......
  • 多校A层冲刺NOIP2024模拟赛20
    多校A层冲刺NOIP2024模拟赛20昨天晚上打ABC了,所以今天才发。T1星际联邦直接上菠萝(Borůvka)算法就行了,当然还可以用线段树优化prim算法,但是没打过只是口胡:就是维护当前的连通块,但一个点$i$加入连通块时,后面那些点就可以有$a_j-a_i$的贡献,前面的点可以有$a_i-......
  • 2024-2025-1 学号20241306 《计算机基础与程序设计》第7周学习总结
    2024-2025-1学号20241306《计算机基础与程序设计》第7周学习总结作业信息这个作业属于哪个课程<班级的链接>2024-2025-1-计算机基础与程序设计这个作业要求在哪里<作业要求的链接>(如2024-2025-1计算机基础与程序设计第一周作业)这个作业的目标了解学习数组与链......
  • 2025年航天航空工程与材料技术国际会议(AEMT 2025) 2025 International Conference on
    @目录一、会议详情二、重要信息三、大会介绍四、出席嘉宾五、征稿主题一、会议详情二、重要信息大会官网:https://ais.cn/u/vEbMBz三、大会介绍四、出席嘉宾五、征稿主题如想"投稿"请点击如下图片......
  • 2025年第五届消费电子与计算机工程国际学术会议(ICCECE 2025) 2025 5th International
    @目录一、会议详情二、重要信息三、大会介绍四、出席嘉宾五、征稿主题一、会议详情二、重要信息大会官网:https://ais.cn/u/vEbMBz三、大会介绍四、出席嘉宾五、征稿主题如想"投稿"请点击如下图片......
  • CSP-J/S 2024游记
    年代久远,有些内容记不太清了。初赛Day-n~0做做了n遍的模拟卷。(明年再也不做了)Day1面到了一桶人。zyf和ikun在跟lzt的同学打听lzt的一些秘密。zyf'sbrother在玩自动伞,非常善。他试图把伞发射到楼上去,但后来伞虚了。J和S都和zqy一个考场。JT1错了,真抽象。(......
  • 第四届智能系统、通信与计算机网络国际学术会议(ISCCN 2025) 2025 4th International C
    @目录一、会议详情二、重要信息三、大会介绍四、出席嘉宾五、征稿主题一、会议详情二、重要信息大会官网:https://ais.cn/u/vEbMBz三、大会介绍第四届智能系统、通信与计算机网络国际学术会议(ISCCN2025)将于2025年2月21-23日在中国南宁隆重召开。会议旨在将“智能系统”“......