深入学习《大学计算机》系列之第1章 1.2节——问题描述与抽象

news2024/11/14 21:17:34

一.欢迎来到我的酒馆

        第1章 1.2节,问题描述与抽象。

目录

    • 一.欢迎来到我的酒馆
    • 二.问题描述、抽象与建模
      • 1.什么是抽象
      • 2.为什么要抽象
      • 3.什么是建模
      • 4.建什么模
    • 三.面向计算机的问题分析
    • 四.总结

二.问题描述、抽象与建模

        什么是抽象?为什么要抽象?什么是建模?建什么模?

1.什么是抽象

        看到上面一大堆问题,如果直接给出定义,很难记住,而且我们也不太愿意去记。我们可以拿生活中的例子来帮助我们理解,例如,早上去买菜,别人问你买了些什么?你会说买了一些蔬菜和水果。可能你买了很多的胡萝卜,白菜,玉米,茄子,还有草莓,西瓜等等。当别人问你买了些什么,你一般不会把你所有的都挨个讲出来,而是简要地回答买了一些蔬菜和水果。从这个例子中,我们关注的是菜篮子里的本质特征,即水果和蔬菜,而忽略了菜篮子里水果和蔬菜的种类、形状等,再比如水果是酸的还是甜的,这些我们都忽略。简单的说,抽象,抽:抽出;象:形象,特征。抽象,把象都抽掉了,剩下的就是质,就是本质性的东西。抽象是抽出事物共同的特征。
在这里插入图片描述

        我们还以刚才的菜为例,如果我们的问题背景是吃什么,我们可以从菜篮子里抽象出水果和蔬菜;如果我们的问题背景是研究版面设计,用形状表达就可以了,蔬菜用矩形,水果用圆形表示;如果我们的问题背景是研究营养搭配,用不同的颜色,蔬菜用紫色,水果用红色表示。从这里我们可以看出,抽象是面向问题的简化描述方法,具体怎么描述,取决于我们研究的问题。
在这里插入图片描述

2.为什么要抽象

        为什么要抽象?不抽象不能解决问题吗?抽象是人们求解问题时的认知过程和思维方法,从个别中把握一般,从现象把握本质。我们以人口普查这个问题为例,对一堆人群做人口普查工作。我们需要对人进行抽象,去掉人的爱好、性格、这个人的声音、这个人长得什么样等特征,而要抽象出:姓名、年龄、性别、地址等这些人共同具有的本质属性来表现不同的人。我们把这些共有的本质属性抽取出来形成一个框架,这个框架既可以适用于北京地区的人口普查,也适用于上海的人口普查,其它边远地区的人口普查也适用。在以人口普查为背景的问题下,我们对人抽象,形成一套适合所有地区人口普查的框架,减少重复工作。
在这里插入图片描述

3.什么是建模

        建模,先来看看书本上是怎么定义建模这个名词的。建模是为了理解事物而对事物做出的一种抽象,是对事物的一种无歧义的书面描述。凡是用模型描述系统的因果关系或相互关系的过程都属于建模。建模是把现实中的系统进行模拟或者抽象,通俗来讲,就是把实际的事物用合适的形象表示出来。理解起来还是有点难,我们可以简单的概括一下,建模是一种过程,它可以将复杂的事物简化为可理解的有限图示。
        从上面的描述中,我们可以提取出两个关键词:模型,建模。模型是指为了一定目的,对事物原型的一种抽象,例如航空3D模型是对现实中飞机的一个抽象表达,再比如城市交通模型是对城市交通系统的一个抽象表达。建模,即建立模型,我们对模型有一个输入,那么会得到一个输出,这样一个过程称为建模,用模型来描述相互关系的过程。例如,我们举一个例子,人口增长预测数学模型,这个模型是用来预测人口增长的,我输入第n年,会得到一个人口的增长数据表,这个过程就是建模。
在这里插入图片描述

4.建什么模

        模型有很多种,不仅仅是我们上面举例的数学模型,建模有很多种:

  • 数学建模。用计算得到的结果来解释实际的问题。
  • 数据建模。是数据特征的抽象,是数据库管理的教学形式框架。
  • UML建模。用于面向对象设计的建模语言规格说明,是表示标准。
  • 可视化建模。用图形化的方式描述所开发系统的过程。
  • 3D建模。通过虚拟三维空间来构建出三位数据的模型。
  • 业务建模。以软件模型方式描述企业管理和业务所涉及的对象和要素、以及它们的属性、行为和彼此关系,业务建模强调以体系的方式。

