C++编程启蒙-2——你适合学习编程吗?

news2025/1/11 20:47:21

英语差,数学孬,照样可以学好编程。但,如果你逻辑思维差,动力能力弱,那么学习编程真的会难上加难。本课用来帮助读者实现对逻辑思维与动手能力的自我判断,并给出了实际测试方案。

英语差,数学孬,照样可以学好编程。但,如果你逻辑思维差,动力能力弱,那么学习编程真的会难上加难。本课用来帮助读者实现对逻辑思维与动手能力的自我判断,并给出了实际测试方案。

0. 视频

2-你适合学习编程吗

1. 逻辑思维

编程可视为:按照特定的逻辑,将一些简单的功能加以编排,从而得到一个复杂的功能。

假设我们已经拥有三项简单的功能,如图:

现在,为了解决某一更加复杂的特定功能,只需要以某种流程,编排三者的运行逻辑,假设为:

符合逻辑的编排,就是一个好程序,它能解决问题;毫无逻辑的编排,就是糟糕的程序,它只能制作更多问题。比如:,你会刀法,会切西红柿,也会打蛋,会热油锅,会颠勺炒菜。现在要求你做一盘西红杮炒鸡蛋,则:

  1. 切西红杮 → 打蛋 → 热油锅 → 西红杮和蛋进锅 → 开炒
  2. 热油锅 → 开炒 → 打蛋 → 切西红杮 → 西红杮和蛋进锅

前者是好厨师,后者完全逻辑混乱,是“神经病”。

2. 动手能力

对于初学者而言,在最初的两三年内,编程学习更多是一门动手实践课,甚至可以说,是一门模仿秀。即:谁有本事正确模仿写出别人的现有的代码,谁一开始就学得比较快,比较好。(ChatGPT就是这样一个“机器人”,它那么能“写”程序,是因为它读的现有程序太多了)。

编程当然也有许多理论知识,但多数理论都需要在“做出来”之后,甚至“做得多了”之后,才能真正领悟并运用自如。这就有一点点像谈恋爱。《恋爱理论大全》看再多遍,也不如真正的投入一场恋爱,哪怕最终是失恋,也比纸上谈兵,从没有谈恋爱经历的人,要懂得更具体,更深刻。

编程时的动手能力可以分为三个从简单到复杂的步骤:

2.1 第一级:模仿能力

不要小看模仿的作用!模仿,甚至“山寨”,是一种超强的学习能力,能让你受益终身。刚开始学习编程的人,千万不要上来就要自己创造创新,而是要不断地看,照写别人(比如:老师或课程中)的代码。这样,随着学习的深入,没有现成的代码可抄了,或者现有代码存在这样或那样的问题时,你才能悟出来应该如何自己修改或重写。

2.2 第二级:重组能力

重新组织能力,非常接近于前面谈“逻辑思维”里的编排能力。

在编程学习过程中,组织能力是指:课程已经将 某个功能实现的各项子功能,都讲了,你现在需要的,就是利用自己的逻辑思维,将这些功能组织成最终的模型。这个过程也有点像:老师把一台机器的所有零件,当你面一个个拆下来,并且边拆边讲解每个零件在整体中的作用。然后,把一地零件推给你,问你能不能将它们再拼回去。

有些奇怪的人在嘲笑C919,说它用了许多非国产零件。但他们不知道的是:给一堆零件,能造出民航大飞机来的,全世界也就三家。

2.3 第三级:探索能力

最后是探索能力,重点指遇到问题时,如何自己找出答案的能力。

3 动手能力课堂实测

视频里给的在线编程网站,如何打不开,可以改用以下几个:

  1. 菜鸟工具的C++在线工具: C++ 在线工具 | 菜鸟工具
  2. Json.cn 在线运行C++(GCC 9.2.0)
  3. 上节我们用于查看程序“裸体”指令,大名鼎鼎但日常使用稍显复杂的
    CompilerExploer
  4. 可在线调试的的 在线GDB

需要你动手写,并在线编译运行的代码如下:

//我的第一段C++程序
//作者:丁小明
#include <iostream>

using namespace std;

int main()
{
   cout << "你好,C++程序世界!" << endl;
}

