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


<mxfile host="app.diagrams.net">
  <diagram name="Array-Task3-Var10" id="arr-task3-v10">
    <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" />

        <!-- ========================================== -->
        <!-- ЛЕВАЯ ЧАСТЬ: ОСНОВНАЯ ПРОГРАММА (main)     -->
        <!-- ========================================== -->

        <mxCell id="m_start" value="начало" style="rounded=1;whiteSpace=wrap;html=1;arcSize=50;strokeWidth=1.5;" vertex="1" parent="1">
          <mxGeometry x="170" y="30" width="140" height="35" as="geometry" />
        </mxCell>

        <!-- Ввод массива A -->
        <mxCell id="m_loop_in" value="i := 0..9, 1" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;strokeWidth=1.5;" vertex="1" parent="1">
          <mxGeometry x="160" y="90" width="160" height="40" as="geometry" />
        </mxCell>

        <mxCell id="m_in_elem" value="вв. A[i]" style="shape=parallelogram;perimeter=parallelogramPerimeter;whiteSpace=wrap;html=1;fixedSize=1;strokeWidth=1.5;" vertex="1" parent="1">
          <mxGeometry x="170" y="155" width="140" height="35" as="geometry" />
        </mxCell>

        <!-- Вызов функции multNegative -->
        <mxCell id="m_call_p" value="P := multNegative(A, 10)" style="shape=process;whiteSpace=wrap;html=1;backgroundOutline=1;strokeWidth=1.5;" vertex="1" parent="1">
          <mxGeometry x="145" y="225" width="190" height="40" as="geometry" />
        </mxCell>

        <!-- Вызов функции построения buildArrayB -->
        <mxCell id="m_call_b" value="buildArrayB(A, B, 10, P)" style="shape=process;whiteSpace=wrap;html=1;backgroundOutline=1;strokeWidth=1.5;" vertex="1" parent="1">
          <mxGeometry x="145" y="295" width="190" height="40" as="geometry" />
        </mxCell>

        <!-- ВЫВОД B ЧЕРЕЗ ТРАПЕЦИИ С ДОСКИ -->
        <!-- Верхняя трапеция (начало цикла) -->
        <mxCell id="m_trap_start" value="начало цикла&#xa;по эл. масс. B" style="shape=trapezoid;perimeter=trapezoidPerimeter;whiteSpace=wrap;html=1;fixedSize=1;strokeWidth=1.5;size=20;" vertex="1" parent="1">
          <mxGeometry x="155" y="365" width="170" height="45" as="geometry" />
        </mxCell>

        <!-- Тело цикла -->
        <mxCell id="m_out_item" value="выв. item" style="shape=parallelogram;perimeter=parallelogramPerimeter;whiteSpace=wrap;html=1;fixedSize=1;strokeWidth=1.5;" vertex="1" parent="1">
          <mxGeometry x="170" y="440" width="140" height="35" as="geometry" />
        </mxCell>

        <!-- Нижняя перевернутая трапеция (конец цикла) -->
        <mxCell id="m_trap_end" value="конец цикла&#xa;по эл. масс. B" style="shape=trapezoid;perimeter=trapezoidPerimeter;whiteSpace=wrap;html=1;fixedSize=1;strokeWidth=1.5;size=20;direction=south;" vertex="1" parent="1">
          <mxGeometry x="155" y="505" width="170" height="45" as="geometry" />
        </mxCell>

        <mxCell id="m_end" value="конец" style="rounded=1;whiteSpace=wrap;html=1;arcSize=50;strokeWidth=1.5;" vertex="1" parent="1">
          <mxGeometry x="170" y="580" width="140" height="35" as="geometry" />
        </mxCell>

        <!-- Связи main -->
        <mxCell id="l1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.2;" edge="1" parent="1" source="m_start" target="m_loop_in">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="l2" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.2;" edge="1" parent="1" source="m_loop_in" target="m_in_elem">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="l3" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.2;exitX=0;exitY=0.5;entryX=0;entryY=0.25;" edge="1" parent="1" source="m_in_elem" target="m_loop_in">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="110" y="173" />
              <mxPoint x="110" y="100" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="l4" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.2;exitX=1;exitY=0.5;entryX=0.5;entryY=0;" edge="1" parent="1" source="m_loop_in" target="m_call_p">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="360" y="110" />
              <mxPoint x="360" y="210" />
              <mxPoint x="240" y="210" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="l5" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.2;" edge="1" parent="1" source="m_call_p" target="m_call_b">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="l6" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.2;" edge="1" parent="1" source="m_call_b" target="m_trap_start">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="l7" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.2;" edge="1" parent="1" source="m_trap_start" target="m_out_item">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="l8" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.2;" edge="1" parent="1" source="m_out_item" target="m_trap_end">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="l9" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.2;" edge="1" parent="1" source="m_trap_end" target="m_end">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>


        <!-- ========================================== -->
        <!-- ПРАВАЯ ЧАСТЬ: ПОДПРОГРАММА buildArrayB     -->
        <!-- ========================================== -->

        <mxCell id="fb_start" value="buildArrayB(A, B, N, P)" style="rounded=1;whiteSpace=wrap;html=1;arcSize=50;strokeWidth=1.5;" vertex="1" parent="1">
          <mxGeometry x="630" y="30" width="190" height="35" as="geometry" />
        </mxCell>

        <mxCell id="fb_loop" value="i := 0..N-1, 1" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;strokeWidth=1.5;" vertex="1" parent="1">
          <mxGeometry x="645" y="95" width="160" height="40" as="geometry" />
        </mxCell>

        <mxCell id="fb_cond" value="A[i] &gt; 0" style="rhombus;whiteSpace=wrap;html=1;strokeWidth=1.5;" vertex="1" parent="1">
          <mxGeometry x="650" y="165" width="150" height="55" as="geometry" />
        </mxCell>

        <!-- Ветка ДА -->
        <mxCell id="fb_yes" value="B[i] := A[i] + P" style="rounded=0;whiteSpace=wrap;html=1;strokeWidth=1.5;" vertex="1" parent="1">
          <mxGeometry x="560" y="250" width="130" height="35" as="geometry" />
        </mxCell>

        <!-- Ветка НЕТ -->
        <mxCell id="fb_no" value="B[i] := A[i]" style="rounded=0;whiteSpace=wrap;html=1;strokeWidth=1.5;" vertex="1" parent="1">
          <mxGeometry x="760" y="250" width="130" height="35" as="geometry" />
        </mxCell>

        <!-- Точка слияния -->
        <mxCell id="fb_merge" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#000000;" vertex="1" parent="1">
          <mxGeometry x="722" y="325" width="6" height="6" as="geometry" />
        </mxCell>

        <mxCell id="fb_ret" value="возврат" style="rounded=1;whiteSpace=wrap;html=1;arcSize=50;strokeWidth=1.5;" vertex="1" parent="1">
          <mxGeometry x="840" y="390" width="130" height="35" as="geometry" />
        </mxCell>

        <!-- Связи buildArrayB -->
        <mxCell id="fbl1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.2;" edge="1" parent="1" source="fb_start" target="fb_loop">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="fbl2" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.2;" edge="1" parent="1" source="fb_loop" target="fb_cond">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="fbl3" value="да" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.2;exitX=0;exitY=0.5;entryX=0.5;entryY=0;" edge="1" parent="1" source="fb_cond" target="fb_yes">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="fbl4" value="нет" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.2;exitX=1;exitY=0.5;entryX=0.5;entryY=0;" edge="1" parent="1" source="fb_cond" target="fb_no">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="fbl5" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.2;exitX=0.5;exitY=1;entryX=0.5;entryY=0;" edge="1" parent="1" source="fb_yes" target="fb_merge">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="625" y="305" />
              <mxPoint x="725" y="305" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="fbl6" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.2;exitX=0.5;exitY=1;entryX=0.5;entryY=0;" edge="1" parent="1" source="fb_no" target="fb_merge">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="825" y="305" />
              <mxPoint x="725" y="305" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="fbl7" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.2;exitX=0;exitY=0.5;entryX=0;entryY=0.25;" edge="1" parent="1" source="fb_merge" target="fb_loop">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="530" y="328" />
              <mxPoint x="530" y="105" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="fbl8" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.2;exitX=1;exitY=0.5;entryX=0.5;entryY=0;" edge="1" parent="1" source="fb_loop" target="fb_ret">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="905" y="115" />
            </Array>
          </mxGeometry>
        </mxCell>

      </root>
    </mxGraphModel>
  </diagram>
</mxfile>