三.面向计算机的问题分析

        生活中,常常会遇到这样的问题,找不着手机了。这时候,用人的思维去找手机,你肯定会去熟悉的位置找,比如去房间里的书桌上找。你的印象中有一个大致的位置,然后根据这个位置去房间里找。但是,如果让计算机来找手机,情况就不一样了。它会不厌其烦地把整个房间遍历一遍,就是全部扫一遍,那可能会找不着吗?只要手机在房间里,那肯定能找着。
在这里插入图片描述
        可以看到,计算机的思维和人不同。在面向计算机的问题分析时,我们关心的是,人需要怎么做,计算机才能做什么。计算机在解决一些问题的时候,人需要做的是问题描述、抽象、建模,计算机才能做求解结果。我们总结一下,面向计算机的问题求解,人需要首先完成问题描述、抽象、建模,并且做好精确的算法设计、正确的程序编制,计算机才能做好计算。
        面向计算机的问题分析,是人和计算机完成各自的事情。计算机是实现人的思维的,但是因为人和计算机各自的能力与优势不同,使得求解问题的方法有很大的不同。

四.总结

1.问题描述、抽象与建模
   主要内容:
                (1).什么是抽象?抽象是对具体问题的简要表达。
                (2).为什么要抽象?抽象可以把事物的共同特征提取出来,形成一套适合所有实例的框架。
                (3).什么是建模?建模是一种问题求解的过程,用模型来描述相互关系的过程就是建模。
                (4).建什么模?建模有很多种,如数学建模,数据建模,3D建模等。
2.面向计算机的问题分析
   主要内容:
                (1).计算机的思维和人不同。
                (2).面向计算机的问题求解,人需要完成问题描述、抽象、建模,并且做好算法、程序,计算机才能做好计算。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1315617.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

用EnumSet代替位域

在Java中,可以使用EnumSet来代替位域,以提高代码的可读性和类型安全性。下面是一个简单的例子,演示如何使用EnumSet来管理一组枚举值: import java.util.EnumSet;// 定义一个枚举类型表示权限 enum Permission {READ, WRITE, EXE…

利用canvas封装录像时间轴拖动(uniapp),封装上传uniapp插件市场

gitee项目地址,项目是一个空项目,其中包含了封装的插件,自己阅读,由于利用了canvas所以在使用中暂不支持.nvue,待优化; 项目也是借鉴了github上的一个项目,timeline-canvas,​​​​​​​ ​​​​​​​

【Hive】【Hadoop】工作中常操作的笔记-随时添加

文章目录 1、Hive 复制一个表:2、字段级操作3、hdfs 文件统计 1、Hive 复制一个表: 直接Copy文件 create table new_table like table_name;hdfs dfs -get /apps/hive/warehouse/ods.db/table_nameload data local inpath /路径 into table new_table;修复表: m…

[pasecactf_2019]flask_ssti proc ssti config