灵活使用 Ctrl+C 和 Ctrl+V 来写代码的人,算不算动手能力强?可以算,毕竟这样复制粘贴,真是得来全不费功夫……但是,觉得这样有助于学习的人,一定肯定以及必定,是一位大脑逻辑有点糊的人。

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

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

相关文章

15个常见的AI绘画网站推荐

无论你是专业的艺术家还是对人工智能绘画感兴趣的普通人&#xff0c;AI绘画网站都可以为你提供新的创作灵感和艺术体验&#xff0c;给艺术界带来更多的创新和可能性。以下是15个常见的AI绘画网站的介绍。 即时 AI 灵感 「即时 AI 灵感」是通过文字描述等方式生成精致图像的AI…

QGIS实现shape、geojson数据的矢量切片教程

能够实现矢量切片的办法有很多&#xff0c;可以使用geoserver&#xff0c;可以使用qgis&#xff0c;当然也可以自己写代码实现。这篇文章我们来介绍一下如何使用qgis完成shape数据的矢量切片。 首先我们还是要准备一份矢量数据。矢量数据的格式是shape文件或者是geojson文件都…

IDEA下载安装与使用

IDEA下载、安装与概述、使用 IDEA全称InteliJ IDEA&#xff0c;是用于Java语言开发的集成环境&#xff0c;它是业界公认的目前用于Java程序开发最好的工具 集成环境&#xff1a;把代码编写、编译、执行、调试等多种功能综合到一起的开发工具 1 IDEA的下载 官网链接&#xf…

第一章 基础算法(二)——高精度,前缀和与差分

文章目录 高精度运算高精度加法高精度减法高精度乘法高精度除法 前缀和二维前缀和 差分二维差分 高精度练习题791. 高精度加法792. 高精度减法793. 高精度乘法794. 高精度除法 前缀和练习题795. 前缀和796. 子矩阵的和 差分练习题797. 差分798. 差分矩阵 高精度运算 两个大数做…

Day37

思维导图 练习 1> 编写一个名为myfirstshell.sh的脚本&#xff0c;它包括以下内容。 a、包含一段注释&#xff0c;列出您的姓名、脚本的名称和编写这个脚本的目的 b、和当前用户说“hello 用户名” c、显示您的机器名 hostname d、显示上一级目录中的所有文件的列表 e、显示…

Git 多账号多仓库配置 SSH

前言 在我们使用 Git 中&#xff0c;有时候会遇到多账号多仓库的情况&#xff0c;比如公司的 GitLab 和 GitHub&#xff0c;以及自己的 GitHub&#xff0c;这时候我们就需要配置多个 SSH 密钥来区分不同的账号和仓库 生成 SSH 密钥 根据你注册仓库的邮箱生成 SSH 密钥&#…

Kubeadm方式搭建K8s集群 1.27.0版本

目录 一、集群规划 二、系统初始化准备(所有节点同步操作) 三、安装并配置cri-docker插件 四、安装kubeadm&#xff08;所有节点同步操作&#xff09; 五、初始化集群 六、Node节点添加到集群 七、安装网络组件Calico 八、测试codedns解析可用性 一、集群规划 环境规划…

Qt 定时器

定时器事件---timerEvent 定时器启动 startTimer(); 注意&#xff1a;定时器参数要是全局或者静态变量。 定时器结束 没有结束函数 定时器标志---timerId int timerIdstartTimer(); startTimer()返回定时器标志 需设置为类的成员--类内使用 定时器使用 通过定时器事件…

设计模式介绍

设计模式的分类 总体来说设计模式分为三大类&#xff1a; 创建型模式&#xff0c;共五种&#xff1a;工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式&#xff0c;共七种&#xff1a;适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式…

JVM体系结构模块

1、类装载器ClassLoader &#xff08;1&#xff09;负责加载class文件&#xff0c;class文件在文件开头有特定的文件标示&#xff0c;并且ClassLoader只负责class文件的加载&#xff0c;至于它是否可以运行&#xff0c;则由Execution Engine决定 &#xff08;2&#xff09;加…

麻了。。。

