ALevel CS里的分解和抽象

2024-03-18 19:40
文章标签 抽象 分解 cs alevel

本文主要是介绍ALevel CS里的分解和抽象,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

大纲一览,引用自第9单元,23页

1、Show an understanding of abstraction 

Needfor and benefits of using abstraction 

Describe the purpose of abstraction, Produce an abstract model of a system by only including essential details 

2、Describe and use decomposition 

Break down problems into sub-problems leading to the concept of a program module (procedure / function) 

大纲里要求我们掌握抽象和分解的概念,事实上,历年真题里也有很多反应这两种方法的题目,抽象和分解也是我们解决问题的一种思路,那么什么是抽象?什么是分解呢? 

315690e20498e9be989b165174e46122.jpeg

抽象 abstraction

1、抽象是指看问题时过滤调所有不必要的信息。识别问题的关键部分有助于人们找到问题的解决办法。

2、基本要领

抽象是确定对象或者系统的哪个元素是必要的特征的过程,没有他们,物体就不会是他们本身的样子。

西班牙艺术家毕加索经常画抽象的肖像,画中人物的脸部看起来与现实世界完全不同,然而,由于他们有一张脸的基本特征-眼睛鼻子嘴巴,所以我们可以认出那是一张脸。

即使没有细节,人们也能认出来以上图片是个房子。

什么是不必要的细节?

房子必要的细节是墙壁,屋顶,门和窗户,像窗户的颜色或者数量之类的东西并不是必不可少的细节。

抽象关键:找到必要的细节

抽象的诀窍是在基本信息和非基本信息之间找到平衡,例如在传递任务的指令时,步骤太多就会引起混乱,步骤太少就可能无法完成任务。

比如,查找某个序列中的特定值,计算机程序员为了程序需要,将查找步骤按照正确的顺序排列,从而解决这个问题。

洗衣机的控制步骤就是一个抽象的例子,使用洗衣机洗衣服时,我们不必确切了解洗衣机是如何工作的,只需要打开洗衣机,然后按下所需要的模式即可。

案  例

链接:真实的世界

7b95bf4b30e37fa138e79d32d9a545b7.jpeg

许多列车和地铁的现代地图就是抽象的例子,早期的地图准确地显示了一条铁路的所有路线,其中还包括了车站之间的距离,然而这让人很难阅读,因为他们提供了乘客不需要的信息,如确切路线等,并且使乘客很难看到他们真正需要的信息,就比如线路上的车站顺序

新的地图简化了信息,所有乘客可以看到从A到B站最高效的路径。

这篇关于ALevel CS里的分解和抽象的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/823440

相关文章

2. c#从不同cs的文件调用函数

1.文件目录如下: 2. Program.cs文件的主函数如下 using System;using System.Collections.Generic;using System.Linq;using System.Threading.Tasks;using System.Windows.Forms;namespace datasAnalysis{internal static

工厂方法模式和抽象工厂模式的区别

区别  工厂方法模式: 一个抽象产品类,可以派生出多个具体产品类。    一个抽象工厂类,可以派生出多个具体工厂类。    每个具体工厂类只能创建一个具体产品类的实例。 抽象工厂模式: 多个抽象产品类,每个抽象产品类可以派生出多个具体产品类。    一个抽象工厂类,可以派生出多个具体工厂类。    每个具体工厂类可以创建多个具体产品类的实例。    区别: 工厂方法模式只有一个抽象产品类

特征值分解(EVD)和奇异值分解(SVD)—应用于图片压缩

特征值分解(EVD)和奇异值分解(SVD)—应用于图片压缩 目录 前言 一、特征值分解 二、应用特征值分解对图片进行压缩 三、矩阵的奇异值分解 四、应用奇异值分解对图片进行压缩 五、MATLAB仿真代码 前言         学习了特征值分解和奇异值分解相关知识,发现其可以用于图片压缩,但网上没有找到相应代码,本文在学习了之后编写出了图片压缩的代码,发现奇异值分

Java基础入门 【第七章 抽象、接口、内部类、枚举】(二)

匿名内部类书写格式: 父类或接口类型变量名=new父类或接口(构造方法实参列表){ //重写所有的抽象方法 @Override public返回值类型method1(形参列表){ 方法体实现 } @Override public返回值类型method2(形参列表){ 方法体实现 } //省略... }; //匿名内部类对象调用方法 变量名.重写方法(实参列表); 匿名

连分数因子分解法——C语言实现

参考网址:连分数分解法寻找整数的因子(Python)-CSDN博客 大数运算:C语言实现 大数运算 加减乘除模运算 超详细_64编程 加减乘除取模 复杂运算-CSDN博客 ‌连分数因子分解法‌是一种用于大整数因子分解的算法,它是计算数论中的一个重要方法。连分数因子分解法通过寻找x2≡y2 (mod p)x2≡y2 (mod p)的形式来分解N。具体来说,这种方法涉及到计算N的简单连分数展开,并

时序预测|变分模态分解-双向时域卷积-双向门控单元-注意力机制多变量时间序列预测VMD-BiTCN-BiGRU-Attention

时序预测|变分模态分解-双向时域卷积-双向门控单元-注意力机制多变量时间序列预测VMD-BiTCN-BiGRU-Attention 文章目录 一、基本原理1. 变分模态分解(VMD)2. 双向时域卷积(BiTCN)3. 双向门控单元(BiGRU)4. 注意力机制(Attention)总结流程 二、实验结果三、核心代码四、代码获取五、总结 时序预测|变分模态分解-双向时域卷积

《机器学习》 基于SVD的矩阵分解 推导、案例实现

目录 一、SVD奇异值分解 1、什么是SVD 2、SVD的应用         1)数据降维         2)推荐算法         3)自然语言处理 3、核心         1)什么是酉矩阵         2)什么是对角矩阵 4、分解过程 二、推导 1、如何求解这三个矩阵         1)已知:          2)根据酉矩阵的特点即可得出:

《GOF设计模式》—适配器(ADAPTER)—Delphi源码示例:可插入的Adapter(使用抽象操作)

 示例:可插入的Adapter(使用抽象操作) 说明: 当其他的类(如A)使用一个类(如C)时,如果所需的假定条件越少,这个类(如C)就更具可复用性。如果将接口匹配构建为一个类(如B),就不需要假定对其他的类可见的是一个相同的接口(如C接口)。也就是说,接口匹配使得我们可以将自己的类(如C)加入到一些现有的系统中去,而这些系统对这个类(如C)的接口可能会有所不同。 A  =〉 C

《GOF设计模式》—抽象工厂(Abstract Factory)—Delphi源码示例:基于抽象工厂的迷宫

 示例:基于抽象工厂的迷宫   实现:     如果TMaze.Create是传递一个对象当作参数来建立rooms、walls及doors;如此你可以以不同的参数来改变rooms、walls及doors的类。  请注意MazeFactory也就是工厂方法(Factory Method)的一个集合;这是最通常实现抽象工厂模式的方式。同时请注意MazeFactory不是一个抽象类

Accept CS Ph.D. Offer from Stony Brook University,去SUNY石溪大学的CS Ph.D.啦

前言:在2017年3月24日,正式决定去纽约州立大学石溪分校(State University of New York, Stony Brook,简称石溪大学),CS Ph.D. 项目。本科直博,DIY申请,全额奖学金,第一年5.1万美元(免学费2.2万,2017 fall, 2018 spring 的TA 1.93万,2018 summer RA 1万,没有 Fellowship) Abs