Загрузка данных


<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>