用Scratch实现十二星座查询

欢迎大家想进阶学习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,即月和日分别用两位数字表示,比如1月1日,则输入0101。查询星座时也要按此格式输入日期。小海豚科学馆(微信公众号)提示您,使用windows系统自带的记事本软件。

     

2、数据导入。

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

3、编写入口程序。

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

        

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

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

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

(1) “与”方式:

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

        #找到星座

否则

        #继续查找

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

    

(2) “或”方式:

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

       #继续查找

否则

        #找到星座

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

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

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

5、试一试

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

摩羯座

12月22日

12月31日

摩羯座

1月1日

1月20日

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

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

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

青少儿编程课堂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值