Загрузка данных
<mxfile host="app.diagrams.net">
<diagram name="Алгоритм пользования банкоматом" id="atm-algorithm">
<mxGraphModel dx="1200" dy="800" grid="1" gridSize="10"
guides="1" tooltips="1" connect="1" arrows="1"
fold="1" page="1" pageScale="1"
pageWidth="1169" pageHeight="827"
math="0" shadow="0">
<root>
<mxCell id="0"/>
<mxCell id="1" parent="0"/>
<!-- Начало -->
<mxCell id="start" value="Начало"
style="ellipse;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;"
vertex="1" parent="1">
<mxGeometry x="440" y="20" width="140" height="60" as="geometry"/>
</mxCell>
<!-- Вставить карту -->
<mxCell id="insertCard" value="Вставить банковскую карту"
style="rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;"
vertex="1" parent="1">
<mxGeometry x="400" y="110" width="220" height="60" as="geometry"/>
</mxCell>
<!-- Ввод PIN -->
<mxCell id="enterPin" value="Ввести PIN-код"
style="rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;"
vertex="1" parent="1">
<mxGeometry x="420" y="200" width="180" height="60" as="geometry"/>
</mxCell>
<!-- Проверка PIN -->
<mxCell id="pinCorrect" value="PIN-код верный?"
style="rhombus;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;"
vertex="1" parent="1">
<mxGeometry x="420" y="300" width="180" height="100" as="geometry"/>
</mxCell>
<!-- Ошибка PIN -->
<mxCell id="pinError" value="Сообщить об ошибке"
style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;"
vertex="1" parent="1">
<mxGeometry x="130" y="320" width="180" height="60" as="geometry"/>
</mxCell>
<!-- Выбор операции -->
<mxCell id="operation" value="Выбрать операцию"
style="rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;"
vertex="1" parent="1">
<mxGeometry x="420" y="440" width="180" height="60" as="geometry"/>
</mxCell>
<!-- Снятие наличных? -->
<mxCell id="withdraw" value="Снятие наличных?"
style="rhombus;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;"
vertex="1" parent="1">
<mxGeometry x="420" y="540" width="180" height="100" as="geometry"/>
</mxCell>
<!-- Ввести сумму -->
<mxCell id="amount" value="Ввести сумму"
style="rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;"
vertex="1" parent="1">
<mxGeometry x="690" y="560" width="160" height="60" as="geometry"/>
</mxCell>
<!-- Достаточно средств? -->
<mxCell id="enough" value="Достаточно средств?"
style="rhombus;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;"
vertex="1" parent="1">
<mxGeometry x="680" y="670" width="180" height="100" as="geometry"/>
</mxCell>
<!-- Выдать деньги -->
<mxCell id="cash" value="Выдать наличные"
style="rounded=0;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;"
vertex="1" parent="1">
<mxGeometry x="690" y="820" width="160" height="60" as="geometry"/>
</mxCell>
<!-- Недостаточно средств -->
<mxCell id="noMoney" value="Сообщить: недостаточно средств"
style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;"
vertex="1" parent="1">
<mxGeometry x="920" y="690" width="210" height="60" as="geometry"/>
</mxCell>
<!-- Баланс -->
<mxCell id="balance" value="Показать баланс"
style="rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;"
vertex="1" parent="1">
<mxGeometry x="300" y="690" width="160" height="60" as="geometry"/>
</mxCell>
<!-- Вернуть карту -->
<mxCell id="returnCard" value="Вернуть карту"
style="rounded=0;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;"
vertex="1" parent="1">
<mxGeometry x="430" y="920" width="160" height="60" as="geometry"/>
</mxCell>
<!-- Конец -->
<mxCell id="end" value="Конец"
style="ellipse;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;"
vertex="1" parent="1">
<mxGeometry x="440" y="1020" width="140" height="60" as="geometry"/>
</mxCell>
<!-- Стрелки -->
<mxCell id="e1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=block;"
edge="1" parent="1" source="start" target="insertCard">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="e2" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=block;"
edge="1" parent="1" source="insertCard" target="enterPin">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="e3" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=block;"
edge="1" parent="1" source="enterPin" target="pinCorrect">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<!-- PIN да -->
<mxCell id="e4" value="Да"
style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=block;"
edge="1" parent="1" source="pinCorrect" target="operation">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<!-- PIN нет -->
<mxCell id="e5" value="Нет"
style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=block;"
edge="1" parent="1" source="pinCorrect" target="pinError">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<!-- Повтор PIN -->
<mxCell id="e6" value="Повторить ввод"
style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=block;"
edge="1" parent="1" source="pinError" target="enterPin">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="e7"
style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=block;"
edge="1" parent="1" source="operation" target="withdraw">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<!-- Снятие -->
<mxCell id="e8" value="Да"
style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=block;"
edge="1" parent="1" source="withdraw" target="amount">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<!-- Баланс -->
<mxCell id="e9" value="Нет / Проверка баланса"
style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=block;"
edge="1" parent="1" source="withdraw" target="balance">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="e10"
style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=block;"
edge="1" parent="1" source="amount" target="enough">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="e11" value="Да"
style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=block;"
edge="1" parent="1" source="enough" target="cash">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="e12" value="Нет"
style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=block;"
edge="1" parent="1" source="enough" target="noMoney">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="e13"
style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=block;"
edge="1" parent="1" source="cash" target="returnCard">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="e14"
style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=block;"
edge="1" parent="1" source="balance" target="returnCard">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="e15"
style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=block;"
edge="1" parent="1" source="noMoney" target="returnCard">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="e16"
style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=block;"
edge="1" parent="1" source="returnCard" target="end">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>