กระบวนการ CCS สำหรับตู้กดน้ำที่มีราคาแตกต่างกันสองแบบ


11

ตู้กดน้ำต้องให้ผู้ใช้ใส่เหรียญ ( ) จากนั้นกดปุ่มหนึ่งในสามปุ่ม:ขอถ้วยชา , เหมือนกันสำหรับกาแฟ และขอเงินคืน (เช่นเครื่องให้เงินคืน: ) เครื่องจ่ายนี้สามารถสร้างแบบจำลองโดยกระบวนการCCSต่อไปนี้:c¯d¯teaetear¯b¯

M=defc.(dtea.e¯tea.M+dcoffee.e¯coffee.M+r.b¯.M)

สงครามกลางเมืองยกระดับราคากาแฟเป็นสองเหรียญในขณะที่ราคาของชายังคงอยู่หนึ่งเหรียญ เราต้องการเครื่องที่ได้รับการดัดแปลงซึ่งให้กาแฟหลังจากเหรียญสองเหรียญและได้รับการคืนเงินหลังจากเหรียญหนึ่งหรือสองเหรียญ เราจะจำลองเครื่องที่ดัดแปลงด้วยกระบวนการ CCS ได้อย่างไร


1
CCS model / กระบวนการคืออะไร? พวกเขาเทียบเท่ากับระบบการเปลี่ยนผ่าน (LTS) หรือไม่
Raphael

1
@ ราฟาเอล CCS เป็นแคลคูลัสกระบวนการผู้นำของแคลคูลัส pi โมเดล CCS เป็นเพียงโมเดลใน CCS ฉันได้เพิ่มลิงค์ Wikipedia และ tag wiki
Gilles 'ดังนั้นหยุดความชั่วร้าย'

ฉันคิดว่าตรรกะและการเขียนโปรแกรมภาษาเหมาะสำหรับคำถามนี้ จีบกระบวนการมีการศึกษาในพื้นที่เหล่านี้และสำหรับคำถามนี้ตรรกะดูเหมือนว่าเหมาะสมมากขึ้นเช่นโปรดตรวจสอบแท็กพื้นที่ที่นี่
Kaveh

คำตอบ:


9

คุณสามารถได้กำไรจากสงครามอย่างง่ายดาย:

M=defc.(dtea.e¯tea.M+r.b¯.M+c.(dcoffee.e¯coffee.M+r.b¯.b¯.M))

โปรดทราบว่าคุณต้องกดคืนเงินเพื่อรับชาถ้าคุณใส่เหรียญมากเกินไป หากคุณไม่ต้องการสิ่งนั้นคุณสามารถปรับได้ (หรืออาจตั้งค่าตัวนับ (จำกัด แน่นอน)):

M=defc.(dtea.e¯tea.M+r.b¯.M+c.(dcoffee.e¯coffee.M+dtea.b¯.e¯tea.M+r.b¯.b¯.M))

ฉันไม่เข้าใจคำตอบของคุณ ขั้นตอนแรกที่คุณแสดงมีราคากาแฟที่เหรียญหนึ่งและมีเครื่องอย่างใดทำให้ผู้ใช้ใส่เหรียญ ฉันไม่เห็นการเชื่อมต่อกับคำถาม กระบวนการที่สองดูในแทร็กที่ถูกต้อง แต่ควรทำอย่างไร ?? c¯
Gilles 'หยุดความชั่วร้าย'

@Gilles:ให้เงินคืน แต่มันจะดีกว่าฉันให้ชื่ออื่นกับเราเพื่อส่งเงินกลับมา c¯
Stéphane Gimenez

@ StéphaneGimenezคุณพูดถูกฉันได้เพิ่มแล้ว
Gilles 'หยุดความชั่วร้าย'

@Gilles and Stéphane: คุณพูดถูกเป็นตัวเลือกที่แย่มากสำหรับการคืนเงิน (ตัวอย่างเช่นคุณอาจต้องการให้เครื่องทำงานแบบอะซิงโครนัส:จากนั้นเครื่องก็สามารถรับมันเองได้ดังนั้นคุณจะต้องรีบจับเงินของคุณอย่างรวดเร็ว!)c¯r.(c¯M)
jmad

@Gilles: ฉันเลือกเช่นกันเป็นอิสระจากคุณ ฉันเดาว่านี่เป็นตัวเลือกมาตรฐาน :-)b¯
jmad

5

นี้เครื่องจะสะดวกกว่าคนที่คุณนำเสนอ:M0

M0:=c.M1

M1:=dtea.e¯tea.M1+r.b¯.M0+c.M2

Mn:=dtea.e¯tea.Mn1+dcoffee.e¯coffee.Mn2+r.b¯.b¯.nM0+c.Mn+1

(แต่การใช้กระบวนการที่ไม่มีที่สิ้นสุดนั้นก็เหมือนกับการโกง)


ฉันชอบแง่มุมประพันธ์ที่นี่ อย่างไรก็ตามฉันคิดว่ามันดีสำหรับหุ่นยนต์ที่จะไม่อนุญาตมากกว่าสองเหรียญ?
Raphael

ทีนี้นี่ก็ช่วยให้คุณเข้าใจวิธีจัดการกับเหรียญที่มีค่าต่างกัน :-)
Stéphane Gimenez
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.