这个作业属于哪个课程 | <班级的链接>(如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 | |
第9周 | 300/2000 | 2/13 | 30/150 | 开始运用博客园记录学习的一些总结 |