其实这个很简单 Linux的/proc/self/学习-CSDN博客 首先ssti 直接fenjing一把锁了 这里被加密后 存储在 config中了 然后我们去config中查看即可 {{config}} 可以获取到flag的值 -M7\x10wd94\x02!-\x0eL\x0c;\x07(DKO\r\x17!2R4\x02\rO\x0bsT#-\x1cZ\x1dG然后就可以写代码解…

数据结构 | 查漏补缺之顺式存储和链式存储、如何评价哈希函数的好坏、链地址法、树的遍历、关键路径、完全图、连通图、迪杰斯特拉、b树

目录 顺式存储和链式存储 优缺点比较 顺序存储 ​编辑 链式存储 如何评价哈希函数的好坏 简述哈希查找中链地址法解决冲突的方法 树的遍历 关键路径 完全图 连通图 迪杰斯特拉 b树 特点: 插入(索引不能大于:最大为 M-1 个&#…

单例模式⭐️通过具体代码实现单例模式的不同实现以及周末总结

小伙伴们大家好,又是一个平平淡淡的周末,先来回顾下这周的情况吧 主线开发任务正常,没有滞后首次通过定时任务来处理脚本,测试通过熟悉定时任务的远程,本地来回切换 2023.12.16 天气阴 气温零下 一觉睡…

『App自动化测试之Appium应用篇』| uiautomator + accessibility_id定位方法完全使用攻略

『App自动化测试之Appium应用篇』| uiautomator accessibility_id定位方法完全使用攻略 1 uiautomatorviewer无法连接手机1.1 问题现象1.2 解决方法1.2.1 方法一:使用第三方文件(不建议)1.2.2 方法二:导入uix和png文件 2 accessi…

Threejs漫天多彩粒子天空--粒子系统打造

一、导语 漫天多彩粒子天空特效应该也是Threejs项目中挺常见的一个需求,因为它是基于粒子系统,可以衍生出许多的不一样的方案,比如,星空特效,下雨特效,飘雪特效等等,不仅可以用在项目中增加氛围…

【Unity 实用工具篇】| 游戏多语言解决方案,官方插件Localization 实现本地化及多种语言切换

前言 【Unity 实用工具篇】| 游戏多语言解决方案,官方插件Localization 实现本地化及多种语言切换一、多语言本地化插件 Localization1.1 介绍1.2 效果展示1.3 使用说明 二、 插件导入并配置2.1 安装 Localization2.2 全局配置 三、多语言映射表3.1 创建多语言文本配…

AWS-CDN只能备用域名访问-使用Lambda@Edge(禁止分配的域名访问)

场景:cdn使用备用域名后,希望用户只能从备用域名访问,而不是自动分配的cdn域名,这也将是一个安全漏洞,被扫描到cdn域名访问刷流量等! 【建议部署前查看】参考链接: 1.官方cdn返回示例 2.lambdae…

从菜鸟到专业人士:来自真实 PRD 写作经验的 5 个改变游戏规则的产品管理课程

产品管理是一个复杂且具有挑战性的角色。PRD(即产品需求文档)就像构建产品的蓝图,可将其视为指导开发团队创造令人惊叹的产品的详细路线图。本文除了介绍产品经理如何写好PRD,也将进一步阐述产品经理应该学习哪些技能?…

【C语言】动态内存管理(C语言的难点与精华,数据结构的前置知识,你真的掌握了吗?)

文章目录 引言一、为什么要动态内存分配二、动态内存分配的相关函数2.1 malloc2.2 free2.3 calloc2.4 realloc 三、常见的动态内存的错误3.1 对NULL指针的解引用3.2 对动态内存越界访问3.3 对非动态内存释放3.4 对动态内存部分释放3.5 对动态内存多次释放3.6 未对动态内存释放&…

DevEco Studio自定义代码颜色

这里以ArkTS代码颜色举例 进入设置(快捷键CtrlAltS) 选择Editor > Color Scheme > JavaScript 由于之前用习惯VsCode了,这里以注释颜色举例,变为绿色。 上面说的不是以ArkTS代码颜色举例吗?为什么选择JavaScr…

使用下载代替物理串口输出-STM32 Debug (printf) Viewer

使用下载代替物理串口输出-STM32 Debug 硬件要求配置方法代码要求打印输出结果 硬件要求 STM32的PB9、PB10引脚的串口1通常用作其他功能使用后,无法通过printf()函数打印输出想要调试输出查看变量或调试信息。现已使用另外一种方法实现printf()函数打印输出。 ST…

BugKu-Web-滑稽

题目环境 持续的动态图片 F12审查元素 拿下flag:flag{595d994a34342417bfc3a3c3a23e0a48}

Java: Random

/*** encoding: utf-8* 版权所有 2023 涂聚文有限公司* 许可信息查看:* 描述: //https://commons.apache.org/proper/commons-lang/javadocs/api-2.6/org/apache/commons/lang/RandomStringUtils.html* //https://commons.apache.org/pro…

jmeter 如何循环使用接口返回的多值?

有同学在用jmeter做接口测试的时候,经常会遇到这样一种情况: 就是一个接口请求返回了多个值,然后下一个接口想循环使用前一个接口的返回值。 这种要怎么做呢? 有一定基础的人,可能第一反应就是先提取前一个接口返回…

测试用例设计方法之判定表详解!!

理论部分 判定表是分析和表达多种输入条件下系统执行不同动作的工具,它可以把复杂的逻辑关系和多种 条件组合的情况表达得既具体又明确。 条件桩(Condition Stub)动作桩(Action Stub)条件项(Condition Entry)动作项(Action Entry&#xff0…

Redis常用内存淘汰策略?

从淘汰范围来说可以分为不淘汰任何数据、只从设置了到期时间的键中淘汰和从所有键中淘汰三类。而从淘汰算法来分,又主要分为 random(随机),LRU(最近最少使用),以及 LFU(最近最不常使…

【AI美图】第03期效果图,AI人工智能全自动绘画,二次元美图欣赏

带来一组二次元人工智能自动绘图 对比分析: 标题手画二次元需要技巧: 二次元高清图片的绘制技巧主要包括以下几点: 线条的运用:在二次元风格的绘画中,线条的运用非常重要。要绘制出流畅、细腻的线条,需…