2023-2024-1 20231421 《计算机基础与程序设计》第八周学习总结

发布时间 2023-11-19 14:59:22作者: 20231421朱葛道一

------------恢复内容开始------------

------------恢复内容开始------------

------------恢复内容开始------------

------------恢复内容开始------------

------------恢复内容开始------------

作业信息

作业要求:https://www.cnblogs.com/rocedu/p/9577842.html#WEEK08

作业目标:自学《计算机科学概论》第九章、《c语言程序设计》第七章

作业正文:

教材学习内容总结

一、《计算机科学概论》

第九章:首先,详细介绍了面向对象设计,从而使我们能更好的区分功能设计与面向对象的设计,其次从设计过程步骤的角度出发,讲述了对象、对象类、字段、方法,以及他们的核心在于将输入转换为输出的过程,再次详细讲述了翻译的过程,介绍了编译器、解释器,同时也给我们介绍了程序设计语言泛型,包括命令式和声明式两大类,之后又介绍了高级程序设计语言的功能性,有bool表达式,数据归类,数据的输入输出,控制结构等,再次阐明了面向对象语言的功能性,包含封装,类,继承,多态等,最后给我们再次简明地区分了过程设计和面向对象设计的区别。

面向对象的方法

首先,要先明确对象、对象类、字段和方法等一系列概念,以及设计方法的四个分解阶段,头脑风暴,过滤,场景和责任算法,总之就是面向对象的设计重点是要转换的数据对象,生成的也是对象的结构体系

翻译过程

翻译的过程主要用到了两个主要的工具,一个是将高级语言编程机器语言的编译器,另一个则是指导计算机完成相应动作的解释器;在本书中讨论了,第二代高级语言中要编译和要解释的两种类型,阐述了JAVA产生的原因是编程语言发展成为了主要潮流,给我们拓展了字节码的概念内涵

程序设计语言泛型

命令式范型

命令式范型下又可以分为面向过程的和面向对象的,面向过程式的语句被分组为子程序,每一层的执行都是解决问题所必须经历的,数据是被动的是被程序操纵的;
面向对象式范型的则是与对象进行交互,数据对象是活跃的,每个对象负责控制自己的部分。

声明式范型

函数式模型,函数式是基于函数的数学概念,计算通过对函数求值实现,而解决问题通过函数的调用,所以基本原理是函数的计算,而不是变量和赋值语句,像课本中的例子就能阐述函数式模型;
逻辑编程,逻辑编程是基于数理逻辑的原则,包括一系列关于对象的事实和一系列关于对象间的关系的规则,通过向他们进行询问解决潜在问题的算法,书上提到的PROLOG的例子就是对事实真相询问的很好阐述。

高级程序设计语言的功能性

bool函数

bool表达式是个很常见的标识符序列,bool得到的都是true或false,bool可以是以下几种形式,
关系运算符用来比较两个数值的运算符,最早是由数学运算演变而来,所以为了区分布尔有她单独的运算符AND、OR、NOT,若AND时相同为true时则输出为true不同为false,若OR时相同为false时则输出为false否则为true,NOT时将改变输出的值,整体上和正常的逻辑运算是相同的,有异曲同工之妙,记忆时可以采取相同的办法

数据归类

汇编语言下,我们为内存分配标识符而不管他的存储内容,在一个程序中将一个值存储到类型不合适的的变量中,会提示报错,这种只能在变量中存储指定变量的要求成为强类型化;而数据类型是描述一组数值和一组可以应用在这种类型的数值上的基本操作。
对于数据类型来说,常见的有整数,实数,字符,布尔型,字符串,分别适用于不同的输入类型;声明则是将变量、动作或语言中的其他实体于标识符关联起来的语句,对于不同的高级语言来说,具有不同的变量声明,同时部分语言中还是区分大小写的,存在保留字即不能用作标识符的字;输入/输出结构,在伪代码中用Read和Write或Print来说明外界在与程序进行交互,对于高级语言来说,同样是有相对应的输入和输出语句的;控制结构,编程语言中有确定程序中的其他指令的执行顺序的指令,如if,while和子程序等诸多语句,同时还包括这嵌套逻辑,异步处理等