同样的初始条件&#xff0c;一个每隔0.05s保存一步数据&#xff0c;一个每隔1.13s保存一步数据。 上面横轴代表时间&#xff0c;纵轴代表Nu。 可以看出其实是不太一样的&#xff0c;一个取平均是24.72&#xff0c;一个是25.34&#xff0c;差距其实有的。 我目前跑算例发现长时间…

【C++】类和对象超全超详细总结(万字详解)

&#x1f680; 作者简介&#xff1a;一名在后端领域学习&#xff0c;并渴望能够学有所成的追梦人。 &#x1f681; 个人主页&#xff1a;不 良 &#x1f525; 系列专栏&#xff1a;&#x1f6f8;C &#x1f6f9;Linux &#x1f4d5; 学习格言&#xff1a;博观而约取&#xff0…

C#视觉检测-模板匹配

前几天一个学员在学习C#与视觉交互时,也不知道视觉可以用来做什么 。下面我们就详细讲讲C# 和视觉交互的相关知识。 C#和Halcon的视觉交互在工业生产和智能制造领域中得到了广泛应用。其中&#xff0c;模板匹配是一种简单但有效的图像处理技术&#xff0c;可以用于检测和定位物…

性能测试压测工具都有哪些?怎么选你知道吗?

目录 普遍存在的问题 工具选型和推荐 软件测试而非测试工具 总结&#xff1a; 普遍存在的问题 聊压测工具之前&#xff0c;先聊一下我面试候选人时问的问题以及在技术交流群经常遇到的一个情况。 面试候选人特别是性能测试岗位&#xff0c;我一般很少问测试工具的问题&…

53 最佳实践-安全最佳实践-虚拟机可信启动

文章目录 53 最佳实践-安全最佳实践-虚拟机可信启动53.1 概述53.2 配置vTPM设备&#xff0c;使能度量启动53.2.1 安装swtpm和libtpms软件53.2.2 虚拟机配置vTPM设备53.2.3 确认度量启动使能成功 53 最佳实践-安全最佳实践-虚拟机可信启动 53.1 概述 可信启动包含度量启动和远…

深入篇【Linux】学习必备:谈gcc/g++使用及原理 + 动静态库介绍 + debug与release模式

深入篇【Linux】学习必备&#xff1a;谈gcc/g是如何完成程序的翻译过程&&动静态库介绍&&debug与release模式 Ⅰ.gcc/g是如何完成程序的翻译过程的&#xff1f;①.预处理(宏替换)②.编译(生成汇编)③.汇编(生成机器可识别代码)④.链接(生成可执行文件) Ⅱ.动态库…

安装Nginx网站服务

目录 前言 一、Nginx简介 二、Nginx应用场景 三、Nginx与Apache优缺点 1&#xff09;Nginx 相对于 Apache 的优点 2&#xff09;Apache 相对于 Nginx 的优点 3&#xff09;Nginx和Apache的差异 四、阻塞与非阻塞、同步与异步 五、安装Nginx软件 1、在线安装 ①使用y…

半导体测试系统 芯片自动化测试软件 可定制测试方案ATECLOUD-IC

*测试产品&#xff1a;芯片半导体器件。纳米软件ATECLOUD-IC芯片自动化测试系统适用于二极管、三极管、绝缘栅型场效应管、结型场效应管、单向和双向可控硅、普通和高速光耦、整流桥、共阴共阳二极管及多阵列器件等各类半导体分立器件综合性能自动化测试。 *被测项目&#xff…

vue3 script setup

解决在使用vue 3 composition API(组合式API)时繁琐的问题&#xff0c;比如定义一个方法&#xff0c;模板需要使用该方法&#xff0c;就必须将方法返回&#xff0c;当组件中存在大量方法和属性时就很麻烦。 一、什么是script setup 二、script setup什么作用 1.自动注册子组件 …

flutter 主题色彩管理组件 flex_color_scheme

flutter 主题色彩管理组件 flex_color_scheme 前言 原文 https://ducafecat.com/blog/flutter-flex-color-scheme 平时我们做样式适配关心几个方面: 设计稿颜色 标记尺寸大小、比例 全局修改为主 快速可修改 今天将会介绍一个快速调整主题色彩样式的三方组件 flex_color_schem…