![小学生C++创意编程(视频教学版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/24/52842024/b_52842024.jpg)
第3课 舞动的机器人(趣味输入应用)
![](https://epubservercos.yuewen.com/1C2139/31397789403525706/epubprivate/OEBPS/Images/Figure-P34_3697.jpg?sign=1739623047-ssrPq0WgegAnUayBPi3DV0dfVDbfhf4z-0-697e0355d7731b97d3c09c2bcc4cba2c)
在学习了如何使用输出cout和输入cin之后,我已经迫不及待地想应用它们来做一些事情了。既然我已经能够输出图案,那是不是就能捣鼓个动画呢?在思考中探索新知识,在项目应用中掌握新技能,才是编程学习的正确打开方式。
学习编程最关键的不是知识本身,而是我们如何运用知识去思考和创建项目,如何发现新问题,以及如何探索未知领域。因此,无论所掌握的知识量有多少,只要你敢于思考和实践,就会有无限的可能性。同时,在思考和实践的过程中,我们会接触新的知识,并通过实践应用去掌握它们。
舞动的机器人
我们一起运用*号来拼装一个机器人造型吧!
![](https://epubservercos.yuewen.com/1C2139/31397789403525706/epubprivate/OEBPS/Images/Figure-P34_28570.jpg?sign=1739623047-qq22mHEGZPkpFZ7Mf7Vmxx4goamEffR5-0-483cc0237cca117810cc54e996c4749c)
![](https://epubservercos.yuewen.com/1C2139/31397789403525706/epubprivate/OEBPS/Images/Figure-P35_28571.jpg?sign=1739623047-wTj7prXjE1KJSkAPal5zeHEBlBY6CX8P-0-de93164e0165b6512fde63f0c59f10ee)
机器人的第一个造型出炉了。
![](https://epubservercos.yuewen.com/1C2139/31397789403525706/epubprivate/OEBPS/Images/Figure-P35_28573.jpg?sign=1739623047-hNJxZipvi5BUYJqN8x6DwOuN8gy5RBEu-0-df49c3a522b7aff13dfb1acae4022a0c)
继续设计机器人的第二个造型。
![](https://epubservercos.yuewen.com/1C2139/31397789403525706/epubprivate/OEBPS/Images/Figure-P36_28574.jpg?sign=1739623047-Rcg35pQ0EDC4vqGTWRmIvpPli6emEVmg-0-63db92038ca0d0928bcb13c1759f6d2f)
![](https://epubservercos.yuewen.com/1C2139/31397789403525706/epubprivate/OEBPS/Images/Figure-P36_28575.jpg?sign=1739623047-bVVUgfZS1Qh0VszccnRQoKUSPHd1BzKJ-0-f14b28811af2219ae7758b9980af4c14)
第二个造型也设计好了。
![](https://epubservercos.yuewen.com/1C2139/31397789403525706/epubprivate/OEBPS/Images/Figure-P36_28577.jpg?sign=1739623047-rSwOzdLUZrYdUPOmQgYJXOgfTFJ2xRBL-0-4204f2f1a792afd678770d4925ebddb1)
编译运行程序,两个机器人造型都出现了。
![](https://epubservercos.yuewen.com/1C2139/31397789403525706/epubprivate/OEBPS/Images/Figure-P36_3754.jpg?sign=1739623047-vbdHevfVQD9E0gzg0fEAg25uqAVC0Jec-0-46e086d6c65572305d0cfc756b0ff4fe)
提出思考
机器人造型输出已经完成了,怎么让图案动起来呢?
这需要屏幕上先显示机器人的第一个造型,然后过渡到机器人的第二个造型,接着再切换回机器人的第一个造型,不断地重复这个过程。
![](https://epubservercos.yuewen.com/1C2139/31397789403525706/epubprivate/OEBPS/Images/Figure-P37_28580.jpg?sign=1739623047-dhL9Ib61wO8y4qDH6HGBvmVi1o7jaS9d-0-fa795acc4c37f8b35463ced70ca6dcba)
![](https://epubservercos.yuewen.com/1C2139/31397789403525706/epubprivate/OEBPS/Images/Figure-P37_28581.jpg?sign=1739623047-TaxH6D0oeEiIcry7lmjcYOpqYnWZaNOE-0-5ea1f853fcbbbd0aa2f7820dca7f43a5)
翻译助力理解
● sleep:睡觉、休眠。
● system:系统。
● while:当……的时候。
● true:真的。
(1)#include <windows.h>:windows.h文件中包含了许多用来操作Windows操作系统的指令和信息,我们将它包含进来是为了能够使用Sleep()函数。
(2)Sleep(100):让输出的画面停留一会,再切换到下一个画面。尝试修改数值100去体会时间长短的变化。
划重点
Sleep()是一个函数,( )里面的数字是它的一个参数,为int类型,表示要暂停的毫秒数。1000毫秒=1秒。
Sleep(100)表示让程序等待了0.1秒。如果你学过Scratch,那么看看Sleep()和等待0.1秒积木块是不是有点类似。
联想对比学习
![](https://epubservercos.yuewen.com/1C2139/31397789403525706/epubprivate/OEBPS/Images/Figure-P39_28589.jpg?sign=1739623047-5TRjQ5AJiTclMIDWudD1pAUrIVIsKvnM-0-ffaf4244541328ece456e9459e012a66)
注意
S要大写哟!C++严格区分字母的大小写,同一个字母大写和小写表示的可不是同一个东西。
(3)system("cls"):它在Windows操作系统中比较常见,用于清除当前控制台窗口中的内容,使屏幕变成空白。
模块学习法
在这个程序中,system("cls")清除屏幕的效果似乎并不明显。结合学到的知识,将这个函数剥离出来,单独编写一个程序来体验一下它的效果。
![](https://epubservercos.yuewen.com/1C2139/31397789403525706/epubprivate/OEBPS/Images/Figure-P39_28592.jpg?sign=1739623047-meH4cUrYI7jmhnXf9WYoUm7whXEpnH1S-0-ed93b0ab3fe49158c4f402f61ce6d3cb)
运行程序后,你会发现“我说一句话,不知道会不会被清除。”只是一闪而过,因为它被清除了,最后留下了“清除成功!”。
● 程序首先执行cout << "我说一句话,不知道会不会被清除。"<< endl,输出了我说一句话,不知道会不会被清除。
● 然后执行system("cls"),屏幕上面的内容被清除了,什么都没有留下。
● 最后执行cout <<"清除成功!"<< endl,输出了清除成功!。
你发现了吗,程序代码是按照顺序执行的。
(4)为了让动画效果可以持续,使用while (true){ }循环语句,“装”在{ }内的程序语句会重复执行。
联想对比学习
while (true){ }相当于重复执行积木块,while(true)代表重复执行,{ }如同积木块的大嘴巴,被装进去的程序语句会重复执行。
![](https://epubservercos.yuewen.com/1C2139/31397789403525706/epubprivate/OEBPS/Images/Figure-P40_28599.jpg?sign=1739623047-OpJl92ZATaGfyrMJnmn68GJtU8odm9CS-0-69c480ea4e654b021b24aa23c3fbdf35)
射出心中的箭
学习一定要找准目标,如同射箭一定要瞄准靶心。朝着一个目标前行,学习才能更有动力。
一起朝着目标射出我们心中的箭吧!
![](https://epubservercos.yuewen.com/1C2139/31397789403525706/epubprivate/OEBPS/Images/Figure-P40_28601.jpg?sign=1739623047-7ktkNe73KG6qOVgLaF3L2Xsv8wVdYC55-0-90f671df25167c684cbb9ae56ea1a7df)
巩固练习
(1)cout >> "******">> endl这段代码可以在屏幕中输出什么?( )
A.******
B.*******
C.空白
D.程序报错
(2)找出程序中的错误并改正。
![](https://epubservercos.yuewen.com/1C2139/31397789403525706/epubprivate/OEBPS/Images/Figure-P41_28606.jpg?sign=1739623047-KUo6El6l6cn2IpFppOUIlmmwQP7FNbex-0-c8b40e090af82c880ba03d749e6ec10f)
(3)在C++中,string a;和string A;是否声明了同一个变量。( )√( )×
(4)用符号设计一个大写字母和对应的小写字母,并进行动画切换。
![](https://epubservercos.yuewen.com/1C2139/31397789403525706/epubprivate/OEBPS/Images/Figure-P41_28607.jpg?sign=1739623047-CakKG1MwlTUCOH0uEnmmHta5lIyaenPA-0-29840b5ace2f06b9177ada6426c86519)