| 这个作业属于哪个课程 | <班级的链接>(如2022-2023-1-计算机基础与程序设计) |
|---|---|
| 这个作业要求在哪里 | <作业要求的链接>(如2022-2023-1计算机基础与程序设计第八周作业) |
| 这个作业的目标 | <·功能设计与面向对象设计·面向对象设计过程·面向对象语言三要素·汇编、编译、解释、执行> |
| 作业正文 | ... 本博客链接 |
学习目标
·功能设计与面向对象设计
·面向对象设计过程
·面向对象语言三要素
·汇编、编译、解释、执行
学习资源
·教材
·阅读 「反作弊」:任何时候发现同学们有抄袭作业,抄袭代码的情况,即时课程总成绩清零
学习任务
·加入云班课,参考本周学习资源
自学教材
·计算机科学概论第9章 并完成云班课测试
·《C语言程序设计》第7章并完成云班课测试
教材学习内容总结
9.1面向对象方法
用叫做对象的独立实体生成解决方案的问题求解方法
对象是由数据与处理数据的操作构成的。
面向对象设计的重点是对象以及它们在问题中的交互。
9.1.1
面向对象设计(ODD)的底层概念是类(class)和对象(object)

9.1.2设计方法
1.头脑风暴
一种集体求解的方法会生成一个暂时的类列表。

2.过滤
根据这个暂时的列表,确定问题解决方案中的核心类。
3.场景
给每个类分配责任,最终责任将被实现为子程序。

4.责任算法
5.总结
自顶向下的设计方法重点在于把输入转化成输出的过程,结果将生成任务的体系结构。
面向对象的设计的重点是要转换的数据对象。
9.1.3实例
1.问题
2.头脑风暴和过滤
3.责任算法
Peson 类;Name 类

9.2翻译过程
9.2.1编译器

9.2.2解释器

9.3程序设计语言范型
范型(paradigm)

9.3.1命令式范型imperative(or procedural)
1.面向过程的范型
2.面向对象的范型object-oriented
9.3.2 声明式范型
基本模型:函数式和逻辑式
1.函数式模型Functional
2.逻辑编程logical
9.4高级程序设计语言的功能性
选择和重复(循环)是命令式语言的标志
9.4.1布尔表达式Boolean expression
一个标识符序列,标识符之间由相容的运算符分隔,求得的值是true或false。
9.4.2数据归类
只能在变量中存储合适的类型的要求叫做强类型化strong typing。

1.数据类型
整数
实数
字符
布尔型
字符串
2.声明declaration


9.4.3输入/输出结构
9.4.4控制结构control structure

1.嵌套逻辑
2.异步处理

9.5面向对象语言的功能性
9.5.1封装encapsulation

9.5.2类

9.5.4继承inheritance

9.5.4多态polymorphism

9.6过程设计与面向对象设计的区别
在面向对象的设计中,列表数据结构的子程序需要在类中绑定在一起,
在面向过程的版本中,列表被呈现为传递给子程序的记录,以便子程序可以对其操作。
教材学习中的问题和解决过程
- 问题1:关于控制结构中的嵌套逻辑,在我们正常敲代码的过程中嵌套是否越多越好?我们应当如何正确使用嵌套
- 在该博客中我看到了部分解答(https://blog.csdn.net/qq_44754515/article/details/125298363)
嵌套层次不宜过深,过深应当适当移除。
①去掉多余的 if 或 else 语句
②使用编程语言提供的 continue、break、return 关键字,提前退出嵌套。
③调整执行顺序来减少嵌套
④将部分嵌套逻辑封装成函数调用,以此来减少嵌套
除此之外,常用的还有通过使用多态来替代 if-else、switch-case 条件判断的方法。这个思路涉及代码结构的改动
-
点击查看代码
#include<stdio.h>
int main()
{
int i;
char N[9];
printf("input your string:\n");
for (i = 0; i < 7; i++)
{
scanf("%s", &N[i], 2);
}
printf("\n");
for (i = 6; i >= 0; i--)
{
printf("%c", N[i]);
}
return 0;
}
上周错题
The effect of the following queue operations will be to print “HI”: Enque(myQueue,’I’), Enque(myQueue,’H’), Dequeue(myQueue,value), Write value, Dequeue(myQueue, value), Write value.
正确答案 错误
学习进度条
| 代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
|---|---|---|---|---|
| 目标 | 5000行 | 30篇 | 400小时 | |
| 第6周 | 200/1150 | 2/6 | 20/80 | |
| 第7周 | 300/1450 | 2/8 | 20/100 | |
| 第8周 | 250/1700 | 3/11 | 20/120 | 开始运用博客园记录学习的一些总结 |
浙公网安备 33010602011771号