这个作业属于哪个课程 <班级的链接>(如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 开始运用博客园记录学习的一些总结

原文地址:http://www.cnblogs.com/20031004wzy/p/16819342.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性