
第3课 舞动的机器人(趣味输入应用)

在学习了如何使用输出cout和输入cin之后,我已经迫不及待地想应用它们来做一些事情了。既然我已经能够输出图案,那是不是就能捣鼓个动画呢?在思考中探索新知识,在项目应用中掌握新技能,才是编程学习的正确打开方式。
学习编程最关键的不是知识本身,而是我们如何运用知识去思考和创建项目,如何发现新问题,以及如何探索未知领域。因此,无论所掌握的知识量有多少,只要你敢于思考和实践,就会有无限的可能性。同时,在思考和实践的过程中,我们会接触新的知识,并通过实践应用去掌握它们。
舞动的机器人
我们一起运用*号来拼装一个机器人造型吧!


机器人的第一个造型出炉了。

继续设计机器人的第二个造型。


第二个造型也设计好了。

编译运行程序,两个机器人造型都出现了。

提出思考
机器人造型输出已经完成了,怎么让图案动起来呢?
这需要屏幕上先显示机器人的第一个造型,然后过渡到机器人的第二个造型,接着再切换回机器人的第一个造型,不断地重复这个过程。


翻译助力理解
● 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秒积木块是不是有点类似。
联想对比学习

注意
S要大写哟!C++严格区分字母的大小写,同一个字母大写和小写表示的可不是同一个东西。
(3)system("cls"):它在Windows操作系统中比较常见,用于清除当前控制台窗口中的内容,使屏幕变成空白。
模块学习法
在这个程序中,system("cls")清除屏幕的效果似乎并不明显。结合学到的知识,将这个函数剥离出来,单独编写一个程序来体验一下它的效果。

运行程序后,你会发现“我说一句话,不知道会不会被清除。”只是一闪而过,因为它被清除了,最后留下了“清除成功!”。
● 程序首先执行cout << "我说一句话,不知道会不会被清除。"<< endl,输出了我说一句话,不知道会不会被清除。
● 然后执行system("cls"),屏幕上面的内容被清除了,什么都没有留下。
● 最后执行cout <<"清除成功!"<< endl,输出了清除成功!。
你发现了吗,程序代码是按照顺序执行的。
(4)为了让动画效果可以持续,使用while (true){ }循环语句,“装”在{ }内的程序语句会重复执行。
联想对比学习
while (true){ }相当于重复执行积木块,while(true)代表重复执行,{ }如同积木块的大嘴巴,被装进去的程序语句会重复执行。

射出心中的箭
学习一定要找准目标,如同射箭一定要瞄准靶心。朝着一个目标前行,学习才能更有动力。
一起朝着目标射出我们心中的箭吧!

巩固练习
(1)cout >> "******">> endl这段代码可以在屏幕中输出什么?( )
A.******
B.*******
C.空白
D.程序报错
(2)找出程序中的错误并改正。

(3)在C++中,string a;和string A;是否声明了同一个变量。( )√( )×
(4)用符号设计一个大写字母和对应的小写字母,并进行动画切换。
