所以这是我的教授给我的问题:
开发一个自下而上的算法,教别人如何向你的教授发送一封奉承的电子邮件。
这是他给我们的基于烹饪的例子:
- 厨师。混合(鸡蛋、面粉、糖、牛奶、搅拌碗)
- 厨师。预热(烤箱)
- 厨师插页(面糊、烤箱)
- 烤箱烘烤(面糊)
- 厨师。取出(面糊、烤箱)
这就是我所得到的,任何问题,或者我在每一步结束时添加了"路径",我想你可以称之为"路径"。
- Sender.Press(PcPowerButton)
- Sender.Open(浏览器、电脑)
- Sender.LogOn(电子邮件客户端、浏览器、PC)
- Sender.Click(撰写按钮、电子邮件客户端、浏览器、Pc)
- Sender.Click(AddressBox、EmailClient、浏览器、PC)
- Sender.Type(ReciverAddress、AddressBox、EmailClient、Browser、Pc)
- Sender.Click(SubjectBox、EmailClient、浏览器、PC)
- Sender.Type(FlatteringText、SubjectBox、EmailClient、Browser、PC)
- Sender.Click(SendButton、EmailClient、浏览器、PC)
非常感谢您的帮助:)
这就是我迄今为止将其更改为的原因
- Sender.Press(PcPowerButton)
- Sender.Open(浏览器、电脑)
- Sender.LogOn(电子邮件客户端,Internet)
- 发件人。单击(撰写按钮、电子邮件客户端、Internet)
- Sender.Click(AddressBox,NewMessage)
- Sender.Type(ReciverAddress、AddressBox、NewMessage)
- Sender.Click(SubjectBox,NewMessage)
- Sender.Type(FlatteringText、SubjectBox、NewMessage)
- 发件人。单击(SendButton,NewMessage)
一些要点。
- 注意,这个例子没有包括"Oven.TurnOn()"one_answers"Oven.SetTemperature()"这样的步骤。相反,它只是说"Oven.Pheatre()",然后是"Oven.Bake(面糊)"。所以,这是一个抽象的问题。编程原语可以是低级的,也可以是高级的。高级基元封装了更大的行为/功能。您可能会发明并使用更高级别的基元
- 你似乎在使用面向对象的范例。基元/方法应该属于适当的对象
因此,可以想象,您可以有以下原语。
- PC开机()
- OS.Login(SenderUserID、SenderPassword)
- OS.Start(浏览器)
- Browser.Navigate(电子邮件网站URL)
- EmailWebsite.Login(SenderUserID,SenderPassword)
- 电子邮件网站.撰写(教授电子邮件,主题,正文)
- 电子邮件网站.Send()
如果你想让教授变得有趣,你也可以尝试编程发现教授的一些奉承之处的过程。
- FlatteringAttributes=教授.SelectAttributes(展平)
- EmailBody=Sender.Write(主题,FlatteringAttributes)