Загрузка данных
<mxfile host="app.diagrams.net">
<diagram name="Tabulation-f" id="tabulation-func">
<mxGraphModel dx="1200" dy="900" 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="150" y="30" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="m_in" value="вв. a, b, h" style="shape=parallelogram;perimeter=parallelogramPerimeter;whiteSpace=wrap;html=1;fixedSize=1;strokeWidth=1.5;" vertex="1" parent="1">
<mxGeometry x="150" y="100" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="m_check" value="h &le; 0 или a > b" style="rhombus;whiteSpace=wrap;html=1;strokeWidth=1.5;" vertex="1" parent="1">
<mxGeometry x="140" y="170" width="160" height="60" as="geometry" />
</mxCell>
<mxCell id="m_err" value="выв. 'Ошибка ввода'" style="shape=parallelogram;perimeter=parallelogramPerimeter;whiteSpace=wrap;html=1;fixedSize=1;strokeWidth=1.5;" vertex="1" parent="1">
<mxGeometry x="340" y="177.5" width="160" height="45" as="geometry" />
</mxCell>
<mxCell id="m_init_x" value="x := a" style="rounded=0;whiteSpace=wrap;html=1;strokeWidth=1.5;" vertex="1" parent="1">
<mxGeometry x="150" y="260" width="140" height="35" as="geometry" />
</mxCell>
<mxCell id="m_loop" value="x &le; b + h / 2" style="rhombus;whiteSpace=wrap;html=1;strokeWidth=1.5;" vertex="1" parent="1">
<mxGeometry x="140" y="325" width="160" height="60" as="geometry" />
</mxCell>
<!-- ПРЕДОПРЕДЕЛЕННЫЙ ПРОЦЕСС (ВЫЗОВ ПОДПРОГРАММЫ ПО ГОСТУ) -->
<mxCell id="m_call" value="y := f(x)" style="shape=process;whiteSpace=wrap;html=1;backgroundOutline=1;strokeWidth=1.5;" vertex="1" parent="1">
<mxGeometry x="140" y="415" width="160" height="45" as="geometry" />
</mxCell>
<mxCell id="m_out_xy" value="выв. x, y" style="shape=parallelogram;perimeter=parallelogramPerimeter;whiteSpace=wrap;html=1;fixedSize=1;strokeWidth=1.5;" vertex="1" parent="1">
<mxGeometry x="150" y="490" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="m_step" value="x := x + h" style="rounded=0;whiteSpace=wrap;html=1;strokeWidth=1.5;" vertex="1" parent="1">
<mxGeometry x="150" y="560" width="140" height="35" 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="150" y="640" width="140" height="40" as="geometry" />
</mxCell>
<!-- СВЯЗИ MAIN -->
<mxCell id="me1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;entryX=0.5;entryY=0;" edge="1" parent="1" source="m_start" target="m_in">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="me2" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;entryX=0.5;entryY=0;" edge="1" parent="1" source="m_in" target="m_check">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="me3" value="да" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;entryX=0;entryY=0.5;" edge="1" parent="1" source="m_check" target="m_err">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="me4" value="нет" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;entryX=0.5;entryY=0;" edge="1" parent="1" source="m_check" target="m_init_x">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="me5" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;entryX=0.5;entryY=0;" edge="1" parent="1" source="m_init_x" target="m_loop">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="me6" value="да" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;entryX=0.5;entryY=0;" edge="1" parent="1" source="m_loop" target="m_call">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="me7" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;entryX=0.5;entryY=0;" edge="1" parent="1" source="m_call" target="m_out_xy">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="me8" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;entryX=0.5;entryY=0;" edge="1" parent="1" source="m_out_xy" target="m_step">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<!-- ПЕТЛЯ ЦИКЛА WHILE СЛЕВА БЕЗ ПЕРЕСЕЧЕНИЙ -->
<mxCell id="me9" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;entryX=0;entryY=0.5;" edge="1" parent="1" source="m_step" target="m_loop">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="80" y="578" />
<mxPoint x="80" y="355" />
</Array>
</mxGeometry>
</mxCell>
<!-- ВЫХОД ИЗ ЦИКЛА (НЕТ) ПО ШИРОКОМУ ПРАВОМУ КРАЮ -->
<mxCell id="me10" value="нет" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;entryX=1;entryY=0.5;" edge="1" parent="1" source="m_loop" target="m_end">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="320" y="355" />
<mxPoint x="320" y="660" />
</Array>
</mxGeometry>
</mxCell>
<!-- ВЫХОД ИЗ ОШИБКИ В КОНЕЦ -->
<mxCell id="me11" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;entryX=1;entryY=0.5;" edge="1" parent="1" source="m_err" target="m_end">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="420" y="660" />
</Array>
</mxGeometry>
</mxCell>
<!-- ==================== ФУНКЦИЯ f(x) ==================== -->
<mxCell id="f_start" value="нач. ф f (x)" style="rounded=1;whiteSpace=wrap;html=1;arcSize=50;strokeWidth=1.5;" vertex="1" parent="1">
<mxGeometry x="690" y="30" width="160" height="40" as="geometry" />
</mxCell>
<mxCell id="f_cond" value="x &le; 0" style="rhombus;whiteSpace=wrap;html=1;strokeWidth=1.5;" vertex="1" parent="1">
<mxGeometry x="705" y="100" width="130" height="60" as="geometry" />
</mxCell>
<!-- ВЕТКА ДА: x <= 0 -->
<mxCell id="f_calc1" value="y := (2 &minus; x)^(2 &minus; x)" style="rounded=0;whiteSpace=wrap;html=1;strokeWidth=1.5;" vertex="1" parent="1">
<mxGeometry x="540" y="180" width="160" height="45" as="geometry" />
</mxCell>
<!-- ВЕТКА НЕТ: x > 0 -->
<mxCell id="f_init_s" value="S := 0" style="rounded=0;whiteSpace=wrap;html=1;strokeWidth=1.5;" vertex="1" parent="1">
<mxGeometry x="840" y="180" width="130" height="35" as="geometry" />
</mxCell>
<mxCell id="f_loop_k" value="k := 3, 9" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;strokeWidth=1.5;" vertex="1" parent="1">
<mxGeometry x="835" y="240" width="140" height="45" as="geometry" />
</mxCell>
<mxCell id="f_sum" value="S := S + x^(-k)" style="rounded=0;whiteSpace=wrap;html=1;strokeWidth=1.5;" vertex="1" parent="1">
<mxGeometry x="835" y="315" width="140" height="40" as="geometry" />
</mxCell>
<mxCell id="f_set_y" value="y := S" style="rounded=0;whiteSpace=wrap;html=1;strokeWidth=1.5;" vertex="1" parent="1">
<mxGeometry x="845" y="390" width="120" height="35" as="geometry" />
</mxCell>
<mxCell id="f_ret" value="возврат y" style="rounded=1;whiteSpace=wrap;html=1;arcSize=50;strokeWidth=1.5;" vertex="1" parent="1">
<mxGeometry x="705" y="470" width="130" height="40" as="geometry" />
</mxCell>
<!-- СВЯЗИ ВНУТРИ f(x) -->
<mxCell id="fe1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;entryX=0.5;entryY=0;" edge="1" parent="1" source="f_start" target="f_cond">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="fe2" value="да" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;entryX=0.5;entryY=0;" edge="1" parent="1" source="f_cond" target="f_calc1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="fe3" value="нет" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;entryX=0.5;entryY=0;" edge="1" parent="1" source="f_cond" target="f_init_s">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="fe4" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;entryX=0.5;entryY=0;" edge="1" parent="1" source="f_init_s" target="f_loop_k">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="fe5" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;entryX=0.5;entryY=0;" edge="1" parent="1" source="f_loop_k" target="f_sum">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<!-- ПЕТЛЯ ЦИКЛА FOR ВНУТРИ f(x) -->
<mxCell id="fe6" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;entryX=0;entryY=0.5;" edge="1" parent="1" source="f_sum" target="f_loop_k">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="800" y="335" />
<mxPoint x="800" y="263" />
</Array>
</mxGeometry>
</mxCell>
<!-- ВЫХОД ИЗ FOR ПОСЛЕ ЗАВЕРШЕНИЯ К y := S -->
<mxCell id="fe7" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;entryX=0.5;entryY=0;" edge="1" parent="1" source="f_loop_k" target="f_set_y">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="1005" y="263" />
<mxPoint x="1005" y="375" />
<mxPoint x="905" y="375" />
</Array>
</mxGeometry>
</mxCell>
<!-- СХОЖДЕНИЕ ВЕТОК ДА И НЕТ В ОДИН ОВАЛ "возврат y" -->
<mxCell id="fe8" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;entryX=0.5;entryY=0;" edge="1" parent="1" source="f_calc1" target="f_ret">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="620" y="445" />
<mxPoint x="770" y="445" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="fe9" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;entryX=0.5;entryY=0;" edge="1" parent="1" source="f_set_y" target="f_ret">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="905" y="445" />
<mxPoint x="770" y="445" />
</Array>
</mxGeometry>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>