面向对象语言的功能性

封装

学习封装时,能区分以下概念在封装的作用

在算法中对于简单变量和数组使用标识符,若用标识符来代表一个类,那么必须在使用前询问即将被创建的类,即选哟通过new操作符来实例化这个类,以获取符合这种模式的对象;

继承

继承是面向对象语言的一种属性,是一个类可以继承另一个类的数据和方法,即类获取其他类的属性的机制

多态

Person类中有名为Print和Initialize的方法,该方法输出的是定义的地址,而在Student类中输出的也是地址,但是两种实现的方法不同,程序设计语言处理这种明显二义性的能力叫多态,是语言在运行时确定给定调用将执行哪些可能的方法的能力,

过程设计与面向对象设计的区别

面向对象的设计中,列表数据结构和子程序需要在类中绑定在一起,方法的代码需要直接可以访问到类变量,而用户的代码不行,类需要被分别编译;
而面向过程中,列表被呈现为传递给子程序的记录,方便子程序进行操作,使他的数据结构和子程序是用户程序的一部分,但面向对象时通过封装实现对用户的隐藏。

 二、《C语言程序设计》

第七章:

函数的定义

函数是编程语言中最为基础和最为重要的部分,程序首先就得从main开始,函数的分类包括标准库函数,ANSI C标准范围内的,也有自定义函数,通过自己的编写可以使随机子函数具有相应的功能,函数的基本定义是
通过函数名,来记录函数的功能,调用和使用函数,函数的定义必须遵循上述的表达;

向函数传递值和从函数返回值

函数调用,以课本的例子为例,可以得知函数的原型可以告诉编译器,该子函数可以从调用程序得到什么信息并且输出给予什么信息,

函数的递归调用的递归函数

递归最简单的理解方法就是自己调用自己,不论是在子函数中还是在main函数里,只要有自己反复调用自己的语句就是递归,能使用递归算法实现的最常见的问题就是斐波那契数列、欧几里得求最大公约数,也包括一些累乘之类的;

变量的作用域和生存期

作用域是指该变量起作用的区域,就是在哪块区域内有效,并且有自己的存储空间,如果一个变量在该程序内任何一个地方都能被调用,则成为全局变量,只在特定部分起作用有定义的变量则称为局部变量;
生存期是指变量从产生到被撤销所存在的时间,通常而言,变量的存储类型决定了生存期,由于变量只能在生存期内被访问,所以我们在设置变量时也要注意类型问题,下方的类型依次对应着,auto可通常被省略,自动变量是动态的;静态变量表示的是自动变量在退出定义他的函数后,内存空间被删除;在函数之外定义的变量,作用域是从定义到最后;寄存器变量就是用寄存器存储的变量,将频繁访问的变量放在寄存器里,声明为register类型名 变量名;

模块化程序设计

模块化程序设计思想最早出现在汇编语言中,按照该思想无论多么复杂的任务都可以分解为若干子任务来完成,基本原则自顶而下,逐步而精,同时他们也是一种具体的抽象方法,用逐步而精实现技术求解问题的大致步骤

 三,基于AI的学习

 

 

 

 

 

 

 

 

学习进度条

  代码行数 博客数 学习时间
目标 5000 30 400
第一周 200/200 2/2 20/20
第二周 300/300 4/4 28/28
第三周 500/500 6/6 30/30
第四周 500500 8/8 30/30
第五周 600/600 9/9 35/35
第六周 800/800 10/10 40/40
第七周 1000/1000 12/12 45/45
第八周 1200/1200 14/14 48/48

 

------------恢复内容结束------------

------------恢复内容结束------------

------------恢复内容结束------------

------------恢复内容结束------------

------------恢复内容结束------------