基本的自下而上的算法作业



所以这是我的教授给我的问题:

开发一个自下而上的算法,教别人如何向你的教授发送一封奉承的电子邮件。

这是他给我们的基于烹饪的例子:

  1. 厨师。混合(鸡蛋、面粉、糖、牛奶、搅拌碗)
  2. 厨师。预热(烤箱)
  3. 厨师插页(面糊、烤箱)
  4. 烤箱烘烤(面糊)
  5. 厨师。取出(面糊、烤箱)

这就是我所得到的,任何问题,或者我在每一步结束时添加了"路径",我想你可以称之为"路径"。

  1. Sender.Press(PcPowerButton)
  2. Sender.Open(浏览器、电脑)
  3. Sender.LogOn(电子邮件客户端、浏览器、PC)
  4. Sender.Click(撰写按钮、电子邮件客户端、浏览器、Pc)
  5. Sender.Click(AddressBox、EmailClient、浏览器、PC)
  6. Sender.Type(ReciverAddress、AddressBox、EmailClient、Browser、Pc)
  7. Sender.Click(SubjectBox、EmailClient、浏览器、PC)
  8. Sender.Type(FlatteringText、SubjectBox、EmailClient、Browser、PC)
  9. Sender.Click(SendButton、EmailClient、浏览器、PC)

非常感谢您的帮助:)

这就是我迄今为止将其更改为的原因

  1. Sender.Press(PcPowerButton)
  2. Sender.Open(浏览器、电脑)
  3. Sender.LogOn(电子邮件客户端,Internet)
  4. 发件人。单击(撰写按钮、电子邮件客户端、Internet)
  5. Sender.Click(AddressBox,NewMessage)
  6. Sender.Type(ReciverAddress、AddressBox、NewMessage)
  7. Sender.Click(SubjectBox,NewMessage)
  8. Sender.Type(FlatteringText、SubjectBox、NewMessage)
  9. 发件人。单击(SendButton,NewMessage)

一些要点。

  1. 注意,这个例子没有包括"Oven.TurnOn()"one_answers"Oven.SetTemperature()"这样的步骤。相反,它只是说"Oven.Pheatre()",然后是"Oven.Bake(面糊)"。所以,这是一个抽象的问题。编程原语可以是低级的,也可以是高级的。高级基元封装了更大的行为/功能。您可能会发明并使用更高级别的基元
  2. 你似乎在使用面向对象的范例。基元/方法应该属于适当的对象

因此,可以想象,您可以有以下原语。

  1. PC开机()
  2. OS.Login(SenderUserID、SenderPassword)
  3. OS.Start(浏览器)
  4. Browser.Navigate(电子邮件网站URL)
  5. EmailWebsite.Login(SenderUserID,SenderPassword)
  6. 电子邮件网站.撰写(教授电子邮件,主题,正文)
  7. 电子邮件网站.Send()

如果你想让教授变得有趣,你也可以尝试编程发现教授的一些奉承之处的过程。

  1. FlatteringAttributes=教授.SelectAttributes(展平)
  2. EmailBody=Sender.Write(主题,FlatteringAttributes)

最新更新