最新消息:

用Scratch实现十二星座查询

Scratch 少儿编程 2838浏览 0评论

友情提示:视频教程观看时请手动设置清晰度。

十二星座查询

用Scratch实现十二星座查询

星座是占星学中必不可少的组成部分之一,也是天上一群群的恒星组合。自从古代以来,人类便把三五成群的恒星与他们神话中的人物或器具联系起来,每个星座都有自己独特的故事和传说。

在西方占星学上,黄道12星座是宇宙方位的代名词,一个人出生时,各星体落入黄道上的位置,说明了一个人的先天性格及天赋。黄道12星座象征心理层面,反映出一个人行为的表现的方式。于是将黄道分成12个星座,称为黄道12星座。

星座名称

开始日期

结束日期

白羊座

3月21日

4月20日

金牛座

4月21日

5月21日

双子座

5月22日

6月21日

巨蟹座

6月22日

7月22日

狮子座

7月23日

8月23日

处女座

8月24日

9月23日

天秤座

9月24日

10月23日

天蝎座

10月24日

11月22日

射手座

11月23日

12月21日

摩羯座

12月22日

1月20日

水瓶座

1月21日

2月19日

双鱼座

2月20日

3月20日

根据上面星座日期对照表,小海豚科学馆(微信公众号)请你用Scratch编写程序,通过输入一个人的生日查询出所属的星座。

 

【编程解题】

1、数据整理。

我们把星座名称、开始日期和结束日期分别保存到3个不同的文本文件中,每个数据占据一行。日期格式为:mmdd,即月和日分别用两位数字表示,比如11日,则输入0101查询星座时也要按此格式输入日期。小海豚科学馆(微信公众号)提示你,使用windows系统自带的记事本软件。

     用Scratch实现十二星座查询

2、数据导入。

分别创建三个列表:星座、开始日期、结束日期,再将星座数据导入这个三个列表中。在舞台上的列表的空白区域点击鼠标右键,在弹出的右键菜单中使用“导入”命令把整理好的三个数据文件的内容分别导入对应的列表中。

用Scratch实现十二星座查询

3、编写入口程序。

使用“询问……并等待”指令接收用户输入的出生日期,然后调用模块“星座查询”来查询用户属于哪个星座。

        用Scratch实现十二星座查询

4、编写模块“星座查询”。

创建一个名为“星座查询”的模块,参数为:出生日期。再用“重复执行直到……”指令构建一个循环结构来遍历十二星座的开始日期和结束日期,并在循环体内“如果……那么”指令判断用户输入的出生日期是否在哪个星座所属的范围内。依次判断“开始日期”列表和“结束日期”列表中的各项,直到找到匹配的星座,就将星座名称用“说”指令输出,并结束程序运行。

 

判断出生日期是否在开始日期和结束日期的范围内有两种方式,可用伪码表示为:

(1) “与”方式:

如果 开始日期 出生日期 出生日期 结束日期 那么

        #找到星座

否则

        #继续查找

由于Scratch中没有“≤”运算符,就需要把“<”和“=”两种运算符结合使用。这样整个表达式就显得长而复杂。

    用Scratch实现十二星座查询

(2) “或”方式:

如果 出生日期 < 开始日期 出生日期 > 结束日期 那么

       #继续查找

否则

        #找到星座

小海豚科学馆(微信公众号)建议你使用这种简洁的方式。

模块“星座查询”的代码如下:

用Scratch实现十二星座查询 

到这里,小海豚科学馆(微信公众号)已经带领你把星座查询的程序编写完毕。点击绿旗运行程序,就可以输入日期查询星座了。赶快试试吧!

 

5、试一试

如果你是摩羯座的,那么将查不到结果的,而是找到了一个严重的BUG小海豚科学馆(微信公众号)请你查看前面的星座日期对照表中的摩羯座的数据,想想这是为什么?

摩羯座

12月22日

12月31日

摩羯座

1月1日

1月20日

如果把摩羯座的数据修改为上面两行,并重新导入各个列表中,就能查询到结果了。

你想明白了吗?作为一个耐心而又细心的摩羯座,请你赶快修复这个BUG吧!

您必须 登录 才能发表评论!