<?xml version="1.0"?>
<flowgorithm fileversion="2.11">
    <attributes>
        <attribute name="name" value=""/>
        <attribute name="authors" value="fox"/>
        <attribute name="about" value=""/>
        <attribute name="saved" value="2020-01-03 10:30:57 odp."/>
        <attribute name="created" value="Zm94O1VLMzE4UFI7MjAyMC0wMS0wMzswOTo0NToyOSBvZHAuOzIzMDQ="/>
        <attribute name="edited" value="Zm94O1VLMzE4UFI7MjAyMC0wMS0wMzsxMDozMDo1NyBvZHAuOzU7MjQwMw=="/>
    </attributes>
    <function name="Main" type="None" variable="">
        <parameters/>
        <body>
            <comment text="Deklarace prom&#283;nn&#253;ch: 'decimalniHodnota' ... konvertovan&#225; hodnota v des&#237;tkov&#233; soustav&#283;; 'zbytek' ... zbytek po celo&#269;&#237;seln&#233;m d&#283;len&#237; 16; 'hexadecimalniText' ... textov&#253; &#345;et&#283;zec jen&#382; p&#345;edstavuje konvertovan&#233; &#269;&#237;slo v &#353;estn&#225;ctkov&#233; soustav&#283;"/>
            <declare name="decimalniHodnota" type="Integer" array="False" size=""/>
            <declare name="zbytek" type="Integer" array="False" size=""/>
            <declare name="hexadecimalniText" type="String" array="False" size=""/>
            <comment text="V&#253;stup z funkce Validace je ulo&#382;ena do prom&#283;nn&#233; 'decimalniHodnota'"/>
            <assign variable="decimalniHodnota" expression="Validace()"/>
            <comment text="Vymaz&#225;n&#237; textu v prom&#283;nn&#233; 'hexadecimalniText', tj. p&#345;i&#345;azen&#237; pr&#225;zdn&#233;ho &#345;et&#283;zce"/>
            <assign variable="hexadecimalniText" expression="&quot;&quot;"/>
            <comment text="St&#225;le existuje zbytek, kter&#253; m&#367;&#382;eme d&#283;lit?"/>
            <while expression="decimalniHodnota &gt; 0">
                <comment text="Do prom&#283;nn&#233; 'zbytek' ulo&#382; zbytek po celo&#269;&#237;seln&#233;m d&#283;len&#237; 16"/>
                <assign variable="zbytek" expression="decimalniHodnota % 16"/>
                <comment text="Nach&#225;z&#237; se zbytek v oblasti p&#237;smen?"/>
                <if expression="zbytek &gt; 9">
                    <then>
                        <comment text="Do aktu&#225;ln&#237;ho hexadecim&#225;ln&#237;ho textu zleva p&#345;ipoj znak z ASCII na vypo&#269;ten&#233; pozici - p&#345;ipojen&#237; p&#237;smene"/>
                        <assign variable="hexadecimalniText" expression="ZnakNaPoziciASCII(zbytek + PoziceZnakuASCII(&quot;A&quot;) - 10)+ hexadecimalniText"/>
                    </then>
                    <else>
                        <comment text="Do aktu&#225;ln&#237;ho hexadecim&#225;ln&#237;ho textu zleva p&#345;ipoj znak z ASCII na vypo&#269;ten&#233; pozici - p&#345;ipojen&#237; &#269;&#237;slice"/>
                        <assign variable="hexadecimalniText" expression="ZnakNaPoziciASCII(zbytek + PoziceZnakuASCII(&quot;0&quot;)) + hexadecimalniText"/>
                    </else>
                </if>
                <comment text="Do prom&#283;nn&#233; 'decimalniHodnota' je ulo&#382;ena hodnota celo&#269;&#237;seln&#233;ho d&#283;len&#237; 16"/>
                <assign variable="decimalniHodnota" expression="decimalniHodnota / 16"/>
            </while>
            <comment text="V&#253;pis textu a konvertovan&#233;ho &#269;&#237;sla v textu"/>
            <output expression="&quot;Konvertovan&#233; &#269;&#237;slo: &quot; &amp; hexadecimalniText" newline="True"/>
        </body>
    </function>
    <function name="PoziceZnakuASCII" type="Integer" variable="pozice">
        <parameters>
            <parameter name="znak" type="String" array="False"/>
        </parameters>
        <body>
            <comment text="Form&#225;ln&#237; parametr: 'znak' ... znak hledan&#253; na ur&#269;it&#233; pozici v ASCII&#13;&#10;&#13;&#10;Deklarace prom&#233;nn&#233;: 'pozice' ... &#269;&#237;slo pozice znaku, kter&#253; hled&#225;me v ASCII"/>
            <declare name="pozice" type="Integer" array="False" size=""/>
            <comment text="P&#345;etypov&#225;n&#237; znaku na &#269;&#237;slo (vyhled&#225;n&#237; znaku a jeho pozice v ASCII)"/>
            <assign variable="pozice" expression="ToInteger(znak)"/>
            <comment text="V&#253;stupem funkce je vyhledan&#225; pozice znaku"/>
        </body>
    </function>
    <function name="Validace" type="Integer" variable="n">
        <parameters/>
        <body>
            <comment text="Deklarace prom&#283;nn&#233;: 'n' ... hodnota v des&#237;tkov&#233; soustav&#283;"/>
            <declare name="n" type="Integer" array="False" size=""/>
            <comment text="Validace zadan&#233; hodnoty"/>
            <do expression="(n &lt; 0) || (n &gt; 255)">
                <comment text="V&#253;pis pro zad&#225;n&#237; hodnoty"/>
                <output expression="&quot;Zadejte hodnotu v intervalu 0 a&#382; 255:&quot;" newline="True"/>
                <comment text="Na&#269;ten&#237; hodnoty do prom&#283;nn&#233; 'n'"/>
                <input variable="n"/>
                <comment text="Je zadan&#225; hodnota men&#353;&#237; ne&#382; nula, nebo v&#283;t&#353;&#237; ne&#382; 255?"/>
            </do>
            <comment text="V&#253;stupem funkce - je validn&#237; hodnota 'n'"/>
        </body>
    </function>
    <function name="ZnakNaPoziciASCII" type="String" variable="znak">
        <parameters>
            <parameter name="pozice" type="Integer" array="False"/>
        </parameters>
        <body>
            <comment text="Form&#225;ln&#237; parametr: 'pozice' ... &#269;&#237;slo pozice znaku, kter&#253; hled&#225;me v ASCII&#13;&#10;&#13;&#10;Deklarace prom&#233;nn&#233;: 'znak' ... znak nalezen&#253; na ur&#269;it&#233; pozici v ASCII"/>
            <declare name="znak" type="String" array="False" size=""/>
            <comment text="P&#345;etypov&#225;n&#237; &#269;&#237;sla pozice na znak (vyhled&#225;n&#237; znaku na specifikovan&#233; pozici v ASCII)"/>
            <assign variable="znak" expression="ToChar(pozice)"/>
            <comment text="V&#253;stupem funkce je vyhledan&#253; znak na pozici"/>
        </body>
    </function>
</flowgorithm>
