M2_SETI/T2/T1_Cours.ipynb
2022-10-19 09:12:47 +02:00

123 lines
2.3 KiB
Text

{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Cours\n",
"\n",
"## V. David 18/10\n",
"\n",
"Correction robot atelier d'assemblage\n",
"\n",
"Proposition de la classe :"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"```\n",
"deposer():\n",
" P(RB)\n",
" Examiner()\n",
"\n",
" if(il_faut_tourner):\n",
" P(RA)\n",
" tourner()\n",
" V(RA)\n",
"\n",
" poser_la_piece()\n",
" V(RB)\n",
"\n",
"prendre():\n",
" P(RA)\n",
" Examiner()\n",
"\n",
" if(il_faut_tourner)\n",
" P(RB)\n",
" tourner()\n",
" V(RB)\n",
"\n",
" enlever_la_piece()\n",
" V(RA)\n",
"```"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Correction de la proposition :\n",
"Vérifier que les actions fonctionnent, puis vérifier les deadlocks\n",
"Remède deadlock p23 : désymétriser les codes"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"```\n",
"P(S_libre)\n",
"deposer():\n",
" P(RB)\n",
" Examiner()\n",
"\n",
" if(il_faut_tourner):\n",
" V(RB)\n",
" P(RA)\n",
" P(RB)\n",
"\n",
" examiner()\n",
" if(il_faut_tourner):\n",
" tourner()\n",
"\n",
" V(RA)\n",
"\n",
" poser_la_piece()\n",
" V(RB)\n",
"V(S_occupe)\n",
"\n",
"\n",
"P(S_occupe)\n",
"prendre():\n",
" P(RA)\n",
" Examiner()\n",
"\n",
" if(il_faut_tourner)\n",
" P(RB)\n",
" tourner()\n",
" V(RB)\n",
"\n",
" enlever_la_piece()\n",
" V(RA)\n",
"V(S_libre)\n",
"```"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3.8.10 64-bit",
"language": "python",
"name": "python3"
},
"language_info": {
"name": "python",
"version": "3.8.10"
},
"orig_nbformat": 4,
"vscode": {
"interpreter": {
"hash": "31f2aee4e71d21fbe5cf8b01ff0e069b9275f58929596ceb00d14d90e3e16cd6"
}
}
},
"nbformat": 4,
"nbformat_minor": 2
}