Загрузка данных
<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="начало цикла
по эл. масс. 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="конец цикла
по эл. масс. 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] > 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>