求:用PV原语描述吃苹果问题。

来源:百度知道 编辑:UC知道 时间:2024/06/14 01:53:39
父亲,女儿和儿子还有一个盘子,父亲随机向盘子里放苹果或香蕉,女儿只能拿香蕉,儿子只能拿苹果,用PV原语描述

int Splate = 1;
int Sapple = 0;
int Sorange= 0;
cobegin
father();
{ son() // daughter()}
coend
father()
{ while(1)
{
P(Splate); /* 获取空盘子 */
将水果放入盘子中;
if (放入的是桔子)
V(Sorange); /*通知女儿吃桔子*/
else
V(Sapple); /*通知儿子吃苹果 */
}
}
son()
{ while(1)
{
P(Sapple); /* 获取有苹果的盘子 */
从盘子中取苹果;
V(Splate); /*通知父亲放水果*/
吃苹果;
}
}
daughter()
{ while(1)
{
P(Sorange); /* 获取有桔子的盘子 */
从盘子中取桔子;
V(Splate); /*通知父亲放水果*/
吃桔子;
}
}