Exercício 7 - Flowgorithm Corrigido
<?xml version="1.0"?>
<flowgorithm fileversion="4.2">
<attributes>
<attribute name="name" value="Exercício 7 Flowgorithm - Corrigido"/>
<attribute name="authors" value="utilizador"/>
<attribute name="about" value="Corrigido e otimizado"/>
</attributes>
<function name="Main" type="None" variable="">
<parameters/>
<body>
<declare name="votosRonaldo, votosMessi, votosXavi, votosBrancos, votosNulos" type="Integer" array="False"
size=""/>
<declare name="votosTotaisValidos, votosTotais" type="Integer" array="False" size=""/>
<declare name="percentRonaldo, percentMessi, percentXavi" type="Real" array="False" size=""/>
<declare name="jogadores" type="Array" array="True" size="3"/>
<!-- Entrada de votos -->
<output expression=""Insira o número de votos para Ronaldo:"" newline="True"/>
<input variable="votosRonaldo"/>
<output expression=""Insira o número de votos para Messi:"" newline="True"/>
<input variable="votosMessi"/>
<output expression=""Insira o número de votos para Xavi:"" newline="True"/>
<input variable="votosXavi"/>
<output expression=""Insira o número de votos brancos:"" newline="True"/>
<input variable="votosBrancos"/>
<output expression=""Insira o número de votos nulos:"" newline="True"/>
<input variable="votosNulos"/>
<!-- Cálculos -->
<assign variable="votosTotaisValidos" expression="votosRonaldo + votosMessi + votosXavi"/>
<assign variable="votosTotais" expression="votosTotaisValidos + votosBrancos + votosNulos"/>
<!-- Verificação de votos válidos -->
<if expression="votosTotaisValidos = 0">
<then>
<output expression=""Erro: Não há votos válidos para calcular as percentagens.""
newline="True"/>
<return/>
</then>
</if>
<!-- Cálculo das percentagens -->
<assign variable="percentRonaldo" expression="(votosRonaldo / votosTotaisValidos) * 100"/>
<assign variable="percentMessi" expression="(votosMessi / votosTotaisValidos) * 100"/>
<assign variable="percentXavi" expression="(votosXavi / votosTotaisValidos) * 100"/>
<!-- Organização dos jogadores -->
<assign variable="jogadores[0]" expression=""Ronaldo," + percentRonaldo"/>
<assign variable="jogadores[1]" expression=""Messi," + percentMessi"/>
<assign variable="jogadores[2]" expression=""Xavi," + percentXavi"/>
<!-- Exibição dos resultados (em ordem decrescente) -->
<output expression=""Resultados (ordem decrescente):"" newline="True"/>
<output expression="jogadores[0]" newline="True"/>
<output expression="jogadores[1]" newline="True"/>
<output expression="jogadores[2]" newline="True"/>
</body>
</function>
</flowgorithm>