【少儿编程】知识点汇总和项目结项

前面写了四篇文章,分享了我做少儿编程项目的一些知识点。对于我个人来说,是编程技术在不同行业不同场景的运用。同时也让我也接触和了解到少儿编程领域,算是积累一些该领域的经验吧;也让我再次复习了C++语言的知识,加深了C++语言的理解和领域内的应用。

今天,还有其他的一些零碎知识点要汇总下。既然遇到过这样的知识点,那就记录下,以便某一天需要之时,可以查阅。

本篇文章有以下四个知识点要分享
知识点一:头文件引入
知识点二:四舍五入保留小数位数
知识点三:雷劈数
知识点四:拆分数字各位位数

知识点一:头文件引入
程序员都知道,在编程过程中都会调用系统的函数,而这些函数是需要引入其对应的头文件的。

学或用C++的时候,我依稀记得要引入一个iostream.h的头文件。然后在这次使用时,我直接#include
没有想到,在DevC++环境中,竟然编译报错了。(这里说下DevC++环境,其实质就是GCC编译器环境,对于该编译器是有些古老了,现在我们都是用LLVM编译器)

后来经过查证,在DevC++开发环境中,正确的写法是:

include

同时,在这过程中,我接触一个万能头文件, 通过深入学习,确实这个头文件是万能的,在记不起其他头文件,就可以使用它,

include //万能头文件

知识点二:四舍五入保留小数位数
对于这个知识点,在C语言中,我们一般是使用百分号(%)实现。例如
double number = 123.4567;
printf(“%.2f\n”, number); // 输出: 123.45
而在C++中,还有一种写法,即使用setprecision函数。具体如下:

include

include

using namespace std;

int main() {
double number = 3.14159;
cout << fixed << setprecision(2) << number <<endl; // 输出: 3.14
return 0;
}
这里要引入

include 头文件

还要写成
cout<< fixed << setprecision(2)

相比较而言,前面的printf(“%.2f\n”, number)方式要简单些。但不管怎么样,在这个项目中接触到了这个知识点,也就记录下来。

知识点三:雷劈数
初看到这个概念,不知道什么意思。经过了解才知道,满足下面公式的就是雷劈数
(ab + cd) * (ab + cd) = abcd

简而言之,两数之和的平方等于原数。具体例子为
(30 + 25) * (30 + 25) = 3025
这个知识点比较简单,了解并记住就可以。

知识点四:拆分数字各位位数
简单来说,拆分一个数中的个位、十位、百位,千位等位数。方法有很多,这里介绍两种。

第一种方式:对个,十,百,千,万位直接拆分.
具体拆分如下:
假设 n为一个整数
w = n / 10000
q = n / 1000 % 10
b = n / 100 % 10
s = n / 10 % 10
g = n % 10

实际例子,见下图

第二种方式:短除法
在实践过程中就发现,方法一存在一个弊端,位数是固定,不能随着数字位数的不同而变化。例如 321只有三位,最大也是到百位;而54321就是5位,就有万位数,使用方法一就不好统一处理了。

而短除法可以根据数字的位数灵活变化。下面详细讲。
在数学中,我们的除法列式如下:

每一次除以10,可以得到商和余数,其中余数就是各个位数的数字。这里有一点差异就是,位数的次序是倒序的,即个十百千位依次排序。

根据上面的式子,我们可以编写如下的代码,并右图的结果。

利用短除法,我们还可以做一些变形题。

求一个数的各位数之和。
编写代码如下:

include

using namespace std;

int main() {

int n;
cin>>n;

int s = 0;
while( n != 0) {
   s = s + n % 10;
   n = n /10;
}

cout<<" 总和为: "<<s<<endl;
return 0;

}
求一个数的倒数。
例如 648291, 倒过来就是192846
代码如下:

include

using namespace std;

int main() {

int n;
cin>>n;
int d = 0;

while( n != 0) {

   d = d * 10 + n % 10;
   n = n /10;
}

cout<<" 倒数为: "<<d<<endl;
return 0;

}
短除法的应用还是蛮多的,这里只列举几个示例。

讲完了几个知识点,最后在对这个项目进行总结下。

结项与总结
这个项目,兼职做了四天。在这四天里,接触了一个新领域,并且是用C++语言应用于新领域,算是已有的知识在新的领域里的应用。

在接触这个项目过程中,深刻的体会到:虽然使用的是已有知识(C++),然而因场景不同,使用技巧不同,导致的结果也是不同的。最浅显的道理就是:用上班工作的编程思维去处理少儿编程的思维,是行不通的。在新的领域有新的规则,需要学习和适用新的规则。

说到规则,让我想起几个底层道理:
1.对复杂事物或问题的处理方式?
一般地,我们需要把复杂问题简单化。具体来说,就是拆分复杂问题,把问题分解成许多部分,然后分别验证每一部分的正确性。当所有的部分验证通过时,也就是整体验证通过,即复杂问题解决了。

这个问题就像哲学中的整体与局部的关系。面对一个比较复杂的整体,先分解成不同的局部,对每一个局部进行正确性验证,当所有局部都验证通过时,整体也没有问题了。

2.对称图形的处理方式?
在文章二中,遇到过好几个对称图形。对于对称图形,我们先处理一半的,然后再看情况处理另一半的。就像打印菱形图形一样,先打印上面部分的正三角形,然后在处理另一部分–倒三角形。这样一个复杂的图形就处理好啦。

以上就是我的项目总结和心得。

声明:文中观点不代表本站立场。本文传送门:https://eyangzhen.com/416810.html

联系我们
联系我们
分享本页
返回顶部